首页 / 专利库 / 软件 / 建模语言 / 一种针对返工预测软件开发成本和执行时间的方法

一种针对返工预测软件开发成本和执行时间的方法

阅读:1032发布:2020-08-14

专利汇可以提供一种针对返工预测软件开发成本和执行时间的方法专利检索,专利查询,专利分析的服务。并且本 发明 属于 软件 过程仿真和建模领域,公开了一种预测软件过程执行时间和开发成本的方法,通过as-TRISO/ML过程仿真 建模语言 建立软件过程模型;并根据历史经验等指派模型中实际活动的属性,及待分配人 力 资源的属性;进而将人员分配给过程活动;进一步将上述过程模型、属性和人力资源分配输入软件过程随机仿真工具,通过拟指派的参数对仿真模型进行多次仿真,分析仿真结果,获得软件过程同一活动的执行时间和开发成本、过程执行时间和开发成本的概率分布、及其他衍生指标。本发明简化过程建模的复杂度;考虑了返工出现的原因和影响,比传统的基于经验的返工分析方法更为准确;且能够从多个 角 度呈现了仿真分析的结果,提高了软件过程分析的准确性和实用性。,下面是一种针对返工预测软件开发成本和执行时间的方法专利的具体信息内容。

1.一种针对返工预测软件开发成本和执行时间的方法,其步骤包括:
1)用as-TRISO/ML过程建模语言以图形化元素描述存在返工的软件过程结构,建立软件过程模型,所述图形化元素包括虚拟活动、实际活动、活动间的时序关系;
2)由软件过程数据库中的历史数据确定软件过程模型中涉及活动的属性,针对一般开发活动,包括活动的类型、规模、复杂度;针对质量保证活动,包括活动的类型、规模、复杂度、质量需求;
3)由软件过程数据库中的历史数据确定人资源属性,包括项目人员在需求、涉及、编码、测试四个阶段分别的参数包括生产率、输出质量、单位工资,以及项目人员在上述四个阶段作为质量控制人员时的生产率、输出质量、单位工资;各个参数采用常数、多项式或概率分布进行表示;
4)根据人力资源属性和人员活动分配表为软件过程模型的活动指派执行人员;
5)将确定了活动属性和指派了执行人员的软件过程模型输入到随机过程仿真工具中进行多次仿真,输出各活动的执行时间和成本;
6)由步骤5)的仿真结果,计算出软件过程中同一个活动的执行时间和成本:各次仿真中同一活动执行时间和成本的平均值为该活动的执行时间和成本;多个活动的执行时间和成本按活动执行时序组合,得到整个过程的执行时间和成本。
2.根据权利要求1所述的预测软件过程执行时间和成本的方法,其特征在于:所述活动间的时序关系为顺序→、并行‖、选择+和条件选择
3.根据权利要求1所述的针对返工预测软件开发成本和执行时间的方法,其特征在于:将需要实际执行的活动分为一般性开发活动和质量保证活动。
4.根据权利要求1所述的针对返工预测软件开发成本和执行时间的方法,其特征在于:人力资源属性的描述采取分色描述的方式,即:分别针对该人员作为需求、设计、编码、测试、需求质量保证、设计质量保证、编码质量保证、测试质量保证这8类角色时不同的生产率、输出质量、单位工资进行描述。
5.根据权利要求1所述的针对返工预测软件开发成本和执行时间的方法,其特征在于:人力资源属性描述采用包括常数、多项式和概率分布方式描述;其中,人员生产率和输出质量采用正态分布进行表示,正态分布的期望表示了人员的平均平,正态分布的方差表示了人员能力的不稳定性
6.根据权利要求1所述的针对返工预测软件开发成本和执行时间的方法,其特征在-1
于:过程活动的执行时间由公式P *C*S确定,p表示项目人员的生产率,c表示活动类型复杂性系数,s表示活动规模。
7.根据权利要求1所述的针对返工预测软件开发成本和执行时间的方法,其特征在于:所述随机过程仿真工具为TRISO/IT随机过程仿真工具。
8.根据权利要求1所述的针对返工预测软件开发成本和执行时间的方法,其特征在于:由每次仿真中各活动的执行时间和成本,得到在人员指派下过程执行时间和成本的概率分布。

说明书全文

一种针对返工预测软件开发成本和执行时间的方法

技术领域

[0001] 本发明属于软件过程建模和仿真领域,具体涉及一种通过建立考虑人员能和返工可能性的软件过程仿真模型和软件过程仿真,预测出软件开发成本和执行时间的方法。

背景技术

[0002] “软件危机”,这一始于上世纪60年代的概念,始终伴随着软件业的整个历史发展进程。在过去数十年间,软件组织经常要面对软件项目超支和延期的问题,并且软件产品的质量也常常达不到客户的预期。来自工业界和学术界的很多研究都试图解决这个问题。在这些尝试中,基于软件过程技术的研究,例如:软件过程建模、软件过程仿真等,都是很有效的方法。
[0003] 当前人们已经普遍认可软件产品的质量高度依赖于软件开发过程的质量。软件过程被定义成一系列偏序过程步骤,每个步骤一般包括产品、人员、计算机资源、组织结构、约束等(请参见文献Carlo Montangero,Jean-Claude Derniame,Badara Ali Kaba,and BrianWarboys.The software process:Modelling and technology.In Derniame et al.[126].Pages 1-14. 和 CMMI Product Team.Cmmi for development,version 1.2-improving processes for betterproducts.Technical Report CMU/SEI-2006-TR-008,SEI,CMU,2006.)。由于软件产品的质量与软件过程高度相关,因此,在内外部环境因素不变的情况下,要提高软件产品的质量,就需要提高软件过程的质量。所谓提高软件过程的质量,具体而言,就是要在软件过程中重要的位置添加质量确认活动,从而分阶段地提高软件过程中间产品的质量,进而达到提高最终软件质量的目的。由于软件过程中内外部因素不变,因此添加质量确认活动将增加发现错误的可能性,进而增加了软件开发过程中的返工工作量。这样,软件开发就需要更多的的成本、时间等资源来保证其顺利完成。在这样的情况下,就需要一种方法能够分析软件过程中返工活动与总体所需资源关系,从而预测软件开发所需要的成本和时间。
[0004] 事实上,返工现象是软件开发中一类常见现象。在实际环境中,几乎所有软件开发项目都或多或少地存在返工。但是,在软件工程或软件过程领域的传统教材、文献、模型等中,都缺乏对返工的系统研究。现存研究中,涉及返工活动的大都存在于软件工程经验研究报告中。美国卡耐基梅隆大学的技术报告将返工定义为“评审或测试后的所有修正性工作”(参考文献见K.Butler and W.Lipke.Software process achievement at tinker airforce base.Technical Report Technical Report CMU/SEI-2000-TR-014,Carnegie-Mellon SoftwareEngineering Institute,Sept.2000.)。另一篇技术报告称,经过调查,在CMM 2级到CMM 5级的软件组织中,返工活动占总过程执行时间的比例从23.2%降至6.8%(参考文献见Diazand J.King.How cmm impacts quality,productivity,rework,and the bottom line.CrossTalk:TheJournal of Defense Software Engineering,Mar.2002.)。这些研究恰好从另一个度说明返工在软件开发中不可避免,对返工活动的研究十分必要。
[0005] 美国麻省大学从软件过程建模方向研究了返工的问题(参考文献见A.G.Cass,S.M.S.Jrand L.J.Osterweil.Formalizing rework in software processes.In F.Oquendo,editor,SoftwareProcess Technology,volume 2786 of Lecture Notes in Computer Science,pages 16-31.SpringerBerlin/Heidelberg,2003.)。文中,作者使用Jittle-JIL语言描述了返工活动的结构,从而使得返工活动更加易于理解,为可能的分析打下了基础
[0006] 要减少返工活动对软件开发的影响,除了提高软件组织的成熟度,减少返工活动发生的比例以外,可以事前对可能的返工所产生的影像进行估计和预测,从而在制定计划时恰当地考虑返工的因素。这种方法对于一般的软件组织来说,比提高组织成熟度更加简便、快捷、有效。
[0007] 对返工活动进行分析和预测,需要软件过程建模、软件过程仿真等技术的参与。
[0008] 软件过程建模(Software Process Modeling)是一个覆盖面大且比较复杂的领域,许多计算机科学或其他相关领域的语言、技术都被用来解决本领域的问题。其主要是通过特定的方法对软件过程进行抽象、表示和分析以增加对软件过程的理解,并通过直接或者间接的方式指导实际软件开发活动。与软件过程评估和改进模型不同,软件过程建模主要是为具体的过程改进活动提供理论和技术支持,覆盖了包括定义、执行、分析和变更在内的整个过程改进生命周期。除了记录软件过程,软件过程建模的另一个目的是给予过程设计者以方法,使他能够分析过程模型并加深对所建模软件过程的理解。
[0009] 另一方面,仿真模拟技术近年来被越来越多地运用到软件过程的分析领域中。这主要是因为在实际环境下,由于多变的外部环境以及成本因素的作用,针对软件过程本身研究的有效性难以得到确认。与传统的软件过程分析手段相比,软件过程仿真模拟可以同时得到定性和定量的结果;软件过程的设计者或项目管理人员能够通过该结果了解到针对软件过程要素的不同选择所造成的可能的影响。因此,软件过程仿真模拟技术越来越多地被运用到软件过程分析与预测相关的诸多领域,如:软件过程管理策略、软件过程管理培训、软件过程改进等。多种文献中可以看到有关软件过程建模与仿真进展的总结和综述。
[0010] 针对返工和软件项目成本进度预测的问题。软件过程仿真技术能够针对软件过程和与其对应的人员分配情况,在项目开始前,对软件过程可能的进度、成本作出预测,能够有效地降低软件过程执行时所面对的险、降低软件组织执行项目时所需的成本,对软件组织有重大参考意义。
[0011] 当前针对软件过程执行时间和成本的预测方法主要有:专家经验预测、COCOMO模型中的进度估算、专针对进度的过程仿真方法等。其中,专门针对进度的过程仿真方法一般需要在通用的过程仿真平台上进行建模,建立该类模型与传统软件过程建模完全不同,而且过程比较复杂;而且没有专门针对返工问题做出优化。专家经验预测方法相对简单易行,成本低,适用于存在返工的软件过程,适合各种规模的软件组织使用;但是,该方法过于依赖于专家的主观因素,难以控制估计的准确性,对软件过程的具体管理和决策只能起到次要的辅助作用。
[0012] COCOMO模型是一种软件项目成本估算方法(请参见文献Barry W.Boehm,et al.SoftwareCost Estimaion with COCOMO II,Prentice Hall(2000).),其中也涉及了软件过程进度估算的内容。该方法需要软件组织分析大量的同类型软件过程的历史经验数据,从而校准模型所需的参数取值(在COCOMO模型中称作模型驱动因子),达到过程进度估算的目的。该方法的弱点在于:第一,该方法比较复杂,参数的校准过程需要大量的历史数据,这些数据一般不易收集,难于分析整理;要使用本方法进行进度预测,需要软件组织及早做好准备,不断的校准模型参数。对于一般的中小型软件企业,积累过程历史数据的成本很高,因而它们对软件过程历史数据的积累量往往不足以支持该模型中参数的校准,所以该方法在这样的软件组织中不适用。第二,该方法只根据过程工作量和人员工作效率估计过程进度,而不考虑软件过程的结构,而如果过程结构不合理,往往会影响过程执行人员的工作效率,造成窝工等问题,这大大影响了该方法预测过程进度的准确性。第三,该方法也没有考虑软件复用、COTS软件、管理策略等的影响。综合以上几点,COCOMO对软件过程进度的预测不够实用、不够准确。第四,COCOMO模型虽然宏观地考虑了返工因素,但是没有显式地分析返工与成本、进度的关系,因此其估算结果远不够具体,不足以对项目管理显示足够的参考价值。

发明内容

[0013] 本发明的目的在于提供一种针对返工预测软件开发成本和执行时间的方法。
[0014] 为了实现本发明的目的采用的技术方案概述如下:
[0015] 一种针对返工预测软件开发成本和执行时间的方法,其步骤包括:
[0016] 一种针对返工预测软件开发成本和执行时间的方法,其步骤包括:
[0017] 1)用as-TRISO/ML过程建模语言以图形化元素描述存在返工的软件过程结构,建立软件过程模型,所述图形化元素包括虚拟活动、实际活动、活动间的时序关系;
[0018] 2)由软件过程数据库中的历史数据确定软件过程模型中涉及活动的属性,针对一般开发活动,包括活动的类型、规模、复杂度;针对质量保证活动,包括活动的类型、规模、复杂度、质量需求;
[0019] 3)由软件过程数据库中的历史数据确定人力资源属性,包括项目人员在需求、涉及、编码、测试四个阶段分别的参数包括生产率、输出质量、单位工资,以及项目人员在上述四个阶段作为质量控制人员时的生产率、输出质量、单位工资;各个参数采用常数、多项式或概率分布进行表示;
[0020] 4)根据人力资源属性和人员活动分配表为软件过程模型的活动指派执行人员;
[0021] 5)将确定了活动属性和指派了执行人员的软件过程模型输入到随机过程仿真工具中进行多次仿真,输出各活动的执行时间和成本;
[0022] 6)由步骤5)的仿真结果,计算出软件过程中同一个活动的执行时间和成本:各次仿真中同一活动执行时间和成本的平均值为该活动的执行时间和成本;多个活动的执行时间和成本按活动执行时序组合,得到整个过程的执行时间和成本。
[0023] 所述活动间的时序关系为顺序→、并行‖、选择+和条件选择
[0024] 进一步,将需要实际执行的活动分为一般性开发活动和质量保证活动。
[0025] 所述人力资源属性的描述采取分角色描述的方式,即:分别针对该人员作为需求、设计、编码、测试、需求质量保证、设计质量保证、编码质量保证、测试质量保证这8类角色时不同的生产率、输出质量、单位工资进行描述。
[0026] 所述人力资源属性描述采用包括常数、多项式和概率分布方式描述;其中,人员生产率和输出质量采用正态分布进行表示,正态分布的期望表示了人员的平均平,正态分布的方差表示了人员能力的不稳定性
[0027] 所述过程活动的执行时间由公式P-1*C*S确定,p表示项目人员的生产率,c表示活动类型复杂性系数,s表示活动规模。
[0028] 所述随机过程仿真工具为TRISO/IT随机过程仿真工具。
[0029] 进一步,由每次仿真中各活动的执行时间和成本,得到在人员指派下过程执行时间和成本的概率分布。
[0030] 本发明的优点和积极效果如下:
[0031] 1.与采用现有软件过程建模方法的预测软件过程的执行时间的方法相比,本方法所采用的仿真建模语言从描述性软件过程建模语言中推广而来,可以直接用来描述软件过程,能够对软件过程的执行和理解其参考作用。建模过程简便快捷,降低了过程建模的复杂度,使过程模型技术更为简便的运用到实际生产中去。
[0032] 2.与现有软件过程建模方法的预测软件过程的执行时间的方法相比,本方法充分考虑了人的因素、返工因素等多方面的影响,从而能够支持软件过程的仿真,比传统的过程模型静态分析方法更为简便、高效。
[0033] 3.与现有软件过程仿真方法的预测软件过程的执行时间的方法相比,本方法引入了过程历史数据,沟通了软件过程的理论分析和经验分析两个最主要的分析方法。对分析方法的综合运用,提高了软件过程分析的准确性和实用性。
[0034] 4.与现有软件过程仿真方法的预测软件过程的执行时间的方法相比,本方法能够预测被模型刻画的软件过程的执行时间、按期或延期完成的可能性等,同时,还能预测软件过程执行的成本,以及成本、时间等关键指标分布的概率密度,对该软件过程的实际执行能起到重要的参考意义。
[0035] 5.与现有人员能力描述方法相比,本方法在描述人员能力时,采用了不同开发阶段分别描述的方法,提高了人力资源描述的准确性;同时,本方法还在描述人员工作效率和输出质量等指标时,采用正态分布进行描述,使该指标被恰当地表现,并且在实际环境中易于使用和理解。附图说明
[0036] 图1本方法的总体结构图。
[0037] 图2as-TRISO/ML中用于表示过程的图形化元素。
[0038] 图3(a)过程流图中两活动为顺序时的示意图,图3(b)过程流图中两活动为并发时的示意图,图3(c)过程流图中两活动为选择时的示意图,图3(d)过程流图中两活动为条件选择时的示意图。
[0039] 图4本发明中使用as-TRISO/ML描述软件过程中返工现象的实例。
[0040] 图5本发明实施例所针对的软件过程模型。
[0041] 图6仿真结果期望甘特图
[0042] 图7过程执行时间的概率分布
[0043] 图8过程执行成本的概率分布(图6、图7、图8的背景色都需要去掉)具体实施方式
[0044] 以下结合附图和具体实施例对本发明作详细的说明。
[0045] 本发明使用as-TRI SO/ML(applied stochassic--Tridimentional Intergrated SoftwareDevelopment model/Modeling Language,请参见文献:Li,M.:Expanding the horizons ofsoftware development processes:A 3-D integrated methodology.In Proceedings of ISPW.Volume3840 of Lecture Notes in Computer Science.Pages54-67,2005.和 Li,M.:Assessing 3-D integratedsoftware development processes:
A new benchmark.In Proceedings of SPW/ProSim.Volume 3966ofLecture Notes in Computer Science.Pages 15-38,2006)软件过程仿真建模语言描述存在返工的软件过程;
接下来,描述软件过程中活动的属性,包括:类型、规模、复杂度等;然后,在组织人员属性描述的基础上,将人员分配到过程模型中的过程活动上;之后,将指派了活动属性和人员的软件过程仿真模型输入软件过程随机仿真工具中进行多次仿真,并取得仿真结果;最后,对仿真结果进行分析,获得软件开发过程执行所需的成本、时间等信息,及其衍生指标。该结果可以反馈给过程设计人员或项目管理人员,使其对软件过程或活动中的人员分配做出修改,从而提高过程质量。该方法的总体框架如图1所示,主要包括建立as-TRISO/ML软件过程仿真模型、描述模型中过程活动、组织人员属性描述、为过程活动分配人员、随机过程仿真环境、过程成本/执行时间预测结果等六部分。
[0046] 本发明提供图形化的考虑随机因素的软件过程描述语言as-TRISO/ML,图2给出了表示软件过程的图形化元素和相应含义,一般的技术人员可以基于该图形化元素描述一个软件过程(请参见文献J.Zhai,Q.Yang,F.Su,J.Xiao,Q.Wang,and M.Li.Stochastic processalgebra based software process simulaion modeling.In Q.Wang,V.Garousi,R.J.Madachy,andD.Pfahl,editors,ICSP,volume 5543 of Lecture Notes in Computer Science,pages136--147.Springer,2009.和李明树,杨秋松,翟健.软件过程建模方法研究.软件学报,2009,20(3):524-545.)。本发明的图形化元素分为两类:软件过程的具体活动(或称过程活动),包括虚拟活动和实际活动,实际活动又分为一般开发活动和质量保证活动;将过程活动连接在一起的关系运算符,包括并发‖、选择+、顺序→、条件选择用来表示若干活动的执行时序。如图3所示,(a)表示若干个活动执行时序为顺序的模型示意图,(b)表示若干个活动执行时序为并发的模型示意图,(c)表示若干个活动执行时序为选择的模型示意图,(d)表示若干个活动执行时序为条件选择的模型示意图。将上述活动、执行时序图形符号进行组合,即可描述将被仿真的软件过程。例如,图4所示即表示一个开发活动和一个质量确认活动构成的返工递归结构。该图中有两个时序关系符号,进入虚拟活动VA以后,先按顺序执行FA,再执行QA,之后进入虚拟活动VAR,如果FA的属性q小于给定的数值p,则过程进入虚拟活动VA,即FA和QA均需再次按顺序执行,直到q大于等于p为止,跳出递归,进入下一个活动。
[0047] 本发明描述软件过程模型中一般开发活动的属性需要指定活动的类型、规模、复杂度等三个指标;对于质量保证活动,需要进一步指定质量需求。例如,活动FA:(DES,10,2)表示一般开发活动FA的类型是DES(设计活动),预期输出产品规模为10单位,活动复杂度为2;活动QA:(DES,10,1,0.9)表示质量保证QA是对DES(设计活动)进行的质量保证活动,需评审的产品规模为10单位,活动复杂度1,质量要求为0.9,即必须确认所检查产品的正确率大于等于90%,活动才能结束,否则需要被返工。过程管理人员可以根据实际情况建立活动类型复杂性系数表;C的取值可以参照表1,S为活动规模大小的预测值,可由需求中要求实现的功能点数量确定,也可由软件过程管理数据库中存储的软件过程的历史数据估算得到。
[0048]需求活动 设计活动 编码活动 测试活动 质量活动
活动复杂度系数 1 2 0.5 0.75 1
[0049] 表1 活动类型复杂性系数C的取值表
[0050] 本发明需要建立的组织人员属性描述包括组织内人员分别作为需求、设计、编码、测试人员,及上述阶段质量保证人员时的工作效率、输出产品质量和单位工资。具体而言,每个人员的属性为两个矩阵,分别表示他们在作为一般开发活动人员和质量保证人员时的属性。例如,下述前一个表达式表示人员Op在分别作为开发四阶段人员时的属性;而后一个表达式则表示人员Op’在作为质量保证人员时的属性。
[0051]
[0052] 需要说明的是,人员属性并不要求8项数据都指派数值。在这里应根据实际情况(包括:人员实际能力、历史数据等)确定人员属性。例如,一个人员可能只能进行需求开发或需求质量检查的工作,而没有执行其他类型活动的能力,那么其两个矩阵中将分别只有第一行数据,其他行数据为0。另外,这里的人员工作效率和输出产品质量可以是常数、多项式或随机变量,在使用时,可以根据反映人员实际工作能力的需要,恰当选择。一般的,可以选择使用正态分布来表示人员的工作效率和输出质量,其中,人员平均工作效率、输出质量等可以作为正态分布的期望,正态分布的方差则用来刻画人员能力的不稳定性。方差越大说明人员工作效率、输出质量的波动越大,即其能力相对不稳定。
[0053] 本发明为软件过程模型活动指派人员时,需要逐个将与活动类型匹配的具有执行该活动能力的人员指派给过程活动。在此指派的过程中,人员工作效率和输出质量将影响过程的执行时间,人员输出质量和活动质量需求将影响过程中活动的返工次数,人员工资和过程执行时间将影响过程的执行成本。不同人员指派方案是否合理或是否满足客观环境约束,需要通过仿真和分析加以判断。
[0054] 本方法中,由拟指派的项目人员的生产率P、活动类型复杂性系数C、活动产品预期规模S,确定上述过程模型中活动的持续时间r=P-1*C*S。由于人员工作效率一般采用正态分布进行描述,而服从正态分布的随机变量的倒数的解析式难以确定,因此,需要在仿真时,每次对人员工作效率进行随机取值,并计算活动执行时间。根据蒙特卡洛方法,在仿真模型经过多次(一般为106以上次)执行后,对历次实验结果取平均值,能够得到考虑返工和人员能力波动条件下的预期过程执行数据。
[0055] 本方法中对仿真工具的选择比较灵活,可以使用专用的过程随机过程仿真工具,如:PEPA(请参见文献http://www.dcs.ed.ac.uk/pepa/tools/)、Dizzy(请参见文献http://magnet.systemsbiology.net/software/dizzy/)等随机过程仿真工具,也可以使用通用的分析编码工具建立满足需求的独特的仿真环境。下面的实施例中将采用专门为本方法开发的随机过程仿真工具TRISO/IT进行仿真。TRISO/IT能够覆盖本法明提出的从建立仿真模型、确定活动属性、描述人员属性、分配人员、仿真、分析等全部步骤。
[0056] 为了使本技术领域的人员更好的理解本发明,下面给出具体实施例对本发明作进一步的详细说明。
[0057] 首先,用as-TRISO/ML描述需要被分析的软件过程模型。实施例给出要预测的软件过程工作流图如图5所示,该软件过程包括7个一般性开发活动AA1-AA7,以及两个质量保证活动AA1’、AA2’。其中,AA1’负责AA1的质量保证,其质量要求为p1;AA2’负责AA2的质量保证,其质量要求为p2,达到或超过质量要求,过程才能向下进行,否则要对活动进行返工;VA1和VA2两个虚拟节点的结构和图4中描述的返工活动结构一致。活动AA3和AA4顺序执行、AA5和AA6顺序执行,而VA4和VA5并发执行。整个过程的最后一个活动是AA7。
[0058] 第二步,需要指定过程中各个活动的属性。本实施例中采用的过程活动属性的数据来自历史数据,如下表2所示。
[0059]活动编号 活动类型 输出规模 类型复杂度 质量需求
AA1 需求活动 20页 1 -
AA1’ 质量活动 20页 1 0.95
AA2 设计活动 5页 2 -
AA2’ 质量活动 5页 1 0.95
AA3 编码活动 10KLoc 0.5 -
AA4 测试活动 10KLoc 0.75 -
AA5 编码活动 8KLoc 0.5 -
AA6 测试活动 8KLoc 0.75 -
AA7 测试活动 18KLoc 0.75 -
[0060] 表2 过程活动属性
[0061] 第三步,需要建立人力资源能力描述。本实施例中采用的人力资源能力描述如下表3所示。
[0062]
[0063]
[0064] 表3 人员能力属性
[0065] 上表中,人员Op0具有4种能力,分别为执行需求活动、需求质量活动、设计活动、设计质量活动的能力。Op1和Op2各有两种能力,分别能执行需求活动和需求质量活动。设计活动和设计质量活动。Op3-Op6均有执行编码活动和测试活动两种能力。Op7仅能执行测试活动一种活动。表3中人员未涉及的能力为该人员不具备的能力。
[0066] 第四步,为过程中活动指派恰当的人员。本实施例中采用的人力指派如下表4所示。
[0067]活动编号 活动类型 指派人员
AA1 需求活动 Op1
AA1’ 质量活动 Op0
AA2 设计活动 Op2
AA2’ 质量活动 Op0
AA3 编码活动 Op3
AA4 测试活动 Op4
AA5 编码活动 Op5
AA6 测试活动 Op6
AA7 测试活动 Op7
[0068] 表4 人员活动分配
[0069] 如表4所示,将表3中人员按其能力分配到表2中描述的过程活动中。在人员分配中必须遵循的原则是分配到该活动的人员必须有执行该活动的能力;实施例中添加了另一个原则,即一般性开发活动和其对应的质量活动不能由同一个人执行。因此,Op1执行了AA1就不能再执行AA1’,而AA1’需要由Op0执行;类似的,Op2和Op0的关系也一样。在实际应用过程中,人员的分配可以采取更为灵活的方式,如:综合考虑人员的效率、质量、工资等,在本实施例中不再加入进一步的分配规则。针对人力资源在过程活动中的分配,有专门的研究具体展开(请参见文献:Archibald R.D.:ManagingHigh-Technology Programs and Projects,3rd ed.Hoboken,N.J.:John Wiley(2003)、BruckerP.Scheduling Algorithms.Springer Verlag.2001),分配的方法与本方法不属于同一领域,在本发明方法中只需要将分配好的数据输入仿真系统。
[0070] 第五步,将完成上述准备工作的软件过程模型输入过程仿真系统,进行仿真运行,并分析其结果。
[0071] 本实施例输入到TRISO/IT过程仿真工具后,可以输出如图6、7、8的仿真结果。其中,图6是实施例过程的期望甘特图,图7是实施例中过程执行时间的概率分布图,图8是实施例中过程执行成本的概率分布图。
[0072] 形如图6的过程期望甘特图描述了某个活动开始、结束、持续时间。图中横坐标表示时间(一般以天为单位),纵坐标表示活动。图中的每一个颜色表示一个活动,色块左侧表示活动的开始时间,色块右侧表示活动的结束时间,色块的长度表示活动的持续时间。在我们的期望甘特图中,除了上述指标,还在每个色块上标注了该活动的成本、持续时间、返工次数(如果存在返工)的读数。这样使甘特图所携带的信息量更大,更一目了然。具体而言,其中由AA1和AA1’构成的返工结构在图6中用TA1表示,类似的,由AA2和AA2’构成的返工结构在图6中用TA2表示。从图6中可以看出,AA1和AA1’共执行15.7天,花费8098.39元,平均返工1.25次(即两活动平均各执行2.25次)。而AA2和AA2’共执行
12.62天,花费9872.04元,平均返工0.74次(即两活动平均各执行1.74次)。其他活动无返工,各自所需时间和成本也都在图中进行了标注。
[0073] 图7为该软件过程仿真模型执行时间的统计结果,反映了该执行时间的概率分布,其中横轴表示软件过程执行时间,纵轴表示概率。从图7中可以看出,期望的过程执行时间为72.24天,其概率为57.70%,即过程在72.24天以内完成概率为57.70%。进一步的,可以反查在某一概率内完成过程的时间。例如,在95%置信区间内完成过程的时间为84.95天,即过程有95%的可能性在84.95天以内完成。
[0074] 图8表现了过程执行成本的概率分布,其中横轴表示软件过程所需成本,纵轴表示概率。从图8中可以看出,过程的期望成本为56371.59元,其概率为56.96%,即过程在56371.59元以内完成的概率为56.96%。进一步的,可以反查在某一概率内完成过程的成本。例如,在95%置信区间内完成过程的成本为64106.39元,即过程有95%的可能性在
64106.39元以内完成。
[0075] 上述仿真结果可以对过程设计师或项目经理进行反馈。如果仿真结果不符合软件过程的外部约束,则可以重新设计过程或调整人员分配,从而改进项目计划,降低风险。本方法将预期的过程执行甘特图、期望的成本/进度,以及成本/进度发生的概率分布提供给使用者,能够为过程的设计、人员的分配等提供强有力的参考作用。
[0076] 尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈