为了解决上述软件开发的问题,Royce于1970年率先向人们展示了大规模软件开发流程[7],这引起了美国国防部门的重视。作为全球最大的软件用户,美国国防部门也面临着大量的软件项目延期、超预算或质量不达标的情况。
国防部门认为必须对软件开发厂商进行有效地管理。特别是把重大软件密集的武器装备系统交付给一个或多个承包商开发时,由于项目的时间周期长,开发人员会发生变动,费用和进度难以控制等原因,国防部门必须为项目经理们和承包商提供一个可执行、可检查、可审计和评审、可跟踪、可追溯的软件项目管理办法。
国防部门提出的思路是严格划分各个阶段的工作,并对各个阶段的工作成果(或称提交物)进行有效的评审。评审通过后,方能进入下一阶段工作,国防部门才能给予相应的经费支持。否则就可能会取消项目,追回先前的投资等。这样就仿造硬件的研发过程提出了如图4-11所示的瀑布式模型[8]。
图4-11 美国国防系统的硬件和软件开发的生命周期(瀑布式模型)(www.xing528.com)
在软件的开发过程中,设立适当的里程碑(milestone)和基线(Baseline),对提交物进行评审。图4-11设立了三个基线:功能基线、分配基线和产品基线;给出了各阶段需要执行的评审,包括软件和硬件执行的评审,以及针对软件开发的评审。
基线表达了重要的里程碑或结点,表明需要对前期成果进行冻结或批准,然后进入下一阶段的工作,相应地,采购方以基线为准拨付项目款项。基线上的评审和审计工作决定着当前产品的质量,也就决定了后续工作的输入是否正确,是否具有风险。
检查、评审和跟踪开发过程中间产生的提交物,称为中间产品,例如文档、源代码、开发和测试记录和其他人工制品(区别于机器产生的,如编译器编译出的机器代码)等。中间产品的质量决定了最终产品的质量。
所谓“瀑布式”工作流程,即要求开发过程中每个阶段的活动所获得中间产品要通过评审后,才能进入下一个工作阶段。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。