第5章 总体设计Word文档下载推荐.docx

上传人:b****5 文档编号:18614853 上传时间:2022-12-29 格式:DOCX 页数:33 大小:43.69KB
下载 相关 举报
第5章 总体设计Word文档下载推荐.docx_第1页
第1页 / 共33页
第5章 总体设计Word文档下载推荐.docx_第2页
第2页 / 共33页
第5章 总体设计Word文档下载推荐.docx_第3页
第3页 / 共33页
第5章 总体设计Word文档下载推荐.docx_第4页
第4页 / 共33页
第5章 总体设计Word文档下载推荐.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

第5章 总体设计Word文档下载推荐.docx

《第5章 总体设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第5章 总体设计Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。

第5章 总体设计Word文档下载推荐.docx

按国际GB8576-88《计算机软件产品开发文件编制指南》的规定,软件设计文档可分为“总体设计说明书”,“详细设计说明书”和“数据库数据说明书”。

5.评审

在该阶段,对涉及部分是否完整地实现需求中的功能,性能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性,有效性以及各部分之间的一致性等,都一一进行评审。

5.1.2软件设计的基本原理

1.抽象

抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。

抽象的概念被广泛应用于软件工程学中。

在进行软件设计时,抽象与逐步求精,模块化密切相关,可帮助定义软件结构中模块的实体,有抽象到具体地分析和构造处软件的层次结构,提高软件的理解性。

2.细化

细化实际是一个详细描述(elaboration)的过程。

在高层抽象定义时,我们从功能说明或信息描述开始。

就是说明功能或信息的概念,而不给出功能内部的工作细节或信息的内部结构。

细化则是设计者在原始说明的基础上进行详细说明,随着不断的细化(详细说明)给出更多的细节。

3.模块化

在软件的体系结构中,模块是可组合,分解和更换的单位。

模块具有以下几种基本属性:

(1)接口:

指模块的输入与输出。

(2)功能:

指模块实现什么功能。

(3)逻辑:

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

(4)状态:

指该模块的运行环境,即模块的调用于被调用关系。

功能,状态与接口反映模块的外部特征,逻辑反映它的内部特征。

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

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

4.信息隐藏

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

通过信息隐藏,可以定义和实现对模块的过程细节和局部数据结构的存取限制。

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

5.模块独立性

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

衡量软件独立性的度量标准:

(1)耦合性。

指软件系统结构中各模块间相互联系紧密程度的一种度量。

(2)内聚性。

指模块的功能强度的量度,即一个模块内部各个元素彼此结合的紧密度的度量。

5.1.3软件结构图

软件结构图时软件系统的模块化层次结构,反映了整个系统的功能实现,即将来程序的控

制层次体系。

软件结构往往用用树状或网状结构的图形表示。

结构图的主要内容有:

模块、模块的控制关系、模块间的信息传递。

结构图的形态特征:

(1)深度:

指结构图控制的层次,也是模块的层数。

(2)宽度:

指一层中最大的模块个数。

(3)扇出:

指一个模块直接下属模块的个数。

(4)扇入:

指一个模块直接上属模块的个数。

5.1.4软件结构设计优化准则

软件总体设计的主要任务就是软件结构的设计,为了提高设计的质量,必须根据软件设计的原理改进软件设计,这里提出以下软件结构的设计优化准则。

(1)模块独立性准则。

在划分模块时,尽量做到高内聚,底耦合,保持模块相对独立性,并以此原则优化初始的软件结构。

(2)控制与作用范围之间的准则。

一个模块的作用范围应在其控制范围之内,且条件判定所在的模块应与受其影响的模块在层次上尽量靠近。

(3)结构特征准则。

软件结构的深度、宽度、扇入、扇出应适当。

软件结构从形态上看,应是顶层扇出数较高一些,中间层扇出数较底一些,低层扇入数较高一些。

(4)模块的接口准则。

模块的接口要简单、清晰及含义明确,便于理解,易于实现、测试与维护。

5.1.5面向数据流的设计方法

结构化设计是以结构化分析产生的数据图为基础,将数据流图按一定的步骤映射成软件结构,因此又称结构化设计(StructuredDesign,简称SD)。

1。

数据流的类型

在各种软件系统中,不论数据流图如何庞大与复杂,根据数据流的特性,一般可分为变换型数据流图和事物型数据流图两类。

1)变换的型数据流是由输入、变换(或称处理)和输出三部分组成。

变换型数据处理的工作过程一般分为取得数据、变换数据和给出数据。

这三步体现了变换型数据流图的基本思想。

变换是系统的主加工,是系统变换的中心。

变换输入端的数据流为系统的逻辑输入,输出端为逻辑输出。

而直接从外部设备输入的数据称为物理输入,反之称为物理输出。

外部的输入数据一般要经过输入正确性和合理性检查、编辑及格式转换等预处理,这部分工作都有逻辑输入部分完成,它将外部形式的数据转换成内部形式,送给变换中心。

同理,逻辑输出部分把变换中心产生的数据的内部形式转换成外部形式,然后物理输出。

当数据流图具有这些特征时,这种信息流就成为变换流。

2)事物型的数据流图

若某个加工将它的输入流分离成许多发散的数据流,形成许多平行的加工路径,并根据输入的值选择其中一个路径来执行,这种特征的数据流图称为事物型的数据流图,这个加工称为事务处理中心。

一个大型的软件系统的数据流图,可能既具有变换型的特征,又具有事务型的特征。

例如事务型数据流图中的某个加工可能是变换型。

2.SD方法设计过程

(1)精化数据流图:

把数据流图转换成软件结构图前,设计人员要参照规范说明书,仔细地研究分析数据流图并参照数据字典,认真理解其中的有关元素,检查有无遗漏或不合理之处,进行必要的修改。

(2)确定数据流图类型:

如果是变换型,确定变换中心和逻辑输入、逻辑输出的界线,映射为变换结构的顶层和第一层;

如果是事务中心和加工路径,映射为事务结构的顶层和第一层。

(3)分解上层模块,设计中下层模块结构。

(4)根据;

优化准则对软件结构求精。

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

(6)复查,如果有错,转

(2)修改完善,否则进入详细设计。

3.变换分析设计

当数据流图具有较明显的变换特征时,则按照下列步骤设计。

(1)确定数据流图中的变换中心、逻辑输入和逻辑设计。

(2)设计软件结构的顶层和第一层——变换结构。

(3)设计中、下层模块。

对第一层的输入、变换及输出模块自顶向下、逐层分解。

1.输入模块的下属模块的设计。

输入输出下属模块的输入模块的功能是向它的调用模块提供数据,所以必须要有数据来源。

这样输入模块应由接收输入数据和数据转换调用模块所需信息两部分组成。

因此,每个是;

输入模块可以设计成两个下属模块;

一个接收、一个转换的。

用类似的方法一直分解下去,直到物理输入端。

2.输出模块的下属模块的设计。

输出模块的功能是将它的调用模块产生的结果送出,它由将数据转换下属模块所需的形式和发送数据两部分组成。

这样每个输出模块可以设计成两个下属模块:

一个转换、一个发送,一直到物理输出端。

2.变换模块的下属模块的设计。

根据数据流图中变换中心的组成情况,按照模块独立性的原则来组织其结构,一般对数据流图中每个基本加工建立一个功能模块。

3.设计的优化。

4.事务分析设计方法

(1)确定数据流图中的事务中心和加工路径。

当数据流图中的某个加工明显地将一个数据流分解成多个发散的输出数据流时,该加工就是事务中心。

从事务中心辐射出去的数据流为各个加工路径。

(2)设计软件结构的顶层和第一层——事务结构。

首先设计一个顶层模块,它是一个主模块,有两个功能,一是接受数据,二是根据事务类型调度相应的处理模块。

事务型软件结构应包括接收分支和发送分支两个部分。

1接收分支:

负责接收数据,它的设计与变换型数据流图的输入部分设计方法相同.

2发送分支:

通常包含一个调度模块,它控制管理所有的下层的事物处理模块.当事物类型不多时,调度模块可与主模块合并.

(3)事务结构中,下层模块的设计与优化等工作同变换结构.

5.1.6IDEFO图设计方法

基于IDEFO图的设计也是结构化设计技术之一,它以系统的功能模型和信息结构为基础设计系统的软件结构.由于IDEFO图按照自顶向下逐层对系统进行分解,并且对系统的每一功能的输入,输出,约束和机制都进行饿全面的描述.因此,在系统总体设计时,一般按照IDEFO图的分解层次,逐层将其转换成软件结构图.

5.1.7表示软件结构的另一种图形工具----HIPO图

HIPO图既可以描述软件总的模块层次结构---H图(层次图),又可以描述每个模块输入/输出数据,处理功能及模块调用的详细情况---IPO图.HIPO图是以模块分解的层次性以及模块内部输入,处理及输出三大基本部分为基础建立的.

5.2单元练习

5.2.1填空题

1.在软件系统结构中,模块是可组合,分解和更换的单元.模块具有_____,_____,______,和______等属性.

2概要设计文档主要有:

______,______,______,_______.

3数据库的设计指______的设计,主要进行以下几方面的设计:

________,_______,_______.

4.软件设计基本任务包括_______,______,_______,_______四个方面.

5抽象是认识复杂现象过程中使用的思维工具,即抽出事物______的,______的特性而不考虑它的______,不考虑其他因素.

6.软件结构的设计是以______为基础的,以需求分析的结果为依据,从实现的角度进一步分化为______,并组成模块的______.

7.软件设计是一个把______转换为_____的过程,包括_____和______.

8在大型数据处理系统的功能分析和设计中,同时要进行数据分析和数据设计.数据库的"

概念设计"

与"

逻辑设计"

分别对应于系统开发中的______与______,而数据库的"

物理设计"

与模块的______相对应.

9.进入了设计阶段,要把软件"

做什么"

的_______变换为"

怎么做"

的______,即着手实现软件的需求,并将设计的结果反映在_____文档中.

10.概要设计评价是对设计部分是否完整实现了需求中规定的______,______等要求,设计反感的______,关键的处理及内外部接口定义_____,______,各部分之间的_____等等一一都进行评审.

11.在软件需求分析阶段,已经搞清楚了软件______的问题,并把这些需求通过

______描述出来,这也是目标系统的_______.

12.在一个模块中,_______,_______,和_______反映模块的外部特性,______反映它的内部特性.

13.______是指在设计和确定模块时,使得一个模块内包含的信息(过程和数据),对于不需要这些信息的其他模块来说,是不能______的.

14.开发一个大而复杂的软件系统,将它进行适当的分解,不但可降低它其复杂性,还可减少______,从而降低_______,提高_______,这就是______的依据.

15.设计软件结构,具体为:

(1)采用某设计方法,将一个复杂的系统按功能划分为______.

(2)确定每个模块的_______.(3)确定模块间的______.(4)确定模块之间的_______,即模块之间传递的信息.(5)评价模块结构的质量.

16.模块间耦合高低取决于模块间______,______及_______.

17.______是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程.每个模块完成特定的_______,所有的模块按某方法_______起来,成为一个整体,完成整个系统所要求的功能.

18.模块独立性中每个模块只完成问题要求的______子功能,并且与其他模块的联系______.

19.内聚性有六种类型:

_______,_______,_______,______,_______,_______.

20耦合性也称______,它是指软件系统结构中_______互相联系紧密程度的一种度量.模块之间联系越_______,其耦合性越强.模块的______则越差.

21.通过_______,可以确定组成软件的过程实体,通过______,它可以定义和实施对模块的过程细节和局部数据结构的存取限制.

22.模块的耦合性分为六种_____,______,_______,_______,______,_______.

23._______指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的______.

24.________指两个模块之间传递的是数据结构,如高级语言中的数足名,记录名,文件名等这些名字即为标记,其实传递的是______.

25功能元素是内聚程度最______的内聚,指模块内所有元素共同完成______,缺一不可.功能内聚的模块与其他模块的耦合是______的.

26.概要设计主要是把各项功能需求转换成系统的______.

27.结构图的主要内容有_______,______,______.

28.内聚性又称______.指模块的______的度量,即一个模块内部各个元素彼此结合的紧密程度的度量.若一个模块内各元素(语句之间,程序段之间)的联系越______,则它的内聚性越高.

29.衡量模块独立性的两个定向的度量标准是_______和______.

30._______指一个模块内的各处理元素之间没有任何联系.这是内聚程度最______的内聚.

31.______指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能.把需要同时执行的动作组合在一起形成的模块称为_____的模块.

32.通信内聚是指模块内所有处理元素都在______上操作,有时称之为______,

或者指各处使用相同的或者产生相同的。

33.通信内聚的模块各部分都紧密相关于,所以可以把某一数据结构、文件、设备等操作都放在一个模块内,可达到。

34.顺序内聚是指一个模块中各个处理元素都密切相关于且必须。

前一功能元素的就是下一功能元素的。

35.控制耦合中一个模块调用另一个模块时,传递的是(如开关、标志等),被调模块通过有选择的执行块内某一功能。

因此被调模块内应具有多个功能,哪个起作用受其的控制。

36.与是模块独立性的两个定性标准,将软件系统划分模块时,尽量作到内聚、耦合,提高模块的,为设计高质量的软件奠定基础。

37.是最高程度的耦合。

这种耦合出现在当一个模块直接使用另一个模块的,和通过转入另一个模块的内部。

38.若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值来选择其中一个路径来执行,这种特征的DFD称为的数据流图,这个加工称为。

39.模块的指一个模块直接下属模块的个数,指一个模块直接上属模块的个数。

40.基于IDEF0图的设计也是结构化设计技术之一,它以系统的和为基础设计系统的。

41.如果若干模块之间耦合强度过高,每个模块内功能不复杂,可将它们,以减少信息的和的引用。

若有多个相关模块,应该对它们的功能进行,消去。

42.一个模块的作用范围是指受该模块内影响的所有的模块的集合,一个模块的控制范围是指及其的集合。

43.在结构图中,模块用来表示,并用模块标示该模块。

两个模块间用或连接表示它们的控制关系,模块和被调用模块的关系称为与

的关系或者“”与“”的关系,模块间还经常用带注释的箭头表示模块调用过程中来回传递的信息。

有时箭头尾部带的表示传递的是数据,带表示传递的是控制信息。

44.变换型DFD是由、和三部分组成。

45.变换型数据处理的工作一般分为三步:

、和,这三步体现了变换型DFD的基本思想。

46.通过信息隐藏,可定义和实施对模块的过程细节和局部数据结构的。

47.结构图深度指结构图,也是模块的,结构宽度是指。

48.一个模块的范围应在其范围之内,且判定所在的模块应与受其影响的模块在层次上应尽量。

49.HIPO图是表示的一种工具。

它使用描述软件总的模块层次结构,使用描述每个模块输入输出数据、处理功能及模块调用的详细情况。

50.公共耦合指通过一个相互作用的那些模块间的耦合。

公共耦合合的复杂程度随的增加而增加。

51.结构化设计简称。

数据流图一般可分为型和型两类。

型的DFD是一个顺序结构。

52.在变换型DFD中,变换是系统的,变换输入端的数据流称为系统的,输出端的数据流为。

而直接从外部设备输入数据称为,直接从外部设备上输出的数据称为。

53.软件结构从形态上总的考虑是:

顶层扇出数较一些,中间层扇出数较一些,低层扇入数较一些。

54.要把数据流图(DFD)转换成软件结构,首先必须研究DFD的类型。

各种软件系统,一般可分为和两类。

55.软件结构往往用状或结构的图形来表示。

软件工程中,一般采用70年代中期美国Yourdon等人提出的称为简称的工具来表示软件结构。

56.如果只有两个模块之间有公共数据环境,这种公共耦合有两种情况:

一是一个模块只是给公共数据环境送数据,另一个模块只是从环境中取数据,这是耦合,二是两个模块都既往公共数据环境送数据,又从里面取数据,这是耦合。

57.一个模块内各元素联系的越紧密,则它的内聚性就。

按由低到高的顺序,模块的内聚类型有:

内聚、内聚、内聚、内聚、内聚、内聚。

58.为了防止软件概要设计的错误传播到开发的后继阶段,在概要设计文档完成后,要进行。

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

60.面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。

因此又称。

61.将与同一张年报表有关的所以程序组成一个模块,该模块的内聚性为。

62.是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。

63.软件结构的设计是关键的一步,直接影响到下一阶段详细设计与编码的工作。

64.模块用表示,并用名字标示该模块,名字应该体现该模块的功能。

65.一个模块的作用范围是指的集合。

66.按国际GB8576—88的“计算机软件产品开发文件编制指南”规定,软件设计文档可分为“”、“”、“”。

67.两个模块间用(或直线)连接表示它们的控制关系。

68.对于软件独立性的衡量,根据软件的内部特征和外部特征,提出了两个定性的度量标准,即:

和。

69.软件结构的设计是以为基础的,在分析设计阶段,已经把系统分解成层次结构。

设计阶段,以需求分析的结果为依据,从实现的角度进一步划分模块,并组成模块的层次结构。

70.按由高到低的顺序,模块的耦合类型有:

耦合、耦合、耦合、耦合、耦合、耦合。

71.模块间还经常用带注释的短箭头表示模块调用过程中来回传递的信息。

有时箭头尾

部带空心圆的表示传递的是__________,带实心的表示传递的是___________。

72.模块之间联系越紧密,其耦合性就越_______,模块的独立性就越__________。

 

5.2.2选择题

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

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

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

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

ADFDBPAD

CSCDER

3属于软件设计的基本原理是()。

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

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

4在软件结构的后处理中,下列说法错误的是()。

A为模块写的处理说明及接口说明可采用IPO图

B数据结构的描述可用Warnier图或Jackson图

C给出设计约束或限制。

如数据的边界值,数据类型,格式,内存容量及时间的限制

D在概要设计评审中,应着重评审软件需求是否得到满足及软件结构的质量等

设计的优化工作主要放在软件结构设计的后处理阶段

5在基于IDEF0图的设计方法中,下列说明错误的是()。

AIDEF0图以系统的功能模型和信息结构为基础设计系统的软件结构

BIDEF0图按照自顶向下逐层对系统进行分解

CIDEF0图对系统每一功能的输入,输出,约束,机制都进行了全面的描述

D在系统概要设计时,一般按照DFD图的分解层次,逐层将其转换成软件结构图

6将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是()的。

A逻辑性B瞬时性

C功能性D通信性

7模块内的某成分的输出是另一成分的输入,该模块的内聚度是()的。

A功能性B顺序性

C逻辑性D瞬时性

8在分层数据流图映射成软件结构的设计中,下列说法错误的是()。

A分层的数据流图映射成软件结构图也应该是分层的

B软件结构图的物理收入与输出部分放在主图中较为合适

C分层DFD图的映射方法:

主图是变换型,子图是事务型;

或主图是事务型,子图是变换型。

D变换型通常用于高层数据流图的转换,而事务型通常用于较低层数据流图的转换

9软件设计阶段一般又可分为()。

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

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

10模块中所有成分引用共同的数据,该模块的内聚度是()的。

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

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

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

12好的软件结构应该是()。

A高耦合,高内聚B低耦合,高内聚

C高耦合,低内聚D低耦合,低内聚

13结构分析方法就是面向()自顶向下逐步求精进行需求分析的方法。

A目标B数据流

C功能D对象

14

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

当前位置:首页 > 工程科技 > 能源化工

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

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