耦合与内聚

合集下载

高内聚低耦合

高内聚低耦合

高内聚低耦合1.什么是内聚什么是耦合内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。

它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

耦合性也称块间联系。

指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

2.内聚分为哪几类耦合分为哪几类内聚有如下的种类,它们之间的内聚度由弱到强排列如下:(1)偶然内聚。

模块中的代码无法定义其不同功能的调用。

但它使该模块能执行不同的功能,这种模块称为巧合强度模块。

(2)逻辑内聚。

这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能(3)时间内聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。

(4)过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。

(5)通信内聚:指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。

(6)顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。

(7)功能内聚:这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。

耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:(1)内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合一个模块直接访问另一个模块的内部数据一个模块不通过正常入口转到另一模块内部;两个模块有一部分程序代码重叠(只可能出现在汇编语言中);一个模块有多个入口。

(2)公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。

高内聚低耦合

高内聚低耦合

高内聚低耦合高内聚低耦合1、内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。

它描述的是模块内的功能联系;2、耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据3、高内聚低耦合是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。

所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。

4、耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。

指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。

对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。

也就是说,让每个模块,尽可能的独立完成某个特定的子功能。

模块与模块之间的接口,尽量的少而简单。

如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。

这样有利于修改和组合。

5、软件架构设计的目的简单说就是在保持软件内在联系的前提下,分解软件系统,降低软件系统开发的复杂性,而分解软件系统的基本方法无外乎分层和分割。

但是在保持软件内在联系的前提下,如何分层分割系统,分层分割到什么样的力度,并不是一件容易的事,这方面有各种各样的分解方法,比如:关注点分离,面向方面,面向对象,面向接口,面向服务,依赖注入,以及各种各样的设计原则等,而所有这些方法都基于高内聚,低耦合的原则。

高内聚和低耦合是相互矛盾的,分解力度越粗的系统耦合性越低,分解力度越细的系统内聚性越高,过度低耦合的软件系统,软件模块内部不可能高内聚,而过度高内聚的软件模块之间必然是高度依赖的,因此如何兼顾高内聚和低耦合是软件架构师功力的体现。

耦合关键知识点总结

耦合关键知识点总结

耦合关键知识点总结1. 耦合的类型在软件工程中,耦合可以分为多种类型,包括数据耦合、控制耦合、标记耦合、公共耦合和内容耦合等。

每种类型的耦合都有其特定的特征和影响,了解这些类型对于设计和优化系统架构至关重要。

- 数据耦合:当一个模块直接访问另一个模块的数据时,就存在数据耦合。

数据耦合的存在使得两个模块之间出现了明显的依赖关系,一旦其中一个模块的数据结构或接口发生变化,另一个模块就必须相应地进行修改。

因此,数据耦合会增加系统的维护成本和风险。

- 控制耦合:当一个模块直接控制或影响另一个模块的行为时,就存在控制耦合。

控制耦合通常会导致系统的动态行为变得复杂和难以预测,因为一个模块的行为可能会影响到其他模块的执行顺序或结果。

- 标记耦合:当两个模块使用相同的标记或标识符来传递数据时,就存在标记耦合。

标记耦合使得两个模块之间的依赖关系变得隐式和不透明,使得系统的调试和维护变得困难。

- 公共耦合:当多个模块共享相同的全局变量或数据结构时,就存在公共耦合。

公共耦合会导致系统中不同模块之间发生意外的数据共享和互相影响,增加了系统的复杂性和不确定性。

- 内容耦合:当一个模块直接访问另一个模块的内部逻辑或实现细节时,就存在内容耦合。

内容耦合会导致系统中不同模块之间的关联性变得非常紧密,一旦一个模块的内部实现发生变化,其他模块就可能受到影响。

2. 减少耦合的方法减少系统中的耦合是软件设计和架构优化的一个重要目标。

通过减少耦合,可以使得系统更加灵活、可维护和可测试,同时降低系统的整体复杂性和风险。

- 设计良好的接口:合理设计和定义模块之间的接口是减少耦合的关键手段。

良好的接口设计能够将模块之间的依赖关系明确地表达出来,减少模块间的直接访问和依赖。

- 使用事件驱动架构:事件驱动架构可以帮助系统中的各个组件之间实现松耦合。

通过事件的发布和订阅机制,不同组件可以实现相互之间的通信和协作,而不需要直接引用或依赖对方。

- 使用依赖注入:依赖注入可以帮助系统实现松耦合,通过将依赖关系的创建和管理交给第三方容器,模块之间的关联性减少了直接依赖。

高内聚,低耦合

高内聚,低耦合

对高内聚,低耦合的理解内聚:一个模块内各个元素彼此结合的紧密程度耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。

指软件系统结构中个模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。

)最近编码的时候,总是在犹豫是把某个方法封装在一个类里,还是单独的封装成一个类。

这让我突然想起内聚耦合这两个名词。

我们一直追求着,高内聚,低耦合。

对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。

也就是说,让每个模块,尽可能的独立完成某个特定的子功能。

模块与模块之间的接口,尽量的少而简单。

如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。

这样有利于修改和组合。

对于低耦合,我粗浅的理解是:在一个模块内,让每个元素之间都尽可能的紧密相连。

也就是充分利用每一个元素的功能,各施所能,以最终实现某个功能。

如果某个元素与该模块的关系比较疏松的话,可能该模块的结构还不够完善,或者是该元素是多余的。

内聚和耦合,包含了横向和纵向的关系。

功能内聚和数据耦合,是我们需要达成的目标。

横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦合,体现在系统的各个层次之间的关系。

对于我在编码中的困惑,我是这样想的,用面向对象的思想去考虑一个类的封装。

一个方法,如何封装,拿到现实生活中来看,看这种能力(方法)是否是属于这类事物(类)的本能。

如果是,就封装在这个类里。

如果不是,则考虑封装在其它类里。

如果这种能力,很多事物都具有,则一定要封装在这类事物的总类里。

如果这种能力,很多事物都会经常用到,则可以封装成一个总类的静态方法。

关于耦合内聚的概念这些是软件工程中的知识,我上网查过,总结着几位大虾的评论,关于耦合的概念应该是这样的:1,对象之间的耦合度就是对象之间的依赖性.指导使用和维护对象的主要问题是对象之间的多重依赖性.对象之间的耦合性越高.维护成本越高.因此对象的设计应使类和构件之间的耦合最小.2,耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度,调用模块的方式一级哪些信息通过接口,一般模块之间可能的连接方式有七种,耦合性由低到高分别是:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合.一个软件是由多个子程序组装而成,而一个程序由多个模块(方法)构成.耦合是指各个外部程序(子程序)之间的关系紧密度而内聚就是指程序内的各个模块之间的关系紧密度所以说,为什么要高内聚,模块之间的关系越紧密,出错就越少!低耦合就是说,子程序之间的关系越复杂,就会产生出更多的意想不到的错误!会给以后的维护工作带来很多麻烦一个优秀软件开发人员的必修课:高内聚高内聚Java 软件工程软件模式一个重要的模式:高内聚。

内聚和耦合

内聚和耦合

xdu
22
总体设计
5、力争降低模块接口的复杂程度 6、设计单入口单出口的模块 告诉软件设计人员不要使模块间出现内容耦合, 从顶部入模块并且从底部退出,软件比较容易理解、 容易维护。 7、模块功能应该可以预测 模块的功能应该能够预测,但也要防止模块功能 过分局限。 若一个模块当作黑盒子,即只要输入的数据相同就 产生同样的输出,则该模块可预测。带有内部“存贮 器”的模块的功能是不可预测。实际上是在软件设计 时尽量避免在使用现场修改软件,这样的工程代价太 高。
xdu
14
p0 (x0, y0)
p1 (x1, y1)
数据耦合 LINE ( x0, y0, x1, y1)
标记耦合 LINE ( p0, p1 )
xdu
15
控制耦合 (Control Coupling) 如果一个模 块通过传送开 关、标志、名
字等控制信息,
明显地控制选 择另一模块的
功能,就是控
xdu
20
总体设计
一个设计良好的 系统结构:
顶层扇出比较高; 中层扇出较少; 底层扇入到公共4、模块的作用域应该在控制域之内 模块的控制域: 该模块本身以及所有直接或间接从属于它的模块集合模块A 的控制域是A、B、C、D、E、F.。若不是这样,会造成软件 难于理解,这是需要传递判别结果,会使模块间出现控制耦 合。力争降低模块接口的复杂程度。教材P91上讲得十分清楚。
如果一个模块内各功能部分都使用了相同的输入数据,或产生了 相同的输出数据,则称之为通信内聚模块。通常,通信内聚模块是 通过数据流图来定义的。
xdu
6
过程内聚 (Procedural Cohesion)
使用流程图做为工具设计程序时,把流程图中的某 一部分划出组成模块,就得到过程内聚模块。例如, 把流程图中的循环部分、判定部分、计算部分分成三 个模块,这三个模块都是过程内聚模块。

高内聚低耦合通俗例子

高内聚低耦合通俗例子

高内聚低耦合通俗例子
1. 就像一个球队,前锋、中场、后卫都有自己明确的职责,这就是高内聚呀,他们相互配合得极好,但又不会过多干涉彼此的任务,这可不就是低耦合嘛!比如梅西在进攻时专注进球,而防守球员就安心做好防守,多清晰呀!
2. 想想你的房间,你的书桌区域是用来学习工作的,很有内聚性吧,而它和床的区域又分得很清楚,这就是低耦合啊。

你总不能在书桌上睡觉吧,这多简单易懂的例子呀!
3. 好比一场音乐会,乐队的每个成员各自演奏自己的部分,非常内聚,但是又不会影响别人,彼此之间就是低耦合呀。

就像鼓手专注打鼓,他可不会突然跑去弹钢琴,这不是很有趣吗?
4. 家里的厨房是专门做饭的地方,这就是高内聚,和客厅的功能区分得很清楚,它们之间的关系就是低耦合啦。

你能想象在厨房看电视吗,哈哈!
5. 一个公司的各个部门,研发部专注研发,销售部专注销售,这是高内聚呀,然而它们又相对独立,这就是低耦合的体现嘛。

就像研发部不会直接去跑业务一样,这不是很明显吗?
6. 我们的身体器官也是呀,心脏负责供血,非常内聚,跟肠胃的功能不一样,相互之间低耦合。

要是心脏突然去管消化了,那还不乱套了呀,对吧!
总之,高内聚低耦合在生活中到处都是,它们让一切变得更有序、更高效呀!。

简述模块的内聚性和耦合性

简述模块的内聚性和耦合性

简述模块的内聚性和耦合性模块的内聚性和耦合性是编程中的一个重要概念,它表明模块的内部关系和外部关系。

对于程序员而言,理解这两个概念对于编程和维护代码是非常重要的。

内聚性指模块中内部逻辑的相关性,耦合性指模块之间的联系。

因此,提高模块的内聚性和减少耦合性是提高代码可维护性,实现复用,并降低程序开发成本的关键。

内聚性是指模块中操作的相关性,也就是说,模块有能力表达自身功能的一种能力,能局部变换,全局变化不大,具有相对独立的功能,可以独立开发,属于一个软件结构的一个部分,它具有一定的功能完整性,以及能够实现软件设计功能的抽象层次和解耦的能力。

简单来说,内聚性表示一个模块内部的相互联系,模块功能间的构造关系,模块内部形成一个完整的系统,模块传输信息量小,容易实现自动化。

耦合性是指模块之间的联系,也就是说,多个模块之间有必须的联系和协作,且模块之间的变换会带来全局的变化,当模块中出现新的功能或数据结构时,它也会受到其它模块的影响,并对整个系统产生影响,存在相互依赖性。

简单来讲,耦合性表示模块之间的联系,模块之间的变换会产生联系,传输信息量大,容易产生数据分布行为,可以实现多种结构处理和多变性处理,但需要模块之间建立适当的联系,才能减少将来的维护成本和修改难度。

因此,模块的内聚性和耦合性可以更好地优化程序的编程和维护。

耦合性太强,程序不容易扩展,并且更容易出现bug,容易弄乱整个系统的逻辑结构,影响整个程序代码的可维护性;如果内聚性不够,就不能表达出模块的整体功能,导致各个模块之间未能有效地表达联系,影响了系统的复用性和可维护性。

所以,在编程过程中,要尽量保持模块的内聚性高,并尽量减少耦合性,以便提高代码的可维护性,实现复用,减少程序的开发成本。

简述模块内聚性和耦合性的分类

简述模块内聚性和耦合性的分类

简述模块内聚性和耦合性的分类模块内聚性和耦合性是软件工程中非常重要的概念。

它们可以帮助我们更好地设计和实现软件,使其具有更好的容错性、可测试性和可维护性。

模块内聚性指的是软件组件内部构成元素之间的紧密程度。

这个概念是从模块的角度来看的,模块内聚性强的系统拥有更好的可重用性和容易维护的优点。

耦合性指的是模块之间的紧密程度,它是从系统的角度来看的。

耦合性强的系统在更改结构时需要做出较大努力,因此需要考虑如何降低耦合性。

我们可以根据模块内聚性和耦合性的紧密程度,将它们分为十个类别。

1、无耦合:模块之间没有任何关联,它们之间互不影响,模块内聚性也可能很低。

2、弱耦合:模块之间有一些关联,但相互间的影响很小,模块内聚性可能较低或者较高。

3、中等耦合:模块之间有一定的关联,但仍然可以从另一种角度看其中的模块,模块内聚性中等。

4、强耦合:模块之间有较强的关联,这些关联影响模块的功能,模块内聚性可能较高。

5、紧密耦合:模块之间有非常紧密的关联,它们之间有许多重要的依赖关系,模块内聚性也很高。

6、超级耦合:模块之间有非常紧密的关联,这种情况下,模块之间几乎是紧密结合在一起的,模块内聚性也可能较高。

7、循环耦合:循环耦合是指模块之间存在密切的相互引用的关系,模块内聚性可能较高。

8、无限耦合:模块之间有无限多的关联,它们彼此之间影响非常大,模块内聚性也较高。

9、高耦合:模块之间有最紧密的关联,因此模块间的影响非常大,模块内聚性也很高。

10、非模块内聚性:由于模块之间没有任何关联,因此模块内聚性处于最低水平。

以上是模块内聚性和耦合性的分类。

这些分类可以帮助我们更好地设计和实现软件,以实现更好的可重用性和可维护性。

模块内聚性和耦合性的分类可以帮助我们清晰地理解软件结构。

我们可以根据项目的要求,选择合适的模块分类,有助于减少模块之间的耦合度,同时降低重构维护成本。

模块内聚性和耦合性分类可以帮助我们决定如何重构软件系统,以最佳化系统架构,从而使其具有更高的容错性、可测试性和可维护性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
库存
B 修改库存
修改D1
D1
库存
开发货单
删除D1
通信组合(内聚)
7.21
© 2004.7
Management Information Systems
第7章 信息系统设计
过程组合--过程内聚(procedural cohesion) •一个模块内部的各个组成部分的处理动作各不相 同,彼此没有什么关系
第7章 信息系统设计
功能组合--功能内聚(functional cohesion) •一个模块内部的各个组成部分的处理动作全都 为执行同一个功能而存在 •功能组合内聚性最高,它是一个 “暗盒”模块 例“解一个方程”,“求平方根”,“计算利息”
7.17
© 2004.7
Management Information Systems
系统设计模块之间的联结原则
•尽量采用较低的耦合形式(简单耦合和数据耦合)
•减少控制耦合
•必要时使用公共耦合,但一定要将数据控制在最少
•绝对不能采用内容耦合
7.14
© 2004.7
Management Information Systems
第7章 信息系统设计
模块的内聚性原则
•模块的组合形式
•模块组合形式的判断 •模块组合形式的比较

顺序组合 通信组合 过程组合 暂时组合 逻辑组合 偶然组合
该模块只 模块内各 次序重 执行一个 组成部分 否 控制流 要吗? 功能吗? 关系如何? 两者皆非

逻辑相 是 似吗? 否
模块组合判断树
7.28
© 2004.7
Management Information Systems
第7章 信息系统设计
第7章 信息系统设计
顺序组合--顺序内聚(sequential cohesion) •一个模块内部的各个组成部分执行的几个处理 动作具有这样的特征
•前一个处理动作所产生的输出数据是下一个处理 动作的输入数据 •顺序组合模块的内聚性较高
例: “输入并验证理货单”
7.18
© 2004.7
Management Information Systems
Management Information Systems
第7章 信息系统设计
信息系统设计
第三节 系统设计的原则
7.1
© 2004.7
Management Information Systems
第7章 信息系统设计
系统设计原则 模块之间的耦合原则 模块的内聚性原则 模块的分解原则
模块的控制范围与作用范围
第7章 信息系统设计
使用公用数据存在的问题 •公用数据没有保护,任何时候、任何程序都可 以修改,模块执行时可能出错 •不同的模块都可以修改、使用公用数据,因而 维护困难 •但存在较多的公共耦合模块时,若修改某一数 据,则很难确定哪些模块必须修改
7.11
© 2004.7
Management Information Systems
第7章 信息系统设计
偶然组合--偶然内聚(coincidental cohesion)
•一个模块内部的各个组成部分的处理动作彼 此没有任何关系 •它们是根据设计人员的个人喜好而随意混合 在一起的 •无内聚性
7.26
© 2004.7
Management Information Systems
第7章 信息系统设计
例“初始化”
7.23
© 2004.7
Management Information Systems
第7章 信息系统设计
逻辑组合--逻辑内聚(logical cohesion)
•一个模块内部的各个组成部分的处理动作在逻辑 上相似,但功能却彼此不同或无关
•内聚性低 例“会计报表”---“资金平衡表”、“固定资产 表”、“利润表”等
•模块A向模块B传递的信息控制了模块B的内部逻辑 公布成绩 成绩 优良 中
控制信息表面上是以数据形式 出现,但实质是一个标识、开关 或状态。接受信息的模块根据 该控制信息的状态作出判断
及不 确定成绩等级
7.9
© 2004.7
Management Information Systems
第7章 信息系统设计
偶然组合--偶然内聚(coincidental cohesion)
P
Q
R
S
T
B:=A; READ Cardfile;
D:=C
偶然组合(内聚)
7.27
© 2004.7
Management Information Systems
第7章 信息系统设计
模块组合判断树
功能组合
是 数据流 次序重 要吗? 是

第7章 信息系统设计
模块之间的耦合方式 • 简单耦合 • 数据耦合
• 控制耦合
• 公共耦合 • 内容耦合
7.5
© 2004.7
Management Information Systems
第7ห้องสมุดไป่ตู้ 信息系统设计
简单耦合
•如果两个模块之间仅仅存在着调用和被调用关系
•模块之间没有任何的信息传递 •两个模块的耦合程度最低
Management Information Systems
第7章 信息系统设计
数据耦合 计算水、电费 计算水、电费
水费
计算 水费
计算 电费
水费
计算 水费
计算 电费
7.8
© 2004.7
Management Information Systems
第7章 信息系统设计
控制耦合
•如果两个模块之间不仅存在着调用和被调用关系
第7章 信息系统设计
内容耦合 •如果一个模块访问另一个模块的内部数据 •使用另一个模块内部的控制信息
•一个模块调用执行另一个模块中间的部分程 序代码
•模块不符合单入口和单出口的原则
7.12
© 2004.7
Management Information Systems
第7章 信息系统设计
几种耦合的比较
7.24
© 2004.7
Management Information Systems
第7章 信息系统设计
逻辑组合--逻辑内聚(logical cohesion)
准备 Y
取平均成绩?
N 求最高成绩
算平均成绩 返回
逻辑组合(内聚)
7.25
© 2004.7
Management Information Systems
•一个模块内部的各个组成部分的处理动作都使 用相同的输入数据 •一个模块内部的各个组成部分的处理动作都 产生相同的输出数据
•内聚性低于顺序组合模块
7.20
© 2004.7
Management Information Systems
第7章 信息系统设计
通信组合--通信内聚communicational cohesion) A 购货单
模块组合形式的比较
块内联系 耦合性 可读性 可修改性 公用性 评分 功能组合 顺序组合 通信组合 过程组合 时间组合 逻辑组合 偶然组合
7.29
低 低 较低 一般 较高 高 高
好 好 较好 较好 一般 不好 坏
好 好 较好 较好 不好 坏 坏
好 较好 不好 不好 坏 坏 坏
10 9 7 5 3 1 0
7.6
© 2004.7
Management Information Systems
第7章 信息系统设计
数据耦合
•如果两个模块之间不仅存在着调用和被调用关系
•模块之间存在着数据通信
•模块之间的通信方式是数据传递或称参数交换 数据参数的个数控制在最小, 能用参数的就不用 数据结构
7.7
© 2004.7
公共耦合 •如果两个模块都和同一个公用数据域有关 •两个模块与某一个公共环境联系在一起
A
B
C 公用 数据
当需要修改 公共数据时, 与之相关的 所有模块可能 都要进行修改
D
E
假设有一个全局变量是这5个模块的公用数据,那么模块E和模块C之间存 在着公共耦合
7.10
© 2004.7
Management Information Systems
•它们受同一个控制流支配,决定它们的执行顺序
•内聚性较低 例“学籍变动管理”
7.22
© 2004.7
Management Information Systems
第7章 信息系统设计
暂时组合--暂时内聚(temporal cohesion)
•一个模块内部的各个组成部分的处理动作和时间 有关 •内聚性低,耦合性高
第7章 信息系统设计
模块之间的联系方式
•模块具有输入和输出、逻辑功能、运行程序、内部 数据 模块之间的联系方式
• 通过被调用模块的名称来调用整个模块,使其完 成一定的功能 • 一个模块直接调用另一个模块内部的数据或指令
7.4
© 2004.7
Management Information Systems
耦合形式 可读性 可维护性 扩散错误的能力 公用性 简单耦合 数据耦合 控制耦合 公共耦合 内容耦合 好 好 一般 最坏 最坏 好 好 不好 坏 最坏 弱 弱 一般 强 最强 好 好 不好 最坏 最坏
7.13
© 2004.7
Management Information Systems
第7章 信息系统设计
模块的扇入和扇出原则
模块的规模
7.2
© 2004.7
Management Information Systems
第7章 信息系统设计
模块之间的耦合原则
相关文档
最新文档