HomeWork3.29

发布时间 2023-03-29 14:09:21作者: mhw_fxt

一 、什么是模块化?为什么要模块化?

解决软件的复杂性问题,或说降低软件的复杂性。不至于随着变大而不可控而失败,使其可控,可维护,可扩展。模块化是以分治法为依据。简单说就是把软件整体划分,划分后的块组成了软件。这些块都相对独立,之间用接口(协议)通信,每个块完成一个功能,多个块组合可以完成一系列功能。
一、提高工作效率
比如在项目A中你写一个模块,A完工后启动了项目B,在B中就可以直接复用项目A的模块了。一个可复用的软件可以为将来节省费用,被服用的频率越高,组件的初始开发成本就越低。
二、提高软件质量
可复用的软件总比不能复用的有更多的质量保障。因为可复用的软件在不断的复用过程中把一些bug,缺陷都很快的排除了。因此可复用的软件一定是利于系统的可维护性的。

二、衡量模块独立的定性标准是什么?

这两个标准分别是耦合性和内聚性。
(1)耦合性,也称块间联系,指软件系统结构中各模块间相互联系紧密程序的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
(2)内聚性,又称为块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量,如果一个模块内各元素联系得越紧密,则它的内聚性就越高。
耦合性和内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚和低耦合,提高模块的独立性。

三、如何理解信息隐藏和局部化?

信息隐藏原理:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。
局部化:是指把一些关系密切的软件元素物理地放得彼此靠近。
如果在测试期间和以后的软件维护期间需要修改软件,使用信息隐藏原理作为模块化系统设计的标准就会带来极大好处。