软件体系结构试题与解答 下载本文

内容发布更新时间 : 2024/5/2 20:03:42星期一 下面是文章的全部内容请认真阅读。

模拟试题(一)

第一题:名词解释 (每题5分,共20分)

1. 软件体系结构(Software Architecture)

2. 软件体系结构风格(Software Architecture Style) 3. 软件质量属性

4. 质量属性驱动的设计方法(ADD)

第二题: 单项选择 (每题4分,共20分)

1. 下面哪种策略能够用来满足可测试性(Testability)的质量属性?

A) 心跳(Heartbeat) B) 模块的抽象化(Generalize the module) C) 记录/重放 D) 授权用户

2. “系统在提供服务给合法用户的同时抵制未授权使用的能力”这是哪种质量属性关心的问题?

A) 性能 B) 可测试性 C) 可移植性 D) 安全性

3. 下面哪种视图不属于软件体系结构中定义的“4+1”视图? A) 物理视图 B) 设计视图 C) 场景视图 D) 开发视图

4. 下面的图是什么图?

A) 序列图 B) 组件图 C) 对象图 D) 用例图

5. 下面的图形描述了何种体系结构风格?

A) C/S B) 有序批处理 C) 主程序/子程序 D) 面向对象

第三题:简答(每题5分,共20分)

1. 请描述管道-过滤器体系结构风格的特点并给出适合使用这种风格的一个应用场景。 2. 请简要说明黑板风格的定义。

3. 请简要说明体系结构权衡分析方法和该方法的特点。

4. 什么是“4+1视图”,分别给出每个视图的名称和主要关注点。

软件体系结构分析:效用树(20分)

某公司要开发一个在线交易系统,该系统主要关注性能、可更改性、可用性和安全这五个质量属性。负责开发的团队分析了各个质量属性,设计了一个参考的体系结构。该团队欲采用效用树技术对体系结构进行评估,下面是相关的场景:

? 站点1断电后,能够在3秒内完成流量到站点2的迁移; ? 信用卡交易需要有99.999% 的安全性;

? 用户的授权数据库需要在 99.999% 的情况下保证可用; ? 视频必须实时传输;

? 能够在4人-周内完成对Web用户界面的改变网络失效和恢复必须在1.5分钟内

完成;

? 减少对客户数据库访问的时间至200毫秒以内; 请根据以上描述,构建相应的效用树

2. 软件体系结构构建(20分)

Travelling.com是一家新兴的旅游服务提供商,能够在线为用户提供在线的实时旅游信息服务,包括路线信息,景点介绍,公交线路查询等,其系统的基本的功能如下所示:

? 用户可以在网站上注册帐号和密码,成为该站点的客户;

? 客户可以使用浏览器访问网上的站点,搜索并返回感兴趣的景点信息; ? 该公司需要集成来自旅游线路提供商的数据库,提供旅游线路支持; ? 需要集成来自景点的信息提供商的数据库,提供景点信息; ? 需要集成公交公司的应用系统,提供公交信息查询能力。

请首先给出一个基于Java EE平台的企业级分布式系统体系结构图,并根据描述给出各个需求应该分别在体系结构中的哪些部分给予实现。

答案

第一题:名词解释 (每题5分,共20分)

1. 软件体系结构(Software Architecture)

软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。 软件体系结构由组件、连接件和属性组成。

2. 软件体系结构风格(Software Architecture Style)

软件体系结构风格

? 描述一类体系结构

? 独立于实际问题,强调了软件系统中通用的组织结构 ? 在实践中被多次设计、应用 ? 是若干设计思想的综合

? 具有已经被熟知的特性,并且可以复用

3. 体系结构折衷分析方法(ATAM)

体系结构折衷分析(ATAM)是一种通过业务驱动,质量属性、情景等方面进行软件体系结构评估的方法。

4. 质量属性驱动的设计方法(ADD)

质量属性驱动的设计方法 (ADD) 是一个逐步的方法,用来系统化地为一个系统生成第一个体系结构设计。

第二题 选择题

1. C 2. D 3. B 4. D 5. B

第三题:简答(每题5分,共20分)

1. 请描述管道-过滤器体系结构风格的特点并给出适合使用这种风格的一个应用场景。 管道-过滤器风格将整个系统的输入输出特性理解为各个过滤器功能的简单合成。支持功能模块的重用:任意两个过滤器只要相互间所传输的数据格式上达成一致,就可以连接在一起系统容易维护和扩展:新的过滤器容易加入到系统中,旧的过滤器也可被改进的过滤器替换。使用该风格的一个应用场景:Unix Shell

2. 请简要说明黑板风格的定义。

黑板结构是一个六至八层的层次结构,每一层都抽象了与之相邻的较低一层的信息。