您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 给排水/暖通与智能化 > 耦合与内聚
7.1©2004.7ManagementInformationSystems第7章信息系统设计第三节系统设计的原则信息系统设计7.2©2004.7ManagementInformationSystems第7章信息系统设计系统设计原则模块之间的耦合原则模块的内聚性原则模块的分解原则模块的控制范围与作用范围模块的扇入和扇出原则模块的规模7.3©2004.7ManagementInformationSystems第7章信息系统设计模块之间的耦合原则模块的耦合方式几种耦合的比较模块耦合原则模块之间的联系7.4©2004.7ManagementInformationSystems第7章信息系统设计模块之间的联系方式模块之间的联系方式•通过被调用模块的名称来调用整个模块,使其完成一定的功能•一个模块直接调用另一个模块内部的数据或指令•模块具有输入和输出、逻辑功能、运行程序、内部数据7.5©2004.7ManagementInformationSystems第7章信息系统设计模块之间的耦合方式•数据耦合•简单耦合•控制耦合•公共耦合•内容耦合7.6©2004.7ManagementInformationSystems第7章信息系统设计简单耦合•如果两个模块之间仅仅存在着调用和被调用关系•模块之间没有任何的信息传递•两个模块的耦合程度最低7.7©2004.7ManagementInformationSystems第7章信息系统设计数据耦合•如果两个模块之间不仅存在着调用和被调用关系数据参数的个数控制在最小,能用参数的就不用数据结构•模块之间存在着数据通信•模块之间的通信方式是数据传递或称参数交换7.8©2004.7ManagementInformationSystems第7章信息系统设计计算水、电费计算水费计算电费水费计算水、电费计算水费计算电费水费数据耦合7.9©2004.7ManagementInformationSystems第7章信息系统设计控制耦合•如果两个模块之间不仅存在着调用和被调用关系控制信息表面上是以数据形式出现,但实质是一个标识、开关或状态。接受信息的模块根据该控制信息的状态作出判断•模块A向模块B传递的信息控制了模块B的内部逻辑公布成绩确定成绩等级成绩优良中及不7.10©2004.7ManagementInformationSystems第7章信息系统设计公共耦合•如果两个模块都和同一个公用数据域有关•两个模块与某一个公共环境联系在一起ABCDE公用数据假设有一个全局变量是这5个模块的公用数据,那么模块E和模块C之间存在着公共耦合当需要修改公共数据时,与之相关的所有模块可能都要进行修改7.11©2004.7ManagementInformationSystems第7章信息系统设计使用公用数据存在的问题•公用数据没有保护,任何时候、任何程序都可以修改,模块执行时可能出错•不同的模块都可以修改、使用公用数据,因而维护困难•但存在较多的公共耦合模块时,若修改某一数据,则很难确定哪些模块必须修改7.12©2004.7ManagementInformationSystems第7章信息系统设计内容耦合•如果一个模块访问另一个模块的内部数据•使用另一个模块内部的控制信息•一个模块调用执行另一个模块中间的部分程序代码•模块不符合单入口和单出口的原则7.13©2004.7ManagementInformationSystems第7章信息系统设计耦合形式可读性可维护性扩散错误的能力公用性简单耦合好好弱好数据耦合好好弱好控制耦合一般不好一般不好公共耦合最坏坏强最坏内容耦合最坏最坏最强最坏几种耦合的比较7.14©2004.7ManagementInformationSystems第7章信息系统设计系统设计模块之间的联结原则•尽量采用较低的耦合形式(简单耦合和数据耦合)•减少控制耦合•必要时使用公共耦合,但一定要将数据控制在最少•绝对不能采用内容耦合7.15©2004.7ManagementInformationSystems第7章信息系统设计模块的内聚性原则•模块的组合形式•模块组合形式的判断•模块组合形式的比较7.16©2004.7ManagementInformationSystems第7章信息系统设计模块的组合形式•功能组合•顺序组合•通信组合•过程组合•暂时组合•逻辑组合•偶然组合7.17©2004.7ManagementInformationSystems第7章信息系统设计功能组合--功能内聚(functionalcohesion)•一个模块内部的各个组成部分的处理动作全都为执行同一个功能而存在•功能组合内聚性最高,它是一个“暗盒”模块例“解一个方程”,“求平方根”,“计算利息”7.18©2004.7ManagementInformationSystems第7章信息系统设计顺序组合--顺序内聚(sequentialcohesion)•一个模块内部的各个组成部分执行的几个处理动作具有这样的特征•前一个处理动作所产生的输出数据是下一个处理动作的输入数据•顺序组合模块的内聚性较高例:“输入并验证理货单”7.19©2004.7ManagementInformationSystems第7章信息系统设计读入数据编辑数据A累加打印B顺序组合(内聚)顺序组合--顺序内聚(sequentialcohesion)7.20©2004.7ManagementInformationSystems第7章信息系统设计通信组合--通信内聚communicationalcohesion)•一个模块内部的各个组成部分的处理动作都使用相同的输入数据•一个模块内部的各个组成部分的处理动作都产生相同的输出数据•内聚性低于顺序组合模块7.21©2004.7ManagementInformationSystems第7章信息系统设计修改库存开发货单库存A购货单修改D1删除D1B库存D1通信组合(内聚)通信组合--通信内聚communicationalcohesion)7.22©2004.7ManagementInformationSystems第7章信息系统设计过程组合--过程内聚(proceduralcohesion)•一个模块内部的各个组成部分的处理动作各不相同,彼此没有什么关系•它们受同一个控制流支配,决定它们的执行顺序•内聚性较低例“学籍变动管理”7.23©2004.7ManagementInformationSystems第7章信息系统设计暂时组合--暂时内聚(temporalcohesion)•一个模块内部的各个组成部分的处理动作和时间有关•内聚性低,耦合性高例“初始化”7.24©2004.7ManagementInformationSystems第7章信息系统设计逻辑组合--逻辑内聚(logicalcohesion)•一个模块内部的各个组成部分的处理动作在逻辑上相似,但功能却彼此不同或无关•内聚性低例“会计报表”---“资金平衡表”、“固定资产表”、“利润表”等7.25©2004.7ManagementInformationSystems第7章信息系统设计准备取平均成绩?算平均成绩求最高成绩返回YN逻辑组合(内聚)逻辑组合--逻辑内聚(logicalcohesion)7.26©2004.7ManagementInformationSystems第7章信息系统设计偶然组合--偶然内聚(coincidentalcohesion)•一个模块内部的各个组成部分的处理动作彼此没有任何关系•它们是根据设计人员的个人喜好而随意混合在一起的•无内聚性7.27©2004.7ManagementInformationSystems第7章信息系统设计PQRSB:=A;READCardfile;D:=CT偶然组合(内聚)偶然组合--偶然内聚(coincidentalcohesion)7.28©2004.7ManagementInformationSystems第7章信息系统设计模块组合判断树模块组合判断树该模块只执行一个功能吗?功能组合否模块内各组成部分关系如何?数据流否是顺序组合通信组合否是过程组合暂时组合否是逻辑组合偶然组合控制流两者皆非是次序重要吗?逻辑相似吗?次序重要吗?7.29©2004.7ManagementInformationSystems第7章信息系统设计块内联系耦合性可读性可修改性公用性评分功能组合低好好好10顺序组合低好好较好9通信组合较低较好较好不好7过程组合一般较好较好不好5时间组合较高一般不好坏3逻辑组合高不好坏坏1偶然组合高坏坏坏0模块组合形式的比较7.30©2004.7ManagementInformationSystems第7章信息系统设计平均故障间隔时间平均修复时间系统的有效性提高系统可靠性的措施提高系统可靠性的主要途径系统设计的质量评价指标——可靠性
本文标题:耦合与内聚
链接地址:https://www.777doc.com/doc-3237843 .html