软考-软件设计师:结构化开发方法-模块设计

321页

模块的概念

模块是组成系统的基本单位,它的特点是可以组合、分解和更换。系统中的任何一个处理功能都可以看成是一个模块。

根据功能具体化程度的不同,模块可以分为:

  • 逻辑模块:在系统逻辑模型中定义的处理功能
  • 物理模块:是逻辑模块的具体化,可以是一个计算机程序、子程序或若干条程序语句,也可以是人工过程的某项具体工作

4个要素

  • 输入和输出。模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那里取得输入,进行加工后再把输出返回给调用者。
  • 处理功能。指模块把输入转换成输出所做的工作。
  • 内部数据。指仅供该模块本身引用的数据。
  • 程序代码。指用来实现模块功能的程序。

前两个要素是模块外部特性,反映了模块的外貌
后两个要素是模块的内部特性

在结构化设计中,主要考虑的是模块的外部特性,对其内部特性只做必要了解,具体的实现将在系统实施阶段完成。

设计

  • 保持模块的大小适中。大的模块常常使系统分解得不充分,其内部可能包含了若干部分的功能。过小的模块有可能降低模块的独立性,造成系统接口的复杂性。

  • 深度、宽度适中

  • 模块的作用域应该在模块之内,数据的作用范围在模块内部,不能让外部直接访问、修改数据

  • 功能应该是可预测的,明确功能

  • 高内聚、低耦合

  • 扇入、扇出系数要合理。一个模块直接调用其他模块的个数称为模块的扇出系数;反之,一个模块被其他模块调用时,直接调用它的模块个数称为模块的扇入系数。模块的扇入、扇出系数必须适当。经验表明,一个设计得好的系统的平均扇入、扇出系数通常是3或4,一般不应超过7,否则会引起出错概率的增大。但菜单调用型模块的扇入与扇出系数可以大一些,公用模块的扇入系数可以大一些。

考点

作用范围应该在其控制范围之内

题

在软件设计阶段进行模块划分时,一个模块的()。
A.控制范围应该在其作用范围之内
B.作用范围应该在其控制范围之内
C.作用范围与控制范围互不包含
D.作用范围与控制范围不受任何限制

答案

B


原文出处:/show_1GWy4tCZOCR.html