系统为什么要模块化

2023-09-23 22 0

 

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

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

1. 更高的可靠性     

2. 更稳定的结构

3. 更强的维护性

4. 代码可重用性更强

5. 缩短项目开发周期

二、系统模块化的原则:

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

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

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

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

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

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

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

内聚度:

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

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

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

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

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

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

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

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

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

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

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

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

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

耦合度:

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

1、耦合内容的数量:

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

2、模块的调用方式:

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

3、模块间的耦合类型:

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

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

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

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

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

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

三、系统模块化方法

基于需求功能划分:

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

基于系统层次划分:

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

基于专业领域划分:

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

 

代码编程
赞赏

相关文章

数商云食品行业解决方案:新技术加持食品行业,为企业快速发展提供有力支撑
星期零斩获2021新消费领域“投资界50强企业”和“中国食品工业创新品牌”奖项
2022-2028年中国食品产业园区行业市场运行格局及发展策略分析报告
工业互联网业务知识
劲牌公司荣获2020年度“中国食品工业协会科学技术奖”特等奖
面试3_:不修改数组找出重复的数字