软件体系结构期末考试
- 格式:doc
- 大小:475.50 KB
- 文档页数:10
软件体系结构仅供参考Chapter 11.构件的概念,构件的分类方法构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。
构件模型是对构件本质特性的抽象描述。
三个主要流派:OMG的CORBA;SUN的EJB;Microsoft的DCOM分类方法:关键字分类法、刻画分类法、超文本组织方法2.软件危机的表现软件成本日益增长、开发进度难控制、软件质量差、软件维护困难3.构件的重用:检索和提取构建,理解和评价构件,修改构件,构件组装。
4.软件体系结构的意义:①是风险承担者进行交流的手段。
②是早期设计决策的体现。
③是可传递和可重用的模型。
5.软件体系结构的发展经历了几个阶段1) "无体系结构" 设计阶段(以汇编语言进行小规模应用程序开发为特征)2) 萌芽阶段(控制流图和数据流图)3) 初期阶段(UML)4) 高级阶段(高层抽象结构为中心)6.软件体系结构定义(填空)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
Chapter 21.软件体系结构建模的种类结构模型、框架模型、动态模型、过程模型、功能模型2.4+1视图(会画图,详细描述)逻辑视图,主要支持系统的功能需求,即系统提供给最终用户的服务开发视图,主要侧重于软件模块的组织和管理。
进程视图,侧重于系统的运行特性,主要关注一些非功能性的需求。
物理视图,主要考虑如何把软件映射到硬件上场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来3.软件体系结构的核心模型五种元素[Chapter2 ppt 29]构件、连接件、配置、端口、角色4、软件体系结构的核心模型(会画,1对N的关系)5、软件体系结构的生命周期:需求分析阶段,建立软件体系结构阶段,设计阶段,实现阶段,测试阶段。
软件体系结构期末大题1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。
Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。
每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。
3.在希赛公司的一个财务管理系统,财务部要客户提供…………4.不同的体系结构风格具有各自的特点、优劣和用途。
试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。
P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;@支持软件重用。
只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。
新的过滤器能够添加到现有系统中来;旧的能够被改进的过滤器替换掉;@允许对一些如吞吐量、死锁等属性的分析;@支持并行执行。
每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行缺点:①一般导致进程成为批处理的结构。
②不适合处理交互的应用。
③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
(2)。
体系结构期末复习一、选择题(一)1. 设计模式的基本原理是( C )A. 面向实现编程B. 面向对象编程C. 面向接口编程D. 面向组合编程2. 设计模式的两大主题是( D )A. 系统的维护与开发B. 对象组合与类的继承C. 系统架构与系统开发D. 系统复用与系统扩展3. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。
A. 组合聚合B. 继承C. 创建D. .以上都不对4. 关于继承表述错误的是( D )A. 继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B. 泛化类(超类)可以显式地捕获那些公共的属性和方法。
特殊类(子类)则通过附加属性和方法来进行实现的扩展。
C. 破坏了封装性,因为这会将父类的实现细节暴露给子类。
D. 继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
5. 常用的设计模式可分为( A )A. 创建型、结构型和行为型B. 对象型、结构型和行为型C. 过程型、创建型和结构型D. 抽象型、接口型和实现型6. “不要和陌生人说话”是对( D )设计原则的通俗表述。
A. 接口隔离B. 里氏代换C. 依赖倒转D. .迪米特法则7. 在适配器模式中,对象适配器模式是对( A )设计原则的典型应用A. 合成聚合B. 里氏代换C. 依赖倒转D. .迪米特法则8. 将一个类的接口转换成客户希望的另一个接口,这句话是对(C)设计模式的描述A. 策略模式B. 桥接模式C. 适配器模式D. 单例模式9. 以下设计模式中属于结构模式的是( D )A. 观察者模式B. 单例模式C. 策略模式D. 外观模式10. 以下不属于对象行为型模式是( D )A. 命令模式B. 策略模式C. 访问者模式D. 桥接模式11. 下面的类图表示的是哪个设计模式( D )A. 抽象工厂模式B. 观察者模式C. 策略模式D. 桥接模式12. Open-Close开闭原则的含义是一个软件实体( A )A. 应当对扩展开放,对修改关闭。
1.以下关于系统性能的叙述中,不正确的是(17)。
(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。
另外还要求支持数据重传,以确保传输的成功。
针对这些集成需求,应该采用(21)的集成方式。
(21)A. 远程过程调用 B. 共享数据库C. 文件传输 D. 消息传递3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。
在该模型中,最终用户侧重于(26),系统工程师侧重于(27)。
(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。
其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product”角色相对应的类是(34)。
(33)A. BankB. AccountC. CheckingD. Savings(34)A. BankB. AccountC. Checking5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package)6 软件的横向重用是指重用不同应用领域中的软件元素。
(31)是一种典型的、原始的横向重用机制。
(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式7.在基于构件的软件开发中,(36)描述系统设计蓝图以保证系统提供适当的功能;(37)用来了解系统的性能、吞吐率等非功能性属性。
1.以下关于系统性能的叙述中,不正确的是(17)。
(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。
另外还要求支持数据重传,以确保传输的成功。
针对这些集成需求,应该采用(21)的集成方式。
(21)A. 远程过程调用 B. 共享数据库C. 文件传输 D. 消息传递3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。
在该模型中,最终用户侧重于(26),系统工程师侧重于(27)。
(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。
其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product”角色相对应的类是(34)。
(33)A. BankB. AccountC. CheckingD. Savings(34)A. BankB. AccountC. Checking5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package)6 软件的横向重用是指重用不同应用领域中的软件元素。
(31)是一种典型的、原始的横向重用机制。
(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式7.在基于构件的软件开发中,(36)描述系统设计蓝图以保证系统提供适当的功能;(37)用来了解系统的性能、吞吐率等非功能性属性。
精品文档服务器性常见的Web17)。
(17)A. 1.以下关于系统性能的叙述中,不正确的是(服务器的主要性能指标有最大WebB. 能评估方法有基准测试、压力测试和可靠性测试评价/对运行系统进行性能评估的主要目的是以更好的性能并发连接数、响应延迟和吞吐量C.D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈价格比更新系统需要实现在系统之间快速传递可定制格式的数2某公司欲对其内部的信息系统进行集成,据包,并且当有新的数据包到达时,接收系统会自动得到通知。
另外还要求支持数据重传,远程过)A. (21)的集成方式。
(21以确保传输的成功。
针对这些集成需求,应该采用消息传递 D. 程调用 B. 共享数据库C. 文件传输”视图模型来描述软件系统的体系结构。
在该模型中,最终用户侧中采用“4+13 在RUP逻C. B.进程视图 27)。
(26)A. 实现视图重于(26),系统工程师侧重于(部署D. C. 逻辑视图)A. 实现视图 B. 进程视图 D. 辑视图部署视图( 27 视图方法描述其不同账户之间的关系,设计出的类图如.某银行系统采用Factory Method4”Product;与“33”角色相对应的类是() Method下所示。
其中与Factory 中的“Creator)33。
((34)角色相对应的类是)(34 Checking D. SavingsB. A. Bank Account C.A. BankB. CheckingC. Account面向对A. 35 是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
()5.基于构件开发C. Subroutine)B. (Object)模块化程序设计中的子程序(象系统中的对象 Package)Component中的构件()D. 系统模型中的包(是一种典型的、原始的31)(6 软件的横向重用是指重用不同应用领域中的软件元素。
设计模式标准函数库构件对象)(横向重用机制。
1. C.2 D. 消息传递3 C. 逻辑视图 D. 部署视图4.A,B5. C 6. C. 标准函数库 7 A,B8. D9.B10.D11 。
A12. 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。
针对该目标,公司应该采用(48) 架构风格最为合适。
(48)A. 管道-过滤器 B. 隐式调用 C. 主程序-子程序 D. 解释器D13 AD14 D15 A1. 分别描述两个质量属性的场景图。
下面场景表现了网上个人银行查询系统的性能。
下面场景表现了网上个人银行查询系统的修改性。
场景可以用文本表示,也可以用图形表示。
2.请描述构架设计的ADD 方法中对模块求精的5个步骤。
答题要点:a. 从具体的质量场景和功能需求集合中选择构架驱动因素。
b. 选择满足构架驱动因素的构架模式。
c. 实例化模块并根据用例分配功能,使用多个视图进行表示。
d. 定义子模块的接口。
e. 验证用例和质量场景并对其进行求精,使它们成为子模块的限制。
3. 描述A TAM 方法的步骤。
)试图同时登陆系统 网上个人银行查询系统平均响应时间5秒正常运行 请求被处理 希望改变操作界面代码只修改界面代码或配置文件 维护时 用户 修改不产生副作用,在2小时内完成500用户户ATAM方法的表述商业动机的表述构架的表述对构架方法进行分类生成质量属性效用树分析构架方法集体讨论并确定场景优先级再次分析构架方法结果的表述4. 选取两个质量属性以表格形式生成质量属性效用树效用树的表格形式如下表所示。
质量属性属性求精场景场景用文字描述,并要标明场景的优先级和实现的难易。
系统的质量属性有多种,请列举其中六种:可用性、可修改性、性能、安全、可测试性、易用性、可移植、可重用、可集成(任选六个)。
试题三参考答案(共15分)【问题1】(4分)U1:移动元素U2:调整元素大小(U1和U2的答案可以互换)(1) <<extend>> (2) << extend>>【问题2】(8分)C1:创建工具C2:选择工具C3:线条工具C4:矩形工具C5:椭圆工具C6:线条C7:矩形C8:椭圆注:C3~C5的答案可以互换;C6~C8的答案可以互换。
模拟试题(一)第一题: 名词解释(每题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分)某企业要开发一种在线交易系统, 该系统重要关注性能、可更改性、可用性和安全这五个质量属性。
负责开发旳团体分析了各个质量属性, 设计了一种参照旳体系构造。
该团体欲采用效用树技术对体系构造进行评估, 下面是有关旳场景: ☎∙∙站点 断电后 可以在 秒内完毕流量到站点 旳迁移;●信用卡交易需要有99.999% 旳安全性;●顾客旳授权数据库需要在 99.999% 旳状况下保证可用;●视频必须实时传播;●可以在4人-周内完毕对Web顾客界面旳变化网络失效和恢复必须在1.5分钟内完毕;●减少对客户数据库访问旳时间至200毫秒以内;请根据以上描述, 构建对应旳效用树2. 软件体系构造构建(20分)Travelling 是一家新兴旳旅游服务提供商, 可以在线为顾客提供在线旳实时旅游信息服务, 包括路线信息, 景点简介, 公交线路查询等, 其系统旳基本旳功能如下所示:☎∙∙顾客可以在网站上注册帐号和密码 成为该站点旳客户;☎∙∙客户可以使用浏览器访问网上旳站点 搜索并返回感爱好旳景点信息;☎∙∙该企业需要集成来自旅游线路提供商旳数据库 提供旅游线路支持;需要集成来自景点旳信息提供商旳数据库提供景点信息;需要集成公交企业旳应用系统提供公交信息查询能力。
软件体系结构期末考试
一、题目(论述题):
结合参与开发的软件工程项目,①论述采用的软件体系结构风格或应用框架,②论述采用的软件设计基本原则和策略。
二、题目要求:
(1)简要说明软件体系结构的性质、研究意义和目标是什么?
(2)简要说明软件设计风格、软件应用框架和软件设计模式的特征和区别?
(3)简要说明系统中采用的中间件的作用和目标,(如果没有,请选择一种与系统契合的中间件进行描述)。
(4)假设系统没有采用SOA的架构,请简述SOA软件体系结构的基本概念,Web Service 的主要协议。
三、内容要求
作业格式要求:
1、给出的标题。
2、报告内容组织结构清晰,语句流畅,无错别字。
3、图、表描述恰当、与内容契合、清晰。
图、表序号标注准确。
4、A4纸,宋体小4号字,标准页边距,行间距固定值18磅,页码右下。
交打印稿。
不多于20页,可正反面打印。
四、评分细则
1、题目整体结构、语言表达、整体格式(20分)
2、软件体系结构的性质、研究意义和目标(5分)
3、软件设计风格、软件应用框架和软件设计模式的特征和区别(5分)
4、系统中间件表述(5分)
5、SOA、WebService简述(5分)
6、论述部分,既要描述,也要有论证(包括适当的评估)(60分)
五、总评成绩
期末成绩*70%+平时成绩。
得分评分人二填空题:(20分,每题2分)《计算机系统结构》期末考试试卷(A )得分注:1、共100分,考试时间120分钟。
2、此试卷适用于计算机科学与技术本科专业。
•"启动I/O"指令是主要的输入输出指令,是属于(B )B •管态指令C.目态、管态都能用的指令D •编译程序只能用的指令输入输出系统硬件的功能对(B )是透明的A.操作系统程序员B •应用程序员C •系统结构设计人员D.机器语言程序设计员3、全相联地址映象是指(A )A.任何虚页都可装入主存中任何实页的位置B.一个虚页只装进固定的主存实页位置C.组之间固定,组内任何虚页可装入任何实页位置D.组间可任意装入,组内是固定装入4、(C )属于MIMD 系统结构A.各处理单元同时受一个控制单元的管理B.各处理单元同时受同个控制单元送来的指令C.松耦合多处理机和多计算机系统D.阵列处理机5、多处理机上两个程序段之间若有先写后读的数据相关,则(B )A.可以并行执行B •不可能并行C •任何情况均可交换串行D.必须并行执行6、计算机使用的语言是(B )A.专属软件范畴,与计算机体系结构无关B.分属于计算机系统各个层次C.属于用以建立一个用户的应用环境D.属于符号化的机器指令7、指令执行结果出现异常引起的中断是(C )A.输入/输出中断B.机器校验中断C •程序性中断D.外部中断8、块冲突概率最高的Cache 地址映象方式是(A )A ■直接B.组相联C.段相联D.全相联9、组相联映象、LRU 替换的Cache 存储器,不影响Cache 命中率的是(B )A.增大块的大小B.增大主存容量C.增大组的大小D ■增加Cache 中的块数10、流水处理机对全局性相关的处理不包括(C )A.猜测法B •提前形成条件码C •加快短循环程序的执行D •设置相关专用通路一单选题:(10分,每题1分)2、 1、A.目态指令1、数据通路宽度就是—数据总线上一次并行传送的信息位数_。
软件架构期末试题及答案试题一:软件架构的定义和重要性(500字)答案:软件架构是指在软件开发过程中,对软件系统整体结构的设计和组织方式的规划和描述。
它决定了软件系统的基本结构,包括系统的各个模块、组件之间的关系以及数据流的流向等。
软件架构的设计在软件开发过程中起着重要的作用。
首先,软件架构可以提供系统的整体视图,帮助开发人员在理解系统结构和功能方面有更清晰的认识。
它可以将系统划分为若干模块和组件,明确每个模块和组件的职责和功能。
通过软件架构,开发人员可以更好地协作合作,提高开发效率。
其次,软件架构可以提高软件系统的复用性和可维护性。
通过良好的软件架构设计,可以使软件系统的各个模块和组件之间的耦合度降低,模块之间的接口定义清晰明确,便于重用和维护。
此外,软件架构的模块化特性也可以使系统的功能模块独立开发,方便后期的维护和升级。
再次,软件架构可以提高软件系统的性能和可扩展性。
良好的软件架构设计可以使系统的各个模块和组件之间的通信更高效,减少系统的资源占用和响应时间。
此外,软件架构考虑到了系统的可扩展性,可以方便地添加新的功能模块或者扩展已有的功能,满足不同用户的需求。
最后,软件架构可以提高软件系统的安全性和可靠性。
通过合理的软件架构设计,可以将安全性和可靠性的考虑融入到系统结构中,确保系统的安全防护措施得到有效地实施。
此外,软件架构的模块化特性可以使故障的定位和修复更加方便快捷,提高系统的可靠性。
总之,软件架构在软件开发过程中起着至关重要的作用。
它能够提供整体视图、提高复用性和可维护性、提高性能和可扩展性,以及提高安全性和可靠性。
因此,合理设计和规划软件架构对于软件系统的成功实施至关重要。
试题二:常见的软件架构模式及其特点(1000字)答案:在软件架构设计中,有多种常见的软件架构模式被广泛应用。
下面将介绍几种常见的软件架构模式及其特点:1. 分层架构(Layered Architecture):分层架构是一种将系统划分为多个独立的层次的架构模式。
填空题:1.构件是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确便是的系统;结构上它是予以描述,通讯接口和实现代码的复合体.2.构件获取渠道(1)直接使用作适应性修改(2)通过遗留工程(3)市场上购买(4)开发新的构件3.构件分类与组织:关键字分类法,刻面分类法,超文本组织方法4.基于数据的组装技术:这种组装技术也要求库中构件以子程序形式出现5.软件体系结构建模种类:结构模型,框架模型,动态模型,过程模型,功能模型6.体系结构风格定义了一个系统家族即定义了一个词汇表和一组约束7.有两种不同构件:中央数据结构说明当前状态,仓库是一黑板系统8.C/S体系结构有三个主要组成部分:数据库服务器,客户应用程序,网络9.ADL的基本元素:构件,连接件,体系结构配置10.软件体系结构描述方法:图像表达工具,模块内连接语言,基于软构件的系统描述语言,软件体系结构描述语言11.Web服务:数据层,数据访问层,业务层,业务面,监听者12.简单对象访问协议:SOAP信封,SOAP编码规则,SOAP RPC表示,SOAP绑定13.Web服务特点:使用标准规范协议;使用协议的规范性;高度集成能力;完好的封装;松散耦合选择题:1构件模型的三个主要流派OMG,Sun的EJB,Microsoft的DCOM2.构件管理:构件描述,构件分类与组织,人员及权限管理3.构件重用:检索与提取构件,理解与评价构件,修改构件,构件组装4.软件体系结构的发展史:无体系结构设计阶段,萌芽阶段,初期阶段,高级阶段5.分层系统优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用6.黑板系统的构成:知识源,黑板数据结构,控制7.面向对象系统优点:改变一个对象的表示不影响其他对象;分解成一些交互的代理程序集合8.W3C是万维网联盟9.Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制10.Web服务就像Web上的构件编程,开发人员通过调用Web应用编程接口,将Web服务集成进他们的应用程序就像调用本地服务一样11.Web服务开发生命周期:构件,部署,运行,管理12.Web服务栈:程序设计语言【程序构件(组成程序的基本元素及其取值或值域范围)操作符(连接构件的各种功能符号)抽象规则(有关构件和操作符的命名表达规则)限制规则(一组选择并决定具体使用何种抽象规则来作用于有关的基本构件及其操作符的规则和原理)规范说明(有关句法的语义关联说明)】软件体系结构【系统构件(模块化级别的系统组成成分实体,这些实体可以被施以抽象的特性化处理,并以多种方式得到使用)连接件(对组成系统的有关抽象实体进行各种连接的连接机制)组合模式(系统中的构件和连接件进行连接组合的特殊方式也就是软件体系结构风格)限制规则(决定有关模式能够作为子系统进行大型软件系统构造和开发的合法子系统的有关构件)规范说明(有关系统组织结构方面的语义关联说明)】判断题:1.软件危机的表现:软件成本日益增长;开发进度难以控制;软件质量差;软件维护困难2.软件危机原因:用户需求不明确;缺乏正确的理论指导;软件规模越来越大;软件复杂度越来越高3.软件体系结构是在需求分析之后软件设计之前4.一个连接件可以和任意数目的其他构件和连接件连接5.动态软件体系结构:容许在系统运行时发生更新的软件体系结构叫做动态体系结构.动态体系结构在被创建后可以动态的更新6.数据流风格:批处理序列,管道/过滤器;调用/返回风格:主程序/子程序,面向对象风格,层次结构;独立构件风格:进程通讯,事件系统;虚拟机风格:解释器,基于规则的系统;仓库风格:数据库系统,超文本系统,黑板系统7.2层C/S优点:具有强大的事务处理能力8.3层C/S增加了功能层可以增家安全性9.软件体系结构是可传递和可重用的模型,软件体系结构的重用意味着体系结构的决策能在具有相似需求的多个系统中发生影响简答题:1、软件体系结构定义:软件体系结构为软件系统提供了一个结构,行为和属性的高级抽象,由构成系统的元素的描述,这些元素的相互作用,指导元素集成的模式以及这些模式的约束组成.软体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
《软件体系结构》期末复习题《软件体系结构》期末复习题篇一:《软件体系结构》期末复习题《软件体系结构》期末复习题简答题:1、软件体系结构建模的种类有:结构模型、框架模型、动态模型、过程模型、功能模型。
2、“4+1”视图模型从5个不同的视角包括:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。
3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。
连接件:表示构件之间的交互。
配置:表示构件和连接件的拓扑逻辑和约束。
端口:表示构件和外部环境的交互点。
角色:定义了该连接交互的参与者。
4、画出“4+1”视图模型图,分析各部分的原理和功能。
5、软件体系结构风格:是描述某一特定应用领域中系统组织方式的惯用模式。
6、软件体系结构(Software Architecture)软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。
软件体系结构由组件、连接件和属性组成。
7、分层系统的优点有:1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解;2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层;3)支持重用。
只要提供的服务接口定义不变,同一层的不同实现可以交换使用。
这样,就可以定义一组标准的接口,而允许各种不同的实现方法。
8、分层系统的缺点有:1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来;2)很难找到一个合适的、正确的层次抽象方法。
9、 B/S体系结构的优点有什么?答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。
用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
精品文档简答题:、软件体系结构定义:1由构成系统的元素的,,行为和属性的高级抽象软件体系结构为软件系统提供了一个结构软体系结构不仅.,指导元素集成的模式以及这些模式的约束组成描述,这些元素的相互作用提还显示了系统需求和构成系统的元素之间的对应关系,指定了系统的组织结构和拓扑结构, 供了一些设计决策的基本原理。
4+1视图模型:2、最终用逻辑视图:,开发视图和场景视图)--个不同角度(逻辑视图,进程视图,物理视图从5;吞吐量等,性能可扩充性,,软件管理;进程视图:系统集成人员,户功能需求;开发视图:编程人员通信等。
安装,:系统工程人员,系统拓扑,物理视图3、体系结构的核心模型,,其中构件连接件和配置是最基本的元素。
,,连接件配置,端口,角色: 由5种元素组成构件表示了系统中主要的计算元素和数据存(1)构件是具有某种功能的可重用性的软件模板单元, ,复合构件和原子构件;,储构件有两种(2)连接件表示了构件之间的交互;配置表示了构件和连接件的拓扑逻辑和约束。
(3))风格优点:客户4、三层C/S(/服务器能提高系统和软件允许合理得划分三层结构的功能(1),使之在逻辑上保持相对独立性,; 的可维护性和可扩展性使之在处理负荷能力上与处理特性上(2) 允许更灵活有效地选用相应的平台和硬件系统, 精品文档.精品文档分别适应于结构清晰的三层,并且这些平台和各个组成部分可以具有良好的可升级性和开放性;(3)应用的各层可以并行开发,可以选择各自最适合的开发语言;(4)利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法访问数据层,为严格的安全管理奠定了坚持的基础。
三层比二层好在:三层C/S体系结构中增加了一个应用服务区可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在客户机上,三层C/S体系结构将应用层序分成表示层,功能层和数据层三部分。
5、同传统分布式体系结构相比Web服务体系结构的主要优势:高度的通用性和易用性;完全的平台,语言独立性;高度的集成性;容易部署和发布6、UML的主要内容用例图;类图;对象图;顺序图;通信图;状态图;活动图;构件图;部署图7、与C/S相比,B/S的优点:基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。
1、面向对象得方法优势体现在( ABD )A.简化软件开发过程B.支持软件复用C.提高软件运行效率D.改善软件结构2.用户界面设计中得三条“黄金规则”就是( ABC )A.使系统处于用户控制之中B.减少用户得记忆负担C.保持界面得一致性D.保证用户得易学性3.用户界面得分析与设计过程就是迭代得,其中包括得活动就是( ABCD )A.用户、任务以及环境得分析与建模B.界面设计C.界面实现D.界面确认4.界面确认需要注意三个方面( ABC )A.界面正确完成了用户得任务,适应用户得任务变化B.易学性与易用程度C.用户得接受程度D.用户得习惯5.用户界面分析时通常采用得信息获取方式包括( ABCD )A.用户会谈B.销售人员信息采集C.市场分析D.用户支持人员信息收集6.( C )把完成一个特定功能得动作序列抽象为一个过程名与参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.( A)把一个数据对象得定义抽象为一个数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象8.软件体系结构设计需要考虑以下( ABCD )A.适用性B.结构稳定性C.可扩展性D.可复用性9.模块设计时应该考虑(AB )A.模块功能独立B.模块信息得隐藏C.模块接口得简单D.模块实现简单10.一个完整得软件设计得主要活动包括有( ABCD )A.体系结构设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等11.模块化就是指把一个复杂得问题分割成若干个可管理得小问题后,更易于理解,模块化正就是以此为依据得,在划分模块得过程中应该考虑到( ABC )A.模块得可分解性、可组装型B.模块得可理解性、连续性、C.模块保护D.尽可能低分割模块,使得问题得难度降到最1.什么就是软件工程?构成软件工程得要素就是什么?软件工程就是将系统化得、规范得、可度量得方法应用于软件得开发、运行与维护过程,即将工程化应用于软件开发与管理之中,对所选方法得研究。
软件体系结构2019期末考试题一.选择题(10分)二.简答题(50分)1.RUP的4+1 视图?(7分)2.名词解释(8分)SRP,VOPC,PSM,MDA3.解释聚合,包含,泛化以及它们之间的比较? (7分)4.什么是关联的导航性,如何设计导航性?(7分)5.有哪些典型的通用职责分配模式(GARSP)?(7分)6.什么是B-C-E 三层架构?(7分)7.什么是子系统,和包的区别? (7分)8.用例有哪三种关系? (7分)三.大题(40分)1.(15分)某企业为了方便员工用餐,为餐厅开发了一个订餐系统(COS: Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
企业的任何员工都可以查看菜单和今日特价。
系统的顾客是注册到系统的员工,可以订餐(如果未登录,需先登录)、注册工资支付、预约规律的订餐,在特殊情况下可以覆盖预订。
餐厅员工是特殊顾客,可以进行备餐、生成付费请求和请求送餐,其中对于注册工资支付的顾客生成付费请求并发送给工资系统。
菜单管理员是餐厅特定员工,可以管理菜单。
送餐员可以打印送餐说明,记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
顾客订餐过程如下:1. 顾客请求查看菜单;2. 系统显示菜单和今日特价;3. 顾客选菜;4. 系统显示订单和价格;.5.顾客确认订单;6. 系统显示可送餐时间;7. 顾客指定送餐时间、地点和支付方式;8. 系统确认接受订单,然后发送E-mail给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。
系统采用面向对象方法开发,使用UML进行建模。
系统的顶层用例图和一次订餐的活动图初稿分别如下图(a)和(b)所示。
问题:3.1根据说明中的描述,给出图 (a) 中A1和A2所对应的参与者。
问题:3.2根据说明中的描述,给出图 (a)中缺少的四个用例及其所对应的参与者。
问题:3.3指出图(a)中员工和顾客之间是什么关系,并解释该关系的内涵。
1.以下关于系统性能的叙述中,不正确的是(17)。
(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B。
评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知.另外还要求支持数据重传,以确保传输的成功.针对这些集成需求,应该采用(21)的集成方式.(21)A。
远程过程调用B。
共享数据库C。
文件传输 D. 消息传递3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。
在该模型中,最终用户侧重于(26),系统工程师侧重于 (27) .(26)A. 实现视图B。
进程视图 C. 逻辑视图D。
部署视图(27)A。
实现视图 B. 进程视图C。
逻辑视图 D. 部署视图4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。
其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product”角色相对应的类是 (34) 。
(33)A。
Bank B. Account C。
Checking D. Savings(34)A。
Bank B. Account C. Checking5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
(35)A。
面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C。
基于构件开发中的构件(Component)D. 系统模型中的包(Package)6 软件的横向重用是指重用不同应用领域中的软件元素. (31)是一种典型的、原始的横向重用机制。
(31)A. 对象 B。
北京工业大学2014 - 2015学年第二学期模拟试题考试课程:软件体系结构I 考试日期:2015年5 月20日学院:软件学院专业:软件工程学号:姓名:成绩:一填空题(共30 空,每空 1 分)1. 软件或程序是由软件工程人员设计与开发,使计算设备发挥计算潜能,________的逻辑层次组织。
2. 软件体系结构(Software Architecture)-- 是软件产品设计的思想和系统的蓝图;是对软件产品_______的规划和_______的设置;是定义软件系统组件(Components)或构建块(Building Blocks)的重要工具;用于-- 实现对一个软件系统的构成进行_________的划分-- 所形成和采用的工程化规范,是指导软件后续过程方方面面组成的模型。
3.软件开发中的面临若干问题:1)软件固有的复杂性;2)软件开发的随意性;3)周期长,代价高,质量低的问题;软件体系结构设计是软件产品及大型信息系统工程实现中最重要的环节和关键技术之一,解决从软件的__________到系统实现(代码)的有效和平坦过渡。
4.软件产品的工业化生产:是指建立流水线型的软件产品生产线,是指按_____、标准化的规范和规则(软件生产规范)来编写和实现各种各样的适应于多环境的软件___,通过软件体系结构来确定各个软件组件如何部署到开发架构模式中,组装成达到期望的软件产品。
5.体系结构设计方法的发展中,软件程序开发经历了如下的阶段-- 功能分解法 (计算任务)-- 结构化程序设计 (以数据为中心)-- _________________-- _________________-- 基于 SOA 的程序设计 (以服务为中心)。
6. 一个现代软件产品生产过程如下图表示,请在带___________的方框中,填上相应的组件名称7. 软件体系结构组件间的连接方式如图表示,则图A的连接方式称为 ____________ 连接体系结构;图B的连接方式称为基于 ______________ 连接体系结构。
8. UML 将软件的体系结构分解为五个不同的侧面, 通过不同侧面的视图提供给不同相关者的软件体系结构描述,这五个侧面分别是:___________视图, ____________视图,_________________视图,进程(Process )视图,部署与配置 (Deployment )视图。
9. MFC 框架定义 Windows 应用程序的轮廓,提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。
Microsoft Visual C++ 提供了相应的工具来完成这个工作:这些工具包括_____________________ (可以用来生成初步的框架文件(代码和资源等)), 资源编辑器 (Resource Editor) (用于帮助直观地设计用户接口),_______________________________(用来协助添加代码到框架文件)。
10. 软件体系结构设计风格 – 是指对软件组件间组织形式和组织机理风格的描述。
通过考虑在组件组织模式的各种形式变化,形成包括___________, ______________, _______, ____________, ___________________的软件体系结构风格。
11. 软件体系结构的评估与分析 – 是指通过对复杂应用系统软件体系结构设文档、设计过程、代码、实现过程的评估与审查等手段来判断软件的____________,增强软件的质量;在真正的错误的设计导致真的灾难前__________,选择更好的结构或_________结构的设计。
A CBM e d i a t o rX A C B XM e d i a t o r 图A图B软件构件库 (Component Library ) 软件构架 (Software Framework ) ___________________________软件组装线(Assembling Line )软件产品 系统 组件 第三方 组件 开发 组12.软件系统的质量属性有多种,请列举其中至少4种:可用性、_______、________、______、_______、可测试性、易用性、可移植、可重用、可集成。
13.图形表达工具是一种简单而且使用广泛的表达工具,其中各种矩形框(带文字、不带文字、实线体、虚线体、…)箭头线(单箭头、双箭头、实体箭头、虚箭头、…)被用来分别表示软件的组件和______结构。
二判断题(共10 题,每题 1 分, 正确在括号划√, 错误在括号划X)( ) 1. 数据流图是表示软件模基于Windows 的应用系统-- 是一个具有可视化图像用户界面、可进行多任务进行操作的系统,它为用户提供了风格统一(由窗架、菜单、视窗、工具栏等)界面元素所构成的多任务应用环境。
-- 直观、高效、统一的面向对象的图形用户界面,易学易用-- 丰富的设备无关的图形操作-- 多任务多进程( ) 2. 软件体系结构不只是一种对软件系统的表示和描述,它也是可运行的软件( )3. 层次化的软件体系结构是指按照分层模式安排一个软件系统组件的结构,每一层为上一层提供服务、不相邻的层间不能进行调用( ) 4. 软件体系结构中不应包含中间件( ) 5. 软件体系结构风格和模式可以被应用到其他系统的设计中( ) 6. 软件体系结构是软件开发中的中间产品,1)用于控制软件的复杂性;2)提高软件的质量;3)支持软件的开发过程;4)支持软件过程的可控制性;5)软件生产的效率和生产力( ) 7. 用面向对象方法构造软件系统体系结构时,其最基本单位是函数( ) 8. 软件体系结构描述表示方法包括形式化和非形式化的描述方法,UML是非形式化描述方法,ADL是形式化描述方法( ) 9. 通过分布式软件体系结构的设计,能实现异构环境组件的互连、互通和互操作( ) 10. 软件体系结构的评估方法包括 SAAM (Software Architecture Analysis Method),ATAM (Architecture Tradeoff Analysis Method),ARID(ActiveReviews for Intermediate Designs)等方法三简答题(共 4 题,每题 5 分)1.什么是软件体系结构,描述软件体系结构的主要内容及组织?2.描述软件体系结构分析和评估的概念和意义3.描述什么是分布式应用程序和体系结构的概念及优点4 描述一个软件体系结构中组件的角色和任务四体系结构设计和程序阅读题: (20分, 共 4 题,每题 5 分)1.使用图形描述语言,描述 VC++ MFC 开发环境下,开发基于 Dialog 模式应用程序的基本架构2.一张 CRC (Component Responsibility Card)卡如下图表示,请用 VC++ MFC 或 Java编码完成 CRC 卡描述的内容3.已知一个应用系统的软件体系结构如下图表示,类Exam_App为Java的组装线程序,类Exam_Frame为顶层容器,类Display为表示界面,类Model为模型组件,写出以下Java 程序的运行结果class Exam_App {public static void main() {new Exam_Frame();}}class Exam_Frame extends JFrame {Container contentPane;Display display;Model model;Exam_Frame() {contentPane = this.getContentPane();display = new Display();model = new Model(display);setSize(1024,768);setVisible(true);}}class Display {BufferedImage buffer = null;…Display(){buffer = new BufferedImage(1024,768, BufferedImage.TRANSLUCENT);}public void paintComponent(Graphics g){g.drawImage(buffer,0,0, null);}…}class Model{BufferedImage image;Graphics g;Display panel = null;Model( Display pane){this.panel = pane;g = panel.buffer.getGraphics();g.drawString(10, 10, “Welcome to the Test of Software Architecture II”);g.drawString(50, 10, “I will Success!!!”);}…..}运行以上程序, 结果为4.已知一个基于VC++ MFC 环境Dialog 模式应用程序体系结构表示如下,其中,组装线类Exam_App 用于组装图形表示界面类Exam_Dlg,图形表示界面类Exam_Dlg通过函数Model_Display用于调用类Model#include<afxwin.h>class Exam_App : CWinApp{public:virtual BOOL InitInstance();};Exam_App app;class Exam_Dlg: CDialog{Public:Model *model;public:void OnInitDialog();void Model_Display();};class Model{public:Model();String model_data();};请完成从类Exam_Dlg 中Model_Display调用类Model函数String model_data() 的代码void Exam_App::OnInitDialog(){// 完成指向Model 的指针}void Exam_App::Model_Display(){// 完成调用类Model函数String model_data()}五综合设计题(20分,每题10 分)1.(10分) 时髦的家(Smart Home)的应用场景,如图所示一个用户在PC 机终端上,通过Internet 网络,远程控制家中的彩电、冰箱和家用机器人的运行状态。
设计一个在PC 机终端上能实现对家中的彩电、冰箱和家用机器人的运行状态进行有效控制的软件系统的体系结构。