软件工程 第4章软件概要设计.docx

上传人:b****5 文档编号:12538130 上传时间:2023-04-20 格式:DOCX 页数:17 大小:183.58KB
下载 相关 举报
软件工程 第4章软件概要设计.docx_第1页
第1页 / 共17页
软件工程 第4章软件概要设计.docx_第2页
第2页 / 共17页
软件工程 第4章软件概要设计.docx_第3页
第3页 / 共17页
软件工程 第4章软件概要设计.docx_第4页
第4页 / 共17页
软件工程 第4章软件概要设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

软件工程 第4章软件概要设计.docx

《软件工程 第4章软件概要设计.docx》由会员分享,可在线阅读,更多相关《软件工程 第4章软件概要设计.docx(17页珍藏版)》请在冰豆网上搜索。

软件工程 第4章软件概要设计.docx

软件工程第4章软件概要设计

第4章软件概要设计

一、填空题

1.在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和( 接口说明)。

 

2.基于IDEF0图的设计也是结构化设计技术之一,它以系统的( 功能模块)和信息结构为基础设计软件结构。

 

3.结构化设计中以数据流图为基础的两种具体设计方法是( 变换分析和事物分析)设计。

 

4.两个模块都使用同一张表,模块的这种耦合称为( 公共耦合)。

 

5.一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( 通信内聚)。

 

二、选择题

1.设计软件结构一般不确定(  C)。

 A.模块的功能           B.模块的接口

 C.模块内的局部数据     D.模块间的调用关系

 

2.结构化设计方法是一种面向( A )的设计方法。

 A.数据流    B.数据结构    C.数据库     D.程序

 

3.软件概要设计结束后得到( B  )。

 A.初始化的软件结构图   B.优化后的软件结构图

 C.模块详细的算法       D.程序编码

 

4.为了提高模块的独立性,模块内部最好是(  D)。

A.公共耦合   B.控制耦合    C.内容耦合   D.数据耦合

 

5.为了提高模块的独立性,模块内部最好是( C )。

A.逻辑内聚   B.时间内聚    C.功能内聚   D.通信内聚

 

三、应用题

1.将第3章例题分析与解答中的图3-1“银行储蓄系统”的DFD设计成软件结构图。

 

 

2  将第3章例题分析与解答中的图3-2“成人自学考试考务管理系统”的DFD设计成软件结构图。

 

 

答案:

一、填空题

1.接口说明

2.功能模块

3.变换分析与事物分析

4.公共耦合

5.通信内聚

二、选择题

1.C

2.A

3.B

4.D

5.C

三、应用题

1.

2.主图:

子图M2(考前处理):

子图M3(考后处理):

  查询模块的功能比较简单,可以将准考证编号作为索引关键字查阅各科成绩,这里不再赘述,读者可自行设计。

一、名词解释

1.软件设计       2.模块化         3.信息隐蔽

4.模块独立性     5.耦合性         6.内聚性

7.模块的控制范围 8.模块的作用范围 9.软件结构

二、填空题

1.软件设计阶段产生的最重要的文档是__软件概要设计说明书____。

2.软件结构是以___模块___为基础而组成的一种控制层次结构。

3.反映软件结构的基本形态特征是__深度、宽度、扇入、扇出____。

4.一个模块把数值作为参数送给另一个模块,这种耦合方式称为__数据耦合____。

5.两个模块通过全程变量相互作用,这种耦合方式称为___公共耦合___。

6.将与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为__通信耦合____。

7.一个模块的作用范围指___受该模块内一个判定影响的所有模块___的集合。

8.一个模块的控制范围指____模块本身以及其所有下属模块__的集合。

9.结构化设计以__数据流图____为基础映射成软件结构。

10.为了防止软件概要设计的错误传播到开发的后续阶段,在概要设计文档完成以后,要进行__软件评审____。

三、选择题

1.结构化设计方法在软件开发中,用于(B  )。

 A.测试用例设计  B.软件概要设计    C.程序设计     D.软件详细设计

2.软件结构使用的图形工具,一般采用(  C)图。

 A.DFD           B.PAD             C.SC           D.ER

3.软件结构图中,模块框之间若有直线连接,表示它们之间存在着( A )关系。

 A.调用          B.组成            C.链接         D.顺序执行

4.在软件概要设计中,不使用的图形工具是(D  )图。

 A.SC            B.IPO             C.IDEF0        D.PAD

5.划分模块时,一个模块的( A )。

 A.作用范围应在其控制范围之内    B.控制范围应在其作用范围之内

 C.作用范围与控制范围互不包含    D.作用范围与控制范围不受任何限制

6.属于软件设计的基本原理是( D )。

 A.数据流分析设计                B.变换流分析设计

 C.事务流分析设计                D.模块化

7.变换流的DFD由三部分组成,不属于其中一部分的是( A )。

 A.事务中心      B.变换中心        C.输入流       D.输出流

8.软件设计阶段一般又可分为( B )。

 A.逻辑设计与功能设计            B.概要设计与详细设计

 C.概念设计与物理设计            D.模型设计与程序设计

9.好的软件结构应该是( B )。

 A.高耦合、高内聚                B.低耦合、高内聚

 C.高耦合、低内聚                D.低耦合、低内聚

10.结构图中,不是其主要成分的是( C )。

 A.模块                          B.模块间传递的数据

 C.模块内部数据                  D.模块的控制关系

四、简答题

1.什么是软件概要设计,该阶段的基本任务是什么?

2.软件设计的基本原理包括哪些内容?

3.模块的耦合性、内聚性包括哪些种类?

各表示什么含义?

4.简述软件结构优化准则。

5.变换分析设计与事务分析设计有什么区别?

简述其设计步骤。

五、应用题

将第3章3.3节应用题中第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.

五、应用题

第四章仿真试题

 作者:

不详 来源:

 2006年9月1日 发表评论 进入社区

1、软件设计一般分为总体设计和详细设计,它们之间的关系是( A)

 A、全局和局部            B、抽象和具体

 C、总体和层次            D、功能和结构

 

2、在面向数据流的软件设计方法中,一般将信息流分为( A)

 A、变换流和事务流        B、变换流和控制流

 C、事务流和控制流        D、数据流和控制流

 

3、软件设计中一般将用到图形工具,下列哪种(些)可用作设计的图形工具( C)

 a.结构图

 b.实体联系图

 c.IPO图

 d.层次图

 A、a和b                  B、c和d

 C、a,c,d               D、全部

 

4、软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指( B)

 A、模块间的关系          B、模块的操作细节

 C、软件层次结构          D、软件开发过程

 

5.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( C)

 A、抽象和信息隐蔽        B、局部化和封装化

 C、内聚性和耦合性        D、激活机制和控制方法

 

6.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是(B )

 A、模块间的联系程度      B、模块的功能强度

 C、信息隐蔽程度          D、接口的复杂程度

 

7.软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述( D)

 A、调用关系              B、从属关系

 C、嵌套关系              D、主次关系

 

8.软件设计中划分模块的一个准则是

(1)。

两个模块之间的耦合方式中,

(2)耦合的耦合度最高,(3)耦合的耦合度最低。

一个模块内部的内聚种类中(4)内聚的内聚度最高,(5)内聚的内聚度最低。

(1)A、低内聚低耦合       B、低内聚高耦合

   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.什么是软件概要设计?

该阶段的基本任务是什么?

把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。

称为概要设计或结构设计。

基本任务:

⑴设计软件系统结构,具体为:

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

确定每个模块的功能。

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

确定模块之间的接口(模块之间传递的信息)

评价模块的结构质量

⑵进行数据结构及数据库的设计

⑶编写概要设计的文档

主要内容有:

概要设计说明书,数据库说明书(DBMS的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略﹑方法﹑步骤)

⑷评审:

是否完整地实现了规定的功能﹑性能要求。

设计方案是否可行。

关键的处理及内部接口定义的正确性,有效性,各部分的一致性。

 

2.软件设计的基本原理包括哪些内容?

⑴模块化:

模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成

整体,可以满足问题的要求。

模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。

(可降低复杂度、减少工作量)

模块具有以下几种特性:

接口:

模块的输入输出。

功能:

指模块实现什么功能。

逻辑:

描述模块内部如何实现要求及所需的数据。

状态:

该模块的运行环境,模块间调用与被调用关系。

⑵抽象:

认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。

通过抽象确定组成软件的过程实体。

⑶信息隐蔽:

将模块实现自身功能的细节与数据"隐蔽"起来。

模块间仅交换为完成系统功能所必须的信息。

⑷模块独立性:

每个模块只完成系统要求的独立的子功能。

 

3.衡量模块独立性的两个标准是什么?

各表示什么含义?

内聚和耦合

内聚:

又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。

耦合:

也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

 

4.模块的耦合性有哪几种?

各表示什么含义?

⑴内容耦合:

一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入另一模块

⑵公共耦合:

两个或多个模块通过共同引用一个全局数据环境相互作用

⑶控制耦合:

模块之间通过传递控制信息相互作用

⑷标记耦合:

两个模块之间通过传递公共指针或地址相互作用的耦合

⑸数据耦合:

模块之间通过传递数据交换信息

⑹无耦合:

模块间无任何关系,独立工作

 

5.模块的内聚性有哪几种?

各表示什么含义?

⑴偶然内聚:

一个模块各个成分之间毫无关系

⑵逻辑内聚:

将几个逻辑上相关的功能放在同一个模块中

⑶时间内聚:

一个模块完成的功能在同一时间执行

⑷过程内聚:

一个模块内部的处理成分是相关的,而且必须以特定的次序执行

⑸通信内聚:

一个模块的所有成分都集中在同一个数据结构上

⑹顺序内聚:

一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入

⑺功能内聚:

模块内的所有成分属于一个整体,完成单一的功能。

(内聚最高)

 

6.什么是软件结构?

简述软件结构设计的优化准则。

⑴改进软件结构,提高模块独立性首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。

⑵模块的规模应该适中

⑶模块结构的深度、宽度、扇出和扇入应适中

深度:

软件结构中控制的层数

宽度:

软件结构中同一层次上最大模块总数

扇入:

某一模块有多少直接调用它的上级模块数目(越大越好)

扇出:

一个模块直接控制(调用)下级模块的数目。

(越少越好,3,4个为宜,不超过9个,

"顶层扇出较高,中间扇出较少,底层模块高扇入多"

⑷一个模块的作用域(范围),应处在这个模块的控制域(范围)之内

模块的作用域:

受该模块内一个判定影响的所有模块的集合

模块的控制域:

这个模块本身以及所有直接或间接从属于它的模块的集合

 

7.什么是模块的影响范围?

什么是软件的控制范围?

它们之间应建立什么关系?

模块的影响范围(作用域):

受该模块内一个判定影响的所有模块的集合

模块的控制范围(控制域):

这个模块本身以及所有直接或间接从属于它的模块的集合

一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。

 

8.什么样是"事物流"?

什么是"变换流"?

试将相应形式的数据流图转换为软件结构图

数据流图(DFD)一般可分为"变换流","事物流"两种。

"变换流":

由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。

"事物流":

它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。

(这人加工称为事务处理中心)

 

9.试述"变换分析"﹑"事物分析"设计步骤。

变换分析设计步骤:

⑴确定变换中心,逻辑输入和输出。

⑵设计软件结构的顶层和第一层--变换结构:

顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)

第一层至少有三种功能模块:

输入﹑输出和变换模块

⑶设计中﹑下层模块,对第一层的模块自顶向下分解。

输入模块由两部分组成:

接收数据﹑转换成调用模块所需信息。

输出模块由两部分组成:

将数据转换成下属模块所需的形式﹑发送数据

变换模块:

对每个基本加工建立一功能模块

⑷设计的优化:

输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。

其它输入模块与转换数据模块都很简单时,可将它们合并。

输出部分求精:

每个物理输出设置专门模块,其它也可适当合并。

变换部分求精:

根据设计准则,对模块适当合并。

事务分析的设计步骤:

⑴确定事务中心和加工路径

⑵设计顶层(事务机构)和第一层顶层模块有两个功能:

接收数据和根据事务类型调动相应处理模块。

⑶中下层模块的设计﹑优化工作与变换结构相同。

事务型软件结构包括两部分:

接收分支发送分支出通常包括一调度模块,当事务类型不多时,可与主模块合并。

10.图是某系学籍管理的一部分,(a),(b)分别是同一模块A的两个不同设计方案,你认为哪一个设计方案较好?

请陈述理由。

答:

我认为(b)方案较好。

要评价一个软件结构设计,主要看模块的独立性,要从软件结构的耦合性和内聚性两个方面来衡量。

对于(a)方案,模块A与模块B之间形成了控制耦合,因此独立性不高,而在B模块内部,有两个不同的功能被放在一起,形成的是逻辑内聚,内聚性不高。

对于(b)方案,模块A与B1和B2之间是数据耦合,独立性较强,在B1和B2内部,只完成单一的功能,是功能内聚,因此内聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。

 

11.请将图4-16的DFD转换为软件结构图。

(注:

图中⊕表示或者)

解:

我们可以看出主图是变换型DFD,而子图是事务型DFD。

根据结构设计的方法,得到的结构图如下:

 

12.将第3章习题中的第10题、第11题设计成相应的软件结构图(SC)和HIPO图。

某银行的计算机储蓄系统功能是:

将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。

2、某图书管理系统有以下功能:

⑴借书:

输入读者借书证。

系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。

否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。

⑵还书:

从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。

否则,修改库存目录与借书文件。

(3)查询:

通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。

把上面数据流程图转换为软件结构图和IPO图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1