您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程课后作业第四章
第四章4.1.简述软件设计阶段的基本任务。答:(1)数据/类设计数据/类设计将分析类模型变换成类的实现和软件实现所需要的数据结构。(2)体系结构设计体系结构设计定义了软件的整体结构,由软件部件、外部可见的属性和他们之间的关系组成。(3)接口设计接口设计描述了软件内部、软件和协作系统之间以及软件同人之间的通信方式。(4)部件级设计部件级设计将软件体系结构的结构性元素变换为对软件部件的过过程性描述。4.2.软件设计与软件质量的关系是怎么样的?答:设计是在软件开发中形成质量的阶段,设计提供了可以用于质量评估的软件表示,是将用户需求准确地转化为完整的软件产品或系统的主要途径。4.4.简述模块、模块化及模块化设计的概念。答:模块:具有名字、参数、功能等外部特征以及完场模块功能的程序代码和模块内部数据等特征。模块化:把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件。模块化设计:简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。4.5.举例说明每种类型的模块耦合度和每种类型的模块内聚度。答:1、巧合内聚:讲几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的模块称巧合内聚模块。2、逻辑内聚:逻辑内聚是指完成一组逻辑相关任务的模块,调用该模块时,由传送给模块的控制性参数来确定该模块应执行哪一种功能。3、时间内聚:时间内聚是指一个模块中的所有任务必须在同一时间段内执行。4、过程内聚:过程内聚是指一个模块完成多个任务,这些任务必须指定的过程执行。5、通信内聚:通信内聚是指一个模块内所有处理元素都集中在某个数据结构的一块区域中。6、顺序内聚:顺序内聚是指一个模块完成多个功能,这些功能又必须顺序执行7、功能内聚:功能内聚是指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割。1、内容耦合:当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。如果发生下列情形,两个模块之间就发生了内容耦合(1)一个模块直接访问另一个模块的内部数据;(2)一个模块不通过正常入口转到另一模块内部;(3)两个模块有一部分程序代码重叠(只可能出现在汇编语言中);(4)一个模块有多个入口。2、公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。3外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。4.控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。5.标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址;6.数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。7非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。4.6.耦合和软件可移植性的概念有何关系?举例说明自己的结论。答:耦合性是2个或多个模块相关的程度,可移植性是指软件从一个平台/环境转移到另一个平台/环境的难易程度。4.7.用自己的话描述信息隐蔽概念,并讨论信息隐藏域模块独立两概念之间的关系。答:1、信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的.在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。2、信息隐蔽的概念与模块的独立性直接相关。4.8.什么是模块的独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点?答:(1)模块独立性:1.模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单2.模块独立性是指模块内部各部分及模块间的关系的一种衡量标准,由内聚和耦合来度量。(2)1、具有独立的模块的软件比较容易开发出来。这是由于能够分割功能而且接口可以简化,当许多人分工合作开发同一个软件时,这个优点尤其重要。2、独立的模块比较容易测试和维护。这是因为相对说来,修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够插入模块。总之,模块独立是优秀设计的关键,而设计又是决定软件质量的关键环节。(3)模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。(4)1、具有独立的模块的软件比较容易开发出来。这是由于能够分割功能而且接口可以简化,当许多人分工合作开发同一个软件时,这个优点尤其重要。2、独立的模块比较容易测试和维护。4.9软件设计规约主要包括哪些内容?自己寻找一个实例,亲自写一个设计规约。答:包括软件设计规约的目的、范围、定义、首字母、缩写词、缩略语、参考资料和概述。
本文标题:软件工程课后作业第四章
链接地址:https://www.777doc.com/doc-4733619 .html