软件设计与体系结构期末考试2017-2018学年模拟试题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京工业大学2017 - 2018学年
第二学期模拟试题参考答案
考试课程:软件设计与体系结构考试日期:2018年06 月12日学院:信息学部(软件学院)专业:软件工程学号:姓名:成绩:
一填空题(共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++ 提供了相应的工具来完成这个工作:这些工具包括
(AppWizard 应用生成器) (可以用来生成初步的框架文件(代码和资源等)), 资源编辑器 (Resource Editor) (用于帮助直观地设计用户接口), (ClassWizard )(用来协助添加代码到框架文件)。
10. 软件体系结构设计风格 – 是指对软件组件间组织形式和组织机理风格的描述。通过考
虑在组件组织模式的各种形式变化,形成包括(管道过滤风格), (批处理风格), (黑板风格), (C/S 风格), (B/S 风格)的软件体系结构风格。
11. 软件体系结构的评估与分析 – 是指通过对复杂应用系统软件体系结构设文档、设计过
程、代码、实现过程的评估与审查等手段来判断软件的(质量属性),增强软件的质量;在真正的错误的设计导致真的灾难前(挑出错误),选择更好的结构或(改进)结构的设计。
12. 软件系统的质量属性有多种,请列举其中至少4种: 可用性、(可靠性)、(可维护性)、
(安全性)、(可修改性)、可测试性、易用性、可移植、可重用、可集成。
A C
B
M e d i a t o r
X A C B X
M e d i a t o r 图A
图B
软件构件库 (Component Library ) 软件构架 (Software Framework ) 软件体系结构
软件组装线
(Assembling Line )
软件产品 系统 组件 第三方 组件 开发 组
13.图形表达工具是一种简单而且使用广泛的表达工具,其中各种矩形框(带文字、不带
文字、实线体、虚线体、…)箭头线(单箭头、双箭头、实体箭头、虚箭头、…)被用来分别表示软件的组件和(组件的连接)结构。
二判断题(共10 题,每题 1 分, 正确在括号划√, 错误在括号划X)
( √) 1. Windows 的应用系统-- 是一个具有可视化图像用户界面、可进行多任务进行操作的系统,它为用户提供了风格统一(由窗架、菜单、视窗、工具
栏等)界面元素所构成的多任务应用环境。
-- 直观、高效、统一的面向对象的图形用户界面,易学易用
-- 丰富的设备无关的图形操作
-- 多任务多进程
( X ) 2. 软件体系结构不只是一种对软件系统的表示和描述,它也是可运行的软件
( √ )3. 层次化的软件体系结构是指按照分层模式安排一个软件系统组件的结构,每一层为上一层提供服务、不相邻的层间不能进行调用
( X ) 4. 软件体系结构中不应包含中间件
( √ ) 5. 软件体系结构风格和模式可以被应用到其他系统的设计中
( √ ) 6. 软件体系结构是软件开发中的中间产品,1)用于控制软件的复杂性;2)提高软件的质量;3)支持软件的开发过程;4)支持软件过程的可控制性;5)
软件生产的效率和生产力
( X ) 7. 用面向对象方法构造软件系统体系结构时,其最基本单位是函数
( X ) 8. 软件体系结构描述表示方法包括形式化和非形式化的描述方法,UML是非形式化描述方法,ADL是形式化描述方法
( √ ) 9. 通过分布式软件体系结构的设计,能实现异构环境组件的互连、互通和互操作
( √ ) 10. 软件体系结构的评估方法包括 SAAM (Software Architecture Analysis Method),ATAM (Architecture Tradeoff Analysis Method),ARID(Active
Reviews for Intermediate Designs)等方法
三简答题(共 4 题,每题 5 分)
1.什么是软件体系结构,描述软件体系结构的主要内容及组织?
软件体系结构(Software Architecture):是软件产品设计的思想和系统的蓝图;是对软件产品组成的规划和职责的设置;是定义软件系统组件(Components)或构建块(Building Blocks)的重要工具;用于
* 实现对一个软件系统的构成进行逻辑上的划分
* 所形成和采用的工程化规范,用于指导软件后续开发过程方方面面组成部分
的模型
软件体系结构描述一个软件产品的定义和组件(parts)
* 定义单独的组件系统– Componets: