软件设计与体系结构课后习题答案.pdf
《软件设计与体系结构课后习题答案.pdf》由会员分享,可在线阅读,更多相关《软件设计与体系结构课后习题答案.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、牡丹江师范学院-软件工程-朱有富 2015 年 6 月整理 1 软件设计与体系结构答案 目录: 第一章.4 1.什么是软件?软件的特点是什么?软件有那些分类? 2.软件设计应该包括哪些要素?软件设计在软件工程中所处的位置和重要性如何? 3.请用自己的话说明软件体系结构。传统的建筑体系结构科学和软件体系结构有何相似之处?有何不同之处? 4.软件设计和软件体系结构有何关系?软件体系结构的出现有何必然性和重要意义? 5.在软件设计过程中,人们需要重点考虑软件系统结构的哪些方面? 第二章.5 1.什么是软件模型? 2.软件模型对软件体系结构的作用是什么? 3.常用的软件模型有哪些? 4.什么是软件模型
2、的非形式化描述和形式化描述? 5.软件体系结构设计方法中的水平型设计和垂直型设计各有什么特点? 6.什么是 ADL? 7.典型的 ADL 有哪几种? 第三章.6 1.在整个开发过程中,UML 主要起到什么作用? 2.如何利用模式解决在面向对象系统分析与设计中遇到的问题? 3.UML 中都包含哪些图?简述这些图的作用。 牡丹江师范学院-软件工程-朱有富 2015 年 6 月整理 2 4.简述用例图之间的关系。 5.简述协作图和序列图的区别。 6.神舟六号描述画出能正确表示它们之间关系的 UML 图。 7.某个网上银行的用户登录过程用一个时序图描述这个过程。 第四章9 1.简述抽象与逐步求精的含义
3、。 2.简述模块化与信息隐藏的关系。 3.为什么软件要追求高内聚、低耦合? 4.软件设计过程中包含哪些活动? 5.试总结本章列举的软件体系结构设计方法的特点。 第五章.10 1.选择一个熟悉的大型软件系统,分析其体系结构中用到的风格,以及表现出的特点(为什么要采用这种风格?采用这种风格带来哪些优势?具有哪些不足?) 2.选择 4 种风格,设计简单的体系结构,并实现简单的原型系统 3.不同的体系结构风格具有各自的特点、优劣和用途,试对管道-过滤器风格,分层系统、C2 风格和基于消息总线(基于事件的隐式调用)的风格进行分析比较。 第六章.13 1.简述面向对象方法支持的 3 种基本活动. 2.简述
4、面向对象的系统开发生命周期。 第七章.13 1.结构化分析需要从哪几个方面建立系统的模型?对于任意一个系统来说,结构化分析提供的每个模型都是必需的吗?如果不是请给出选择建立各种模型的依据。 2.结构化分析中的各种建模技术有何特点?为什么能刻画系统的某个方面? 3.下面是某大学图书管理系统的问题描述,请给出该系统的数据流图,并给出相应的数据字典。 牡丹江师范学院-软件工程-朱有富 2015 年 6 月整理 3 4.一个图书管理系统中有书目、书籍、读者、图书管理员等数据对象,根据你对这些数据对象的理解给出 ER 图。 5.一个人带着一头狼、一头羊和一颗青菜,处于河的左岸。请用状态-迁移图来描绘这一
5、过程。 第八章.17 1.简述设计良好界面的主要途径。 2.简述用户界面分析包含的内容。 3.简述用户界面设计过程及所要考虑的主要问题。 4.简述用户界面原型的实施。 5.简述用户界面设计评估。 7.举一到两个由于界面设计缺陷而可能导致非常严重后果的例子。 第九章.19 1.什么是设计模式?设计模式的目标是什么? 2.设计模式具有哪三大特点? 3.简述单例模式的两种实现方法,并说明其优缺点。 4.常用的 GOF 设计模式有几种?GOF 设计模式按照目的可分为哪三类? 5.MVC 模式是一个复合模式,请写出两种你知道的 MVC 中使用的模式。 6.简述面向对象程序设计的六大基本原则 7.在面向对
6、象程序设计中,经常需要避免过多地使用 case 语句或者 if 语句 8.某房地产公司准备开发一套房产信息管理系统,如果对上述场景编程,那么上述(1)和(2)可能会用到哪些设计模式? 牡丹江师范学院-软件工程-朱有富 2015 年 6 月整理 4 第一章 1.什么是软件?软件的特点是什么?软件有那些分类? 计算机软件是由专业人员开发并长期维护的软件产品; 特点: 1)软件不是在传统意义上生产制造的,而是由设计开发的; 2)软件不会像硬件那样磨损和老化; 3)随着构件构造模式的发展,软件需要根据实际需求定制; 分类:计算机软件分为 7个大类: 系统软件应用软件嵌入式软件科学和工程计算软件产品线软
7、件人工智能软件Web应用软件 2.软件设计应该包括哪些要素?软件设计在软件工程中所处的位置和重要性如何? 元素:分析模型数据/类设计体系结构设计接口设计构件级设计 位置:软件需求分析-需求规格说明-软件设计-设计文档-软件编码 重要性: 软件设计是软件工程中形成质量的地方,设计为我们提供了质量评估的软件表示,设计是我们能够将用户需求准确地转化为软件产品或系统的唯一方法。是所有软件工程活动和随后的软件支持活动的基础。没有设计,就会有构造不稳定系统的风险。 3.请用自己的话说明软件体系结构。传统的建筑体系结构科学和软件体系结构有何相似之处?有何不同之处? 软件体系结构是软件系统的基本组织,包含构件
8、、构件之间、构件与环境之间的关系 ,以及相关的设计与演化原则等。 相似之处: 都是所构建系统的计划,都具有确保得到期望的特性,也是所构建系统的描述。 不同之处: 建筑师创建的是相对静止的静态描述而软件体系结构师创建的体系结构描述、代码在以后将被执行多次,靠许多组件的交互来得到期望结果。 牡丹江师范学院-软件工程-朱有富 2015 年 6 月整理 5 4.软件设计和软件体系结构有何关系?软件体系结构的出现有何必然性和重要意义? 1)体系结构是系统设计的一部分,突出了某些细节,并通过抽象省略掉另一些细节。所以体系结构是设计的一个子集。 2)必然性和重要意义: 软件体系结构作为控制软件复杂性、提高软
9、件系统质量、支持软件开发和复用的重要手段之一,自提出以来就受到软件研究者和实践者的关注,有了软件体系结构,设计人员或者项目管理者就能在一个比较高的层次上俯瞰软件的整体状况。同时,软件体系结构可以复用,减少开发成本,降低软件的开发风险。 5.在软件设计过程中,人们需要重点考虑软件系统结构的哪些方面? 人们需要重点考虑体系结构风格和模式;领域特定的软件体系结构;软件产品线技术; 第二章 1.什么是软件模型? 软件模型是指软件的一种抽象,目前,一般通过非数学模型来描述,本书中将统一基本单元的抽象称为软件模型。 2.软件模型对软件体系结构的作用是什么? 软件模型作为软件组成的最基本单元的抽象,既反映了
10、软件体系结构构建的核心思想,也奠定了软件体系结构构建的基础。一方面,它定义了软件体系结构构建的基本单元元素的形态;另一方面它定义了基本单元元素之间关系的基本形态。不同的软件模型隐式地定义了软件体系结构构建的不同方法。 3.常用的软件模型有哪些? 功能模型对象模型组件模型配置型组件模型服务模型抽象模型 4.什么是软件模型的非形式化描述和形式化描述? 1)非形式化描述的典型代表是基于UML的统一建模方法,大量使用了自然语言与非形式化的图形符号。 2)形式化描述是指用于软件与硬件系统的说明、开发与验证的数学化方法,形式化的基础就是数学化理论。 牡丹江师范学院-软件工程-朱有富 2015 年 6 月整
11、理 6 5.软件体系结构设计方法中的水平型设计和垂直型设计各有什么特点? 1)水平型设计是指运用通用的建模设计工具和表达语言所进行的软件体系结构的设计。所使用的建模设计工具和表达语言不是专门针对软件体系结构的,因此水平型设计具有较大的自由度及其带来的不一致性。 2)垂直型设计是指运用面向体系结构的专用建模设计工具及其表达模型所进行的软件体系结构的设计,一般来说这种专用工具针对软件体系结构的描述首先定义一种表达模型,然后围绕该模型,通过提供相应的设计工具来支持软件体系结构的设计。 6.什么是 ADL? ADL是一种用于描述的语言,它可以在指定的抽象层次上描述软件体系结构,它同样拥有形式化的语法、
12、语义以及严格定义的表达符号,或者是简单易懂的直观抽象表达。 7.典型的 ADL 有哪几种? WRIGHT C2 Darwin ACME xADL -ADL KDL 第三章 1.在整个开发过程中,UML 主要起到什么作用? UML是一种通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模,它融入了软件工程领域的新思想、新方法和新技术,它的作用域不仅支持面向对象的分析和设计,而且支持从需求分析开始的软件开发的全过程。 2.如何利用模式解决在面向对象系统分析与设计中遇到的问题? 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起
13、来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。 3.UML 中都包含哪些图?简述这些图的作用。 类图:用来刻画软件中类等元素的静态结构和关系。 牡丹江师范学院-软件工程-朱有富 2015 年 6 月整理 7 对象图:显示类的多个对象实例而不是真实的类。 构件图:用于静态建模,表示构件类型的组织以及各种
14、构件之间的依赖关系。 部署图:描述系统运行时的结构,展示硬件的配置及其软件如何部署到网络结构中 用例图:列出来系统中的用例和系统外的参与者,并显示了哪个参与者参与了哪个用例的执行。 顺序图:描述对象之间的动态交互关系,着重表现对象间消息传递的时间顺序。 通信图:与顺序图不同,通信图关注参与交互的对象通过连接组成的结构。 交互概览图:类似于活动图方式,描述交互之间的流程,给出交互控制流的概览。 时序图:显示对象之间交互的图,对象按时间顺序排列。 状态图:描述一个类的实例、子系统甚至整个系统在其生命周期中所处状态如何随着外部激励而发生变化。 活动图:描述活动的顺序,展现一个活动到另一个活动的控制流
15、。 4.简述用例图之间的关系。 1)参与者之间是泛化关系,即特殊、一般化关系。 2)用例之间 有包含关系、扩展关系和泛化关系。 3)参与者和用例之间是关联关系。 5.简述协作图和序列图的区别。 协作图和序列图都表示对象之间的交互作用,区别在于序列图描述对象交互的时间顺序,协作图描述对象在交互中承担的角色,序列图可以表示对象的激活状态和去激活状态,也可以表示出对象的创建和销毁的相对时间,协作图则没有这些功能。 6.神舟六号是神舟系列飞船的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔组成。航天员使用返回舱来驾驭飞船,轨道舱是航天员工作和休息的场所。在紧急情况下,航天员使用逃逸救生塔逃离。飞船的两侧
16、有多个太阳能电池翼,它为飞船提供电能。根据以上描述画出能正确表示它们之间关系的 UML 图。 牡丹江师范学院-软件工程-朱有富 2015 年 6 月整理 8 神舟飞船神舟飞船神州六号飞船神州六号飞船+ +提供电能提供电能()()太阳能电池翼太阳能电池翼+ +工作工作()()+ +休息休息()()+ +吃饭吃饭()()+ +漱洗漱洗()()+ +方便方便()()- -longlong( (长度长度):):doubledouble- -diameterdiameter( (直径直径) ):doubledouble轨道舱轨道舱+ +提供监测提供监测()()+ +确保温度确保温度()()+ +降落伞降
17、落伞()()+ +监测地面监测地面()()- -longlong( (长度长度) ):doubledouble- -diameterdiameter(直径直径):):doubledouble- -chairchair( (座椅座椅) ):intint返回舱返回舱+ +提供调整姿态提供调整姿态()()+ +提供调整轨道提供调整轨道()()+ +制动减速所需用的动力制动减速所需用的动力()()- -longlong( (长度长度:doubledouble) )- -diameterdiameter(直径直径):):doubledouble- -bottonDiameterbottonDiamete
18、r( (底部直径底部直径) ):doubledouble- -motormotor(发动机发动机):):stringstring- -propellantpropellant(推进剂推进剂):):stringstring推进舱推进舱+ +驾驶飞船驾驶飞船()()- -heightheight(高高):):doubledouble- -motormotor(发动机发动机):):stringstring- -parachuteparachute(降落伞降落伞)逃逸救生塔逃逸救生塔- -namename( (姓名姓名) ):stringstring- -ageage( (性别性别) ):intint
19、- -weightweight(体重体重):):intint- -heughtheught(身高身高):):decimaldecimal航天员航天员 7.某个网上银行的用户登录过程如下:用户先填写用户名和口令,要求登录。如果用户名和密码正确,则要求输入一个验证码。此时,该用户的手机上将收到一个短信,包含一个验证码,用户将此验证码填入下一个页面,再提交服务器。如果验证码正确,则能正常登录,并且验证码只能有效一次,用一个时序图描述这个过程。 牡丹江师范学院-软件工程-朱有富 2015 年 6 月整理 9 第四章 1.简述抽象与逐步求精的含义。 1)抽象是控制复杂性的基本策略,要求将注意力集中在某一
20、层次上考虑问题,而忽略那些低层次的细节; 2)逐步求精是更为详细的描述代替上一层次的抽象描述; 2.简述模块化与信息隐藏的关系。 模块化设计使得其所含的信息对于那些不需要这些信息的模块不可访问,每个模块只完成一个相对独立的特定功能,模块之间仅仅交换那些为完成系统功能必须交换的信息,因此模块化是信息隐藏的直接结果。 3.为什么软件要追求高内聚、低耦合? 内聚度标志一个模块内部各个成分彼此结合的紧密程度,内聚度越高越好; 耦合度是对软件结构中模块间关联程度的一种度量,在设计软件时应追求尽可能松散耦合的系统,因为这类系统中的任一模块的设计、测试和维护相对独立,模块间的联系较少,错误在模块间的传播的可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 体系结构 课后 习题 答案
限制150内