软件体系结构期末考试(共10页).doc

上传人:飞****2 文档编号:13497648 上传时间:2022-04-29 格式:DOC 页数:10 大小:333.50KB
返回 下载 相关 举报
软件体系结构期末考试(共10页).doc_第1页
第1页 / 共10页
软件体系结构期末考试(共10页).doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《软件体系结构期末考试(共10页).doc》由会员分享,可在线阅读,更多相关《软件体系结构期末考试(共10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上北京工业大学2014 - 2015学年第二学期模拟试题考试课程:软件体系结构 I 考试日期:2015年 5 月 20日学 院: 软件学院 专 业: 软件工程 学 号: 姓名: 成绩: 题 号一二三四五六七八九十总分成 绩阅卷教师一 填空题 (共 30 空, 每空 1 分)1. 软件或程序是由软件工程人员设计与开发, 使计算设备发挥计算潜能, _ 的逻辑层次组织。2. 软件体系结构 (Software Architecture)- 是软件产品设计的思想和系统的蓝图;是对软件产品_的规划和_的设置;是定义软件系统组件 (Components)或构建块 (Building

2、Blocks)的重要工具;用于 - 实现对一个软件系统的构成进行_的划分 - 所形成和采用的工程化规范,是指导软件后续过程方方面面组成的模型。3. 软件开发中的面临若干问题:1)软件固有的复杂性;2)软件开发的随意性;3)周期长,代价高,质量低的问题;软件体系结构设计是软件产品及大型信息系统工程实现中最重要的环节和关键技术之一,解决从软件的_到系统实现(代码)的有效和平坦过渡。 4. 软件产品的工业化生产:是指建立流水线型的软件产品生产线,是指按_、标准化的规范和规则(软件生产规范)来编写和实现各种各样的适应于多环境的软件_,通过软件体系结构来确定各个软件组件如何部署到开发架构模式中,组装成达

3、到期望的软件产品。 5. 体系结构设计方法的发展中,软件程序开发经历了如下的阶段- 功能分解法 (计算任务) - 结构化程序设计 (以数据为中心) - _ - _ - 基于 SOA 的程序设计 (以服务为中心) 。6. 一个现代软件产品生产过程如下图表示,请在带_的方框中,填上相应的组件名称软件构件库(Component Library )软件构架(Software Framework ) 软件工厂 _ 软件组装线 (Assembling Line)软件产品系统组件第三方组件 开发 组件 7. 软件体系结构组件间的连接方式如图表示,则图的连接方式称为 _ 连接体系结构;图的连接方式称为基于 _

4、 连接体系结构。ACBMediatorXACBXACBMediator 图A 图B8. UML将软件的体系结构分解为五个不同的侧面, 通过不同侧面的视图提供给不同相关者的软件体系结构描述,这五个侧面分别是:_视图, _视图,_视图,进程(Process)视图,部署与配置 (Deployment)视图。9. MFC框架定义 Windows 应用程序的轮廓,提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C+ 提供了相应的工具来完成这个工作:这些工具包括_(可以用来生成初步的框架文件(代码和资源等), 资源编辑

5、器 (Resource Editor) (用于帮助直观地设计用户接口), _(用来协助添加代码到框架文件)。10. 软件体系结构设计风格 是指对软件组件间组织形式和组织机理风格的描述。通过考虑在组件组织模式的各种形式变化,形成包括_, _, _, _, _的软件体系结构风格。11. 软件体系结构的评估与分析 是指通过对复杂应用系统软件体系结构设文档、设计过程、代码、实现过程的评估与审查等手段来判断软件的_,增强软件的质量;在真正的错误的设计导致真的灾难前_,选择更好的结构或_结构的设计。12. 软件系统的质量属性有多种,请列举其中至少4种: 可用性、_、_、_、_、可测试性、易用性、可移植、可

6、重用、可集成。13. 图形表达工具是一种简单而且使用广泛的表达工具,其中各种矩形框 (带文字、不带文字、实线体、虚线体、)箭头线(单箭头、双箭头、实体箭头、虚箭头、) 被用来分别表示软件的组件和_结构。 二 判断题 (共 10 题, 每题 1 分, 正确在括号划, 错误在括号划 X)( ) 1. 数据流图是表示软件模基于 Windows 的应用系统 - 是一个具有可视化图像用户界面、可进行多任务进行操作的系统,它为用户提供了风格统一(由窗架、菜单、视窗、工具栏等)界面元素所构成的多任务应用环境。 - 直观、高效、统一的面向对象的图形用户界面,易学易用 - 丰富的设备无关的图形操作 - 多任务多

7、进程 ( ) 2. 软件体系结构不只是一种对软件系统的表示和描述,它也是可运行的软件( )3. 层次化的软件体系结构是指按照分层模式安排一个软件系统组件的结构,每 一层为上一层提供服务、不相邻的层间不能进行调用( )4. 软件体系结构中不应包含中间件( )5. 软件体系结构风格和模式可以被应用到其他系统的设计中( ) 6. 软件体系结构是软件开发中的中间产品,1)用于控制软件的复杂性;2)提高软件的质量;3)支持软件的开发过程;4)支持软件过程的可控制性;5)软件生产的效率和生产力( )7. 用面向对象方法构造软件系统体系结构时,其最基本单位是函数( ) 8. 软件体系结构描述表示方法包括形式

8、化和非形式化的描述方法,是非 形式化描述方法,是形式化描述方法( ) 9. 通过分布式软件体系结构的设计,能实现异构环境组件的互连、互通和互操 作( )10. 软件体系结构的评估方法包括 SAAM (Software Architecture Analysis Method),ATAM (Architecture Tradeoff Analysis Method),ARID(Active Reviews for Intermediate Designs)等方法三 简答题 (共 4 题,每题 5 分)1. 什么是软件体系结构,描述软件体系结构的主要内容及组织?2. 描述软件体系结构分析和评估的概

9、念和意义3. 描述什么是分布式应用程序和体系结构的概念及优点4 描述一个软件体系结构中组件的角色和任务四 体系结构设计和程序阅读题: (20分, 共 4 题,每题 5 分)1. 使用图形描述语言,描述 VC+MFC 开发环境下,开发基于 Dialog 模式应用程序的基本架构2. 一张 CRC (Component Responsibility Card)卡如下图表示,请用 VC+ MFC 或 Java 编码完成 CRC 卡描述的内容class name: Crocketsuper classes: subclasses: Responsibilities (责任)负责描述运载火箭的基本属性、静

10、止状态、发射状态、 飞行状态、.Collaborators (交互类和接口) 类 CRocket_DisplayAttributesclass CRocket_Display CRocket_Display() .int H, Vint x, y, z, ResponsibilitiesRocket(CRocket_Display rocket); / 构造函数void DrawRocket(); / 绘制火箭void InitInstance(); / 在应用开始时作初始化void ExitInstance (); / 应用退出时作清理工作 void Launcher(); /发射void

11、Fly(); / 飞行. 3. 已知一个应用系统的软件体系结构如下图表示,类Exam_App为的组装线程序,类Exam_Frame为顶层容器,类Display为表示界面,类Model为模型组件,写出以下Java 程序的运行结果顶层容器(JFrame)组装线(主干程序) 表示层(JPanel) Display类 模型层 Model 类 class Exam_App public static void main() new Exam_Frame(); class Exam_Frame extends JFrame Container contentPane; Display display; M

12、odel 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(Gra

13、phics 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!”); .运行以上程序,

14、结果为4. 已知一个基于VC+ MFC 环境 Dialog 模式应用程序体系结构表示如下,组装线(CWinApp) Exam_App图形表示界面(CDialog) Exam_Dlg 模型Model其中,组装线类Exam_App 用于组装图形表示界面类Exam_Dlg,图形表示界面类Exam_Dlg通过函数 Model_Display用于调用类 Model#includeclass Exam_App : CWinApppublic: virtual BOOL InitInstance();Exam_App app;class Exam_Dlg: CDialog Public: Model *mo

15、del; 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. (1

16、0分) 时髦的家(Smart Home)的应用场景,如图所示一个用户在 PC 机终端上,通过 Internet 网络,远程控制家中的彩电、冰箱和家用机器人的运行状态。设计一个在PC 机终端上能实现对家中的彩电、冰箱和家用机器人的运行状态进行有效控制的软件系统的体系结构。 (1) 设计和表示在PC 机终端上能实现对家中的彩电、冰箱和家用机器人的运行状态进行有效控制的软件系统的体系结构,应包括系统层级(用模块、分层结构)、组件层级(用类图表示,至少应有 TVSet、Refrigerator、HomeRobotic实体类)的体系结构, (2) 使用 VC+ 或语言用代码进行体系结构所表示的组件的设计

17、和实现(面向对象的方法)(3) 使用 VC+ 或,设计一个组装线,组装组件成为运行的系统2. (10分) 在 VC+ MFC 开发环境 或 在 Java JDK 1.5 的开发环境下,设计一个软件应用系统的软件体系结构,完成下述的任务(1) 能完成 n (n1 整数) 个实数的求和;(2) 能完成 n (n1 整数) 个实数的求积;(3) 能完成n (n1 整数) 个实数的冒泡排序;设计上述要求的软件体系结构,要求如下:(1) 系统的体系结构应该有表示层,即图形界面 (GUIs)层 - 用于与用户的数据交互;模型层 用于完成上述任务的计算任务;控制层 用于模型层与表示层的交互控制; 组装线 用于组装各个组件成为应用系统。请用图形描述方法,设计系统的软件体系结构 (组件集合及其部属)(2) 用CRC 卡描述组装线,图形界面组件和模型组件(3) 编写VC+ MFC 或 Java 的程序代码完成组装线 CRC 卡,图形用户界面 CRC卡,模型组件 CRC 卡的实现 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁