系统为什么要模块化

 

一、系统模块化的重要性:

对于目前绝大部分的项目而言,系统模块化的重要性不言而喻。一个良好的模块划分能够使得系统具有以下的优点:

1. 更高的可靠性     

2. 更稳定的结构

3. 更强的维护性

4. 代码可重用性更强

5. 缩短项目开发周期

二、系统模块化的原则:

依据软件设计的模块化、抽象、信息隐藏和局部分等原则,能够得出模块化的独立性概念。

所谓模块独立性,即模块内部逻辑相对独立完整单一。

模块间联系尽可能少,详细表现为高内聚低耦合。

符合高内聚低耦合的模块,通常功能完整独立,数据接口简单,程序易于实现。

良好的结构划分,可以使开发者更好的理清业务逻辑结构,提取出公共的模块,系统模块化从而提高代码的可重用性。

易于理解维护,同一时候也限制了错误的作用范围。

使错误易于排除,因而可使软件开发速度快,质量高。

内聚度:

内聚度是指模块内部的联系紧密程度。

联系越紧,则内聚度越高,模块独立性越强,系统越易于理解维护。具有良好内聚度的模块应能较好的满足于信息局部化的原则,功能完整单一。

同时,模块的高内聚必定导致模块的低耦合度。

理想的情况是:一个模块仅仅使用局部数据变量,实现一个完整功能。

按由弱到强的顺序。模块的内聚度可分为下面几类:

1. 偶然内聚:模块内的各个任务没有什么有意义的联系,仅于偶然位于同块。

2. 逻辑内聚:一个模块完毕的任务在逻辑上属于同样或相似的一类(如依据參数不同。模块输出多种结果)。这样的内聚的模块存在一些致命的问题。

如修改困难、影响范围大、内部推断陷阱多、性能下降等。模块内部修改,须要考虑到其他模块的调用影响;模块内部须要判别调用者,使得模块外部间的联系增加;内部推断复杂,容易产生陷阱;需要装载模块过多,导致性能下降等等。

3. 时间内聚:一个模块中包括的任务须要在同一时间内运行(如初始化,结束等所需的操作)。

4. 过程内聚:一个模块内的各个处理元素是相关的。并且必须按固定的次序运行,表现为有次序的流程,面向过程化的思维很多是采用这样的方式进行模块/函数的划分。

5. 通信内聚:一个模块中的各处理元素必须要引用共同的数据。

6. 顺序内聚:一个模块内各处理元素关系密切,必须按规定的处理次序顺序运行,后运行的语句/段往往依赖先运行的语句/段。

7. 功能内聚:一个模块仅完毕一个单一的功能。且该模块的全部部分是实现这一功能所必须的,没有多余的语句。功能内聚是内聚度最高的一种模块类型,结构紧凑。逻辑清晰。易于理解。便于维护,可靠性强,稳定性高,因功能单一,复用性高。在划分模块的时候,应追求此类型。

耦合度:

耦合度是从模块外部考察模块的独立性程度,用来衡量多个模块间的相互联系。普通情况下耦合度应从下面三方面考虑:

1、耦合内容的数量:

模块间发生联系的数据和代码的多少,多则高,少则低。

2、模块的调用方式:

模块间代码数据共享的方式:直接调用、依赖调用、载入调用等。

3、模块间的耦合类型:

耦合类型有下面几种方式:

1. 独立耦合:模块间彼此独立,没有直接联系,且属于同个软件系统或隶属同一上层模块。

2. 数据耦合:模块间彼此交互数据,接受返回值。传递数据參数,通常应用在保持模块间的关系为数据耦合。

3. 控制耦合:模块间传递的是控制參数而非数据參数,用于控制另一个模块的处理逻辑。这说明另一个模块内部存在多个并列的逻辑路径,通过提高被调用模块的内聚性,能够彻底的去除这样的联系。因为添加了设计理解的复杂度。应避免使用该耦合方式。

4. 公共耦合:又称公共环境耦合或数据区域耦合。若模块间对同一数据区域进行存取操作,则模块间的关系为公共耦合。

5. 内容耦合:一个模块直接访问另一个模块内部代码或数据,出现内容耦合。内容耦合严重破坏了模块的独立性和系统结构化,代码互相纠缠,执行错综复杂。不建议使用。

三、系统模块化方法

基于需求功能划分:

依据用户需求归类的不同,对模块进行大粒度的划分,如用户管理模块、业务模块、订单流程模块等。

基于系统层次划分:

依据模块上下级,同层类别的关系进行模块划分,如展现层,业务层,数据层等。

基于专业领域划分:

依据解决的问题域的不同。对模块进行划分,如人机交互领域、数据库领域、网络通信领域、数据加解密、图形图像等。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JesonXiao1221

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值