没有合适的资源?快使用搜索试试~ 我知道了~
软件项目管理所需的要求以及工作内容
5星 · 超过95%的资源 需积分: 35 25 下载量 171 浏览量
2008-09-09
08:54:01
上传
评论
收藏 151KB DOC 举报
温馨提示
试读
17页
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。 软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。
资源推荐
资源详情
资源评论
软件项目管理
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员
(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。
软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、
设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软
件交付用户使用。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后
开发的通用原则,方法,同时避免前人的失误。
软件项目管理的提出是在 20 世纪 70 年代中期的美国,当时美国国防部专门研究了软件开
发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现 70%的项目是因为管理不
善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了 20
世纪 90 年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,
软件研发的情况仍然很难预测,大约只有 10%的项目能够在预定的费用和进度下交付。
1995 年,据统计,美国共取消了 810 亿美元的商业软件项目,其中 31%的项目未做完就
被取消,53%的软件项目进度通常要延长 50%的时间,只有 9%的软件项目能够及时交付并且
费用也控制在预算之内。
软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发
进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了
开发过程中各种风险的难以预见和控制。Windows 这样的操作系统有 1500 万行以上的代码,
同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,
其软件质量是难以想象的。
软件项目管理的内容主要包括如下几个方面:人员的组织与管理,软件度量,软件项目计
划,风险管理,软件质量保证,软件过程能力评估,软件配置管理等。
这几个方面都是贯穿、交织于整个软件开发过程中的,其中人员的组织与管理把注意力集
中在项目组人员的构成、优化;软件度量把关注用量化的方法评测软件开发中的费用、生产率、
进度和产品质量等要素是否符合期望值,包括过程度量和产品度量两个方面;软件项目计划主
要包括工作量、成本、开发时间的估计,并根据估计值制定和调整项目组的工作;风险管理预
测未来可能出现的各种危害到软件产品质量的潜在因素并由此采取措施进行预防;质量保证是
保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动;软件过程能力评
估是对软件开发能力的高低进行衡量;软件配置管理针对开发过程中人员、工具的配置、使用
提出管理策略。因为大家对人力资源管理和软件过程能力比较有兴趣,下面就详细的对这两方
面展开讨论。
一.软件项目的计划
软件项目计划是一个软件项目进入系统实施的启动阶段,主要进行的工作包括:确定详细的
项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、
成本和预算计划、人力资源计划等。444444
软件项目管理过程从项目计划活动开始,而第一项计划活动就是估算:需要多长时间、需要多
少工作量、以及需要多少人员。此外,我们还必须估算所需要的资源(硬件及软件)和可能涉
及到的风险。
为了估算软件项目的工作量和完成期限,首先需要预测软件规模。度量软件规模的常用方
法有直接的方法——LOC(代码行),间接的方法——FP(功能点)。这两种方法各有优缺点,
应该根据软件项目的特点选择适用的软件规模度量方法。
根据项目的规模可以估算出完成项目所需的工作量,我们可以使用一种或多种技术进行估
算,这些技术主要分为两大类:分解和经验建模。分解技术需要划分出主要的软件功能,接着
估算实现每一个功能所需的程序规模或人月数。经验技术的使用是根据经验导出的公式来预测
工作量和时间。可以使用自动工具来实现某一特定的经验模型。
精确的项目估算一般至少会用到上述技术中的两种。通过比较和协调使用不同技术导出的
估算值,我们可能得到更精确的估算。软件项目估算永远不会是一门精确的科学,但将良好的
历史数据与系统化的技术结合起来能够提高估算的精确度。
当对软件项目给予较高期望时,一般都会进行风险分析。在标识、分析和管理风险上花费
的时间和人力可以从多个方面得到回报:更加平稳的项目进展过程;更高的跟踪和控制项目的
能力;由于在问题发生之前已经做了周密计划而产生的信心。
对于一个项目管理者,他的目标是定义所有的项目任务,识别出关键任务,跟踪关键任务
的进展情况,以保证能够及时发现拖延进度的情况。为此,项目管理者必须制定一个足够详细
的进度表,以便监督项目进度并控制整个项目。
常用的制定进度计划的工具主要有 Gantt 图和工程网络两种。Gantt 图具有悠久历史、直
观简明、容易学习、容易绘制等优点,但是,它不能明显地表示各项任务彼此间的依赖关系,
也不能明显地表示关键路径和关键任务,进度计划中的关键部分不明确。因此,在管理大型软
件项目时,仅用 Gantt 图是不够的,不仅难于做出既节省资源又保证进度的计划,而且还容易
发生差错。
工程网络不仅能描绘任务分解情况及每项作业的开始时间和结束时间,而且还能清楚地表
示各个作业彼此间的依赖关系。从工程网络图中容易识别出关键路径和关键任务。因此,工程
网络图是制定进度计划的强有力的工具。通常,联合使用 Gantt 图和工程网络这两种工具来制
定和管理进度计划,使它们互相补充、取长补短。
进度安排是软件项目计划的首要任务,而项目计划则是软件项目管理的首要组成部分。与
估算方法和风险分析相结合,进度安排将为项目管理者建立起一张计划图。
二.软件项目的控制
对于软件开发项目而言,控制是十分重要的管理活动。下面介绍软件工程控制活动中的质
量保证和配置管理。其实上面所提到的风险分析也可以算是软件工程控制活动的一类。而进度
跟踪则起到连接软件项目计划和控制的作用。
软件质量保证(SQA,Software Quality Insurance)是在软件过程中的每一步都进行
的“保护性活动”。SQA 主要有基于非执行的测试(也称为评审)、基于执行的测试(即通常所
说的测试)和程序正确性证明。
软件评审是最为重要的 SQA 活动之一。它的作用是,在发现及改正错误的成本相对较小时
就及时发现并排除错误。审查和走查是进行正式技术评审的两类具体方法。审查过程不仅步数
比走审多,而且每个步骤都是正规的。由于在开发大型软件过程中所犯的错误绝大数是规格说
明错误或设计错误,而正式的技术评审发现这两类错误的有效性高达 75%,因此是非常有效的
软件质量保证方法。
软件配置管理(SCM,Software con-guration management)是应用于整个软件过程
中的保护性活动,它是在软件整个生命周期内管理变化的一组活动。
软件配置由一组相互关联的对象组成,这些对象也称为软件配置项,它们是作为某些软件
工程活动的结果而产生的。除了文档、程序和数据这些软件配置项之外,用于开发软件的开发
环境也可置于配置控制之下。
一旦一个配置对象已被开发出来并且通过了评审,它就变成了基线。对基线对象的修改导
致建立该对象的版本。版本控制是用于管理这些对象而使用的一组规程和工具。
变更控制是一种规程活动,它能够在对配置对象进行修改时保证质量和一致性。配置审计
是一项软件质量保证活动,它有助于确保在进行修改时仍然保持质量。状态报告向需要知道关
于变化的信息的人,提供有关每项变化的信息。
三、软件项目管理的组织模式
软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。
如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目
(负责市场调研和销售),组成软件产品项目组。公司实行项目管理时,首先要成立项目管理
委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组。
3.1、项目管理委员会项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、
副总经理组成。主要职责如下:
(1)依照项目管理相关制度管理项目;
(2)监督项目管理相关制度的执行;
(3)对项目立项、项目撤消进行决策;
(4)任命项目管理小组组长、项目评审委员会主任、项目组组长.
3.2、项目管理小组项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要
职责如下:
(1)草拟项目管理的各项制度;
(2)组织项目阶段评审;
(3)保存项目过程中的相关文件和数据;
(4)为优化项目管理提出建议。
3.3、项目评审小组项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审
小组,一般由公司技术专家和市场专家组成。主要职责如下:
(1)对项目可行性报告进行评审;
(2)对市场计划和阶段报告进行评审;
(3)对开发计划和阶段报告进行评审;
(4)项目结束时,对项目总结报告进行评审。
3.4、软件产品项目组软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项
目组。软件项目组和产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场
人员构成。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销
售工作。4
四、软件项目管理的内容
从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细
设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开发,
这六个阶段都是不可缺少的。根据公司实际情况,公司在进行软件项目管理时,重点将软件配
置管理、项目跟踪和控制管理、软件风险管理及项目策划活动管理四方面内容导入软件开发的
整个阶段。在 20 世纪 80 年代初,著名软件工程专家 B.W.Boehm 总结出了软件开发时需遵
循的七条基本原则,同样,在进行软件项目管理时,也应该遵循这七条原则。它们是:
(1)用分阶段的生命周期计划严格管理;
剩余16页未读,继续阅读
资源评论
- yhhuangkimo2014-05-04很明細的步驟說明,謝謝啦
- x42151602014-09-03写论文用来参考的。
nhmice
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功