1、第 5 章 总体设计(概要设计) 基本概念 模块化 抽象 信息隐藏和局部化 耦合、内聚 软件结构的深度、宽度、扇入、扇出 模块的作用域和控制域 层次图 结构图 知识点 总体设计过程 设计原理 启发式规则 面向数据流的设计方法 习题一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内)1.软件概要设计结束后得到( B )。A.初始化的软件结构图 B.优化后的软件结构图 C.模块详细的算法 D.程序编码2.软件设计阶段一般又可分为 ( B )。A.逻辑设计与功能设计 B.概要设计与详细设计C.概念设计与物理设计 D.模型设计与程序设计3.软件设计中划分模块的一
2、个准则是( C )。A.低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合4. SA 方法的基本思想是( C )A自底向上逐步抽象 B自底向上逐步分解 C自顶向下逐步分解 D自顶向下逐步抽象5.软件结构图中,模块框之间若有直线连接,表示它们之间存在着( A )关系。A.调用 B.组成 C.链接 D.顺序执行6. 为了提高模块的独立性,模块内部最好是( C )。A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚7. 面向数据流的设计方法把( C )映射成软件结构。A、数据流 B、模块化 C、控制结构 D、信息流8. 软件结构使用的图形工具,一般采用( C )图。A.DFD B
3、.PAD C.SC D.ER9. 在面向数据流的软件设计方法中,一般将信息流分为( A )A、 变换流和事务流 B、 变换流和控制流C、 事务流和控制流 D、 数据流和控制流10、结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。A、数据流 B、数据流图 C、数据库 D、数据结构11、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( A )。A、时间内聚 B、逻辑内聚 C、通信内聚 D、信息内聚12、在软件结构化设计中,好的软件结构设计应该力求做到( B )。A、顶层扇出较少,中间层扇出较高,底层模块低扇入B、顶层扇出较高
4、,中间层扇出较少,底层模块高扇入C、顶层扇入较少,中间层扇出较高,底层模块高扇入D、顶层扇入较少,中间层扇入较高,底层模块低扇入13、结构图(SC)和层次方框图是不同的,前者 ( B )。A、描述程序的过程特性 B、描述程序的层次特性C、描述程序的过程特征和层次特征 D、即不描述程序的过程特征,也不描述程序的层次特征14. 设计软件结构一般不确定( C )。A.模块的功能 B.模块的接口 C.模块内的局部数据 D.模块间的调用关系 15. 模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( B )A、 模块间的联系程度 B、 模块的功能强度C、 信息隐蔽程度 D、 接口的复杂程度16结构分
5、析方法就是面向( D)自顶向下逐步求精进行需求分析的方法。A目标 B.功能 C. 对象 D.数据流17、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定( C )。A模块间的操作细节 B模块间的相似性C模块间的组成关系 D模块的具体功能18. 为了提高模块的独立性,模块内部最好是( C )。A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚19.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制 B.数据、标记、控制、公共C.控制、数据、标记、公共 D.控制、数据、公共、标记20.在 SD 方法中全面指导模块
6、划分的最重要的原则是( D )A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性21模块( B )定义为受该模块内一个判断影响的所有模块集合。A 控制域 B. 作用域 C.宽度 D. 接口22在对数据流的分析中,主要是找到中心变换,这是从( C )导出结构图的关键。A 数据结构 B.实体关系 C. 数据流图 D. ER 图23结构分析方法就是面向( B )自顶向下逐步求精进行需求分析的方法。A 目标 B.数据流 C.功能 D. 对象24.模块的内聚性最低的是( C )A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚25结构分析方法就是面向( B )自顶向下逐步求精进行需求分析
7、的方法。A 目标 B.数据流 C.功能 D. 对象26在多层次的结构图中,其模块的层次数称为结构图的( A ) 。A 深度 B. 跨度 C. 控制域 D. 粒度27. 软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系二、填空题1、概要设计主要是把各项 功能需求 转换成系统的 体系结构 。2、结构化设计中以数据流图为基础的两种具体分析设计方法是 变换分析 、 事物分析 设计。3、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份 处理说明 和_接口说明_。4、结构化方法是一种面向数据流的开发方法。由结构化分
8、析、_结构化方法_、结构化程序设计构成。5、概要设计主要是把各项功能需求转换成系统的_体系结构_。6、结构化分析方法的分析策略是_自顶向下逐步求精_。7、衡量模块独立性的两个定性标准是_耦合性与内聚性_。三、简答题1、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称 SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。2、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首
9、先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:设计软件系统结构进行数据结构及数据库的设计编写概要设计的文档评审3、衡量模块独立性的两个标准是什么?各表示什么含义?内聚和耦合。内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。4、什么是结构分析方法?结构化分析方法通过哪些步骤来实现?结构化分析:简称 SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡
10、。实现的步骤:了解当前系统的工作流程,获得当前系统的物理模型。 抽象出当前系统的逻辑模型。 建立目标系统的逻辑模型。 作进一步补充和优化。5、什么样是”事物流” ?什么是” 变换流”?数据流图(DFD)一般可分为” 变换流”,”事物流”两种。“变换流”:由输入输出变换(或称处理)三部分组成,是一顺序结构。“事物流”:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心)6、软件设计的基本原理包括哪些内容?模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。抽象:认识复杂现象过程
11、所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。信息隐蔽:将模块实现自身功能的细节与数据”隐蔽”起来。模块间仅交换为完成系统功能所必须的信息。模块独立性:每个模块只完成系统要求的独立的子功能。7、结构化程序设计的基本要点是什么?主要有三个:(1)采用自顶向下、逐步求精的程序设计方法(2)使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环) 三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。(3)主程序员组的组织形式。8、简述”变换分析” 设计步骤。确定变换中心,逻辑输入和输出。设计软件结构的顶层和第一层变换结构。设计中下层模块,对第一层的模块自顶向下分解。设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。