第2章软件项目管理 软件项目管理的概念 软件度量 软件项目计划 项目进度安排与跟踪 软件质量管理 软件配置管理 西安交通大学刘海岩
西安交通大学 刘海岩 1 第2章 软件项目管理 ⚫ 软件项目管理的概念 ⚫ 软件度量 ⚫ 软件项目计划 ⚫ 项目进度安排与跟踪 ⚫ 软件质量管理 ⚫ 软件配置管理
21软件项目管理的概念 项目:以一套独特而相互联系的任务为前提,有 效的利用资源,为实现一个特定目标所作的工作。 项目的成功受以下几个因素的制约: 技术范围、成本、进度、用户满意度、人员等。 项目管理的职责:确保项目目标的实现,即在预 算内按时完成质量合格的产品 软件项目管理:是对传统项目管理进行软件工程 化的一种扩展与拓延,是它在软件工程的任何技术活动 之前开始,并持续贯穿于整个软件定义、开发和支持阶 段的庇护性活动,是决定一个产品或项目能否成功最重 要的指标之一。 西安交通大学刘海岩
西安交通大学 刘海岩 2 2.1 软件项目管理的概念 • 项目:以一套独特而相互联系的任务为前提,有 效的利用资源,为实现一个特定目标所作的工作。 项目的成功受以下几个因素的制约: 技术范围、成本、进度、用户满意度、人员等。 • 项目管理的职责:确保项目目标的实现,即在预 算内按时完成质量合格的产品。 • 软件项目管理:是对传统项目管理进行软件工程 化的一种扩展与拓延,是它在软件工程的任何技术活动 之前开始,并持续贯穿于整个软件定义、开发和支持阶 段的庇护性活动,是决定一个产品或项目能否成功最重 要的指标之一
4个P( People、 Product、 Process、 Project) 对软件项目管理有实质性的影响: 人员必须被组织成有效的开发团队。 产品需求被划分成较小的组成部分,便于分配给 软件开发小组。 开发过程应根据人员和产品选择合适的开发模型。 项目必须被组织成便于控制和管理的方式,使有 计划的进行。 西安交通大学刘海岩
西安交通大学 刘海岩 3 4个P( People、Product、Process、Project) 对软件项目管理有实质性的影响: 人员必须被组织成有效的开发团队。 产品需求被划分成较小的组成部分,便于分配给 软件开发小组。 开发过程应根据人员和产品选择合适的开发模型。 项目必须被组织成便于控制和管理的方式,使有 计划的进行
◆人员: 人员是一个成功软件项目中最重要的因素 可分为5类: (1)高级管理者:负责定义业务问题,影响着项目 (2)技术管理者:组织、激励和控制开发人员 (3开发人员:负责开发一个产品或应用所需的技术。 (4)客户( customer):负责说明待开发的软件需求。 (5)最终用户(user):直接使用发布的软件 西安交通大学刘海岩
西安交通大学 刘海岩 4 ◆ 人员: 人员是一个成功软件项目中最重要的因素。 可分为5类: ⑴高级管理者:负责定义业务问题,影响着项目。 ⑵技术管理者:组织、激励和控制开发人员。 ⑶开发人员:负责开发一个产品或应用所需的技术。 ⑷客户(customer):负责说明待开发的软件需求。 ⑸最终用户(user):直接使用发布的软件
每一个软件项目都有上述的人员参与。必须被组织成有 效的小组,最大限度的发辉每个人的技术和能力,激励他们 进行高质量的工作,并协调他们实现有效的通信。 Constantine 提出4个“组织范型” 1)封闭式范型:传统的控制层次,垂直通信,难以创新。 2)随机式范型:小组管理较松散,依赖于成员 个人的主动性。不适合“有次序地完成” (3)开放式范型:具有封闭式范型的控制性,又包含随机 式范型的创新性。适合于解决复杂问题。可能不像其他类型 小组那么有效率。 (4)同步式范型:依赖于问题的自然划分,小组成员各自 解决问题的独立部分。主动通信差。 建立一个有凝聚力的小组,要有团队精神。 西安交通大学刘海岩
西安交通大学 刘海岩 5 每一个软件项目都有上述的人员参与。必须被组织成有 效的小组,最大限度的发辉每个人的技术和能力,激励他们 进行高质量的工作,并协调他们实现有效的通信。Constantine 提出4个“组织范型” : (1) 封闭式范型:传统的控制层次,垂直通信,难以创新。 (2) 随机式范型:小组管理较松散,依赖于成员 个人的主动性。不适合“有次序地完成” 。 (3) 开放式范型:具有封闭式范型的控制性,又包含随机 式范型的创新性。适合于解决复杂问题。可能不像其他类型 小组那么有效率。 (4) 同步式范型:依赖于问题的自然划分,小组成员各自 解决问题的独立部分。主动通信差。 建立一个有凝聚力的小组,要有团队精神
◆产品: 进行项目计划之前,应该首先定义产品的目的和范围, 考虑可选的解决方案,标识技术和管理的约束。无这些 信息,就不可能进行合理的、准确的成本估算、有效的 风险评估、适当的项目任务划分、可管理的项目进度安 “目的”指从用户的角度标识出该产品的总体目标而 不考虑这些目标如何实现。 “范围”指标识出与产品相关的主要数据、功能和行 为 确定了目的和范围,就可以根据产品交付的期限、预 算的限制、可用的人员、技术接口及各种其他因素,选 择最好的解决方案途径 西安交通大学刘海岩
西安交通大学 刘海岩 6 ◆ 产品: 进行项目计划之前,应该首先定义产品的目的和范围, 考虑可选的解决方案,标识技术和管理的约束。无这些 信息,就不可能进行合理的、准确的成本估算、有效的 风险评估、适当的项目任务划分、可管理的项目进度安 排。 “目的”指从用户的角度标识出该产品的总体目标而 不考虑这些目标如何实现。 “范围”指标识出与产品相关的主要数据、功能和行 为。 确定了目的和范围,就可以根据产品交付的期限、预 算的限制、可用的人员、技术接口及各种其他因素,选 择最好的解决方案途径
◆过程 根据以下条件选择一个合适的软件过程模型: (1)开发人员及需要该产品的用户 (2)产品本身的特征 (3)项目组的工作环境 采用如下的框架活动集合: 客户交流、计划、风险分析、工程实施、构造及发 布、用户评估。这些活动可被修改以适应不同软件项目 的特征和项目组的需求。每个活动可被分解为更详细的 工作任务 如客户交流活动可能需要下列任务 西安交通大学刘海岩
西安交通大学 刘海岩 7 ◆ 过程 根据以下条件选择一个合适的软件过程模型: ⑴开发人员及需要该产品的用户 ⑵产品本身的特征 ⑶项目组的工作环境 采用如下的框架活动集合: 客户交流、计划、风险分析、工程实施、构造及发 布、用户评估。这些活动可被修改以适应不同软件项目 的特征和项目组的需求。每个活动可被分解为更详细的 工作任务。 如客户交流活动可能需要下列任务:
(1)列出需要澄清问题的清单 (2)安排与用户进行讨论的会议 (3)评审用户要求及范围的陈述 (4)研究推荐的解决方案 (5)为正式的会议准备工作文档 (6)共同制订能反映软件的数据、功能和行为特 征的规约,形成软件范围的文档 (7)评审文档 (8)根据需求修改文档 庇护性活动贯穿于整个过程。 西安交通大学刘海岩
西安交通大学 刘海岩 8 ⑴列出需要澄清问题的清单 ⑵安排与用户进行讨论的会议 ⑶评审用户要求及范围的陈述 ⑷研究推荐的解决方案 ⑸为正式的会议准备工作文档 ⑹共同制订能反映软件的数据、功能和行为特 征的规约,形成软件范围的文档 ⑺评审文档 ⑻根据需求修改文档 …… 庇护性活动贯穿于整个过程
◆项目 有计划的控制软件项目, Boehm提出了一种方法, 强调项目目标、里程碑、进度、责任、管理和技术方 法以及需要的资源,称之为WH原则。通过下面一系列 的提问和回答,可以导出项目的关键特征并产生项目计 划的大纲: (1)为什么(Why)该系统被开发?值得吗? (2)将做什么(What)?什么时候(When)做? 建立项目进度,标识关键的项目任务和里程碑 (3)某功能由谁(Who)负责?开发人员的角色和责任。 (4)哪里需要( Where)?客户、用户和其他投资者也有 责任 (5)工作将如何(How)进行?定义项目的管理和技术 策略。 (6)资源需要多少( How much)? 西安交通大学刘海岩
西安交通大学 刘海岩 9 ◆项目 有计划的控制软件项目,Boehm提出了一种方法, 强调项目目标、里程碑、进度、责任、管理和技术方 法以及需要的资源,称之为W 5H 2原则。通过下面一系列 的提问和回答,可以导出项目的关键特征并产生项目计 划的大纲: ⑴为什么(Why)该系统被开发?值得吗? ⑵将做什么(What)?什么时候(When)做? 建立项目进度,标识关键的项目任务和里程碑。 ⑶某功能由谁(Who)负责?开发人员的角色和责任。 ⑷哪里需要(Where)?客户、用户和其他投资者也有 责任。 ⑸工作将如何(How)进行?定义项目的管理和技术 策略。 ⑹资源需要多少(How much)?
软件项目管理中的主要元素及之间的关系 映射到 进度表 1 产生 任务 工作产品 分配到1 角色 分配到1「开发人员] 分配到1 小组 开发人员、小组、角色、任务、 工作产品、进度表(UM类图)之间的关系 西安交通大学刘海岩
西安交通大学 刘海岩 10 软件项目管理中的主要元素及之间的关系 开发人员、小组、角色、任务、 工作产品、进度表(UML类图)之间的关系