《软件项目管理与案例分析(第2版)/普通高等教育“十一五”国家级规划教材·软件工程专业核心课程系列教材》系统讲述软件项目管理的基本概念、基本原理及基本方法,包含当前相关知识领域的最新发展概况。
《软件项目管理与案例分析(第2版)/普通高等教育“十一五”国家级规划教材·软件工程专业核心课程系列教材》共分12章,围绕软件项目管理过程展开论述,内容涉及软件开发过程管理、软件项目质量管理、软件需求管理、软件团队管理、软件项目估算与进度管理、软件项目配置管理、软件项目风险管理等多方面。《软件项目管理与案例分析(第2版)/普通高等教育“十一五”国家级规划教材·软件工程专业核心课程系列教材》采用大量分散案例来解释和验证软件项目管理的基本概念、基本原理及基本方法,同时采用综合案例将整个知识内容有机地结合在一起。
本书可以作为高等学校软件项目管理课程的教科书,也可以作为从事软件项目管理、软件系统分析与设计、软件开发及应用等工作人员的参考书。同时对于希望了解软件项目管理的各类读者而言,本书也是一本较好的参考读物。
软件项目管理是软件工程和项目管理的交叉学科,它在内容的基本框架结构上与项目管理具有领域相似性的特点。软件工程领域在20世纪70年代经历了一个结构化生产时期; 20世纪80年代经历了以面向对象技术为特征的发展时期; 20世纪90年代中期经历了以软件过程变革为中心的时期; 现在经历的是软件工业化大生产集成的时期。软件项目管理作为软件工程的重要组成部分,其知识领域的相关过程、方法、工具随着软件工程学科的发展也经历了重大的变革。
本书系统讲述软件项目管理的基本概念、基本原理及基本方法,包含当前相关知识领域的最新发展情况。为将理论结合实践,本书采用大量分散案例来解释和验证软件项目管理领域的基本概念、基本原理及基本方法,同时采用综合案例将整个知识内容有机地结合在一起。
本书共分12章,围绕软件项目管理过程展开论述,内容涉及软件开发过程管理、软件项目质量管理、软件需求管理、软件团队管理、软件项目估算与进度管理、软件项目配置管理、软件项目风险管理等多方面。
第1章是“软件项目管理概述”,介绍软件项目的学科背景和相关概念; 第2章是“软件项目合同管理”,论述如何采用“技术合同”的方式来进行合同管理; 第3章是“软件开发过程管理”,介绍ISO 9000、CMM和CMMI三种常见的软件过程改进模型,以及多种软件开发生命周期模型和质量计划的定义和模板; 第4章是“软件质量管理”,介绍软件质量管理的相关概念、方法和过程,包括软件质量和质量工作的含义,软件质量度量模型、指标及工具,软件质量保证的相关措施,以及软件测试过程管理模型及实践; 第5章是“软件项目团队管理”,讲述软件项目团队管理的概念、特点、过程和方法; 第6章是“软件项目需求管理”,从需求工程的角度阐述软件项目中的需求管理; 第7章是“软件项目开发计划”,在详细分析几个成本模型的基础上对软件项目加以描述,并介绍进度安排的相关内容; 第8章是“软件项目风险管理”,论述什么是风险及如何制定风险管理计划并有效地管理风险; 第9章是“软件项目跟踪控制”,介绍分析项目进展性能的两种方法: 图解控制法和挣值分析法; 第10章是“软件项目配置管理”,介绍软件项目实施过程中的项目范围核实、项目的组织、项目配置管理策略的执行、变更的有效控制、测试过程、系统维护等; 第11章是“软件项目收尾”,介绍如何对项目成果交付的过程或者取消项目的过程进行管理; 第12章是“综合案例分析”。
本书可以作为高等学校软件项目管理课程的教科书,也可以作为从事软件项目管理、软件工程、软件系统分析与设计、软件开发及应用等工作的研究人员的参考书。对于希望了解软件开发项目管理的各类读者,本书也是一本较好的参考读物。
由于作者水平有限,加之软件项目管理知识领域的发展速度非常快,书中难免有疏漏和不妥之处,敬请读者批评斧正。
编者
2013年6月
第1章 软件项目管理概述
1. 1 项目与软件项目的概念
1.1.1 项目与项目属性
1.1.2 软件项目
1.1.3 项目的组成要素
1.2 项目管理的概念
1.2.1 项目管理的定义
1.2.2 项目管理的基本内容
1.2.3 项目管理与软件项目管理的特点
1.3 软件项目生命期与管理过程
1.3.1 软件项目生命期
1.3.2 软件项目管理过程
1.3.3 项目生命期中的几个重要概念
1.4 本书内容的组织
1.5 本章小结
1.6 复习思考题
第2章 软件项目合同管理
第3章 软件开发过程管理
第4章 软件质量管理
第5章 软件项目团队管理
第6章 软件项目需求管理
第7章 软件项目开发计划
第8章 软件项目风险管理
第9章 软件项目跟踪控制
第10章 软件项目配置管理
第11章 软件项目收尾
第12章 综合案例分析
参考文献
2.项目计划阶段
如果厂商向用户提交了《项目建议书》,介绍了解决方案,进入了入围厂家名单,开始等待招标,这就是上一个阶段工作基本成功的标志,也是能赢得项目的关键。接下来的工作,从商务上来说就是竞标,公司既要展示实力又要合理报价。如果竞标成功,则签订合同,厂商开始承担项目成败的责任。
根据一般项目管理经验,在这个时候,公司可以开始成立项目组,确定项目经理。把项目前期的工作部门,从销售和市场部门,逐步转到专门为这个项目目标而成立的项目组身上。从公司角度来看,这才是项目的开始。
在这个阶段,新的项目经理要着手开展的工作,就是为项目制定项目计划、核算成本等。项目计划是建立项目行动指南的基准,包括对软件项目的估算、风险分析、进度规划、人员的选择与配备、产品质量规划等,它将指导项目的进程发展。项目计划为软件项目制定了预算,提供了一个控制项目成本的尺度,也为将来的评估提供参考,它是项目进度安排的依据。最后形成的项目计划书将作为跟踪控制的依据。
3.项目执行阶段
合同签订后,进入了正式的项目执行阶段。一般地,该阶段具体还可划分为需求分析、系统设计(一般包括概要设计和详细设计)、系统实现与测试等阶段。其中,需求分析是系统设计的前提,也是系统设计内容的重要组成部分。实际上,在系统设计阶段就已经围绕关键技术点开始了一些重要的开发工作实验,从而确保逻辑系统最终可以实现。系统实现与测试阶段则包括编写代码、测试、试运行等多个连续迭代的开发工作。
在项目执行阶段,项目经理需要:细化目标、制定工作计划、协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。因为软件项目的不确定性,项目监控显得非常重要,特别是有众多项目同时运行的软件公司,必须建立公司一级的监控体系跟踪项目的运行状态。
4.项目结束阶段
项目结束阶段包括项目验收、系统运行、系统维护,并一直到软件产品生命周期结束等一系列活动。在该阶段,项目组要负责:移交工作成果,帮助客户实现商务目标;将系统交接给维护人员;结清各种款项。完成这些工作后,一般还应进行项目总结、项目后评估和文件归档。
在上述项目生命期中存在两次责任转移:第一次是在签订合同时,标志着项目成败的责任已经由用户转移给承约方;第二次是在交付产品时,标志着承约方完成任务,开始由用户承担实现商务目标的责任。在第一次责任转移时,项目管理要求有清晰定义的工作范围。在第二次责任转移时,项目管理要求有按照合同规定的、明确的交付物转移和相关记录。
……