案例6.1 程序规模估计示例

 
 

 

问题提出:
  有很多种方法可以在开发程序之前估计出程序的规模,但是所有的规模测量方法都涉及大量的判断。首先要查看所开发程序的需求,然后把新程序按程序的规模等级与从前编写的程序排列在一起。最后,判断新程序的规模可能落于从前编写的程序的哪个规模范围,进而估计了可能的代码行。举例说明使用此方法进行程序规模估计。

问题解答: 

6.3                 学生Y的程序规模排序清单
学生         学生Y               日期       9/30/96         
教员         先生Z               课程          CS1          

程序

时间

代码行

分钟/代码行

功能

4

93

10

9.30

简单的While-loop

2

69

11

6.27

小的Case语句

3

114

14

8.14

大的Case语句

5

95

14

6.79

中等的repeat-until

6

151

18

8.39

小的链表

1

158

20

7.90

小的计算

  6.3给出了这个规程的示例。这是学生Y以前所编写的程序清单,按规模从小到大的次序排列。这个清单给出了以代码行表示的程序规模、以分钟表示的开发时间、以分钟/代码行魏单位的效率以及程序功能的简单描述。通过查看表中的数据,并且考虑已知的有关要开发的程序的信息,就能判断出新程序处于表中哪个规模等级,这将帮助你估计新程序的规模范围。根据过去每行代码用的历史数据,就能估计出开发新程序所要用的时间。
  例如,假设学生Y计划编写一个含有中度复杂的While循环的新程序。通过查看表6.3中的数据,她估计这个程序比程序514行代码)要大,比程序120行代码)要小。这样,她可能会取这两个的平均数,即(14+20/217LOC