《软件设计与体系结构课后练习部分答案.docx》由会员分享,可在线阅读,更多相关《软件设计与体系结构课后练习部分答案.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章作业6, 简要表达软件设计在软件工程中所处的位置和重要性。答:所处的位置:软件需求分析需求规格说明软件设计设计文档软件编码。重要性:1是对软件需求的干脆表达; 2为软件实现供应干脆依据; 3将综合考虑软件系统的各种约束条件并给出相应方案; 4软件设计的质量将确定最终软件系统的质量; 5及早发觉软件设计中存在的错误将极大削减软件修复和维护所需的本钱。 7, 软件设计应当包含哪些要素? 答:软件设计应当包含:目标描述, 设计约束, 产品描述, 设计原理, 开发规划, 运用描述。8, 软件体系构造及软件设计有何关系?软件体系构造的出现有何必定性和重要意义? 答:软件体系构造及软件设计的关系:软
2、件体系构造设计作为软件设计过程中的活动之一,能在较为抽象的级别上描述整个软件系统的构造,成为大规模, 困难软件系统设计中必不行少的步骤。软件体系构造的意义:软件体系构造将构件以及构件之间的连接作为软件体系构造的根本组成局部。软件体系构造使软件复用从代码复用开展到设计复用和过程复用,为不同的人供应了共同的语言,表达了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享及复用,基于体系构造的软件开发供应了有力的支持。第二章作业1, 简述UML的特点和用途。 答:UML的发起者在最初制定UML时,充分考虑了各种需求, 方法和语言的特点使UML在表达实力, 对新技术的包涵实力和扩张性等方面
3、具有显著的优势: 1为运用者供应了统一的, 表达实力强大的可视化建模语言,以描述应用问题的需求模型, 设计模型和实现模型。 2供应对核心概念的扩展机制,用户可参与核心概念中没有的概念和符号,可为特定应用领域提出具体的概念, 符号表示和约束。 3独立于实现语言和方法学,但支持全部的方法学,覆盖了面对对象分析和设计的相关概念和方法学。 4独立于任何开发过程,但支持软件开发全过程。5供应对建模语言进展理解的形式化根底,用元素型描述根本语义,OCL描述良定义规那么,自然语言描述动态语义。 6增加面对对象工具之间的互操作性,便于不同系统间的集成。UML的目标是以面对对象方式描述任何类型的系统,具有广泛的
4、应用领域。UML最常用于建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统, 企业机构或业务过程, 处理困难数据的信息系统, 具有实时要求的工业系统或工业过程, 甚至数字电路等。 2, 在面对对象开发方法中,对象, 类, 继承, 聚集, 多态, 消息等概念分别指什么?答:1对象。对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。属性表示对象的性质,属性值规定了对象全部可能的状态。对象的操作是指该对象可以呈现的外部效劳。2类。类是某些对象的共同特征属性和操作的表示。对象是类的实例,类是对象创立的模板。3继承。类之间的继承关系是实现现实世界中遗传关系的干脆模拟,它表
5、示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类被继承类的某些特征。子类也可以具有自己独有的属性和操作。4聚集。除遗传关系外,现实世界中还普遍存在着局部整体关系。这种关系在面对对象方法学中表示为类之间的聚集关系。在聚集关系下,局部类的对象是整体类对象的一个组成局部。5多态。多态指父类及其子类中,对外接口的定义形式一样,却可以对应多种接口的实现形态。6消息。消息传递是对象及其外部世界相互关联的唯一途径。4, UML构造建模和行为建模有何区分?答:构造建模被称为静态建模,主要用来描述系统中包含的元素以及元素之间的关系;行为模型被称为动态模型,主要用来刻画系统中的动态行为, 过程和步骤。
6、5, 简要表达类图在UML中的意义和重要性,以及类图和对象图有何联系及区分。答:1意义:类图用来刻画软件中类等元素的静态构造和关系。2重要性:面对对象软件的最终实现表达为多个类的实现和组织,因此类图及面对对象软件实现之间的映射最为直观,对软件构造的设计至关重要,是软件实现要遵循的主要规格说明。3类图和对象图的联系:对象是类的实例,对象图也可以看做类图的实例,对象之间的连接是类之间的关联关系的实例。对象图描述在特定时刻和特定环境下,类图中类的具体实例以及这些实例之间的具体连接关系,能扶植人们理解一个比拟困难的类图。4类图和对象图的区分:对象的名字下面要加下划线,对象名称后可以注明所属的类。在一个
7、对象图中可以同时出现一个类的多个实例。第三章作业2, 简述模块化及信息隐藏在软件设计中的意义。答:软件系统的模块化是指整个软件被划分成假设干单独命名和可编址的局部,称之为模块,这些模块可以被组装起来满意整个问题的需求。在软件设计中实现了功能划分把困难的大的功能划分成简洁的小的模块构造,尽量降低每个模块的本钱,削减接口,确保软件总本钱最低。模块化使开活动更加简洁的一个重要因素是模块的信息隐藏,即一个模块的开发者不必看到模块的内部,只须要知道其接口即可,使开发者的困难性降低,不仅支持模块的并行开发,而且还可以削减测试和后期维护的工作量。3, 内聚度, 耦合度分别指什么?为什么软件设计要追求高内聚,
8、 低耦合?答:内聚度是一个模块内部各成分之间关联程度的度量;耦合度是对模块间关联程度的度量。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分摸块的一个准那么就是高内聚低耦合。模块间的耦合度是指模块之间的依靠关系,包括限制关系, 调用关系, 数据传递关系。模块间联系越多,其耦合性越强,同时说明其独立性越差。降低模块间的耦合度能削减模块间的影响,防止对某一模块修改所引起的“牵一发动全身的水波效应,同时每一个类完成特定的独立的功能,实现高内聚,保证系统设计顺当进展。 内聚和耦合亲密相关,同其它模块存在强耦合关系的模块常意味这弱内聚,强内聚常意味着弱耦合。5, 为什么软件设计过程经常是一
9、个不断迭代的过程?答:设计者一般不行能一次就能完成一个完整的设计,软件设计可能是一个反复的过程,在设计过程中须要不断添加设计元素和设计细微环节,并对从前的设计方案进展修正。所以,软件设计一般都可以被看做是迭代的过程。8, 是总结本章列举的软件体系构造设计方法各有何特点。结合自己的开发经验,探讨如何选择相宜的软件体系构造设计方法。答:特点如下:1软件体系构造的多视图建模通过逻辑视图,开发视图, 进程视图, 物理视图, 进程来描述的软件体系构造。(2) 基于评估及转换的软件体系构造设计通过迭代的开发方式,直至满意客户的需求。(3) 模式驱动的软件体系构造设计通过总结, 记录, 复用来实现的体系构造
10、设计(4) 领域特定的软件体系构造设计借鉴领域中已经成熟的软件体系构造来实现解决方案在某个领域内的复用。(5) 软件产品线方法软件复用开展的一个更高阶段,它并不仅仅局限于以前人们在软件复用中考虑的对函数, 模块, 类, 体系构造甚至子系统的复用。(6) 其于目标推理的软件体系构造设计方法功能需求和非功能需求皆被表达为要到达的目标。(7) 其于属性的软件体系构造设计方法基于目标图推理的体系构造设计方法, 基于属性的体系构造设计方法。开发心得: 在这些具有系统化过程的软件开发方法中,体系构造设计师一个不行防止的过程,它们也都有自己的一些设计方式。但这并不排斥前面讲到的软件体系构造设计方法,反之,假
11、如能把这些体系构造设计方法及开发方法学结合起来,将能起到更好的效果。12, 嵌入式软件有何特点?嵌入式软件设计可分为哪几类?答:特点:(1) 一般用于单一任务;(2) 有多种类型的处理器体系构造支持;(3) 资源约束更加严格;(4) 须要更高的牢靠性和平安性;(5) 对反响性和实时性要求很高;(6) 通常固化存储。通常分为以下两类:(1) 无操作系统的嵌入式软件:前后台系统, 中断驱动系统, 巡回效劳系统, 基于定时器的巡回效劳系统。(2) 有操作系统的嵌入式软件:分时系统, 实时系统。13, 什么是软件设计规格说明?它在软件开发中有何重要用途?答:软件设计规格说明:软件设计过程中各个活动的结
12、果最终应当文档化,形成正式的软件设计规格说明书,作为软件设计的输出,例如对系统的目标, 范围, 约束的定义,对软件构造, 接数据等方面的设计等。重要用途:形成软件设计规格说明被评审,并作为后续软件实现活动的依据。14, 软件设计评审的目标是什么?设计评审中须要关注哪几方面?答:目标:确保设计规格说明书能够实现全部的软件需求,及早发觉设计中的缺陷和错误,并确保设计模型已经精化到合格的软件实现工程师能够构造出符合软件设计者期望的目标软件系统。 一, 留意对需求规格说明的正确性进展评审 1 是否有需求及其他需求相互冲突或者重复? 2 是否清楚, 简洁, 无二义地表达了每个需求? 3 是否每个需求都通
13、过了演示, 测试, 评审,分析是否得到了验证? 4 是否每个需求都在工程的范围内? 5 是否每个需求都没有内容和语法上的错误? 6 在现有的资源内, 是否能实现全部的需求? 7 每一条特定的错误信息,是否都是唯一的和具有含义的? 二, 留意对需求规格说明的实践性进展评审 三, 留意对需求规格说明的完整性进展评审 1 编写的全部需求,其具体程度是否一样和相宜? 2 需求是否能为设计供应足够的根底? 3 全部对其他需求的内部引用是否正确? 4 是否包含了每个需求的实现优先级? 5 是否认义了功能说明的内在算法?6 是否包含了全部的客户需求或系统需求?7 是否遗漏了必要的信息?假如有遗漏的话,把他们
14、标记为待确定的问题?8 是否对全部预期的错误条件所产生的系统行为都编制了文档?四, 留意对需求方案的可行性和本钱预算进展评审五, 留意对需求的质量属性进展评审六, 留意对需求的可实施性进展评审七, 留意对需求包含的用例文档进展评审 1 用例的目标或价值度量是否明确? 2 用例是否是独立的分散任务? 3 是否明确说明可用用例会给哪些参及者带来用处? 4 编写用例的具体程度是否恰当?是否有不必要的设计和实现细微环节? 5 全部预期的分支过程是否都编写了文档说明? 6 全部预估的异样过程是否都编写了文档说明? 7 是否存在一些一般的动作序列可以分解成独立的用例? 8 每个路径的步骤是否都清楚明白,无
15、歧义而且完整? 9 用例中的每个参及者和步骤是否都及所执行的任务有关? 10 用例中定义的每个可选路径是否都可行和可验证? 11用例的前置条件和后置条件是否合理? 八, 留意需求评审会的过程和完毕标准 1 审查期间评审员们提出的全部问题都已经解决。 2 相关文档中的全部更改都已经正确完成。 3 修订过的文档进展了拼法检查。 4 全部标识为TBD待确定的问题已经全部解决, 或者已经对每个TBD的问题的解决过程, 方案解决的目标日期和责任解决人等编制了文档。 5 需求文档正式进入了配置库。第四章作业2, 用例分析及设计在设计过程中起到什么作用?答:理解业务领域和初步需求描述文档,更精确地运用用例图
16、描述系统需求,作为后续分析和设计活动的依据。3, 什么是概念模型设计?为什么须要建立软件概念模型?答:概念模型设计: 主要针对问题领域中的对象进展描述的设计。缘由:在用户需求和相关的业务领域中,往往有一些全局性的概念对于理解需求至关重要。因此有必要抽取这些概念,探讨这些概念之间的关系。问题A:图书馆管理答:问题B:保温系统答:第五章作业1, 变换流和事务流有何区分?答:变换流:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,就是变换流。 事务流:数据沿输入通路到达一个处理T,这个处
17、理依据输入数据的类型在假设干个动作序列中选出一个来执行,这类是事务流。2, 面对数据流的设计过程包含哪些步骤?答:面对数据流的构造设计过程和步骤是: 1分析, 确认数据流图的类型,区分是事务型还是变换型。 2说明数据流的边界。 3把数据流图映射为程序构造。对于事务流区分事务中心和数据接收通咱,将它映射成事务构造。对于变换流区分输出和输入分支,并将其映射成变换构造。 4依据设计准那么对产生的构造进展细化和求精。3, 启发式设计谋略有哪些?它们对软件设计起到什么作用?答:有以下几种:改造程序构造,减小耦合度,提高内聚度;改造程序构造,削减高扇出,在增加程序深度的前提下追求高扇入;改造程序构造,是任
18、一模块的作用域在其限制域之内;改造程序构造,削减接口的困难性和冗余程度,提高协调性;模块功能应当可预言,防止对模块施加过多限制;改造程序构造,追求单入口单出口的模块;为满意设计或可移植性的要求,把某些软件用包的形式封装起来。作用:对程序构造雏形进展优化,以提高软件设计的整体质量。第六章作业6, 描述你在工作过程中遇到的最好和最差的用户界面,并运用本章中的概念进展评价。答:最好的用户界面:qq用户界面。界面设计的很简约,虽然窗口很小,但内容丰富,而且和手机版本有很好的连接等。最差的用户界面:会计管理软件。界面简陋,层次不清楚,简洁让用户误操作等。设计良好的用户界面应保证:1所定义的交互模式不会强
19、迫用户进展不必要的动作,用户能很简洁地进入或退出交互模式。2供应敏捷的交互方式3允许打断或撤销用户交互4事先依据用户的娴熟程度来提高交互效率并且允许交互定制5为不熟识系统的用户隐藏内部技术细微环节6及出现在屏幕上的对象干脆交互1削减短期记忆要求2建立有意义的默认设置3定义符合直觉的快捷方式4界面的视觉布局应当模拟真实世界5以渐进的方式来提示信息1全部的可视信息都要依据设计标准来组织,并且在全部屏幕显示中都遵循这个设计标准2输入机制只有有限的几种,从而可在整个应用中一样地运用3一样地定义并实现从任务到任务的跨越机制。7, 给以下用户和系统建议恰当的操作对象:a仓库管理员运用的零件书目系统。b航空
20、飞行员运用的飞行器平安监控系统。c经理运用的财务数据库。d警察运用的巡逻车限制系统。答:a) 操作对象有零件, 仓库管理员。b) 操作对象有飞行器, 航空飞行员, 传感器。c) 操作对象有经理, 财务数据表。d) 操作对象有巡逻车, 车辆, 警察, 传感器。12, 写出以下状况可能的交互场景:a运用网络版的戏院预订效劳来预定戏票并运用信用卡进展支付。b在手机版本的软件上预定一样的戏票。答:第七章作业1, 软件体系构造风格及软件设计模式的区分是什么?答:1软件体系构造风格(Architecture Styles)风格是表达特定系统元素和组织方式的通用范例idiomatic paradigm。软件
21、体系构造风格,反映众多系统共有构造的习惯用法和语义,表述系统的静态构造方式,强调软件元素的组织形式和通常用法。2软件设计模式Design Pattern) 设计模式是软件问题高效和成熟的设计模板pattern),模板包含了固有的问题的处理逻辑,强调处理逻辑采纳方式的干脆复用。第八章作业1, 什么叫分布构件框架?答:分布构件框架是应用于分布式系统开发的构件框架。它封装了网络通信的细微环节,具有两局部功能:其一,向客户供应访问效劳器上的分布构件的接口;其二,向效劳器上的分布构件供应一个运行的环境也称容器。2, 试比拟本章介绍的三种构件框架答:EJB:它是Java效劳器端效劳框架的标准,软件厂商依据
22、它来实现EJB效劳器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担忧四周框架的实现问题。EJB标准具体地说明白一些最小但是必需的效劳,如事务,平安和名字等。软件厂商依据这些标准要求以保证一个enterprise bean能运用某个必需的效劳。标准并没有说明厂商如何实现这些效劳。这使得通过阅读标准来学习EJB更加困难,因为它允许厂商在不牺牲核心效劳的可移植性的前提下来供应一些增加功能。DCOM:Microsoft的分布式COMDCOM扩展了组件对象模型技术COM,使其能够支持在局域网, 广域网甚至Internet上不同计算机的对象之间的通讯。运用DCOM,应用程序可以在位置上到达分布
23、性,从而满意客户和应用的需求。CORBA:CORBA是Common Object Request Broker Architecture的缩写,它是分布计算机技术的开展结果,CORBA技术的胜利在于,它除了能够解决由于多个系统层次上的异构带来的“孤岛问题,还在理论和技术上扩展了客户/效劳器的模式,使系统具有良好的可伸缩性,便于系统的开发及升级,爱护已有投资。第九章作业1, 针对你曾经开发的某个软件系统,总结出哪些质量属性对此系统最重要以及描述这些质量属性的方法。答:软件的质量属性:有效性, 高效性, 敏捷性, 完整性, 可操作性, 牢靠性, 强健性, 可用性, 可维护性, 可移植性, 可重用性
24、, 可测试性。描述这些质量属性的方法:(1) 质量属性专题研讨会 (QAW)(2) 体系构造权衡分析方法 (ATAM)(3) 软件体系构造分析方法 (SAAM) (4) 主动的中间设计审核 (ARID)2, 针对某个你感爱好的软件系统,介绍它的商业动机。答:对校园宿舍管理系统商业动机分析:人所从事的任何活动都是由肯定的动机所引起的,其任何行为也受到肯定的动机所支配,并依据不同的方式组合, 交织在一起,相互作用,相互制约,构成各种各样的动机体系。在此,主要对校园学生宿舍信息管理系统的商业动机做分析说明。信息管理系统,简而言之就是对信息的集中管理,起到对信息便利, 快捷, 有效, 精确的管理。学生
25、宿舍管理是各高校后勤管理的重要组成局部,一所学校的主要成员就是学生,所以说,学生的数量是浩大的,每个学生又有着不同的信息,比方说,姓名, 学号, 性别, 班级, 所在宿舍楼等等困难信息。因此,学生宿舍管理日常工作中须要处理大量的信息,那么怎样才能对这浩大的学生信息和困难的人事构造进展便利, 快捷, 有效, 精确的管理呢?不知不觉,这成了人们日益关注的问题,也是急需解决的问题,因为它关系到学校机构的正常运营。我们知道,在科技不兴盛的以前,管理这些信息的主要方式是基于文本和表格等纸质媒介的人工处理方式。在人数不多且信息构造较为简洁的机构,这些处理方式是可以满意的,也不会影响机构的正常运营。但是,随
26、着人数量的不断扩大,信息构造的困难度不断加深,这些基于文本和表格等纸质媒介的人工处理方式已远远不能满意当今的须要,因为人工管理效率低下,劳动强度大,信息平安性差,信息处理速度慢而且简洁出错。现如今,随着信息时代的到来,计算机的广泛普及以及编程技术的开展,计算机技术渐渐应用到各行各业,为世界各地各个群体的用户供应了更加便利和快捷的效劳。近年来各行各业都开场运用专用管理系统,管理系统以其便捷的操作,快速的处理过程和精确的处理结果大大提高了工作的效率,为全社会节约大量的时间并创建了大量的财宝。因此,设计开发好一个专用管理系统对一个公司或机构的开展起着至关重要的作用。基于Internet的学生宿舍管理
27、系统的产生为高校的学生宿舍管理工作供应了一种操作简捷, 精确性好且高效率的新方式。学生宿舍管理系统采纳基于Java语言的Servlet和JSP技术开发而成,数据库效劳器运用MySQL,Web效劳器运用Tomcat。用户采纳IE或Firefox等主流阅读器即可正常运用该系统,用户只要坐在电脑前就能进展人事管理的操作了。现在,主要讲解该系统值得人们青睐的地方,也就是商业动机。学生宿舍管理系统除了上述所讲到的优点外,还具备了很多人们所青睐的优点。此系统具备了很多卖点,可以说,它可为公司或机构节约很多人力, 物力和财力。人力, 物力和财力总归为利益,而买家和卖家所追求的不正是利益吗,同时,利益也还有上下之分,追求更高的利益这也是买家和卖家的的目标。放眼将来,其实我们的需求不断在更新,说不定我们现有的系统到了将来将会被要求具备有更高的系能来创建价值。而这些正是商业动机,假如人们能够迎合这些商业动机,那么他就是赢家。