问题提出:
有很多种方法可以在开发程序之前估计出程序的规模,但是所有的规模测量方法都涉及大量的判断。首先要查看所开发程序的需求,然后把新程序按程序的规模等级与从前编写的程序排列在一起。最后,判断新程序的规模可能落于从前编写的程序的哪个规模范围,进而估计了可能的代码行。举例说明使用此方法进行程序规模估计。
问题解答:
表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中的数据,她估计这个程序比程序5(14行代码)要大,比程序1(20行代码)要小。这样,她可能会取这两个的平均数,即(14+20)/2=17LOC。
|