5总体设计练习
第五章 软件(总体)概要设计 一、名词解释 1. 模块 2. 模块化 3. 信息隐蔽 4. 耦合性 5. 内聚性 6. 模块独立性 7. 软件结构图 二、填空题 1. 进入了设计阶段,要把软件“做什么”的 模型变换为“怎么做”的 模 型,即着手实现软件的需求,并将设计的结果反映在 说明书文档中。 2. 软件设计是一个把 转换为软件表示的过程,包括 和详细设计。 3. 结构化设计简称-数据流图一般可分为型和变换型两类。 4. 通过,可以定义和实施对模块的过程细节和局部数据结构的存取限制。 5. 抽象是认识复杂现象过程中使用的思维工具,即抽出事物—特性而暂不考虑它的 不考虑其他因素。 6. 对于软件的独立性的衡量,根据模块的外部特征和内部特征,提出了两个定性的度量 标准,即:和 O 7. 是最高程度的耦合。这种耦合出现在当一个模块直接使用另一个模块的内部 数据,或通过 转入另一个模块内部时。 8. 功能内聚是内聚程度最 的内聚,指模块内所有元素共同完成一个功能,缺一 不可。功能内聚的模块与其他模块的耦合是 的。 9. 数据库的设计指数据存储文件的设计,主要进行的设计方面有:概念设计,逻辑设计 和 O 10. 模块之间联系越紧密,其耦合性就越,模块的独立性就越 o 11. 软件概要设计阶段的基本任务主要指设计软件系统结构、数据结构及数据库设计、 编写概要设计文档和 等四个方面。 12. 面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成 软件结构,因此又称 (Structured Design,简称SD)。 13. 模块间还经常用带注释的短箭头表示模块调用过程中来回传递的信息。有时箭头尾 部带空心圆的表示传递的是,带实心圆的表示传递的是 O 14. 一个模块的 指受该模块内一个判定影响的所有模块的集合。 15. 一个模块的 指模块本身以及其所有下属模块的集合。 二、填空题 1. 答:逻辑、物理、设计规格 2. 答:软件需求、概要设计 3. 答:SD、变换、事务 4. 答:信息隐蔽 5. 答:本质的共同的、细节 6. 答:耦合性、内聚性 7. 答:内容耦合、非正常入口 8. 答:强、弱 9. 答:物理设计 10答:强差 11. 答:评审 12. 答:结构化设计 13. 答:数据、控制信息 14答:作用范围 15答:控制范围 三、选择题 1 .模块(),则说明模块的独立性越强。 A.耦合越强B.扇入数越高 C.耦合越弱D.扇入数越低 2. ()数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。 A.变换型B.事务型 C.结构化 D.非结构化 3. ()把已确定的软件需求转换成特定形式的设计表示,使其得以实现。 A.系统设计B.详细设计C.逻辑设计D.软件设计 4. 结构化设计的方法中使用的图形工具是() A.软件结构图B.数据流程图 C.程序流程图D.实体联系图 1. C2. A 3.D4. A 5.在多层次的结构图中, A.深度 B.跨度 其模块的层次数称为结构图的() C.控制域 D.粒度 6. 下列几种耦合中,()的耦合性最强。 A.公共耦合B.数据耦合C.控制耦合D.内容耦合 7. ()是程序中一个能逻辑地分开的部分,也就是离散的程序单位。 A.模块B.复合语句C.循环结构D.数据块 8. 在进行软件结构设计时应该遵循的最主要的原理是()原理。 A.抽象B.模块化C.模块独立性D.信息隐藏 9. 软件结构使用的图形工具,一般采用()图。 A. DFD B. PAD C. SCD. ER 10. 结构化设计方法在软件开发中,用于() A.测试用例设计B,概要设计 C.程序设计D,需求分析 7. A 8. C 9. C 10. B 11. 在软件概要设计中,不使用的图形工具是()图。 A. SC B. IPO C. IDEF D. PAD 12. 概要设计与详细设计衔接的图形工具是() A.数据流图B.结构图 C.程序流程图D. PAD图 表小它们之间存在着()关系。 D.顺序执行 13. 软件结构图中,模块框之间若有直线连接, A.调用 B.组成 C.链接 14. 为了提高模块的独立性,模块之间最好是() A.公共耦合 B.控制耦合C.内容耦合 D.数据耦合 D B A D 四. 判断题 1. 非单一功能模块的扇入数大比较好,说明本模块重用率高。 2. 单一功能的模块扇入高时应重新分解。以消除控制耦合的情况。 3. 一个模块的扇出太多,说明该模块过分复杂,缺少中间层。 4. 标记耦合指两个模块之间传递的是控制变量。 5. 软件模块之间的耦合性越弱越好。 6 .软件概要设计包括软件系统结构设计以及数据结构和数据库设计。 1. 错。单一功能 2. 错。非单一功能 3. 对 4. 错。传递的是数据结构 5. 对 6. 对 五、简答题 1 .什么是软件结构?结构图的主要内容是什么? 2. 试述软件设计的基本原理。 3. 如何设计软件系统结构(简称软件结构)? 4. 概要设计文档主要有哪些? 5. 面向数据流设计方法的过程是什么? 六、应用题 请将下图的DFD转换为软件结构图(注:图中的。表示“或者”) 主图: 子图A: g3 A4 [6 第四章软件概要设计 参考答案 一、名词解释 1. 答:在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元 素,在软件的体系结构中,模块是可组合、分解和更换的单元。 2. 答:模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。 每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体, 完成整个系统所要求的功能。 3. 答:信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对 于不需要这些信息的其他模块来说,是不能访问的。 4. 答:耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。 5. 答:内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结 合的紧密程度的度量。 6. 答:模块独立性指每个模块只完成系统要求的独立的了功能,井且与其他模块的联系最 少且接口简单。 7. 答:软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序 的控制层次体系。 三、选择题 四、判断题 五、简答题 1. 答:软件结构是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序 的控制层次体系。对于一个“问题”,可用不同的软件结构来解决,不同的设计方法 和不同的划分和组织,得出不同的软件结构。 软件结构往往用树状或网状结构的图形来表示。软件工程中,一般采用结构图 (Structure Chart,简称SC)的工具来表示软件结构。结构图的主要内容有:模块、 模块的控制关系、模块间的信息