正确答案
所谓模块(module),是指可以分解、组合及更换的单元,是组成系统、易于处理的基本单位。在管理信息系统中,任何一个处理功能都可以看作一个模块。
模块划分的原则:
(1)低耦合,高聚合原则
耦合是表示模块之间联系的程度。紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。模块耦合度越低,说明模块之间的联系越少,相互间的影响也就越小,产生连锁反应的概率就越低,在对—个模块进行修改和维护时,对其他模块的影响程度就越小,系统可修改性就越高。聚合则用来表示一个模块内部各组成成分之间的联系程度。一般说来,在系统中各模块的聚合度越大,则模块间的耦合度越小。耦合度小使得模块间尽可能相对独立,从而各模块可以单独开发和维护。聚合度大使得模块的可理解性和维护性大大增强。因此,在模块的分解中应尽量减少模块的耦合度,力求增加模块的聚合度。
(2)作用范围应在控制范围内
一个判定的作用范围是指所有受这个判定影响的模块。按照规定:若模块中只有一小部分加工依赖于某个判定,则该模块仅仅本身属于这个判定的作用范围;若整个模块的执行取决于这个判定,则该模块的调用模块也属于这个判定作用范围,因为调用模块中必有一个调用语句,该语句的执行取决于这个判定。一个模块的控制范围是指模块本身及其所有的下级模块的集合。
分折判定的作用范围和模块的控制范围之间的关系,可以较好地处理系统的模块关系,合理地分解模块。在分解模块时要求:
1)分解模块时作用范围与控制范围的要求
①判定的作用范围应该在判定所在模块的控制范围之内。
②判定所在模块在模块层次结构中的位置不能太高。
即:最理想的模块划分是判定范围由判定所在模块及其直接下级模块组成。
2)当出现作用范围不在控制范围之内时的纠正措施
①把判定所在的模块合并至上层模块中,或从低层模块移到高层模块使判定的位置提高。
②把受判定影响的模块移到模块控制范围之内。
(3)合理的模块扇入和扇出数
模块的扇入表达了一个模块与其直接上级模块的关系。模块的扇入数是指模块的直接上层模块的个数。模块的扇入数越大,表明它要被多个上级模块所调用,其公用性很强,说明模块分解得较好,在系统维护时能减少对同一功能的修改,因此要尽量提高模块的扇入数。模块的扇出表达了一个模块对它的直接下属模块的控制范围。模块的扇出数是指一个模块拥有的直接下层模块的个数。模块的直接下属模块越多。表明它要控制许多模块,所要做的事情也就越多,它的聚合度可能越低。所以要尽量把一个模块的直属下级模块控制在较小的范围之内,即模块的扇出系数不能太大。一般来说,一个模块的扇出系数应该控制在7以内,如果超过7则出错的概率可能会加大。
(4)合适的模块大小
如果一个模块很大,那么它的内部组成部分必定比较复杂,或者它与其他模块之间的耦合度可能比较高,因此对于这样一个较大的模块应该采取分解的方法把它尽可能分解成若干个功能单一的较小的模块,而原有的大模块本身的内容被大大减少并成为这些小模块的上级模块。一般来说,一个模块中所包含的语句条数为几十条较好,但这也不是绝对的。在分解一个大模块时,不能单凭语句条数的多少,而主要是按功能进行分解,直到无法做出明确的功能定义未知。在分解时既要考虑到模块的聚合度,又要考虑到模块之间的耦合度,在达两者之间选择一个最佳方案。