早期阶段软件规模估算方法研究与应用
作者单位:国防科学技术大学
学位级别:硕士
导师姓名:何鸿君
授予年度:2011年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:软件生命周期早期阶段需要对软件的规模进行估算,以便于开发方合理安排项目资源,软件立项评审时为确定项目经费,需要更快速高效的早期估算方法来获取软件规模。本文研究早期估算方法以及适合于软件立项评审的快速早期估算方法。 目前软件规模度量的主流方法是功能点方法。在软件生命周期的早期阶段进行估算时,往往受到需求文档不完整、不确定性高、时限要求紧等因素的限制,标准功能点方法并不适用,需要利用早期功能点方法进行估算。针对不同类型的项目,需要选择相应合适的估算方法来进行估算。 立项评审是软件生命周期早期的重要环节,评审的时间通常很短,尤其是大型软件项目的评审,采用标准的早期估算方法耗时长,不能满足实际需求。需要研究更快速的早期估算方法。 围绕软件早期估算和快速估算方法,本文主要做了以下工作: 1、对主流早期功能点方法适用性进行了研究,结果表明不同的方法适用于不同的软件领域。MIS系统适用的方法有COSMIC早期估算方法和NESMA早期估算方法;实时系统适用的方法有COSMIC早期估算方法;E&Q方法可以与COSMIC、IFPUG方法结合适用于MIS系统和实时系统;NESMA方法的一种简化方法则更适用于WEB系统。 2、对几种早期估算方法的有效性进行了验证。采用3个MIS系统和2个实时系统对以上几种早期估算方法进行了验证,将这些项目的标准方法度量的规模与早期估算方法得出的规模进行比对,早期估算方法估算与标准方法估算相比时间节省36%-60%,平均值为46.4%;估算结果差异为5%-43%,平均值为13.47%。 3、针对立项评审时间紧、要求高的特点,提出了基于专家经验和抽样的早期估算方法。将软件分解为不同的软件模块,由开发方对各模块规模和成本进行预估并申报经费,估算人员利用专家经验,根据软件的模块划分以及需求文档详细程度对软件模块进行归类,估算人员对各类软件组件随机抽样进行详细度量,再利用快速近似估算方法估算出软件项目的整体规模。 4、对基于专家经验和抽样的快速早期估算方法进行了试用,结果表明该方法是可行的。将该方法用于某大型项目软件系统的评审,该项目涉及21个软件,390个软件模块,21个承研单位,软件涉及商用系统、实时系统和这两种系统的混合系统,在评审中运用该方法,既快速准确地得出了软件的规模,又为甲乙双方迅速达成一致提供了依据。实际估算时间大幅减少,甲乙双方对结果认同较高度。