1、第 4 章 软件概要设计一、填空题1.在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和( ) 。2.基于 IDEF0 图的设计也是结构化设计技术之一,它以系统的( )和信息结构为基础设计软件结构。3.结构化设计中以数据流图为基础的两种具体设计方法是( ) 设计。4.两个模块都使用同一张表,模块的这种耦合称为( ) 。5.一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( ) 。二、选择题1.设计软件结构一般不确定( )。A.模块的功能 B.模块的接口C.模块内的局部数据 D.模块间的调用关系2.结构化设计方法是一种面向( ) 的设计方法。A.数据流 B.数据结构
2、C.数据库 D.程序3.软件概要设计结束后得到( )。A.初始化的软件结构图 B.优化后的软件结构图C.模块详细的算法 D.程序编码4.为了提高模块的独立性,模块内部最好是( ) 。A.公共耦合 B.控制耦合 C.内容耦合 D.数据耦合5.为了提高模块的独立性,模块内部最好是( ) 。A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚三、应用题1.将第 3 章例题分析与解答中的图 3-1“银行储蓄系统”的 DFD 设计成软件结构图。2 将第 3 章例题分析与解答中的图 3-2“成人自学考试考务管理系统 ”的 DFD 设计成软件结构图。答案:一、填空题1.接口说明2.功能模块3.变换分析与事
3、物分析4.公共耦合5.通信内聚二、选择题1.C2.A3.B4.D5.C三、应用题1.2.主图:子图 M2(考前处理):子图 M3(考后处理):查询模块的功能比较简单,可以将准考证编号作为索引关键字查阅各科成绩,这里不再赘述,读者可自行设计。 一、名词解释 1.软件设计 2.模块化 3.信息隐蔽 4.模块独立性 5.耦合性 6.内聚性 7.模块的控制范围 8.模块的作用范围 9.软件结构二、填空题 1.软件设计阶段产生的最重要的文档是_。 2.软件结构是以_为基础而组成的一种控制层次结构。 3.反映软件结构的基本形态特征是_。 4.一个模块把数值作为参数送给另一个模块,这种耦合方式称为_。5.两
4、个模块通过全程变量相互作用,这种耦合方式称为_。6.将与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为_。7.一个模块的作用范围指_的集合。 8.一个模块的控制范围指_的集合。 9.结构化设计以_为基础映射成软件结构。10.为了防止软件概要设计的错误传播到开发的后续阶段,在概要设计文档完成以后,要进行_。三、选择题 1.结构化设计方法在软件开发中,用于( ) 。A.测试用例设计 B.软件概要设计 C.程序设计 D.软件详细设计 2.软件结构使用的图形工具,一般采用( ) 图。 A.DFD B.PAD C.SC D.ER 3.软件结构图中,模块框之间若有直线连接,表示它们之间存在着(
5、 ) 关系。A.调用 B.组成 C.链接 D.顺序执行 4.在软件概要设计中,不使用的图形工具是( ) 图。 A.SC B.IPO C.IDEF0 D.PAD 5.划分模块时,一个模块的( )。 A.作用范围应在其控制范围之内 B.控制范围应在其作用范围之内 C.作用范围与控制范围互不包含 D.作用范围与控制范围不受任何限制 6.属于软件设计的基本原理是( ) 。 A.数据流分析设计 B.变换流分析设计 C.事务流分析设计 D.模块化 7.变换流的 DFD 由三部分组成,不属于其中一部分的是( ) 。A.事务中心 B.变换中心 C.输入流 D.输出流 8.软件设计阶段一般又可分为( ) 。 A
6、.逻辑设计与功能设计 B.概要设计与详细设计 C.概念设计与物理设计 D.模型设计与程序设计 9.好的软件结构应该是( )。 A.高耦合、高内聚 B.低耦合、高内聚 C.高耦合、低内聚 D.低耦合、低内聚10.结构图中,不是其主要成分的是( ) 。 A.模块 B.模块间传递的数据 C.模块内部数据 D.模块的控制关系 四、简答题 1.什么是软件概要设计,该阶段的基本任务是什么? 2.软件设计的基本原理包括哪些内容? 3.模块的耦合性、内聚性包括哪些种类?各表示什么含义?4.简述软件结构优化准则。 5.变换分析设计与事务分析设计有什么区别?简述其设计步骤。五、应用题 将第 3 章 3.3 节应用
7、题中第 1 题的 DFD 转换成软件结构图。 参考答案 二、填空题 1.软件概要设计说明书 2.模块 3.深度、宽度、扇入、扇出4.数据耦合 5.公共耦合 6.通信内聚 7.受该模块内一个判定影响的所有模块 8.模块本身以及其所有下属模块9.数据流图10.软件评审 三、选择题 1.B. 2.C. 3.A. 4.D. 5.A. 6.D. 7.A. 8.B. 9.B. 10.C.五、应用题 第四章仿真试题http:/ 作者:不详 来源: 2006 年 9 月 1 日 发表评论 进入社区 1、软件设计一般分为总体设计和详细设计,它们之间的关系是( )A、 全局和局部 B、 抽象和具体C、 总体和层次
8、 D、 功能和结构 2、在面向数据流的软件设计方法中,一般将信息流分为( )A、 变换流和事务流 B、 变换流和控制流C、 事务流和控制流 D、 数据流和控制流 3、软件设计中一般将用到图形工具,下列哪种(些) 可用作设计的图形工具 ( )a.结构图b.实体联系图c.IPO 图d.层次图A、 a 和 b B、 c 和 d C、 a, c,d D、 全部4、软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指( )A、 模块间的关系 B、 模块的操作细节C、 软件层次结构 D、 软件开发过程 5.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( )A、 抽象和信息
9、隐蔽 B、 局部化和封装化C、 内聚性和耦合性 D、 激活机制和控制方法 6.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( )A、 模块间的联系程度 B、 模块的功能强度C、 信息隐蔽程度 D、 接口的复杂程度7.软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述( )A、 调用关系 B、 从属关系C、 嵌套关系 D、 主次关系 8.软件设计中划分模块的一个准则是(1)。两个模块之间的耦合方式中, (2)耦合的耦合度最高,(3)耦合的耦合度最低。一个模块内部的内聚种类中(4)内聚的内聚度最高,(5)内聚的内聚度最低。(1) A、 低内聚低耦合 B、 低内聚高耦合
10、C、 高内聚低耦合 D、 高内聚高耦合(2) A、 数据 B、 非直接C、 控制 D、 内容(3) A、 数据 B、 非直接C、 控制 D、 内容(4) A、 偶然 B、 逻辑C、 功能 D、 过程(5) A、 偶然 B、 逻辑C、 功能 D、 过程答案:1.A 2.A 3.C 4.B 5.C 6.B 7.D 8.CDBDA软件工程习题参考答案 4作者名:不详 来源:网友提供 06 年 6 月 8 日第 4 章1. 什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:设计软件系统结构,具体为:采用某种设计方法
11、,将一个复杂的系统按功能划分为模块。确定每个模块的功能。 确定模块之间的调用关系。 确定模块之间的接口(模块之间传递的信息) 评价模块的结构质量 进行数据结构及数据库的设计编写概要设计的文档 主要内容有:概要设计说明书,数据库说明书(DBMS 的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略方法步骤)评审:是否完整地实现了规定的功能性能要求。设计方案是否可行。关键的处理及内部接口定义的正确性,有效性,各部分的一致性。2软件设计的基本原理包括哪些内容?模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成 整体,可以满足问题的要求。模块化即按照一定的原则
12、,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。(可降低复杂度、减少工作量)模块具有以下几种特性:接口:模块的输入输出。 功能:指模块实现什么功能。逻辑:描述模块内部如何实现要求及所需的数据。 状态:该模块的运行环境,模块间调用与被调用关系。 抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。 信息隐蔽:将模块实现自身功能的细节与数据“隐蔽“ 起来。模块间仅交换为完成系统功能所必须的信息。模块独立性:每个模块只完成系统要求的独立的子功能。 3衡量模块独立性的两个标准是什么?各表
13、示什么含义? 内聚和耦合 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。 4模块的耦合性有哪几种?各表示什么含义?内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入 另一模块公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用 控制耦合:模块之间通过传递控制信息相互作用标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合数据耦合:模块之间通过传递数据交换信息 无耦合:模块间无任何关系,独立工作 5模块的内聚性有哪几种?各
14、表示什么含义? 偶然内聚:一个模块各个成分之间毫无关系 逻辑内聚:将几个逻辑上相关的功能放在同一个模块中 时间内聚:一个模块完成的功能在同一时间执行 过程内聚:一个模块内部的处理成分是相关的,而且必须以特定的次序执行通信内聚:一个模块的所有成分都集中在同一个数据结构上 顺序内聚:一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入功能内聚:模块内的所有成分属于一个整体,完成单一的功能。(内聚最高)6什么是软件结构?简述软件结构设计的优化准则。 改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。模块的规模应该适
15、中模块结构的深度、宽度、扇出和扇入应适中 深度:软件结构中控制的层数 宽度:软件结构中同一层次上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好) 扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3,4 个为宜,不超过 9个,“顶层扇出较高,中间扇出较少,底层模块高扇入多“一个模块的作用域(范围),应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合 模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合7什么是模块的影响范围?什么是软件的控制范围?它们之间应建立什么关系?模块的影响范围(作用域):受该模块内一个判定影
16、响的所有模块的集合模块的控制范围(控制域):这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。 8什么样是“事物流 “?什么是 “变换流“?试将相应形式的数据流图转换为软件结构图数据流图(DFD)一般可分为“变换流“,“ 事物流“两种。“变换流“:由输入输出变换(或称处理)三部分组成,是一顺序结构。“事物流“:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心)9试述“变换分析 “事物分析“设计步骤。变换分析设计步骤:确定变换中心,逻辑输入和输出。 设
17、计软件结构的顶层和第一层-变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能) 第一层至少有三种功能模块:输入输出和变换模块 设计中下层模块,对第一层的模块自顶向下分解。 输入模块由两部分组成:接收数据转换成调用模块所需信息。 输出模块由两部分组成:将数据转换成下属模块所需的形式 发送数据变换模块:对每个基本加工建立一功能模块 设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。 事务分析
18、的设计步骤:确定事务中心和加工路径 设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。 中下层模块的设计优化工作与变换结构相同。 事务型软件结构包括两部分: 接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并 。 10.图是某系学籍管理的一部分,(a),(b)分别是同一模块 A 的两个不同设计方案,你认为哪一个设计方案较好?请陈述理由。答:我认为(b)方案较好。要评价一个软件结构设计,主要看模块的独立性,要从软件结构的耦合性和内聚性两个方面来衡量。对于(a)方案,模块 A 与模块 B 之间形成了控制耦合,因此独立性不高,而在 B
19、模块内部,有两个不同的功能被放在一起,形成的是逻辑内聚,内聚性不高。对于(b)方案,模块 A 与 B1 和 B2 之间是数据耦合,独立性较强,在 B1 和B2 内部,只完成单一的功能,是功能内聚,因此内聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。11.请将图 4-16 的 DFD 转换为软件结构图。(注:图中表示或者)解:我们可以看出主图是变换型 DFD,而子图是事务型 DFD。根据结构设计的方法,得到的结构图如下:12.将第 3 章习题中的第 10 题、第 11 题设计成相应的软件结构图(SC)和 HIPO 图。某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单
20、输入系统,如果是存款,系统记录存款人姓名住址存款类型存款日期利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。2、某图书管理系统有以下功能:借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过 10 本,若已达 10,拒借,末达 10 本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3 个月)作罚款处理。否则,修改库存目录与借书文件。(3)查询:通过借书文件,库存目录文件查询读者情况图书借阅及库存情况,打印统计表。把上面数据流程图转换为软件结构图和 IPO 图