在分析现有软件质量数学模型的基础上,提出了软件项目开发三维模型框架,建立了软件质量最优化数学模型。模型将有限的成本和时间资源合理地分配到软件开发过程的各阶段,并使软件质量达到最优化,为项目管理者建立计划和分配资源提供量化依据,通过实例数据验证了建立的数学模型的正确性和有效性。
论文关键词:软件质量数学模型;软件项目管理;软件项目开发方法模型
软件项目与其他项目一样,成功的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%。
成本投入和时间投入对软件质量影响的评估值是模型的基础数据,其与软件本身的大小、开发环境(平台和开发工具等)和项目管理方法等相关,是历史数据和经验值相结合的结果。如何更科学和更准确地得出影响评估值和它们之间的关系是更好地使用该模型尚需深入研究的课题。
持续集成是极限编程12个基本原则之一,正在被越来越多的团队所采用。软件项目管理涉及到九大知识领域,贯穿于软件过程的始终,目的是为了让软件项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。持续集成这种软件开发实践,对于软件项目管理的各个领域的管理有着积极的作用。 一、引言 软件项目经理不但要用管理知识管理整个项目.还...
摘要:加强通信网建设研究,需要更新思维、注重效能、讲求效益、加强管理。关键词:民航通信网;工程建设;维护手段;新标准随着新技术、新设备、新手段的广泛运用,民航通信网的建设水平、发展速度、建设规模还不能完全适应信息技术发展的要求,不能完全满足信息化发展对民航通信保障的要求。对此,我们必须加强通信网建设研究。一、更新思维,确立工程建设的新模式目前,国内电信事业发展迅猛,数字化、高速率的通信网已经覆盖全...
为防止恶意攻击,文章从税控信息加密、税控软件系统在线升级、异常情况处理等方面阐述了进一步提高税控收款机安全性的设计方法 论文关键词:税控收款机;信息加密;软件在线升级;异常情况处理 税控系统由于涉及信息的敏感性,自然成为黑客的攻击目标。为防止恶意攻击,并保证税控收款机在诸如掉电、异常拔卡等异常事件发生时的信息安全,根据信息技术安全性评估准则(GB/T18336—2001)的要求,税...
本文先对软件项目管理进行简单的阐述,然后介绍了现行的软件企业管理国际标准,并着重对ISO9000系列和CMM进行了比较,最后根据我国软件行业的现状,介绍了软件项目管理的相关软件。 论文关键词:软件开发项目管理CMMISO项目管理软件 1软件项目管理的概念 软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,通过计划、组织、控制等一系列活动,合理地配置和使用各种资源,对成本、人...
网络语言的使用不仅是一种语言现象,也是一种社会文化现象,青少年群体是创造并使用网络语言的主体。旨在通过青少年对网络语言的使用状况和态度,分析其所蕴含的社会文化心理,以及社会现状与青少年使用网络语言的相互作用并对网络语言的规范提出些意见。 前言 21世纪是信息技术狂飙突进的时代,一种新的语言现象——网络语言随之诞生,并成为语言学研究的一个新的亮点。网络语言从本质上来说是现...
随着社会的持续发展和国家信息化步伐的加快,信息安全问题对国家安全的影响日益增加与突出。为了对安全性进行高效地评估,达到提高信息系统安全性的目的,文中提出了一种基于模糊综合评判理论的信息系统安全风险评估模型和方法。模型采用多层结构,引入了关系矩阵描述各个评价因素之间的相互影响关系,并提出了安全性评估指标体系,使用定性和定量的评估方法对安全性进行评估。对模糊综合得出的结果提出了分析方法来获得信息系统的...
介绍了信息系统建设中软件项目管理的理念,深入探讨了软件项目管理的组织模式、内容、配置管理、质量管理、风险管理及人员管理等,并给出了软件项目计划书的范本。 论文关键词:软件项目管理;软件配置管理;软件项目计划书 1软件项目管理的组织模式 1.1项目管理委员会。项目管理委员会是公司项目管理的最高决策机构,—般由公司总经理、副总经理组成。主要职责如下:(1)照项目管理相关制度管理项...
网络信息安全中防火墙扮演着重要角色,而硬件防火墙对大型网络安全更是至关重要,研究硬件防火墙将为大型网络的安全增加砝码。通过对硬件防火墙工作原理的研究,明白为何大中型网络要使用硬件防火墙,理解硬件防火墙在网络中的工作原理和过程,知道硬件防火墙的基本配置考虑要素。了解硬件防火墙的选购标准,增强对硬件防火墙在网络信息安全中重要性的认识。 论文关键词:网络信息安全;大型网络;硬件防火墙;三次握手;过滤;...
新课程标准认定中学生的信息技术应用技能为非零起点。然而,现实情况是复杂多变的,由于受不同的环境和不同教育的影响,使得学生在信息技术的基础以及兴趣、意志等非智力因素上呈现了很大的差异。因此,教学总会面临学生水平参差不齐的状况。在差异存在且不可能消除的前提下,如何实施有差异的教学,培养学生的信息素养,是广大信息技术教师面临的一大课题。本文作者根据自己在初中信息技术教学中面对学生差异开展教学活动的策略所...
计算机网络入侵会给系统带来灾难性的后果,为了降低网络入侵带来的风险,可以运用网络攻防实验来模拟网络入侵。阐述了攻防实验是对系统风险评估的有效手段,是信息安全技术的重要组成部分。攻防实验在刚起步的时候仅仅是对信息安全技术的有效提升,而之后它的重要性会逐渐增加并开始成为信息系统风险评估的重要技术补充。重点从技术的角度叙述了攻防实验的主要方法,从而使攻防实验井然有序地进行。 论文关键词:攻防实验技术;...