系统结构设计原则、聚合与耦合

目录

一、系统结构设计原则

1、分解-协调原则

2、自顶向下的原则

3、信息隐蔽、抽象的原则

4、一致性原则

5、明确性原则

6、模块的扇入系统和扇出系数要合理

7、模块的规模适当

8、考点:系统结构设计原则的具体项目

二、聚合与耦合(重点)

1、聚合与耦合是衡量模块独立性的标准

2、聚合是衡量模块内各个元素的精密程度

3、耦合是衡量模块之间的紧密程度

4、考点

(1)七种聚合的排列顺序、七种耦合的排列顺序

(2)七种聚合的概念理解、七种耦合的概念理解

5、聚合

(1)偶然聚合

(2)逻辑聚合

(3)时间聚合

(4)过程聚合

(5)通信聚合

(6)顺序聚合

(7)功能聚合

6、耦合

(1)非直接耦合

(2)数据耦合

(3)标记耦合

(4)控制耦合

(5)外部耦合

(6)公共耦合

(7)内容耦合

7、高内聚低耦合

三、聚合与耦合考点

1、确定聚合类型/聚合程度高低

2、确定耦合类型/耦合程度高低

3、模块设计的原则


一、系统结构设计原则

1、分解-协调原则

  • 在整个软件生命周期中概要设计将系统划分成很多个小的模块;
  • 这个分解的过程就是将系统看做一个整体,根据系统工程的思想,自顶向下逐层进行分解。
  • 分解出来的各个模块会共同协调完成特定的功能。

2、自顶向下的原则

3、信息隐蔽、抽象的原则

  • 通过封装技术、把一些比较机密的信息封装在模块内,给用户看到的只是输入和输出的信息。这个数据的处理逻辑是如何实现的,用户是看不到的。
  • 把具体的对象、行为、特征,进行分类总结后一步一步抽象成类、或者更高层的对象。

4、一致性原则

5、明确性原则

6、模块的扇入系统和扇出系数要合理

  • 模块的扇入系数:是指直接调用该模块的上级模块的个数,扇入大,说明这个模块的通用性越强,重复利用的机会就比较高。
  • 模块的扇出系数:是指该模块直接调用的下级模块的个数。扇出大表示模块的复杂度高,需要控制和协调过多的下级模块。扇出系数不宜过大或过小,不然模块划分就会有些问题。

7、模块的规模适当

  • 软考中的参考值是代码不超过500行。

8、考点:系统结构设计原则的具体项目

 

二、聚合与耦合(重点)

 

1、聚合与耦合是衡量模块独立性的标准

2、聚合是衡量模块内各个元素的精密程度

3、耦合是衡量模块之间的紧密程度

4、考点

(1)七种聚合的排列顺序、七种耦合的排列顺序

(2)七种聚合的概念理解、七种耦合的概念理解

(3)考察方式:题干给具体的场景描述,让考生判定具体属于哪一种聚合或者耦合。

5、聚合

(1)偶然聚合

  • 指的是模块完成动作之间的元素没有任何的关系,或者说仅仅是一种非常松散的关系。
  • 简单理解就是把一些代码元素放到了这个模块中,但他们与这个模块功能的实现没有必然的关系。

(2)逻辑聚合

  • 指的是模块内部的各个组成,在逻辑上有相似的处理动作,但功能用途上彼此无关。

(3)时间聚合

  • 强调的是模块内部的各个组成部分所包含的处理动作,必须在同一时间执行。

(4)过程聚合

  • 指的就是模块内部各组成部分所完成的动作虽然没有一个必然的联系,但必须按照特定的次序完成。
  • 简单理解就是完成一件事情,先后动作一定要按事先预定好的要求来。

(5)通信聚合

  • 指的是模块中各个部分完成的动作都使用了同一输入数据,或者产生了同一输出数据。

(6)顺序聚合

  • 模块内的各个部分,前一部分动作的输出是后一部分动作的输入。各部分的执行顺序是有先后顺序的,前一部分的执行结果会影响到后一部分。

(7)功能聚合

  • 聚合程度是最强的,也是程序所追求的聚合状态。
  • 指的是模块内部各个组成部分都为同一功能服务。换句话讲,就是这个模块内缺失任意一部分,这个功能就无法实现。

6、耦合

(1)非直接耦合

  • 两个模块之间没有必然直接的联系。
  • 是通过主模块的控制和调用实现联系的,所以两个模块间的独立性会比较好。
  • 所以修改其中一个模块时,无需考虑另一个模块。

(2)数据耦合

  • 两个模块之间有直接的关系。
  • 两个模块之间是通过数据参数交换信息的,也就是说两个模块之间存在通信。

(3)标记耦合

  • 两个模块之间是通过一组数据结构的子结构来传递信息记录的。

(4)控制耦合

  • 两个模块之间传递给彼此的信息包含有控制信息。

(5)外部耦合

  • 两个模块之间通过一个全局简单变量进行数据的传送。

(6)公共耦合

  • 两个模块之间有一个公共的数据区域来传递信息。

(7)内容耦合

  • 一个模块执行的时候需要跑到另一个模块的内部去获取信息。
  • 耦合程度是最高的。

7、高内聚低耦合

  • 符合这个标准,意味着模块的独立型好,后期的可维护性就比较高。

三、聚合与耦合考点

1、确定聚合类型/聚合程度高低

 
  • 一个模块中包含多个功能肯定不是功能聚合,例如题中该模块分别实现了 读、修改、存回三个功能。
  • 同一时间执行动作才是时间聚合,题干中有先后,所以肯定不是时间聚合。
  • 逻辑聚合需要各个部分有相似的处理动作,读、些、修改很明显没有类似的处理动作。
  • 过程聚合指的就是模块内部各组成部分所完成的动作虽然没有一个必然的联系,但必须按照特定的次序完成。题干中必须先读出产品信息,才能进行修改,修改完才能存回数据库。
  • 高聚合模块独立性才好,过程聚合不是最高的聚合,所以模块独立性也不好。

2、确定耦合类型/耦合程度高低

3、模块设计的原则

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值