预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共97页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第5章结构化软件设计5.1软件设计过程详细设计典型总体设计过程(1)典型总体设计过程(2)典型总体设计过程(3)典型总体设计过程(4)典型总体设计过程(5)典型总体设计过程(6)5.2软件设计原则和影响设计的因素软件设计原则(1)软件设计原则(2)软件设计原则(3)影响设计的因素5.3软件设计的概念5.3.1模块5.3.2模块化5.3.3模块独立性(1)内容耦合(ContentCoupling)如果发生下列情形,两个模块之间就发生了内容耦合(1)一个模块直接访问另一个模块的 内部数据;(2)一个模块不通过正常入口转到另 一模块内部;(3)两个模块有一部分程序代码重迭 (只可能出现在汇编语言中);(4)一个模块有多个入口。(2)公共耦合的复杂程度随耦合模块的个数增加而显著增加。若只是两模块间有公共数据环境,则公共耦合有两种情况。松散公共耦合和紧密公共耦合。公共耦合(CommonCoupling)若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 (3)外部耦合(ExternalCoupling)一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。(4)控制耦合(ControlCoupling)如果一个模 块通过传送开 关、标志、名 字等控制信息, 明显地控制选 择另一模块的 功能,就是控 制耦合。(5)数据结构耦合 一个模块访问另一个模块时,彼此之间是通过传递控制参数、公共数据结构或外部变量来交换输入、输出信息的,则称这种耦合为数据结构耦合。 (6)数据耦合(DataCoupling)如果一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。降低耦合度的方法6、多用设计模式,比如采用MVC的设计模式就可以降低界面与业务逻辑的耦合度。7、尽量不用“硬编码”的方式写程序,同时也尽量避免直接用SQL语句操作数据库。8、最后当然就是避免直接操作或调用其它模块或类(内容耦合);如果模块间必须存在耦合,原则上尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,避免使用内容耦合。 模块内聚(1)功能内聚(FunctionalCohesion)一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。(2)信息内聚(InformationalCohesion) 这种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。信息内聚模块可以看成是多个功能内聚模块的组合,并且达到信息的隐蔽。 即把某个数据结构、资源或设备隐蔽在一个模块内,不为别的模块所知晓。(3)通信内聚(CommunicationCohesion)如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。 通常,通信内聚模块是通过数据流图来定义的。(4)过程内聚(ProceduralCohesion)使用流程图做为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。(5)时间内聚(ClassicalCohesion)时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。 例如初始化模块和终止模块。(6)逻辑内聚(LogicalCohesion)这种模块把几种 相关的功能组合 在一起,每次被 调用时,由传送 给模块的判定参 数来确定该模块 应执行哪一种功 能。(7)巧合内聚(CoincidentalCohesion)巧合内聚又称为偶然内聚。当模块内各部分之间没有联系,或者即使有联系,这种联 系也很松散, 则称这种模 块为巧合内 聚模块,它 是内聚程度 最低的模块。5.3.4抽象Wasserman抽象思想Wasserman抽象思想5.3.5信息隐藏局部化5.3.6设计复用5.4软件结构图结构图的主要元素(3)模块间的信息传递——数据和控制信息,尾端带有菱形的短箭头表示数据信息,尾端带有实心圆的短箭头表示控制信息。 (4)两个辅助信号——有条件调用时,在箭头尾部标以一个菱形号,多次调用时在箭头尾部标以弧线。结构图的形态特征下图深度5,宽度7,模块M扇出数3,模块T扇入数4.图书管理系统软件结构