一种基于过程数据的软件项目成本测定方法及系统技术方案

技术编号:3847431 阅读:167 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于过程数据的软件项目成本测定方法及系统,属于软件工程领域,该方法全面考虑了软件项目过程中所存在的各种成本驱动因子及其不确定性信息,获取当前项目各成本驱动因子取值的概率分布;建立测定模型库,并根据历史项目的成本驱动因子数据校正选定测定模型的参数,得到参数的概率分布;抽样生成测定模型实例与成本驱动因子实例,仿真出软件项目成本,并设定抽样实验次数,进行重复的软件项目成本仿真实验;统计出软件项目成本仿真实验产生的结果,测定出成本信息。本发明专利技术的系统实现了自动化的处理,普通软件开发人员可通过该系统方便地测定软件项目成本、认识软件项目成本的不确定性、识别各种成本预算水平所对应的风险。

【技术实现步骤摘要】

本专利技术属于计算机软件工程领域,涉及软件项目过程中成本测定技术,特别涉及一种 计算机软件项目成本的测定方法及系统。
技术介绍
计算机诞生以来,其应用已经深入到航天、金融、制造、通信、能源、医疗、教育等 各领域,人们的工作与生活越来越多地依赖计算机软件。人们不仅需要计算机软件实现更 多的功能,也对软件的易用性、可靠性、安全性、用户体验等方面提出了更高的要求。为 满足人们对计算机软件越来越多且越来越高的需求,软件工程应运而生。软件过程被定义成一系列偏序过程步骤,每个步骤一般包括产品、人员、计算机 资源、组织结构、约束等(请参见文献Carlo Montangero, Jean-Claude Demiame, Badara Ali Kaba, and Brian Warboys. The software process: Modelling and technology. In Derniame et al. . Pages 1—14.禾口 CMMI Product Team. Cmmi for development, version 1.2 - improving processes for better products. Technical Report CMU/SEI-2006陽TR-008, SEI, CMU, 2006.)。 一软件过程可以通过各种数据进行表述,这些反映软件过程的数据可以存储在软件过 程管理数据库中,形成历史项目数据(请参见文献Jones 2000, ISBSG; Capers Jones, Software Assessments, Benchmarks, and Best Practices, Addison-Wesley Professional: 2000, ISBSG, www.isbsg.org),这些数据包含了多种成本驱动因子。由于计算机软件的目标是为用户创造价值,并且在软件的开发与维护过程中人们必须在资源(如人力、物力、时间)有限的情况下做出适当的决策,经济学(即研究人们如何在资源有限的情况下做出决策的一门科学)成为软件工程所需要运用的一门重要科学。 而在软件工程中为做出符合经济学的决策,最核心的一项活动便是软件项目成本测定。软件项目成本测定是对软件过程中成本属性的预测,由于软件项目成本中绝大部分是 人力成本,软件项目成本测定通常指对工作量(人力成本)的测定。软件项目成本测定对软件项目的重要性体现在是分析软件项目可行性、制定软件项目预算、以及软件项目涉 众进行协商的基础,是权衡软件开发策略重要依据,也是改进软件过程并提高生产率重要 依据。软件项目成本测定的复杂性,首先体现在软件开发过程中有多种成本驱动因子(如软件规模、软件复杂度、开发人员经验、开发工具等)对软件项目成本产生复杂的影响(请 参见文献Boehm 1981, Johns 2000, ISBSG)。因此,现有的很多成本测定方法通过建立成 本测定模型的方式,明确地描述软件项目成本驱动因子及其与软件项目成本间的联系,以 帮助人们进行测定。这些已有的测定模型主要包括类比模型(参见文献Sh印perd and Schofield 1997)、回归模型(参见文献Boehm 1981; Dr邻er and Smith 1981)、分类回归 树(参见文献Briand and Wust 2001)、人工神经网络(参见文献Shukla 2000)等。但是软件项目成本测定还面临一项核心的困难没有得到很好的解决,即软件项目成本 测定的不确定性。在软件项目的各个阶段存在着各种不确定性,如项目的涉众、软件需 求的模糊与遗漏、需求变化、商业构件适用性、产品复杂度、体系结构方案、系统外部接 口、人员流动性等。软件项目成本测定是在这些不确定性的环境下做出的,并且测定结果 的偏差幅度或不确定性可随着项目的进展而逐渐降低。不确定性是软件项目成本测定的一项本质属性,并且项目管理人员通常不知道如何进 行正确的测定,特别是不能正确地处理成本测定的不确定性。在软件项目早期,软件项目 的成本与进度有着很高的不确定性,很多项目之所以失败就是因为在项目管理中将这些不 确定性当作不存在。软件项目成本测定的不确定性通常引发或加重了一系列具体的问题, 如难以在项目早期进行测定、难以评估成本风险、测定结果难以被客户接受、测定模型应用范围狭窄等。目前,软件工程中特别是软件项目成本测定领域,有以下亟待解决的问题1)如何在 软件演进过程中,特别是软件过程早期软件需求以及成本驱动因子都存在较高不确定性的 情况下,更好地在成本测定中处理这些不确定性的信息;2)如何帮助项目涉众正确认识 软件项目成本的不确定性,评估软件项目成本超支的风险,从而为软件项目成本预算、计 划与成本控制提供更好的支持。目前还没有一种方法或系统,可以扩展普通的测定模型, 一致地处理软件项目成本建模和成本驱动因子取值的不确定性,产生软件项目成本可能的 概率分布,帮助使用者正确认识软件项目成本及其风险。
技术实现思路
针对软件项目成本测定面临的处理不确定性的困难,以及现有软件项目成本测定方法 的不足,本专利技术全面考虑了软件过程中所存在的各种成本驱动因子,提出一种软件项目的 成本测定方法和系统。其目的在于明确地处理软件项目成本测定模型以及软件过程中成本 驱动因子的不确定性信息,测定出某个软件项目成本的概率分布,并产生软件项目成本预5算与相应成本超支风险的对应表。 本专利技术的技术方案概述如下一种基于过程数据的软件项目成本测定方法,包括以下步骤1) 加载成本驱动因子属性库,该成本驱动因子属性库存储软件过程中各种对成本有 影响的成本驱动因子,对所述各成本驱动因子用设定的属性进行描述,所述设定的属性是 以概率分布形式描述;2) 加载成本测定模型库,该成本测定模型库存储各种成本测定模型,定义成本驱动 因子及属性与软件项目成本间的关系;3) 采集软件过程管理数据库中历史项目中的项目属性及成本驱动因子数据建立历史 项目数据库,并根据历史项目的成本驱动因子数据校正从成本测定模型库选定模型的参 数,得到参数的概率分布;4) 设定当前项目各成本驱动因子取值的概率分布;5) 对成本驱动因子取值进行抽样,生成成本驱动因子实例,对模型参数及属性库中 成本驱动因子的属性进行抽样,生成测定模型的实例;.6)根据生成的测定模型实例与成本驱动因子实例,仿真出该抽样实验下的软件项目 成本,并设定抽样实验次数,进行重复的软件项目成本仿真实验;7)根据软件项目成本仿真实验产生的结果,测定软件项目的成本,输出成本信息。 所述步骤l)在该属性库中的每个成本驱动因子设定了6项属性,包含l)名称;2) 描述,即对驱动因子含义的解释;3)可能的等级,即驱动因子可能取值的各种不同的等 级或状态。 一个成本驱动因子可能选取的等级值,由最低、最可能与最高三个取值来描述。 如软件系统的可靠性要求,可以是低、中、高;4)等级的选取规则,即在什么样的情 况下,选取什么等级。如当软件系统的运行可能带来巨大财务损失时,对该软件系统的 可靠性要求应该是"高";5)生产率影响范围的可能取值,即该因子在最大与最小取值 情况下,对生产率影响的差别。如可靠性非常低的软件相对于本文档来自技高网
...

【技术保护点】
一种基于过程数据的软件项目成本测定方法,包括以下步骤: 1)加载成本驱动因子属性库,该成本驱动因子属性库存储软件过程中各种对成本有影响的成本驱动因子,对所述各成本驱动因子用设定的属性进行描述,所述设定的属性是以概率分布形式描述;   2)加载成本测定模型库,该成本测定模型库存储各种成本测定模型,定义成本驱动因子及属性与软件项目成本间的关系; 3)采集软件过程管理数据库中历史项目中的项目属性及成本驱动因子数据建立历史项目数据库,并根据历史项目的成本驱动因子数据校正 从成本测定模型库选定模型的参数,得到参数的概率分布; 4)设定当前项目各成本驱动因子取值的概率分布; 5)对成本驱动因子取值进行抽样,生成成本驱动因子实例,对模型参数及属性库中成本驱动因子的属性进行抽样,生成测定模型的实例;   6)根据生成的测定模型实例与成本驱动因子实例,仿真出该抽样实验下的软件项目成本,并设定抽样实验次数,进行重复的软件项目成本仿真实验; 7)根据软件项目成本仿真实验产生的结果,测定软件项目的成本,输出成本信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:李明树王青杨达杨叶
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1