软件体系结构试题与解答.docx
- 文档编号:29304015
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:8
- 大小:228.85KB
软件体系结构试题与解答.docx
《软件体系结构试题与解答.docx》由会员分享,可在线阅读,更多相关《软件体系结构试题与解答.docx(8页珍藏版)》请在冰豆网上搜索。
软件体系结构试题与解答
软件体系结构试题与解答
模拟试题
(一)
第一题:
名词解释 (每题 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/SB) 有序批处理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 分)
T 是一家新兴的旅游服务提供商,能够在线为用户提供在线的实时旅游
信息服务,包括路线信息,景点介绍,公交线路查询等,其系统的基本的功能如下所示:
● 用户可以在网站上注册帐号和密码,成为该站点的客户;
● 客户可以使用浏览器访问网上的站点,搜索并返回感兴趣的景点信息;
● 该公司需要集成来自旅游线路提供商的数据库,提供旅游线路支持;
● 需要集成来自景点的信息提供商的数据库,提供景点信息;
● 需要集成公交公司的应用系统,提供公交信息查询能力。
请首先给出一个基于 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.请简要说明黑板风格的定义。
黑板结构是一个六至八层的层次结构,每一层都抽象了与之相邻的较低一层的信息。
知识源代表整个问题求解中的独立的子任务。
每个知识源被组织成一个条件部分和一个动作部分,条件部分规定什么时候知识源可
用,动作部分负责处理相关的黑板元素并产生新的元素。
控制构件作为黑板的监控程序和调度程序;通常将黑板知识源应用到黑板中各种元素
具有优先次序,调度程序负责监控黑板和计算的优先次序。
3.请简要说明体系结构权衡分析方法和该方法的特点。
体系结构权衡分析(ATAM)就是一种进行评估的方法,ATAM 是一种帮助参与者
(stakeholder)提出正确的问题来发现潜在的有问题的体系结构设计决定的方法。
发现的风险
能够使得人员关注迁移活动:
比如:
进一步的设计、进一步的分析、原型化。
可以显示地识
别和文档化权衡。
ATAM 的目标不是提供精确的分析...目标是发现体系结构决定中的风险。
找到体系结构决定和系统属性预测之间的关系。
4. 什么是“4+1 视图”,分别给出每个视图的名称和主要关注点。
“4+1”的视图模型是 Kruchten 于 1995 年提出的用于描述软件体系结构的方式,
主要用 5 个不同的视图:
逻辑视图、进程视图、物理视图、开发视图和场景视图
来描述软件体系结构。
每一个视图只关心系统的一个侧面,5 个视图结合在一起
才能反映系统的软件体系结构的全部内容
第四题:
体系结构分析和设计 (每题 20 分,共 40 分)
1. 软件体系结构分析:
效用树(20 分)
在回答本题时,核心是找出各种属性属于那种质量属性,并用树状结构给出相应的描
述。
2. 软件体系结构构建(20 分)
Java EE 开发的系统是一个分层的分布式应用系统,可以看作一个三层或四层的层次化系
统。
其主要的体系结构如下所示:
自上而下依次是:
● 客户层:
主要用于处理用户交互,其中需求:
⏹ 用户可以在网站上注册帐号和密码,成为该站点的客户;
⏹ 客户可以使用浏览器访问网上的站点,搜索并返回感兴趣的景点信息;
的功能在客户层实现;
● Web 层,主要处理客户端的一些动作,控制页面跳转等,前面两个需求在 Web 层也均
有实现;
● 业务层:
主要处理实际的业务逻辑;
● 数据与企业信息集成层,这一层主要处理数据集成以及与现有系统的集成,其中需求
⏹ 该公司需要集成来自旅游线路提供商的数据库,提供旅游线路支持;
⏹ 需要集成来自景点的信息提供商的数据库,提供景点信息;
⏹ 需要集成公交公司的应用系统,提供公交信息查询能力。
对应的功能在数据与信息系统集成层实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 试题 解答