从软件项目管理的重要性谈起,研究分析了四个主流的软件项目管理技术,指出了它们的缺陷,最后结合实践提出了一种新颖的软件项目管理概念。
1引言
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理善引起的,而并不是因为技术实力不够,进而得出一个结论,即管理是影响软件项目全局的因素,而技术只影响局部。这个结论非常重要。到了90年代中期,软件项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。在商用软件产业中,这一现象尤为严重。1995年,美国共取消了810亿美元的软件项目,其中31%的项目未做完就取消了,53%的软件项目进度通常要延长一半的时间,通常只有9%的软件项目能够及时交付并且费用也不超支。由此可见,软件项目管理技术的研究至关重要。
2软件项目管理技术综述
随着上世纪末软件工程的快速发展,软件项目管理水平也有了很大提高,提出了很多的软件项目管理技术,极大地推动了软件业的发展,这里我们主要谈以下四种主流的软件项目管理技术。
2.1 CMM
CMM是美国卡纳基梅隆大学软件工程研究所(CMU/SEI)提出的软件研发项目管理的一系列方法,它基于组织对关键过程域的支持,定义了软件过程成熟度的五个级别。
级别1(初始级)描述了不成熟,或者说是未定义过程的组织。级别2(可重复级),级别3(已定义级),级别4(已管理级)和级别5(优化级)分别描述了软件过程成熟度级别递增的组织。和这些级别相关的KPA是:
级别2:需求管理,软件项目计划,软件项目跟踪和监控,软件子合同管理,软件质量保证,软件配置管理。
级别3:组织级过程焦点,组织级过程定义,培训大纲,集成软件管理,软件产品工程,组间协调,同行评审。
级别4:定量过程管理,软件质量管理。级别5:缺陷预防,技术更新管理,过程更改管理。
2.2 CMMI
CMMI被看做是把各种CMM集成为一个系列的模型中。CMMI的基础源模型包括:软件CMM2.0版(草稿c),EIA一731系统工程,以及IPDCMM(IPD)0.98a版。CMMI也描述了5个不同的成熟度级别:
级别1(初始级)代表了以不可预测结果为特征的过程成熟度。过程包括了一些特别的方法、符号、工作和反应管理,成功主要取决于团队的技能。
级别2(已管理级)代表了以可重复项目执行为特征的过程成熟度。组织使用基本纪律进行需求管理、项目计划、项目监督和控制、供应商协议管理、产品和过程质量保证、配置管理、以及度量和分析。对于级别2而言,主要的过程焦点在于项目级的活动和实践。
级别3(严格定义级)代表了以组织内改进项目执行为特征的过程成熟度。强调级别2的关键过程域中前后一致的、项目级的纪律,以建立组织级的活动和实践。附加的组织级过程域包括:①需求开发:多利益相关者的需求发展。②技术方案:展开的设计和质量工程。③产品集成:持续集成、接口控制、变更控制。④验证:保证产品正确建立的评估技术。⑤确认:保证建立正确的产品评估技术。⑥风险管理:检测、优先级,相关问题和意外的解决方案。⑦组织级培训:建立机制,培养更多熟练人员。⑧组织级过程焦点:为项目过程定义建立组织级框架。⑨决策分析和方案:系统可选的评估。⑩组织级过程定义:把过程看做组织的持久发展的资产。⑩集成项目管理:在项目内统一各个组和利益相关者。
级别4(定量管理级)代表了以改进组织性能为特征的过程成熟度。3级项目的历史结果可用来交替使用,在业务表现的竞争尺度(成本、质量、时间)方面的结果是可预测的。级别4附加的过程域包括:①组织级过程执行:为过程执行设定规范和基准;②定量的项目管理:以统计质量控制方法为基础实施项目。
级别5(优化级)代表了以可快速进行重新配置的组织性能和定量的、持续的过程改进为特征的过程成熟度。附加的级别5过程域包括:①因果分析和解决方案:主动避免错误和强化最佳实践;②组织级改革和实施:建立一个能够有机地适应和改进的学习组织。
2.3 PSP
PSP(PersonalSoftwareProcess,个体软件过程)是由CMU/SEI开发出来的,它的推出在软件工程界引起了极大的轰动,可以说是由定向软件工程走向定量软件工程的一个标志。PSP为基于个体和小型群组软件过程的优化提供了具体而有效的途径,例如如何制订计划,如何控制质量,如何与其他人相互协作等等。在软件设计阶段,PSP的着眼点在于软件缺陷的预防,其具体办法是强化设计约束准则,而不是设计方法的选择。因此,PSP保障软件产品质量的一个重要途径是提高设计质量。
2.4 TSP
TSP(TeamSoftwareProcess,群组软件过程)是CMU/SEI在PSP基础上又发展出的软件项目管理技术,它主要是指导项目组中的成员如何有效地规划和管理所面临的项目开发任务,并且告诉管理人员如何指导软件开发队伍。始终以最佳状态来完成工作。TSP实施集体管理与自己管理自己相结合的原则,最终目的在于指导开发人员如何在最少的时间内,以预定的费用生产出高质量的软件产品,所采用的方法是对群组开发过程的定义、度量和改进。
实施TSP的先决条件有三条:首先,需要有高层主管和各级经理的支持,以取得必要的资源;其次,项目组开发人员需要经过PSP的培训并有按TSP工作的愿望和热情;第三,整个开发单位在总体上应处于CMM二级以上,开发小组的规模以3~20人为宜。在实施TSP的过程中,首先要有明确的目标,开发人员要努力完成已经接受的委托任务。在每一阶段开始,要做好工作计划。如果发现未能按期按质完成计划,应立即分析原因,以判定问题是由于工作内容不合适或工作计划不实际所引起,还是由于资源不足或主观努力不够所引起。开发小组一方面应随时追踪项目进展状态并进行定期汇报,另一方面应经常评审自己是否按PSP的原理工作。开发小组成员应按自己管理自己的原则管理软件过程,如发现过程不合适,应及时改进,以保证用高质量的过程来产生高质量的软件。项目开发小组则按集体管理的原则进行管理,全体成员都要参加和关心小组的规划、进展的追踪和决策的制定等项工作。
3软件项目管理技术分析研究
CMM的基于活动的度量方法和瀑布过程的有次序的、基于活动的管理规范有非常密切的联系,所以CMM在实践中反映出来的问题表现为过度基于过程的管理,具有典型的传统瀑布方法症状。现代主流的叠代软件项目开发技术、软件产业最佳实践和经济动机推动了软件开发组织采用基于结果的方法:开发业务案例、构想和原型方案;细化后纳入基线结构、可用发布,最后定为现场版本的发布。虽然CMMI保留了基于活动的方法,它的确集成了软件产业内很多现代的最好的实践,因此它很大程度上淡化了和瀑布思想的联系,而和叠代思想联系得更紧密。软件项目管理技术发展到今天,有了成熟的现代软件项目管理十大原理(沃克尔·罗伊斯):①首先注重结构过程;②用叠代生命周期在早期防御风险;③强调基于构件的开发;④建立变更管理环境;⑤用循环工程工具使变更更自由;⑥使用严格的、基于模型的设计符号;⑦提供过程的客观质量控制的手段;⑧使用中间产品的基于演示的评估;⑨发布细化的、展开的计划;⑩建立一个可升级的、可配置的过程。
根据对软件开发项目一线的多数工程师和项目经理的调查分析,我们知道CMM对现代原理几乎没什么影响,甚至有些现代原理实际上是和CMM关键过程域相冲突的。基于对产业默认实践的观察和分析,CMMI和现代管理原理关系十分密切,激发了半数的叠代软件管理原则,如表1所示。
因此,对于采用瀑布过程开发软件项目的组织来讲,最好采用CMM的软件项目管理技术,而对于采用迭代软件开发过程开发软件项目的组织来说,还是应该采用CMMI软件项目管理技术进行软件项目管理。
但是,并不是实施了CMM/CMMI后,软件研发项目的质量就能够有所保障了。CMM/CMMI不是万能的,它的成功与否,与组织内部有关人员的积极参与和创造性活动密不可分,而且CMM/CMMI并未提供有关子过程实现域所需要的具体知识和技能。这就需要PSP的管理技术来协作了,PSP专注于为个体和小型群组软件过程的优化提供具体而有效的途径。统计数据表明,在应用了PSP后软件中总的差错减少了,在i贝0试阶段发现的差错减少了,生产效率提高了,软件项目开发有了很大的改善。
众所周知,现代软件项目早已走出单个英雄单打独斗的时代,而是需要众多软件工程师的密切合作。实践证明,PSP已不能解决现代软件项目管理中的所有问题,这时,擅长于项目任务规划管理和项目人力资源规划管理的TSP恰好可以在这方面做有益的补充。
综上所述,单纯实施CMM/CMMI,永远不能真正做到能力成熟度的升级,达到软件项目管理的最佳境界,只有将实施CM CMMI与实施PSP和TSP有机地结合起来,灵活地应用于软件项目管理,才能发挥最大的效力,取得最好的效果。
4总结
文章分析研究了几种主流的软件项目管理技术,结合实践,提出了新颖的软件项目管理概念。我们相信随着软件工程的发展和进一步成熟,软件项目管理技术的发展会取得更大的进步。在实际项目中,我们要坚持改善软件工程的管理,并在实践中总结适合自身的经验,这样才有利于管理技术的进步和软件项目的顺利完成,创造出更高的品质、更大的效益。
目前我国在校生的创新能力不容乐观,传统的班级授课制在培养学生的创新能力方面具有很大的局限性。网络教学以其学习的主体性、教学环境的开放性、教学构成的交互性、教学方式的多样性、教学测评的多元性等特点,在培养创新能力的过程中起着非常重要的作用。在分析网络环境下创新教学体系的基础上,构建了网络“五步导五步学”的新型教学模式,并依托网络教学平台进行了教学实践应用。 一问题的提出 ...
介绍了软件项目风险管理的重要性,探讨了软件项目风险管理的主要过程和步骤以及常用的工具和方法,详细分析了软件项目中常见的风险类型和风险成因,最后给出了经典的风险管理模型和常用的风险应对措施. 论文关键词:项目管理;风险分析;风险管理;风险应对;模型 0引言 随着信息技术的飞速发展,软件产品的规模也越来越大,各软件企业在开发活动中都为了使软件项目能够按照预定的成本、进度和质量顺利完成而进行有效的...
在电子政务建设中,如何准确把握信息安全与应用建设的关系,既有效减小安全风险,又保证应用顺利开展,是许多信息系统建设者、使用者都会遇到的问题。对于这一问题的圆满解决,既需要有微观上的技术手段,又要宏观上的理论指导和观念更新,尤其是宏观方面的考量,在信息系统建设的整体把握和政策导向方面尤为重要。本文通过对应用与安全两者在信息系统中所处位置的形象比喻,试图理清应用与安全之间既相互矛盾、又互为依存的关系,...
推进教育创新是我国教育改革进程中面临的一项重要而紧迫的任务。本文探讨了如何在计算机基础课程教学中实施创新教育,并重点对构建计算机基础课程创新教学模式的教学策略和教学步骤进行了分析和研究。 1引言 计算机基础课程的创新教学模式是以学生为中心以创新教育理念为理论基础,根据计算机基础课程的教学情况及学生的心理发展规律,综合运用现代教育教学手段、技术,优化计算机基础课程的教学,构建以培养学生自主精神、...
由校园网运行和信息安全问题,提出加强校园网管理,提高教师和学生信息安全意识。并对具体的网络管理实施方法和信息安全保护措施进行探究和实践。 一、引言 随着校园网络建设的不断发展,学院在教学、管理、科研以及对外信息交流等多方面对校园网的依赖性日渐增强,以网络的方式来获取信息、存储信息和交流信息成为学院教师和学生使用信息的重要手段之一。然而,就目前的网络运行状况来看,校园网信息安全问题日益突出,网络...
密码技术是信息安全的核心技术公钥密码在信息安全中担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。本文介绍了数字签名技术的基本功能、原理和实现条件,并实现了基于RSA的数字签名算法 0.引言随着计算机网络的发展,网络的资源共享渗透到人们的日常生活中,在众多领域上实现了网上信息传输、无纸化办公。因此,信息在网络中传输的安全性、可靠性日趋受到网络设计者和网络用户的重视数字签名技术是实...
在分析现有软件质量数学模型的基础上,提出了软件项目开发三维模型框架,建立了软件质量最优化数学模型。模型将有限的成本和时间资源合理地分配到软件开发过程的各阶段,并使软件质量达到最优化,为项目管理者建立计划和分配资源提供量化依据,通过实例数据验证了建立的数学模型的正确性和有效性。 论文关键词:软件质量数学模型;软件项目管理;软件项目开发方法模型 软件项目与其他项目一样,成功的3要素是范围(质量)、...
结合单位的实际,分析了现有计算机专业课程特点和不足,讨论了高师计算机专业学生开设信息安全法律法规课程的必要性、可行性,分析了信息安全技术课程、与信息安全有关法律法规课程的特点.给出了高师信息安全法律课程的教学目标定位、设置方法. 论文关键词:高师计算机专业;信息安全;法律法规课程 人类进入21世纪,现代信息技术迅猛发展,特别是网络技术的快速发展,互联网正以其强大的生命力和巨大的信息提供能力和检...
计算机网络入侵会给系统带来灾难性的后果,为了降低网络入侵带来的风险,可以运用网络攻防实验来模拟网络入侵。阐述了攻防实验是对系统风险评估的有效手段,是信息安全技术的重要组成部分。攻防实验在刚起步的时候仅仅是对信息安全技术的有效提升,而之后它的重要性会逐渐增加并开始成为信息系统风险评估的重要技术补充。重点从技术的角度叙述了攻防实验的主要方法,从而使攻防实验井然有序地进行。 论文关键词:攻防实验技术;...
网络信息安全中防火墙扮演着重要角色,而硬件防火墙对大型网络安全更是至关重要,研究硬件防火墙将为大型网络的安全增加砝码。通过对硬件防火墙工作原理的研究,明白为何大中型网络要使用硬件防火墙,理解硬件防火墙在网络中的工作原理和过程,知道硬件防火墙的基本配置考虑要素。了解硬件防火墙的选购标准,增强对硬件防火墙在网络信息安全中重要性的认识。 论文关键词:网络信息安全;大型网络;硬件防火墙;三次握手;过滤;...
影响因子:2.217
影响因子:1.220
影响因子:0.691
影响因子:1.838
影响因子:4.141
影响因子:16.560
影响因子:0.000
影响因子:0.000