在分析现有软件质量数学模型的基础上,提出了软件项目开发三维模型框架,建立了软件质量最优化数学模型。模型将有限的成本和时间资源合理地分配到软件开发过程的各阶段,并使软件质量达到最优化,为项目管理者建立计划和分配资源提供量化依据,通过实例数据验证了建立的数学模型的正确性和有效性。
论文关键词:软件质量数学模型;软件项目管理;软件项目开发方法模型
软件项目与其他项目一样,成功的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%。
成本投入和时间投入对软件质量影响的评估值是模型的基础数据,其与软件本身的大小、开发环境(平台和开发工具等)和项目管理方法等相关,是历史数据和经验值相结合的结果。如何更科学和更准确地得出影响评估值和它们之间的关系是更好地使用该模型尚需深入研究的课题。
本文针对软件开发中的进度延期、费用超标、质量低下等问题,探讨了如何利用项目管理中的相关控制方法进行软件开发过程控制。、论文在阐述软件项目管理内容的基础上,针对软件项目的三要素分别进行了探讨:进度控制、费用控制和质量控制,提出了几种有效的软件项目管理控制方法。这些研究对于加强我国软件项目管理控制过程,降低开发成本,减少开发风险具有重要的意义。 论文关键词:项目管理进度控制费用控制质量控制软件开发 ...
介绍了信息系统建设中软件项目管理的理念,深入探讨了软件项目管理的组织模式、内容、配置管理、质量管理、风险管理及人员管理等,并给出了软件项目计划书的范本。 论文关键词:软件项目管理;软件配置管理;软件项目计划书 1软件项目管理的组织模式 1.1项目管理委员会。项目管理委员会是公司项目管理的最高决策机构,—般由公司总经理、副总经理组成。主要职责如下:(1)照项目管理相关制度管理项...
从软件项目管理的重要性谈起,研究分析了四个主流的软件项目管理技术,指出了它们的缺陷,最后结合实践提出了一种新颖的软件项目管理概念。1引言软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理善引起的,而并不是因为技术实力不够,进而...
分析了目前威胁医院网络信息安全的各种因素结合网络安全与管理工作的实践,探讨了构建医院信息安全防御体系的措施。中国医院信息化建设经过20多年的发展历程目前已经进入了一个高速发展时期。据2007年卫生部统计信息中心对全国3765所医院(其中:三级以上663家:三级以下31O2家)进行信息化现状调查显示,超过80%的医院建立了信息系统…。随着信息网络规模的不断扩大,医疗和管理工作对信息系统...
ASON作为下一代光网络中最重要的技术之一,在设备开发方面已经达到较高的水平,但是在应用方面还刚刚起步。本文通过分析ASON技术的特点和优势,讨论ASON在移动通信中的应用前景。关键词:ASON传送网移动通信 1引言 随着移动通信的飞速发展,数据服务量不断激增和接入业务日益多样化,对光传输网络在自适应能力方面提出了更高要求。当前通信网络的发展不仅要创造更大的带宽容量,还要解决如何将网络中的...
文章针对计算机网络具有联结形式多样性、终端分布不均匀性和网络的开放性、互连性等特征,致使网络易受黑客、怪客、恶意软件和其他不轨的攻击的安全和保密问题,归纳并提出了一些网络信息安全防护的方法和策略。 近年来,伴随着互联网技术在全球迅猛发展,人们在提供了极大的方便,然而,信息化在给人们带来种种物质和文化享受的同时,我们也正受到日益严重的来自网络的安全威胁,诸如网络的数据窃贼、黑客的侵袭、病毒发布者...
为进一步全面推进区域教育现代化建设、促进教育公平和均衡发展,在更高层次和更广范围内推进教育信息化建设,江苏全省启动了基础教育信息化公共服务体系建设。作为服务体系的重要组成部分和核心内容,江苏省确定了教师教育技术应用能力建设的发展目标和发展策略,将在此框架下建立一个全方位、多层次、重实践的教育技术能力培养和应用体系,提升整个教育信息化的实践效能。 论文关键词:教育技术;应用能力;目标;策略 江苏...
随着计算机网络的迅猛发展,网络已经进入了千家万户,与此同时网络信息安全必然成了一个不可忽视的环节。上海交通安全信息网为广大市民提供交通安全信息、违蕈查询、邮件等多项服务,本文对此平台做了信息安全方面的研究,已经实际运用并取得了良好的效果。 论文关键词:网络信息安全防火墙负载均衡 1引言 随着计算机和电子通讯技术的飞速发展,网络的应用越来越广泛,国内政府部门都不约而同地意识到利用网络传递信息可...
摘要:本文简述了无线传感器网络的定义、组成及特点,并结合其特点介绍了无线传感器网络在各行各业广泛的应用价值和未来发展前景以及目前存在的技术问题。 关键词:无线传感器网络;组成;应用;发展 科技发展的脚步越来越快,人类已经置身于信息时代。而作为信息获取最重要和最基本的技术——传感器技术,也得到了极大的发展。传感器信息获取技术已经从过去的单一化渐渐向集成化、微型...
传统的高级英语教学模式以教师为中心,以课本为依托,学生通过教师的传授被动的接受知识。本文主要探讨如何在建构主义学习理论指导下,建立基于多媒体网络技术的高级英语教学模式,使课堂教学更具趣味性和真切性,扩展学生的知识面,提高学生发现问题、分析问题、解决问题的能力以及语言实际应用和交际的能力。一、建构主义学习理论指导下的高级英语信息时代的外语教学改革应将当代外语教学理念和实践与最前沿的多媒体和网络技术结...