5总体设计练习

更新时间:2023-11-21 23:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第五章 软件(总体)概要设计

一、名词解释 1.模块

2.模块化

3.信息隐蔽 4.耦合性 5. 内聚性 6.模块独立性 7.软件结构图 二、填空题

1.进入了设计阶段,要把软件“做什么”的 模型变换为“怎么做”的 模

型,即着手实现软件的需求,并将设计的结果反映在 说明书文档中。 2.软件设计是一个把 转换为软件表示的过程,包括 和详细设计。 3. 结构化设计简称 。数据流图一般可分为 型和变换型两类。 4.通过 ,可以定义和实施对模块的过程细节和局部数据结构的存取限制。 5.抽象是认识复杂现象过程中使用的思维工具,即抽出事物__特性而暂不考虑它的_,

不考虑其他因素。 6. 对于软件的独立性的衡量,根据模块的外部特征和内部特征,提出了两个定性的度量

标准,即: 和 。 7. 是最高程度的耦合。这种耦合出现在当一个模块直接使用另一个模块的内部

数据,或通过 转入另一个模块内部时。 8.功能内聚是内聚程度最 的内聚,指模块内所有元素共同完成一个功能,缺一

不可。功能内聚的模块与其他模块的耦合是 的。 9.数据库的设计指数据存储文件的设计,主要进行的设计方面有:概念设计,逻辑设计

和 。 10.模块之间联系越紧密,其耦合性就越 ,模块的独立性就越 。 11.软件概要设计阶段的基本任务主要指设计软件系统结构、数据结构及数据库设计、

编写概要设计文档和 等四个方面。 12.面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成

软件结构,因此又称 (Structured Design,简称SD)。 13. 模块间还经常用带注释的短箭头表示模块调用过程中来回传递的信息。有时箭头尾部带空心圆的表示传递的是 ,带实心圆的表示传递的是 。 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.C 2.A 3.D 4.A

5.在多层次的结构图中,其模块的层次数称为结构图的( ) A.深度 B.跨度 C.控制域 D.粒度 6.下列几种耦合中,( )的耦合性最强。 A.公共耦合 B.数据耦合 C.控制耦合 D.内容耦合 A D

7.( )是程序中一个能逻辑地分开的部分,也就是离散的程序单位。 A.模块 B.复合语句 C.循环结构 D.数据块

8.在进行软件结构设计时应该遵循的最主要的原理是( )原理。 A.抽象 B.模块化 C.模块独立性 D.信息隐藏 9.软件结构使用的图形工具,一般采用( )图。 A.DFD B.PAD C.SC D.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图

13.软件结构图中,模块框之间若有直线连接,表示它们之间存在着( )关系。 A.调用 B.组成 C.链接 D.顺序执行 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转换为软件结构图(注:图中的⊕表示“或者”)

f3 f1 A f2 f7 B f4 D f5 f6 E C 主图:

子图A:

g1 A2 g4 f1 g2 g5 A3 A5 f2 ⊕ A1 ⊕ g6

g3 A4

第四章 软件概要设计

参考答案

一、名词解释

1.答:在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合、分解和更换的单元。

2.答:模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。

每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。

3.答:信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。

4.答:耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。 5.答:内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

6.答:模块独立性指每个模块只完成系统要求的独立的子功能,井且与其他模块的联系最少且接口简单。

7.答:软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。 三、选择题

四.判断题

五、简答题

1.答:软件结构是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序

的控制层次体系。对于一个“问题”,可用不同的软件结构来解决,不同的设计方法

和不同的划分和组织,得出不同的软件结构。

软件结构往往用树状或网状结构的图形来表示。软件工程中,一般采用结构图(Structure Chart,简称SC)的工具来表示软件结构。结构图的主要内容有:模块、模块的控制关系、模块间的信息传递和表示模块有选择地调用或循环调用的两个附加符号。

2.答:(1)模块与模块化。

(2)抽象。抽象是划分模块过程中的思维原则

(3)信息隐蔽。信息隐蔽指模块将内部处理细节和内部数据用某种手段“隐蔽”起来,即外部模块不能随便访问它们,模块之间仅仅交换为完成系统功能所必需的

信息。

(4)模块的独立性。模块独立性是模块化、抽象和信息隐蔽的直接产物。每个模块

只要完成独立的功能,与其他模块联系最少,则模块的独立性就强。衡量模块独立性有

两个定性标准:耦合性和内聚性。

3.答:为了实现目标系统,最终必须设计出组成这个系统的所有程序和数据库(文件),对于程序,则首先进行结构设计,具体为:

(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。

(2)确定每个模块的功能。

(3)确定模块之间的调用关系。

(4)确定模块之间的接口,即模块之间传递的信息。 (5)评价模块结构的质量。 4.答:文档主要有:

(1)概要设计说明书。

(2)数据库设计说明书,主要给出所使用的DBMS简介、数据库的概念模型、逻辑设计、结果。

(3)用户手册,对需求分析阶段编写的用户手册进行补充。 (4)修订测试计划,对测试策略、方法、步骤提出明确要求。 5. (1)精化DFD。

(2)确定DFD类型,如果是变换型,确定变换中心和逻辑输入、逻辑输出的界线,

映射力变换结构的顶层和第一层;如果是事务型,确定事务中心和加工路径,映

射为事务结构的顶层和第一层。

(3)分解上层模块,设计中下层模块结构。 (4)根据优化准则对软件结构求精。

(5)描述模块功能、接口及全局数据结构。

(6)复查,如果有错,转向(2)修改完善,否则进入详细设计。

六、应用题 1.答:(1)主图:

f2 f2 f6 Get f2 f2 将f2变换为f6 Put f6 f7 f2 f3,f4 Get f1 A B f3 f5 C D E Put f7 f4,f5 f6 f6 f7 主模块 f6 f1

(2)子图:

A f1 Get f1

g1 A2 A3 f1 A1 f2 g4,g5,g6 g4,g5,g6 A5 g3 g5 g6 A4 ◇ g4 g2

本文来源:https://www.bwwdw.com/article/qerv.html

Top