在解决软件危机的过程中,越来越多的软件开发公司意识到在软件项目开发过程中有效的管理所起到的重要作用。而在软件项目管理过程中,软件项目的计划管理则是决定项目能否顺利实施的关键内容。本文将在下面具体阐述软件项目的计划管理。
1 软件项目计划概述
软件项目计划是指为软件工程的运作和软件项目活动的管理提供一个合理的基础和可行的工作计划的过程。其目的是为执行软件工程和管理软件项目制定合理的计划。具体来讲,就是:(1)使软件项目的开发建立在可靠的基础之上,并将计划文档化,由开发人员遵循,并据此跟踪检查计划的执行。(2)确定软件项目开发的活动的承诺,使软件开发工作有序而协调的开展,以便根据软件计划的资源、约束和能力逐步向客户履行承诺。(3)明确与软件项目相关的组织和个人的承诺,将责任落实到组和个人,从组织管理上保证项目开发的成功。
2 制定计划应遵循的原则
2 . 1 重视对项目信息的了解
制定软件项目计划,不仅仅需要经验,更需要全面了解项目的相关信息。必须掌握的信息包括:关于所在组织的信息,包括组织结构图,各部门的职能,各关键部门的经理和部分成员(并尽可能认识这些人);关于市场的信息,包括本行业新产品和新技术的发布,竞争对手的情况,竞争对手的主要客户群信息;关于历史项目的信息,尤其需要注意以往项目实施过程中出现的问题记录和解决方法;关于客户的信息,与客户的沟通是相当重要的,特别要理解清楚客户对时间、进度和效果上的要求。只有在了解足够信息的基础上制定计划,才能增强指导性和针对性。
2 . 2 重视项目计划的层次性
软件项目计划的层次通常分为高级计划、阶段计划和低级计划。高级计划是项目的早期计划,主要进行项目的阶段划分,主要包括人、财、物3个要素。大的阶段交替之前,我们要做好下一阶段的详细计划,称之为阶段计划。阶段计划要确定各项任务的负责人、开始和结束时间、设备资源、任务之间的依赖关系、小的事件点(即里程碑)。
开发人员的个人计划是低级计划,由开发人员根据自己的任务自行制定。通常,软件项目计划至多有4级,较小的软件项目有2级计划(高级计划与低级计划)也是可行的。
2 . 3 重视历史数据的运用和积累
要充分利用以往类似软件项目的历史数据。不光成功项目的数据具有参照价值,失败项目的数据也具有借鉴作用。可以根据它们来制定和改进计划。此外也要注意积累历史数据,以便于为我所用,这些是可复用的资源。最好是通过文档化的过程形成模板,将以往的成功经验高效继承。
2 . 4 重视用过程化的思想指导开发
我们知道软件能力成熟度模型CMM,描述了五个级别的软件过程成熟度:初始级,可重复级,已定义级,已定量管理级,优化级。在可重复级即CMM2这个等级上,该过程具备了对软件项目基本的管理控制、方针和规程,并强调文档化的过程,一个项目成功了,就可以认为下一个项目也可以成功。
在项目的实施过程中,通常需要根据项目的进展情况及变更对项目计划进行修改,在策划和重新策划中涉及的内容,都包含在CMM2过程中。运用软件过程化CMM2的思想指导计划的编制与实施,可以提高软件项目的可控程度。尽管当前大多数企业都难以达到CMM2级及以上的等级能力水平,但至少要具备过程化的思想。
3 计划的技术方法
在制定软件项目的计划时,以下是常用的技术。
3.1 PERT
PERT(计划评审技术,Program Evalu-ation an Review Technique)是50年代末美国海军部在研制北极星潜艇系统时为协调3000多个承包商和研究机构而开发的,其理论基础是:假设软件项目持续时间以及整个项目完成时间是随机的,且服从某种概率分布。EPRT可以估计整个项目在某个时间内完成的概率。
构造PERT图,需 要 明 确 三 个 概 念:事件、活动和关键路线。事件(Events)表示主要.活动结束的那一点;活动(Activities)表示从一个事件到另一个事件之间的过程;关键路线(Critical Path)是PERT网络中花费时间最长的事件和活动的序列。开发一个PERT网络要求管理者确定完成项目所需的所有关键活动,按照活动之间的依赖关系排列它们之间的先后次序,以及完成每项活动的时间。
3.2 CPM
CPM(关键路径法)是一项用于确定软件项目的起始时间和完工时间的方法。该方法的结果是指出一条关键路径,或指出从项目开始到结束由各项活动组成的不间断活动链。任何关键路径上的活动开始时间的延迟都会导致项目完工时间的延迟。
正因为它们对项目完工的重要性,关键活动在资源管理上享有最高的优先权。
在图1中,字母A、B、C、D、E、F、G、H、I、J代表了项目中需要进行的子项目或工作包,连线箭头则表明了工作包之间的关系,节点数字1、2、3、4、5、6、7、8则表明的是一种状况,从1开始到8结束,中间的数字则表明上一工作包的结束和下一工作包的开始。
A=1,表示A工作包的持续时间为1天。
由图中可反映出该项目的路径共有4条,它们的历时长度分别为:A+D+H+J=1+4+6+3=14(天)B+E+H+J=2+5+6+3=16(天)B+F+J=9(天)C+G+I+J=14(天)关键路径是该图中最长的路径,即路径2,由B、E、H、J组成,历时16天。关键路径反映了完成项目需要的最短时间,其所有的组成工作包的执行情况都应给予密切关注,避免项目的延期完成。
4 结语
近年来,软件行业越发意识到对软件项目管理的好坏将直接决定所要开发的软件项目的命运。所以越来越多的公司加大了对软件项目计划管理的重视程度。但是科学的管理需要科学的方法支撑,本文从计划管理的概念、原则方面简要介绍了计划管理,并在此基础上提出了三种科学的、常用的技术方法。希望本文所提的方法能给实际的软件开发起到一个参考作用。
参考文献
[1] 邓子云.制 订 项 目 计 划 的 方 法 与 策 略[J].企 业 技 术 开 发 ,2004(1).
[2] 李铭,刘超.软件项目计划制定和追踪的 方 法 [J].计 算 机 工 程 与 应 用 ,2002(22).
[3] 张 海 藩 .软 件 工 程 导 论 [M].北京:人 民邮 电 出 版 社 ,2002.
第四章软件项目管理系统的设计4.1软件项目管理系统的总体设计。4.1.1系统总体结构设计。4.1.2系统软件配置方案。本系统的运行环境需求如下:操作系统:WindowxpWeb服务器:Tomcat6.0数据库:SQLServer2003本系统的开发环境如下:操作系统:Win...
当前,在软件开发过程中已经开始运用了软件配置管理法,此种方法可以将软件配置状态充分反映出来,还能够对软件配置的完整性进行有效检验。同时也可以为软件开发人员提供相关数据。而软件开发人员通过分析这些数据,能够及时发现其中存在的问题,并且采取措...
软件开发的一般过程通常情况下由需求调研分析、框架设计、编码设计、测试、软件文档交付、后续系统支持六大部分组成。其中,需求调研分析是整个软件开发过程中的第一步,也是最为关键的一步,需求调研设计在整个软件开发过程中确定了系统的开发目标与开发方...
第五章结合理论研究对软件项目管理系统的思考(1)认识项目管理。国外学者研究软件项目的时间比我国长,因此具有丰富的研发经验,美国的一位软件项目管理研发的人员说道,当今社会的一切事物都可以成为研发的项目,而项目就是指我们在一定时间内为达到某...
第二章软件项目管理系统的理论基础2.1软件项目管理系统的理论基...
随着信息技术的飞速发展,软件产品的规模也越来越庞大,各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。但国内软件企业对于软件项目的认知,在一定程度上盲目多于理性、理论多于实践。鉴于上述问题,本文分析了基于项目管理的软件开...
1引言近些年以来,伴随着科学技术的快速发展,企业软件项目管理逐渐体现出重要性,然而我国各个行业领域的企业发展比较滞后,尤其是在软件项目管理这方面显得更加落后,主要的原因是科学技术发展缓慢,同时缺乏科学合理的管理机制。如何使用计算...
引言高校课堂教育与实践教育的关系一直是教学改革的主题,尤其作为以培养软件工程师为主的软件学院,这个问题显得尤为重要,很多高校不同程度的存在重理论、轻实践,重知识传授、轻能力培养,重课内、轻课外的现象。有专家认为应该以课堂为主,有...
伴随社会的进步我国电脑软件工程管理也获得了一定的进步,可是当前电脑软件工程管理工作还是有许多问题需处理,产生这些问题的主要原因就是在于人们扔持有传统想法,电脑软件工程是新兴起的一个项目,因此对这方面的钻研主要还是探索时段,人们还不习惯这类...
摘要目前在大型软件企业中,通常会有几个大的软件项目在同时进行。如何建立一个高效的软件项目管理系统来对软件生成过程和软件质量进行管理和控制已经成为一个日益重要的任务[1].随着经济的飞速发展,我国的科技水平得到了很大提高,这对软件项目管理系统...