ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:318.24KB ,
资源ID:4182551      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4182551.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件设计与体系结构期末考试学年模拟试题参考答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件设计与体系结构期末考试学年模拟试题参考答案.docx

1、软件设计与体系结构期末考试学年模拟试题参考答案北京工业大学2017 - 2018学年第二学期模拟试题参考答案考试课程:软件设计与体系结构 考试日期:2018年 06 月 12日学 院: 信息学部(软件学院) 专 业: 软件工程 学 号: 姓名: 成绩: 题 号一二三四五六七八九十总分成 绩阅卷教师一 填空题 (共 30 空, 每空 1 分)1.软件或程序是由软件工程人员设计与开发, 使计算设备发挥计算潜能, (计算机指令) 的逻辑层次组织。2.软件体系结构 (Software Architecture)- 是软件产品设计的思想和系统的蓝图;是对软件产品(组成要素或单元)的规划和(单元职责)的设

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

3、和实现各种各样的适应于多环境的软件(组件),通过软件体系结构来确定各个软件组件如何部署到开发架构模式中,组装成达到期望的软件产品。 5.体系结构设计方法的发展中,软件程序开发经历了如下的阶段- 功能分解法 (计算任务) - 结构化程序设计 (以数据为中心) - (面向对象程序设计) - (面向组件程序设计) - 基于 SOA 的程序设计 (以服务为中心) 。6.一个现代软件产品生产过程如下图表示,请在带_的方框中,填上相应的组件名称 7.软件体系结构组件间的连接方式如图表示,则图的连接方式称为 (点对点) 连接体系结构;图的连接方式称为基于 (中间件) 连接体系结构。8.UML将软件的体系结构

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

5、用户接口), (ClassWizard)(用来协助添加代码到框架文件)。10.软件体系结构设计风格 是指对软件组件间组织形式和组织机理风格的描述。通过考虑在组件组织模式的各种形式变化,形成包括(管道过滤风格), (批处理风格), (黑板风格), (C/S 风格), (B/S 风格)的软件体系结构风格。11.软件体系结构的评估与分析 是指通过对复杂应用系统软件体系结构设文档、设计过程、代码、实现过程的评估与审查等手段来判断软件的(质量属性),增强软件的质量;在真正的错误的设计导致真的灾难前(挑出错误),选择更好的结构或(改进)结构的设计。12.软件系统的质量属性有多种,请列举其中至少4种: 可用

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

7、的图形用户界面,易学易用 - 丰富的设备无关的图形操作 - 多任务多进程 ( X ) 2. 软件体系结构不只是一种对软件系统的表示和描述,它也是可运行的软件( )3. 层次化的软件体系结构是指按照分层模式安排一个软件系统组件的结构,每 一层为上一层提供服务、不相邻的层间不能进行调用( X ) 4. 软件体系结构中不应包含中间件( ) 5. 软件体系结构风格和模式可以被应用到其他系统的设计中( ) 6. 软件体系结构是软件开发中的中间产品,1)用于控制软件的复杂性;2)提高软件的质量;3)支持软件的开发过程;4)支持软件过程的可控制性;5)软件生产的效率和生产力( X ) 7. 用面向对象方法构

8、造软件系统体系结构时,其最基本单位是函数( X ) 8. 软件体系结构描述表示方法包括形式化和非形式化的描述方法,是非 形式化描述方法,是形式化描述方法( ) 9. 通过分布式软件体系结构的设计,能实现异构环境组件的互连、互通和互操 作( ) 10. 软件体系结构的评估方法包括 SAAM (Software Architecture Analysis Method),ATAM (Architecture Tradeoff Analysis Method),ARID(Active Reviews for Intermediate Designs)等方法三 简答题 (共 4 题,每题 5 分)1.

9、什么是软件体系结构,描述软件体系结构的主要内容及组织?软件体系结构 (Software Architecture):是软件产品设计的思想和系统的蓝图;是对软件产品组成的规划和职责的设置;是定义软件系统组件 (Components)或构建块 (Building Blocks)的重要工具;用于 * 实现对一个软件系统的构成进行逻辑上的划分 * 所形成和采用的工程化规范,用于指导软件后续开发过程方方面面组成部分 的模型软件体系结构描述一个软件产品的定义和组件(parts) * 定义单独的组件系统 Componets: * 描述系统的结构 - Connectors & Interrelated Com

10、ponents * 定义责任的范围 - A Boundary * 描述组件的功能 - A Purpose and Responsibility * 算法 Implementation Algorithm * 数据的表示 Data Representation * Constrains软件体系结构实质上是一系列相关要素的逻辑组织结构 (A software systems architecture should be a composition and interplay of different elements)-构件的逻辑组织方式 (Components)-流程的逻辑组织结构 ( Proc

11、essing) -数据的逻辑组织结构 (Data, also referred as information or state)-构件的连接组织方式 (Interaction)2.描述软件体系结构分析和评估的概念和意义软件体系结构的评估与分析 是指通过对复杂应用系统软件体系结构设文档、设计过程、代码、实现过程的评估与审查等手段来判断软件的质量属性,增强软件的质量;在真正的错误的设计导致真的灾难前挑出错误,选择更好的结构或改进结构的设计。软件体系结构的评估与分析的作用 - 判断软件体系结构将导致设计所期望的质量属性和功能 - 识别潜在的风险 - 对设计的自我完善3.描述什么是分布式应用程序和体系

12、结构的概念及优点分布式应用系统 (程序) - 指使用分布于多个(一个以上)计算环境的对象(程序、内存、CPU、外设等)共同协作以完成一个应用程序,这些计算环境可相同或相异。 - 分布式应用系统(程序)将一个应用程序和程序的执行分布于多台计算机、提 高程序的性能和可扩展性 - 将在不同环境、操作系统和平台上运行的代码进行集成 - 革新大规模的资源密集型应用程序4 描述一个软件体系结构中组件的角色和任务Graphic User Interfaces( 图形用户界面): 是用户与模型(业务)层他之间的一个接口,表示层程序通过图形界面为用户提供便捷的操作基础, 使用户可以和模型或程序进行可视化交互:一

13、般,图形界面包括窗口、菜单、按钮、选择按钮、文本框、工具栏等元素四 体系结构设计和程序阅读题: (20分, 共 4 题,每题 5 分)1.使用图形描述语言,描述 VC+MFC 开发环境下,开发基于 Dialog 模式应用程序的基本架构2.一张 CRC (Component Responsibility Card)卡如下图表示,请用 VC+ MFC 或 Java 编码完成 CRC 卡描述的内容class name: Crocketsuper classes: subclasses: Responsibilities (责任)负责描述运载火箭的基本属性、静止状态、发射状态、 飞行状态、.Colla

14、borators (交互类和接口) 类 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 Fly(); / 飞行. class CR

15、ocket: CDocument private: float H, V; float x,y,z; public: Crocket(); Crocket(); void InitInsance(); void ExitInstance(); void Launcher(); void Fly(); ;#include “Crocket.h”#include “CRocket_Display.h”CRocket:CRocket() InitInstance();CRocket:CRocket()void CRocket:InitInstance()CRocket_Display *app;ap

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

17、y 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 paintC

18、omponent(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 ”); g.drawString(50, 10, “I will Success!”

19、); .运行以上程序, 结果为4.已知一个基于VC+ MFC 环境 Dialog 模式应用程序体系结构表示如下,其中,组装线类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 *model; public: void OnInitDialog(); void Mod

20、el_Display();class Model public: Model(); String model_data();请完成从类Exam_Dlg 中Model_Display调用类 Model函数String model_data() 的代码 void Exam_App:OnInitDialog() / 完成指向Model 的指针 model = new Model();void Exam_App:Model_Display()/ 完成调用类 Model函数String model_data()String str = model-model_data()五 综合设计题 (20分,每题1

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

22、示的组件的设计和实现(面向对象的方法)(3)使用 VC+ 或,设计一个组装线,组装组件成为运行的系统(1)设计的体系结构图如下(2)组件的设计和实现如下(3)类的清单/-/ C+.header/-/* * Module: Controller.h * Author: zhangj * Modified: 2017年12月28日 16:35:02 * Purpose: Declaration of the class Controller */#if !defined(_ObjectOrientedModel_1_Controller_h)#define _ObjectOrientedModel

23、_1_Controller_hclass TVSet_Model;class Refigrator_Model;class HomeRobotics_Model;class Controllerpublic: int Upload_Model(void); TVSet_Model* tVSet_Model; Refigrator_Model* refigrator_Model; HomeRobotics_Model* homeRobotics_Model;protected:private: int Model_Selection;#endif/-/ C+.source/-/* * Modul

24、e: Controller.cpp * Author: zhangj * Modified: 2017年12月28日 16:35:02 * Purpose: Implementation of the class Controller */#include TVSet_Model.h#include Refigrator_Model.h#include HomeRobotics_Model.h#include Controller.h/ Name: Controller:Upload_Model()/ Purpose: Implementation of Controller:Upload_M

25、odel()/ Return: int/int Controller:Upload_Model(void) / TODO : implement/-/ C+.header/-/* * Module: HomeRobotics_Model.h * Author: zhangj * Modified: 2017年12月28日 16:41:22 * Purpose: Declaration of the class HomeRobotics_Model */#if !defined(_ObjectOrientedModel_1_HomeRobotics_Model_h)#define _ObjectOrientedModel_1_HomeRobotics_Model_hclass HomeRobotics_Modelpublic: int Status_Adjustment(void); int Status_Results(void);protected:private: int Status_Items; int Status;#endif/-/ C+.source/-/*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1