1.模块化
模块是数据说明、可执行语句等程序对象的集合。模块可以单独被命名,而且可通过名字来访问,例如,过程、函数、子程序、宏等都可作为模块。
2.抽象与逐步求精
软件工程的每一步都是对软件解法的抽象层次的一次精化。抽象与逐步求精是紧密相关的。
3.信息隐蔽和局部化
信息隐蔽是指一个模块将自身的内部信息向其他模块隐藏,以避免其他模块不恰当的访问和修改。只有那些为了完成系统功能不可或缺的数据交换才被允许在模块间进行。
4.模块独立性
模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能。它具有如下优点。具有独立模块的软件比较容易开发。这是由于能够分割功能而且接口可以简化。当许多人分工合作开发同一个软件时,这个优点尤其重要。
独立的模块比较容易测试和维护。这是因为修改设计和程序的工作量相对较小,错误传播范围小,需要扩充功能时只需调用模块。
模块的独立程度可以由耦合和内聚两个定性标准度量,具体如下所示。
(1)耦合
耦合是对一个软件结构内各个模块之间互连程度的度量。耦合强弱取决于模块间接口的复
杂程度、调用模块的方式,以及通过接口的信息。
根据耦合程度由弱到强,可以将耦合分为以下几种:
y 非直接耦合;
y 数据耦合;
y 控制耦合;
y 公共环境耦合;
y 内容耦合;
y 标记耦合;
y 外部耦合。
总之,耦合是影响软件复杂程度的一个重要因素。通常采用的原则是:尽量使用数据耦合,
少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。
(2)内聚
内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩
展。理想内聚的模块只做一件事情。
根据内聚程度由低到高,可以将内聚分为以下几种:
y 偶然内聚;
y 逻辑内聚;
y 时间内聚;
y 过程内聚;
y 通信内聚;
y 信息内聚;
y 功能内聚。
标签:信息隐蔽,模块化,逐步求精,模块,内聚,耦合,软件,软件测试 From: https://blog.51cto.com/u_15605684/7447236