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