软件工程方法与奥践 第9章软件项目管理 子教
软件工程方法与实践 第 9 章 软件项目管理 电 子教 案
第9章软件项目管理 9.1软件项目管理范围 92人员组织范型 9.3软件成本估计 994软件质量保证(SQA) 99.5软件过程管理 9.6小结
第 9 章 软件项目管理 9.1 软件项目管理范围 9.2 人员组织范型 9.3 软件成本估计 9.4 软件质量保证(SQA) 9.5 软件过程管理 9.6 小结
91软件项目管理范围 技术和管理是软件工程化生产不可缺少的两个方面。对 于技术而言,管理意味着决策和支持。只有对生产过程 进行科学的、全面的管理,才能保证达到提高生产率 改善产品质量的软件工程目标。 软件项目管理是软件工程的保护性和支持性活动。它于 任何技术活动之前开始,并持续贯穿于整个软件的定义、 开发和维护过程之中。 软件项目管理的目的是成功地组织与实施软件的工程化 生产,完成软件(产品)的开发和维护任务。主要是对 项目的人员、费用、进度和质量四方面的管理
9.1 软件项目管理范围 技术和管理是软件工程化生产不可缺少的两个方面。对 于技术而言,管理意味着决策和支持。只有对生产过程 进行科学的、全面的管理,才能保证达到提高生产率、 改善产品质量的软件工程目标。 软件项目管理是软件工程的保护性和支持性活动。它于 任何技术活动之前开始,并持续贯穿于整个软件的定义、 开发和维护过程之中。 软件项目管理的目的是成功地组织与实施软件的工程化 生产,完成软件(产品)的开发和维护任务。主要是对 项目的人员、费用、进度和质量四方面的管理
911人员 ◆软件项目开发的资源主要是人员、开发时间、软件工 具、运行所需要的软/硬件等。 ◆软件开发过程是人智力密集型的劳动。开发组织为提 高软件生产率,必须最大限度地发挥每一个人的技术和 能力。软件项目由项目负责人(项目经理)总负责。 ◆人员管理涉及到招募、选择、培训、业绩、报酬、专 业发展,以及培养团队精神和企业文化等一系列“以人 为本”的组织工作,通过吸引、培养、激励留住有创造 力、技术水平高的人才,增强软件组织软件开发能力
9.1.1 人员 ◆软件项目开发的资源主要是人员、开发时间、软件工 具、运行所需要的软/硬件等。 ◆软件开发过程是人智力密集型的劳动。开发组织为提 高软件生产率,必须最大限度地发挥每一个人的技术和 能力。软件项目由项目负责人(项目经理)总负责。 ◆人员管理涉及到招募、选择、培训、业绩、报酬、专 业发展,以及培养团队精神和企业文化等一系列“以人 为本”的组织工作,通过吸引、培养、激励留住有创造 力、技术水平高的人才,增强软件组织软件开发能力
1.人员资源计划 对开发人员资源的需求(计划),是随时间变化的一个 指数函数曲线— rayleigh- Norden曲线模式。 人员资源需求A >时间 图91开发人员资源需求随时间变化的曲线
1. 人员资源计划 对开发人员资源的需求(计划),是随时间变化的一个 指数函数曲线——Rayleigh-Norden曲线模式。 td 图9.1 开发人员资源需求随时间变化的曲线 时间 人员资源需求
2.人员协调和通信 建立有效的人员通信交流机制,组织开发人员和协调 他们的关系,并跟踪和协调开发进程。 软件项目人员协调和通信方式可分成: ◆正式的(采用文字、视频会议等非直接交互的通信 渠道)、非个人的方式; ◆正式的、个人的方式; ◆非正式的、个人的方式; ◆电子通信方式; ◆个人网络方式
2. 人员协调和通信 建立有效的人员通信交流机制,组织开发人员和协调 他们的关系,并跟踪和协调开发进程。 软件项目人员协调和通信方式可分成: ◆正式的(采用文字、视频会议等非直接交互的通信 渠道) 、非个人的方式; ◆正式的、个人的方式; ◆非正式的、个人的方式; ◆电子通信方式; ◆个人网络方式
912项目和过程 1.项目管理概述 项目开发的工作分成两类:项目职责、活动或任务。 项目职责管理不与软件开发过程的特定阶段相关联, 贯穿于项目开发全过程的一类管理事务。项目职责的 管理,首先根据项目的目标和范围,考虑解决方案, 定义技术和管理约束;然后进行成本估算、风险评估 项目任务划分或项目进度标志等;最后根据这些信息 制定一份详细的软件项目管理计划
9.1.2 项目和过程 1. 项目管理概述 项目开发的工作分成两类:项目职责、活动或任务。 项目职责管理不与软件开发过程的特定阶段相关联, 贯穿于项目开发全过程的一类管理事务。项目职责的 管理,首先根据项目的目标和范围,考虑解决方案, 定义技术和管理约束;然后进行成本估算、风险评估、 项目任务划分或项目进度标志等;最后根据这些信息, 制定一份详细的软件项目管理计划
912项目和过程 活动或任务管理与软件开发过程的特定阶段相联系,是 贯穿于整个项目开发过程之中的一类管理事务。活动是 一个较大的工作单元,有开始和结束时间,有资源消耗 和工作成果。一项活动可以包含一系列任务,任务是项 目管理的最小工作单元
9.1.2 项目和过程 活动或任务管理与软件开发过程的特定阶段相联系,是 贯穿于整个项目开发过程之中的一类管理事务。活动是 一个较大的工作单元,有开始和结束时间,有资源消耗 和工作成果。一项活动可以包含一系列任务,任务是项 目管理的最小工作单元
912项目和过程 2.过程管理概述 软件过程管理就是在这个确定的框架下建立一个软件开 发过程综合实施计划。 个软件过程的若干框架活动适用于所有软件项目。若 干不同任务的集合(每个集合都由任务、里程碑、交付 物和软件复审组成)使得框架活动适应于不同软件项目 的特征和项目开发者的需求。还有一类保护性过程活动, 如软件质量保证、软件配置管理和测度等,独立于任何 个框架活动,它们贯穿在整个开发过程之中
9.1.2 项目和过程 2. 过程管理概述 软件过程管理就是在这个确定的框架下建立一个软件开 发过程综合实施计划。 一个软件过程的若干框架活动适用于所有软件项目。若 干不同任务的集合(每个集合都由任务、里程碑、交付 物和软件复审组成)使得框架活动适应于不同软件项目 的特征和项目开发者的需求。还有一类保护性过程活动, 如软件质量保证、软件配置管理和测度等,独立于任何 一个框架活动,它们贯穿在整个开发过程之中
913软件度量 ◆在软件工程领域,测量、测度和度量是有差别的三个 词。测量对一个产品过程的某个属性(如范围、数量 维度、容量或大小)提供一个定量指示,测度则是确定 个测量的行为,而度量是对一个系统、构件或过程具 有的某个给定属性的度的定量测量。 ◆在软件度量需要收集测量结果,并产生相关度量,再 参照统计的大量历史数据,就可获得一个较为科学的量 化的指标。软件度量为软件过程、项目或产品本身提供 了更深入、更科学、更直观的表述,使得项目管理者能 够评价技术应用质量,调整开发过程、项目或产品,更 顺利、更好地完成开发任务
9.1.3 软件度量 ◆在软件工程领域,测量、测度和度量是有差别的三个 词。测量对一个产品过程的某个属性(如范围、数量、 维度、容量或大小)提供一个定量指示,测度则是确定 一个测量的行为,而度量是对一个系统、构件或过程具 有的某个给定属性的度的定量测量。 ◆在软件度量需要收集测量结果,并产生相关度量,再 参照统计的大量历史数据,就可获得一个较为科学的量 化的指标。软件度量为软件过程、项目或产品本身提供 了更深入、更科学、更直观的表述,使得项目管理者能 够评价技术应用质量,调整开发过程、项目或产品,更 顺利、更好地完成开发任务