在分析现有软件质量数学模型的基础上,提出了软件项目开发三维模型框架,建立了软件质量最优化数学模型。模型将有限的成本和时间资源合理地分配到软件开发过程的各阶段,并使软件质量达到最优化,为项目管理者建立计划和分配资源提供量化依据,通过实例数据验证了建立的数学模型的正确性和有效性。
论文关键词:软件质量数学模型;软件项目管理;软件项目开发方法模型
软件项目与其他项目一样,成功的3要素是范围(质量)、时间和成本,只有在三者同时达到要求后,软件项目才算成功。
在日常软件项目中,通常时间和成本是固定的且有界定的,即在确定的时间内,投人一定资金前提下完成某一软件项目。项目干系人期望在既定的成本和时间下,实现软件质量的最优化,将有限的时间和成本资源在软件项目各阶段进行合理分配,是进行项目计划和开发的基础。通过软件质量指标的分解,建立最大化软件质量的函数和条件,求解软件质量最优化的模型,即可得出各种资源(通常是时间和成本)在各阶段的最佳分配值,为科学管理软件项目,特别是进行计划和成本管理提供重要的依据。
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所占的权重比例为
(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所示。
通过对各阶段影响工作的关联性分析,估算出各阶段对下阶段的影响度系数如下:
使用LindoSystemsInc.发布和研制的Lindo高级版软件系统,编制程序求解该数学模型,并做模型结论的灵敏性分析,可得出以下结果:从结果报告可得:
t1=12,t2=12,t3=6,t4=12,t5=25,t6=73,t7=40;总时间为180天。
C1=10,C2=10,C3=5,C4=10,C5=20,C6=60,C7,=25;总成本为140万元。
时间和成本结果接近实际发生值,,的最优值为1381.255。
从灵敏性分析报告可以得出如下两点:
(1)保持不变的系数范围。在最优解不变的条件下,目标函数系统的允许变化范围:的系数为(1,1+1.622234);F2的系数为(1,1+0.117702);其余变量、约束条件的系数类似。
(2)从对偶价格分析得出,时间和成本都是紧约束资源,每增加1个时间单位,即增加1d,则F的值提高4.195575,其限制值为178.2,即再增加成本不会带来F值的增加。同理,每增加1个成本单位,则F的值提高5.423400,其限制范围为185.5。这可为资源控制和调整提供量化参考。
4结论
笔者研究如何建立模型,分配有限的软件项目成本和时间资源,使项目开发的软件质量最优化,可以帮助软件项目管理者更合理地制定项目计划和评估各阶段成本使用和控制情况。同时,模型的运行结果,也能帮助项目管理者量化分析出项目各阶段与质量因素间的关系。文中实际的时间投入、成本和各阶段的花费时间,与模型中计算出的值基本吻合,特别是测试工作投入比重大,约占整个工作量的50%。
成本投入和时间投入对软件质量影响的评估值是模型的基础数据,其与软件本身的大小、开发环境(平台和开发工具等)和项目管理方法等相关,是历史数据和经验值相结合的结果。如何更科学和更准确地得出影响评估值和它们之间的关系是更好地使用该模型尚需深入研究的课题。
数字程控调度机是煤矿企业生产调度的一个重要组成部分,显得及其重要。一旦发生故障,将使企业调度通信暂时陷于瘫痪状态,所造成的经济损失无法估量,而且其对煤矿生产安全潜在的威胁也无法预计。因此,加强对数字程控调度机的维护就显得十分重要。本文介绍了数字程控调度机的维护特点、硬件和软件维护以及数字程控调度机工作中其它注意事项,简述了数字程控调度机在企业生产调度通信中的重要性,对数字程控调度机实际生产运行维护...
软件能力成熟度模型(C印abilityMatuirtyModel,CMM)4~为衡量一个软件企业的软件开发能力己经被大多数软件企业所接受。在论述CMM与CMMI的基础上,介绍了国防专用软件CMM的概念、框架以及CMM二级的目标和要求。及其在软件开发中的应用。 论文关键词:软件能力成熟度模型;软件项目管理 1软件项目管理概述 1.1软件项目管理的概念 从概念上讲,软件项目管理是为了使软件项目能够...
从软件项目管理的重要性谈起,研究分析了四个主流的软件项目管理技术,指出了它们的缺陷,最后结合实践提出了一种新颖的软件项目管理概念。1引言软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理善引起的,而并不是因为技术实力不够,进而...
本文主要介绍了软件项目管理的概念,讨论了软件项目管理中人员的组织方式,考核测评方法,并提出了技术人员职业幸福感的管理新思路,激励技术人员的开发热情和智慧,从而提高软件工程的质量。 论文关键词:软件工程;管理;协调;沟通 软件项目管理是在20世纪70年代中期美国首先提出的,当时美国国防部专门针对软件开发不能按时完成交付、预算超支和质量达不到要求的原因进行了研究。结果发现70%的项目是因为管理不善...
针对软件项目和项目开发中的复杂性、易变性和不可预见性,研究了软件项目管理流程方法设计了软件项目运作过程的总体流程,分析了各阶段流程的进入条件、主要工作过程和工作结果 论文关键词:软件过程;软件项目管理;流程管理 1引言 长期以来,软件项目高失败率的状况一直困扰着人们,研究表明,软件项目失败的原因主要有两个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才。实践证明缺乏有效的项目管理是导致...
目前我国在校生的创新能力不容乐观,传统的班级授课制在培养学生的创新能力方面具有很大的局限性。网络教学以其学习的主体性、教学环境的开放性、教学构成的交互性、教学方式的多样性、教学测评的多元性等特点,在培养创新能力的过程中起着非常重要的作用。在分析网络环境下创新教学体系的基础上,构建了网络“五步导五步学”的新型教学模式,并依托网络教学平台进行了教学实践应用。 一问题的提出 ...
本文介绍了研制《地理信息系统原理及应用》多媒体教学软件的必要性以及软件设计思路及开发过程,着重阐述了该教学软件的特色和教学效果。 一、引言 《地理信息系统原理及应用》是测绘工程、土地管理专业方向的专业课。作为“3s”之一的地理信息系统(GIS)是以空间数据库为基础,在计算机软硬件环境的支持下,对空间相关数据进行采集、管理、操作、分析、模拟和显示,适时提供空间和动态的地理...
网络安全的根本目的是防止通过计算机网络传输的信息被非法使用。信息和数据安全的范围要比计算机安全和网络安全更为广泛,它包括了信息系统中从信息的产生直到信息的应用这一全部过程。密码技术是保护计算机信息安全的主要手段之一,使用密码技术可以保证信息的机密性,还可以保证信息的完整性和确定性,防止信息被篡改、伪造和假冒。 论文关键词:网络;信息安全;密码技术 计算机网络信息安全的两个基本需求是保密性和完整...
随着互联网的广泛应用,网络信息安全问题越来越受到人们的关注。本文分析了目前网络信息安全领域存在的多种安全问题,提出了实现网络信息安全的防范措施。1引言随着Internet的迅猛发展,网络上各种新业务也不断兴起,比如电子商务、网上银行、数字货币、网上证券等,使得工作、生活变得非常方便,但病毒侵虐、网络犯罪、黑客攻击等现象时有发生,严重危及我们正常工作、生活。据国际权威机构统计,全球每年因网络安全问题...
利用电磁学的方法分析了计算机电磁信息辐射的原理?引入偶极子分析计算了计算机电磁信息辐射场的频谱与场强;研究了计算机电磁信息辐射接收机的接收原理?进一步定量分析了辐射场强与接收机带宽、噪声系数、接收天线定向性和增益之间的数值关系;阐述了计算机电磁信息泄露的方式和途径?概括了基于实际的军队计算机应用中电磁信息安全与防护的主要手段。随着信息技术的发展和微型计算机的普及应要处理、传输、存储的军事机密的安全...
影响因子:0.000
影响因子:0.000
影响因子:3.120
影响因子:0.000
影响因子:0.830
影响因子:2.474
影响因子:0.000
影响因子:0.383