系统设计-模块设计原则

系统设计-模块设计原则

ID:38567271

大小:695.81 KB

页数:72页

时间:2019-06-15

系统设计-模块设计原则_第1页
系统设计-模块设计原则_第2页
系统设计-模块设计原则_第3页
系统设计-模块设计原则_第4页
系统设计-模块设计原则_第5页
资源描述:

《系统设计-模块设计原则》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章系统分析(2)---模块设计的原则模块为降低系统开发的难度或复杂性,常常将系统进行模块化。所谓模块化,就是将系统划分为子系统,子系统划分为若干模块,大模块划分为小模块的过程。模块划分的目的主要是降低系统的开发难度,增加系统的可维护性等。模块模块是可以组合、分解和更换的单元,是组成系统、易于处理的基本单元。系统中的任何一个处理功能都可以看成一个模块,也可以理解为用一个名字就可以调用的一段程序语句。a.模块应具备以下四个要素:●输入和输出:模块的输入来源和输出去向都是同一个调用者,一个模块从调用者取得输入,加工后再把输出返回调用者。●功能:模块把输入转换成输出所做的工作。●内部数据:仅供

2、该模块本身引用的数据;●程序代码:用来实现模块功能的程序。模块其中,输入/输出和功能是模块的外部特性,反映模块的外貌;内部数据和程序代码是模块的内部特性。在结构化设计中,首先关心外部特性,其内部特性只做必要了解。因此,可以认为,模块就是指具有输入/输出、逻辑功能、运行程序和内部数据4种属性的一组程序。模块调用模块调用的类型如图所示。模块调用调用:在模块结构图中,用连接两个模块的箭头表示调用,箭头总是由调用模块指向被调用模块,但是应该理解为被调用模块执行后又返回到调用模块。判断调用:一个模块是否调用一个从属模块,取决于调用模块内部的判断条件,则该调用称为模块间的判断调用,采用菱形符号表示。循

3、环调用:如果一个模块通过其内部的循环功能循环调用一个或多个从属模块,则该调用称为循环调用,用弧形箭头表示。intmax(intx,inty){intz;z=x>y?x:y;return(z);}Main(){:max(3,4):}Main()Max(x,y)求最大值Zxy模块调用实例模块划分的目的主要是降低系统的开发难度,增加系统的可维护性等。可维护性局部修改模块间的联系尽可能的少(低耦合)而模块内的联系尽可能多(高聚合)模块独立性的度量之一:耦合度耦合度是模块间的联结关系,衡量不同模块间的相互依赖的紧密密程度。耦合度越高,模块独立性越弱无耦合-没有依赖关系松散耦合-有少量依赖关系紧密耦合

4、-有很多依赖关系模块耦合度耦合度强弱的因素:一模块对另一模块的引用一模块向另一模块传递的数据量一模块施加到另一模块的控制的数量模块间接口的复杂程度耦合有6种不同的类型(即模块间的联结方式),由好到差依次为:非直接耦合、数据耦合、标记(特征)耦合、控制耦合、公共耦合、内容耦合。模块间耦合的类型:模块独立性弱强公共耦合内容耦合高低非直接耦合数据耦合标记耦合控制耦合(1)非直接耦合两个模块没有直接关系(模块1和模块2),模块之间的联系是通过主模块的控制和调用实现的,模块独立性最强。模块1模块2模块3模块4(2)数据耦合一模块调用另一模块时,被调用模块的输入、输出都是简单的数据,属松散耦合。数据耦

5、合是模块间必要的数据通信,是不可避免的。数据耦合是模块设计的目标。数据耦合举例开发票计算水费单价数量金额数据耦合举例计算水电费计算水费计算电费用水量用电量水费电费(3)标记耦合(特征耦合)如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,而被调用模块只需要部分数据项,则称这两个模块之间存在标记耦合或特征耦合。特征耦合传递的是数组之类的数据结构,使互不相关的模块建立了依赖关系,往往会造成侦错上的困难。标记耦合举例计算水电费计算水费计算电费住户情况水费电费住户情况“住户情况”包含水费和电费、煤气费、电话费等。“住户情况”是一个数据结构,图中模块都与此数据结构有关.“计算水费

6、”和“计算电费”本无关,由于引用了此数据结构产生依赖关系,它们之间也是标记偶合.将标记耦合修改为数据耦合举例计算水电费计算水费计算电费本月用水量本月用电量水费电费(4)控制耦合控制耦合是指一个模块将控制信息传递给另一个模块,以控制该模块的内部处理逻辑。从分解的角度看,导致控制耦合的主要原因是分解不彻底,被调用模块不是执行单一的功能。控制耦合举例A计算平均分或最高分B平均/最高成绩控制耦合举例读入分数输出结果计算平均分计算最高分平均/最高?调用逻辑性模块B时,须先传递控制信号(平均分/最高分),以选择所需的操作。控制模块必须知道被控模块的内部逻辑,增强了相互依赖.B控制耦合增加了模块之间的复

7、杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。去除模块间控制耦合的方法:(1)将被调用模块内的判定上移到调用模块中进行(2)被调用模块分解成若干单一功能模块改进的方法:改控制耦合为数据耦合举例A计算平均分B1平均成绩最高成绩计算最高分B2控制耦合举例A发奖牌名次(开关量)奖牌控制耦合被调用模块内处理逻辑模式功能A功能B判别改控制耦合为数据耦合举例A发金牌发银牌发铜牌金牌银牌铜牌A取口令并核对B用户名、口令对/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。