如何降低软件开发的复杂性
一、什么是复杂性
Ousterhout 教授认为,软件设计的最大目标,就是降低复杂性(complexity)。 所谓复杂性,就是任何使得软件难于理解和修改的因素。
二、如何度量软件的复杂性
软件复杂性度量的参数主要包括:
1. 规模,即总共指令数或源程序行数。
2. 难度,通常由程序中出现的操作数的数目所决定的量来表示。
3. 结构,通常与程序结构有关的度量来表示。
4. 智能度,即算法的难易程度。 软件复杂性主要表现在程序的复杂性。程序的复杂性主要指模块内程序的复杂性。
软件复杂性的度量方法有:
1、代码行度量法:以源代码行数作为程序复杂性的度量。
2、McCabe度量法:一种基于程序控制流的复杂性度量方法。