在分析现有软件质量数学模型的基础上,提出了软件项目开发三维模型框架,建立了软件质量最优化数学模型。模型将有限的成本和时间资源合理地分配到软件开发过程的各阶段,并使软件质量达到最优化,为项目管理者建立计划和分配资源提供量化依据,通过实例数据验证了建立的数学模型的正确性和有效性。项目管理者联盟
软件项目与其他项目一样,成功的3要素是范围(质量)、时间和成本,只有在三者同时达到要求后,软件项目才算成功。项目管理者联盟
在日常软件项目中,通常时间和成本是固定的且有界定的,即在确定的时间内,投人一定资金前提下完成某一软件项目。项目干系人期望在既定的成本和时间下,实现软件质量的最优化,将有限的时间和成本资源在软件项目各阶段进行合理分配,是进行项目计划和开发的基础。通过软件质量指标的分解,建立最大化软件质量的函数和条件,求解软件质量最优化的模型,即可得出各种资源(通常是时间和成本)在各阶段的最佳分配值,为科学管理软件项目,特别是进行计划和成本管理提供重要的依据。PgMp.mypm.net
1软件项目实施方法模型框架项目管理者联盟
基于以上背景,将软件项目的开发方法作为研究对象,着眼于软件开发过程与软件项目管理结合而形成开发方法体系。①提出软件开发方法的三维模型,这三维分别为过程维、管理维和技术实现维。②从过程维度对软件开发过程进行抽象。基于软件工程的软件生命周期理论,项目的过程可分成需求分析、系统设计、程序设计、程序编码、单元/集成测试、系统和验收测试、运行和维护(含培训、数据准备和初始化等上线准备工作)等阶段,它们组成项目连续且相对独立的过程。③从管理维度分析软件项目管理的各层面管理(范围管理、时间管理、费用(成本)管理、质量管理、人力资源管理、沟通(交流)管理、风险管理、采购管理和综合管理)J。④技术实现维度包括物理平台(通常包括网络系统、服务器和PC等物理层面的条件)、软件技术平台(通常包括操作系统、数据库和开发工具等)和项目管理辅助工具。软件项目开发方法模型如图1所示。项目管理者联盟
2软件质量最优数学模型项目管理者联盟
2.1软件质量指标模型项目管理者联盟
20世纪90年代早期,软件工程组织试图将质量的诸多方面统一到一个模型中,把这个模型作为度量软件质量的一个世界范围的标准,这个结果就是ISO9126。它是一个分层模型,有6个影响质量的主要因素,图2说明了其层次结构。项目管理者联盟
2.2模型建立的基本假设项目管理者联盟
在整个软件项目的开发过程中,始终有两种投入:一种是成本投入,含技术实现维的平台建设和项目管理工具投人,还包括推销的固定成本、项目管理的各类变动成本,如项目奖金、办公费用、人员培训费用和外聘顾问咨询费用等;另一种是时间投入,即项目开发的周期。项目管理目标,要求在投资一定的情况下,收益最大化,或在收益一定的情况下,投资最小。在软件项目中,目标分两种情形:①在既定的时间和成本等资源投入下,达到最优的项目效果,即软件质量最优;②在确定软件项目最终质量目标的情况下,时间及成本的投入达到最小值,从而节约成本,缩短项目周期。项目管理者联盟
在现实软件项目中,第一种情况占绝大多数,也是笔者讨论的模型目标。在构建软件质量最优化的数学模型时,要建立模型的假设(条件),忽略次要的影响因素,包括:①软件项目的开发过程是个连续的过程,不考虑各种外界因素导致整个项目的暂停、取消或延迟情况,在整个项目开发的过程中,各阶段的技术工作都是可以实现的。②项目管理者能理性且客观选择物理平台、软件技术平台和项目辅助管理工具,被授权分配和调动项目资源,且在合理的时间投人成本下进行平台的搭建和工具的选用。③项目的成功是以时间、质量和成本3要素同时满足为基础的,投入的总成本不能超过C,项目开发时间总共不能超过,同时以软件质量最优为目标。④外界客观的环境,如相应的法律、制度和文化等稳定,在项目开发过程中,不考虑产生意外的成本和时间投入。⑤按软件工程原则,各阶段的任务相对独立,它们都采用好的技术方法,而且在每个阶段结束之前都进行严格的审查,合格之后才开始下一阶段的工作。项目每一阶段都达到基本的质量指标,使该阶段总体结果对下一阶段产生好的影响,即对软件质量产生正面的作用。⑥假设时间是与成本相互独立的投入要素,即不考虑因时间变动带来的成本变动。转自项目管理者联盟
2.3通用最优模型及算法项目管理者联盟
从软件项目开发方法模型的过程维角度,整个软件项目过程分为多个阶段(假设分n个阶段),各个阶段中分配不同的成本和时间资源,假定个阶段分配的时间和成本资源为t和c(i=1,2,…,n)。项目开发最长时间为;项目各阶段项目管理者联盟
从软件项目开发方法模型的管理维角度,各管理维的各元素,如风险管理、沟通管理和成本管理等,其投入资源也是时间和成本,且各项目管理元素融人并贯穿到过程维的各阶段中去。项目管理投入的所有成本和时间总和等于各阶段分配的成本和时间资源的总和,项目的各项管理越到位,管理越细化,须投入的管理成本也越大。项目管理者联盟
从软件项目开发方法模型的技术实现维角度,技术实现维仅发生成本的投入,以实现平台的构建和工具的选用。因此,可设技术实现维的投入为一确定数Ct,Ct与n个阶段发生的成本是相对独立的。项目投入的总成本C=Cn+Ct。模型和符号说明如下:项目管理培训
(1)项目实现软件质量的量化值F。在第阶段投入ti和ci的资源后,该阶段对第j个质量因素(或者指标,比如功能性或可靠性,按软件质量模型的第一层分成m个因素)产生的量化贡献数值为通常情况下,与时间和成本的投入有直接关系,投入的ti和ci越大,也越大,在一定的范围内可把它们看成是线性关系。因此,可将表示为=H(ti,ci)= 其中,和分别为成本和时间对的影响权重系数,为修正数。此外,1,2,…,m),其中,为该因素必须达到的基本值或最小值;为须投人的最大值,即再投入时间和成本,增加值不会再增加。项目管理者联盟
(2)同一阶段的不同质量因素 (i=1,2,…,n;=1,2,…,m)对F的影响权重是不一样的,且各阶段对应的质量因素权重标准都相同。因此,可设第i阶段的第j个质量因素对F所占的权重比例为bbs.mypm.net
(3)按软件工程理论和上述假设,软件生命周期第i阶段质量因素将对i+1,i+2,…,n各阶段产生一定影响,且第i阶段产生的质量影响将被i+1之后的各阶段继承,直至最终完成的项目质量F。因此,设项目第i阶段的完成质量值(i=1,2,…,n)对后续阶段的影响度系数为(i=1,2,…,n-1)。项目管理者联盟
综合以上分析,建模目标就是:在不超过既定的成本预算C和在规定的时间T内,达到预期最好的软件质量,可得最优化目标函数模型为:项目经理圈子
3实证研究转自项目管理者联盟
以某一集团企业自行开发的“客户关系管理”软件为例,该软件项目预算总成本为170万元(其中构建软件技术平台和物理网络平台等技术实现的成本为30万元),项目要求半年内完成(以180天计)。项目管理者联盟
ISO9126有6个软件质量影响因素,即m=6。按软件工程的软件生命周期理论,项目划分为7个阶段,即n=7,各质量因素权重系数为:b1=0.3,b2=0.1,b3=0.25,b4=0.15,b5=0.12,b6=0.08,项目管理者联盟
按历史数据统计分析和笔者的工作经验,各阶段成本投人和时间投入对软件质量影响评估值如表1所示。talent.mypm.net
通过对各阶段影响工作的关联性分析,估算出各阶段对下阶段的影响度系数如下:PgMp.mypm.net
使用LindoSystemsInc.发布和研制的Lindo高级版软件系统,编制程序求解该数学模型,并做模型结论的灵敏性分析,可得出以下结果:从结果报告可得:项目管理者联盟
|