阅读下列关于程序测试计划的叙述,在回答问题1至问题4。
某程序P包括A~H八个模块,其结构如图1-1所示,其中模块D与G需要调用公共模块E。
现计划采用自顶向下方法执行程序P的测试项目,该项目包括多个作业。设作业A的任务是对模块A进行测试,作业B的任务是对模块B进行测试,…,依次类推。作业P的任务是对程序P进行整体测试。表1-1列出了该项目各作业计划所需的天数、至少必须的天数(即再增大花费也不能缩短的天数)以及每缩短1天测试所需增加的费用。
表1-1
作业 | 计划所需天数 | 至少必须的天数 | 每缩短1天所需 增加的费用(元) |
A | 2 | 1 | 500 |
B | 5 | 3 | 1000 |
C | 7 | 4 | 2500 |
D | 4 | 3 | 2000 |
E | 4 | 2 | 2000 |
F | 3 | 2 | 1500 |
G | 5 | 4 | 2500 |
H | 4 | 2 | 2000 |
P | 5 | 5 |
【问题4】 假设该测试项目已按原计划部署,到了第7天末,发现模块A与B已按计划测试完成,但模块F却刚测试完,比原计划延迟了2天。为了保证该项目仍能在原计划总天数内完成,则至少应增加多少费用,应缩短哪些作业多少天 |
参考答案:
解析:[解答要点] 应增加2500元,将作业G缩短1天
[分析]: 在作业F延迟两天的情况下,沿路径0-1-3-4-5-6-7以及0-1-3-4-6-7所需的天数均为: 2+5+5+4+5=21天 为了能按原计划20天完成任务,应将这两条路径均压缩1天。 注意作业P是不能压缩的(至少需要5天)。 若单独将作业H压缩1天(需要增加2000元),还不能达到目的。因为路径 0-1-3-4-5-6-7仍需要21天。若再将作业E压缩1天(需要增加2000元),则可以按原计划完成项目,但需要增加的费用共4000元。 若单独将作业G压缩1天(需要增加费用2500元),则这两条路径均缩短了1天,可以按原计划完成任务。 从节省费用看,应增加2500元,将作业G压缩1天。