- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.* ? 2004.7 Management Information Systems 第7章 信息系统设计 第三节 系统设计的原则 信息系统设计 系统设计原则 模块之间的耦合原则 模块的内聚性原则 模块的分解原则 模块的控制范围与作用范围 模块的扇入和扇出原则 模块的规模 模块之间的耦合原则 模块的耦合方式 几种耦合的比较 模块耦合原则 模块之间的联系 模块之间的联系方式 模块之间的联系方式 通过被调用模块的名称来调用整个模块,使其完成一定的功能 一个模块直接调用另一个模块内部的数据或指令 ?模块具有输入和输出、逻辑功能、运行程序、内部数据 模块之间的耦合方式 数据耦合 简单耦合 控制耦合 公共耦合 内容耦合 简单耦合 ?如果两个模块之间仅仅存在着调用和被调用关系 ?模块之间没有任何的信息传递 ?两个模块的耦合程度最低 数据耦合 ?如果两个模块之间不仅存在着调用和被调用关系 数据参数的个数控制在最小, 能用参数的就不用 数据结构 ?模块之间存在着数据通信 ?模块之间的通信方式是数据传递或称参数交换 计算水、电费 计算水费 计算电费 住户详情 。 电费 。 住户详情 。 水费 计算水、电费 计算水费 计算电费 本月用水量 。 电费 。 本月用电量 。 水费 数据耦合 控制耦合 ?如果两个模块之间不仅存在着调用和被调用关系 控制信息表面上是以数据形式 出现,但实质是一个标识、开关 或状态。接受信息的模块根据 该控制信息的状态作出判断 ?模块A向模块B传递的信息控制了模块B的内部逻辑 公布成绩 确定成绩等级 成绩 优 良 中 及 不 公共耦合 ?如果两个模块都和同一个公用数据域有关 ?两个模块与某一个公共环境联系在一起 A B C D E 公用 数据 假设有一个全局变量是这5个模块的公用数据,那么模块E和模块C之间存在着公共耦合 当需要修改 公共数据时, 与之相关的 所有模块可能 都要进行修改 使用公用数据存在的问题 ?公用数据没有保护,任何时候、任何程序都可以修改,模块执行时可能出错 ?不同的模块都可以修改、使用公用数据,因而维护困难 ?但存在较多的公共耦合模块时,若修改某一数据,则很难确定哪些模块必须修改 内容耦合 ?如果一个模块访问另一个模块的内部数据 ?使用另一个模块内部的控制信息 ?一个模块调用执行另一个模块中间的部分程序代码 ?模块不符合单入口和单出口的原则 几种耦合的比较 系统设计模块之间的联结原则 ?尽量采用较低的耦合形式(简单耦合和数据耦合) ?减少控制耦合 ?必要时使用公共耦合,但一定要将数据控制在最少 ?绝对不能采用内容耦合 模块的内聚性原则 ?模块的组合形式 ?模块组合形式的判断 ?模块组合形式的比较 模块的组合形式 功能组合 顺序组合 通信组合 过程组合 暂时组合 逻辑组合 偶然组合 功能组合--功能内聚(functional cohesion) ?一个模块内部的各个组成部分的处理动作全都为执行同一个功能而存在 ?功能组合内聚性最高,它是一个 “暗盒”模块 例“解一个方程”,“求平方根”,“计算利息” 顺序组合--顺序内聚(sequential cohesion) ?一个模块内部的各个组成部分执行的几个处理动作具有这样的特征 ?前一个处理动作所产生的输出数据是下一个处理动作的输入数据 ?顺序组合模块的内聚性较高 例: “输入并验证理货单” 读入数据 编辑数据 A 累加 打印 B 顺序组合(内聚) 顺序组合--顺序内聚(sequential cohesion) 通信组合--通信内聚communicational cohesion) ?一个模块内部的各个组成部分的处理动作都使用相同的输入数据 ?一个模块内部的各个组成部分的处理动作都产生相同的输出数据 ?内聚性低于顺序组合模块 修改库存 开发货单 库存 A 购货单 修改D1 删除D1 B 库存 D1 通信组合(内聚) 通信组合--通信内聚communicational cohesion) 过程组合--过程内聚(procedural cohesion) ?一个模块内部的各个组成部分的处理动作各不相同,彼此没有什么关系 ?它们受同一个控制流支配,决定它们的执行顺序 ?内聚性较低 例“学籍变动管理” 暂时组合--暂时内聚(temporal cohesion) ?一个模块内部的各个组成部分的处理动作和时间有关 ?内聚性低,耦合性高 例“初始化” 7.* ? 2004.7 Management Information Systems 第7章 信息系统设计
文档评论(0)