软件工程复习资料-2016-3-25分析(3)

2018-12-17 11:11

(2)模块化也有助于软件开发工程的组织管理。 6、抽象

就是抽出事物的本质特性而暂时不考虑它们的细节。 7、抽象化包括哪些?

过程的抽象 、数据抽象。

8、模块的独立程度的定性标准度量是什么?好的模块应满足什么标准? 内聚和耦合;高内聚低耦合。

9、什么耦合?模块间的耦合有哪些?

指衡量不同模块彼此间互相依赖(连接)的紧密程度;有非直接耦合、标记耦合、数据耦合 、控制耦合 、外部耦合、公共耦合和内容耦合 。 10、非直接耦合

如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。 11、标记耦合

如果一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。 12、数据耦合

如果一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的,则称这种耦合为数据耦合。 13、控制耦合

如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。 14、外部耦合

一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 15、公共耦合

若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 16、内容耦合

如果发生下列情形,两个模块之间就发生了内容耦合 (1) 一个模块直接访问另一个模块的内部数据; (2) 一个模块不通过正常入口转到另一模块内部;

(3) 两个模块有一部分程序代码重迭(只可能出现在汇编语言中); (4) 一个模块有多个入口。 17、内聚

衡量一个模块内部各个元素彼此结合的紧密程度。功能内聚 ,信息内聚 ,通信内聚 ,过程内聚,时间内聚,逻辑内聚,巧合内聚。 19、功能内聚

一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。

20、信息内聚

这种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该执行哪一个功能。由于这个模块的所有功能都是基

- 11 -

于同一个数据结构(符号表),因此,它是一个信息内聚的模块。 21、通信内聚

如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。通常,通信内聚模块是通过数据流图来定义的。 22、过程内聚

使用流程图做为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。 23、时间内聚

时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。 24、逻辑内聚 这种模块把几种

相关的功能组合在一起,每次被调用时,由传送给模块的判定参 数来确定该模块应执行哪一种功能。 25、巧合内聚

巧合内聚又称为偶然内聚。当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。 26、扇出

是一个模块直接控制(调用)的模块数目。 27、扇入

一个模块的扇入表明有多少个上级模块直接调用它。 28、模块的作用域

定义为受该模块内一个判定影响的所有模块的集合。 29、模块的控制域

是这个模块本身以及所有直接或间接从属于它的模块的集合。 30、模块化的优点。

? 模块化使软件容易测试和调试,因而有助于提高软件的可靠性,提高软件的可修改

性。

? 模块化也有助于软件开发工程的组织管理。

31、逐步求精、分层过程与抽象等概念之间的相互关系如何?

“自顶向下,逐步求精”是Niklaus Wirth提出的设计策略:即将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。

这样的结构实际就是一个模块的分层结构,即分层的过程。在实施时,采用抽象化的方法,自顶向下,给出不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。而在较低的抽象层次上,则采用过程化的方法。在描述问题的解法时,我们可以配合使用面向问题的术语和面向现实的术语。但最后在最低的抽象层次上,应使用能够直接实现的方式来描述这个解法。

32、什么是软件结构图?简述软件结构设计优化准则。

软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。准则:高内聚低耦合、作用范围在控制范围内、软件的深度、宽度、扇入、扇出适当、模块大小适中、接口简单清晰易懂。

33、什么是模块的控制范围和作用范围?他们的关系如何?

- 12 -

控制范围:是模块本身和它的下属模块的集合。作用范围:模块中的一个判定影响的所有模块的集合。作用范围应该在控制范围内。 33、什么是变换流?什么是事物流? 变换流由输入、变换(或处理)、输出三部分组成。

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

34、试述\变换分析\﹑\事物分析\设计步骤。 变换分析设计步骤:

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

⑵设计软件结构的顶层和第一层--变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)

第一层至少有三种功能模块:输入﹑输出和变换模块 ⑶设计中﹑下层模块,对第一层的模块自顶向下分解。

输入模块由两部分组成:接收数据﹑转换成调用模块所需信息。

输出模块由两部分组成:将数据转换成下属模块所需的形式﹑ 发送数据 变换模块:对每个基本加工建立一功能模块

⑷设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。

输出部分求精:每个物理输出设置专门模块,其它也可适当合并。 变换部分求精:根据设计准则,对模块适当合并。 事务分析的设计步骤:

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

⑵设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。

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

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

35、请将下图的DFD转换为软件结构图。

解:

- 13 -

第五章 详细设计

1、 详细设计的基本任务是什么?有那几种描述方法?

设计模块的数据结构、设计数据库的物理结构、设计模块的详细算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写详细设计说明书、评审。

程序流程图、PAD图、PDL。

2、请使用流程图、PAD图和PDL语言描述下列程序的算法。 (1)在数据A(1)~A(10)中求最大数和次大数。

- 14 -

PDL语言描述:

GET(a[1],a[2],...a[10]) max=a[1]; max2=a[2]; FOR i=2 TO 10 IF a[i]>max max2=max; max=a[i]; ELSE

IF a[i]>max2 max2=a[i]; ENDIF ENDIF ENDFOR

PUT(max,max2) END

3、输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。使用流程图、PAD图和PDL语言描述。 解:如图:

- 15 -


软件工程复习资料-2016-3-25分析(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六年级下册品德1---6课

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: