软件体系结构试题与解答

更新时间:2023-12-17 23:00:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

模拟试题(一)

第一题:名词解释 (每题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. 请简要说明黑板风格的定义。

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

知识源代表整个问题求解中的独立的子任务。

每个知识源被组织成一个条件部分和一个动作部分,条件部分规定什么时候知识源可用,动作部分负责处理相关的黑板元素并产生新的元素。

控制构件作为黑板的监控程序和调度程序;通常将黑板知识源应用到黑板中各种元素具有优先次序,调度程序负责监控黑板和计算的优先次序。

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

体系结构权衡分析(ATAM)就是一种进行评估的方法,ATAM是一种帮助参与者(stakeholder)提出正确的问题来发现潜在的有问题的体系结构设计决定的方法。发现的风险能够使得人员关注迁移活动: 比如:进一步的设计、进一步的分析、原型化。可以显示地识别和文档化权衡。ATAM的目标不是提供精确的分析...目标是发现体系结构决定中的风险。找到体系结构决定和系统属性预测之间的关系。

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

“4+1”的视图模型是Kruchten于1995年提出的用于描述软件体系结构的方式,主要用5个不同的视图:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容

第四题:体系结构分析和设计 (每题20分,共40 分)

1. 软件体系结构分析:效用树(20分) 在回答本题时,核心是找出各种属性属于那种质量属性,并用树状结构给出相应的描述。

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

Java EE开发的系统是一个分层的分布式应用系统,可以看作一个三层或四层的层次化系统。其主要的体系结构如下所示:

自上而下依次是:

? 客户层:主要用于处理用户交互,其中需求:

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

? 客户可以使用浏览器访问网上的站点,搜索并返回感兴趣的景点信息; 的功能在客户层实现;

? Web层,主要处理客户端的一些动作,控制页面跳转等,前面两个需求在Web层也均

有实现;

? 业务层:主要处理实际的业务逻辑;

? 数据与企业信息集成层,这一层主要处理数据集成以及与现有系统的集成,其中需求

? 该公司需要集成来自旅游线路提供商的数据库,提供旅游线路支持; ? 需要集成来自景点的信息提供商的数据库,提供景点信息; ? 需要集成公交公司的应用系统,提供公交信息查询能力。 对应的功能在数据与信息系统集成层实现。

本文来源:https://www.bwwdw.com/article/6cv5.html

Top