资源预览内容
第1页 / 共86页
第2页 / 共86页
第3页 / 共86页
第4页 / 共86页
第5页 / 共86页
第6页 / 共86页
第7页 / 共86页
第8页 / 共86页
第9页 / 共86页
第10页 / 共86页
亲,该文档总共86页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件项目管理软件项目管理主讲人主讲人: :张小平张小平2007 年 7 月 目目 录录第一章第一章 导导 论论第二章第二章 软件项目需求管理软件项目需求管理第三章第三章 软件项目成本估算软件项目成本估算第四章第四章 软件项目进度管理软件项目进度管理第五章第五章 软件项目配置管理软件项目配置管理第六章第六章 软件项目质量管理软件项目质量管理第一章第一章 导导 论论1.软件工程软件工程 软件:软件:是与一个系统是与一个系统,特别是一个计算机系统有关的程序。特别是一个计算机系统有关的程序。 软件工程:软件工程:是一类求解软件的工程。它应用计算机科学、数学、是一类求解软件的工程。它应用计算机科学、数学、管理科学等原理,借鉴传统的原理、方法,创建软件,以达到提管理科学等原理,借鉴传统的原理、方法,创建软件,以达到提高质量、降低成本的目的,使计算机设备的能力借助于软件成为高质量、降低成本的目的,使计算机设备的能力借助于软件成为对人类有用的东西。对人类有用的东西。 解释:解释: 工程科学工程科学用于制定规范、设计模式、评价成本及确定权衡;用于制定规范、设计模式、评价成本及确定权衡; 计算机科学、数学计算机科学、数学用于构造模型和算法;用于构造模型和算法; 管理科学管理科学用于计划、资源、质量、成本等管理。用于计划、资源、质量、成本等管理。 (1) 软件工程目标软件工程目标 软件工程的目标:是软件工程的目标:是“生产正确、可用及具经济效益的产品生产正确、可用及具经济效益的产品”。 (2)软件工程活动)软件工程活动 软件工程的活动是指生产一个最终满足需求且达到工程目标的软软件工程的活动是指生产一个最终满足需求且达到工程目标的软件产品所需要的步骤,主要包括件产品所需要的步骤,主要包括问题定义、可行性研究、需求分问题定义、可行性研究、需求分析、设计、实现、确认、支持析、设计、实现、确认、支持等。等。软件生产发展过程软件生产发展过程2020世纪世纪50,6050,60年代年代: :程序设计时代程序设计时代2020世纪世纪60,7060,70年代年代: :程序系统时代程序系统时代2020世纪世纪70,8070,80年代年代: :软件工程时代软件工程时代2020世纪世纪8080年代至今年代至今2 2 项目管理项目管理(1 1)管理)管理 管理:管理:是使事物的发展从混乱无序走向有序有效发展是使事物的发展从混乱无序走向有序有效发展的方法。的方法。 是一种有生命力的并能实现复杂的企业目标的方法。是一种有生命力的并能实现复杂的企业目标的方法。(2 2)项目)项目 项目:项目:是指在一定约束条件(是指在一定约束条件(费用、时间、质量、资费用、时间、质量、资源等源等)下具有特定目标的一项一次性任务。)下具有特定目标的一项一次性任务。 项目:项目:是新企业、新产品、新系统和新技术的总称。是新企业、新产品、新系统和新技术的总称。 特点:特点:一次性(单件性)、目标性(成果性目标和约一次性(单件性)、目标性(成果性目标和约束性目标)和可管理性(环境变化与效益的关系)。束性目标)和可管理性(环境变化与效益的关系)。 项目的生命周期:项目的生命周期:启动、计划、实施和结束。启动、计划、实施和结束。(3)项目管理)项目管理 PMI的定义的定义: 在项目活动中运用一系列的知识、技能、工具和技术,以在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求。满足或超过相关利益者对项目的要求。 项目管理过程项目管理过程: 初使过程、计划过程、执行过程、控制过程和关闭过程。初使过程、计划过程、执行过程、控制过程和关闭过程。 项目管理任务项目管理任务: 协调并完成项目对协调并完成项目对范围、时间、成本、风险及质量范围、时间、成本、风险及质量这些相这些相互矛盾的任务的要求,确保能够满足需求和达到预期目标。互矛盾的任务的要求,确保能够满足需求和达到预期目标。 项目管理的特点项目管理的特点: 1)综合性、)综合性、2)创造性、)创造性、3)时间性)时间性 项目管理的制约因素:项目管理的制约因素: 1)范围、)范围、2)时间、)时间、3)成本、)成本、4)质量、)质量、5)组织及客)组织及客户满意度。户满意度。(4 4)项目管理知识体系)项目管理知识体系 以欧洲为首的体系以欧洲为首的体系- -国国际项目管理协会国国际项目管理协会IPMAIPMA(International Project Management AssociationInternational Project Management Association) 项目管理专业人员取证分为项目管理专业人员取证分为A A、B B、C C、D D四级四级 A A:工程主任级证书:工程主任级证书 B B:项目经理级证书:项目经理级证书 C C:项目经理工程师级证书:项目经理工程师级证书 D D:项目管理技术员级证书:项目管理技术员级证书 以美国为首的体系以美国为首的体系- -美国项目管理学会美国项目管理学会PMIPMI 该知识体系把项目管理分为该知识体系把项目管理分为9 9个知识领域:个知识领域: 集成管理、范围管理、时间管理、成本管理、质量管理、集成管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理。人力资源管理、沟通管理、风险管理、采购管理。 3 3 软件项目管理软件项目管理(1 1)软件项目产品的特点)软件项目产品的特点 1 1)抽象性)抽象性 2 2)缺陷检测的困难性)缺陷检测的困难性 3 3)高度的复杂性)高度的复杂性 4 4)缺乏统一的规则)缺乏统一的规则(2 2) 软件项目管理的必要性软件项目管理的必要性 1 1)软件失控项目)软件失控项目 软件项目在实施中,较大地突破了项目的主要约束指。软件项目在实施中,较大地突破了项目的主要约束指。 2 2)软件项目失控的原因)软件项目失控的原因 需求不明确、计划和估算失误、盲目采用新技术、需求不明确、计划和估算失误、盲目采用新技术、管理管理方法、软件性能、团队组织、人际因素方法、软件性能、团队组织、人际因素 (3 3)软件项目管理)软件项目管理 1 1)软件项目管理的定义)软件项目管理的定义 在软件项目活动中运用一系列知识、技能、在软件项目活动中运用一系列知识、技能、工具和技术,以满足软件需求方的整体要求。工具和技术,以满足软件需求方的整体要求。 2 2)软件项目管理的过程)软件项目管理的过程 启动软件项目启动软件项目 制定项目计划制定项目计划 跟踪及控制项目计划跟踪及控制项目计划 评审项目计划评审项目计划 编写管理文档编写管理文档3) 3) 软件项目管理的内容软件项目管理的内容 软件项目需求管理软件项目需求管理 软件项目估算与进度管理软件项目估算与进度管理 软件项目配置管理软件项目配置管理 软件项目风险管理软件项目风险管理 软件项目质量管理软件项目质量管理 软件项目资源管理软件项目资源管理第二章第二章 软件项目需求管理软件项目需求管理1.软件需求软件需求(1)软件需求概念)软件需求概念 定义:定义:软件需求是系统或软件必须达到的目标和能力。软件需求是系统或软件必须达到的目标和能力。1997年版年版IEEE软件工程标准词汇表软件工程标准词汇表需求定义需求定义如下:如下:用户解决问题或达到目标所需的条件和能力。用户解决问题或达到目标所需的条件和能力。系统或系统部件要满足合同、标准、规范或其他正式文档所需系统或系统部件要满足合同、标准、规范或其他正式文档所需具有的条件或能力具有的条件或能力一种反映上面第一点或第二点所描述的条件或能力的文档说明一种反映上面第一点或第二点所描述的条件或能力的文档说明以下五项内容确定一组完整的软件需求:以下五项内容确定一组完整的软件需求: 1)系统的输入;)系统的输入;2)系统的输出;)系统的输出;3)系统的功能;)系统的功能;4)系统)系统的属性;的属性;5)系统环境的属性)系统环境的属性(2)软件需求在软件项目中的作用)软件需求在软件项目中的作用项目计划过程项目计划过程跟踪控制过程跟踪控制过程变更控制过程变更控制过程系统构建过程系统构建过程软件需求过程软件需求过程文档编制过程文档编制过程系统测试过程系统测试过程2.需求工程需求工程(1)需求工程产生与发展)需求工程产生与发展 定义:需求工程是一个包括创建和维护需求文档所必定义:需求工程是一个包括创建和维护需求文档所必需的所有活动的过程,是将用户非形式化的软件需求转变需的所有活动的过程,是将用户非形式化的软件需求转变为形式化的需求规格说明的过程。为形式化的需求规格说明的过程。 特点特点: : 软件需求不再仅限于软件开发的最初阶段,而软件需求不再仅限于软件开发的最初阶段,而是贯穿于软件项目开发的整个生命周期。是软件工程的子是贯穿于软件项目开发的整个生命周期。是软件工程的子领域。领域。 另一个定义:需求工程是应用已证实有效的技术、方另一个定义:需求工程是应用已证实有效的技术、方法确定用户需求,进行需求分析,帮助分析人员理解问题法确定用户需求,进行需求分析,帮助分析人员理解问题并定义目标系统的所有外部特征的一门科学。并定义目标系统的所有外部特征的一门科学。 发展:发展: 1)对象化)对象化 是指需求模型及其构造方法的对象化。是指需求模型及其构造方法的对象化。 2)形式化)形式化 是具有严格数学基础的描述系统特征的方法,是具有严格数学基础的描述系统特征的方法,具有准确、无二义性的特点,有助于验证有效性和具有准确、无二义性的特点,有助于验证有效性和完整性。完整性。 3)自动化)自动化 随着软件工程的自动化程度的提高,随着软件工程的自动化程度的提高, 需求工需求工程逐渐进入自动化。程逐渐进入自动化。(2)需求工程研究内容)需求工程研究内容 需求工程的目标需求工程的目标 两个主要任务:两个主要任务: 1)通过对问题及其环境的理解、分析和综合,建立分析(系统)通过对问题及其环境的理解、分析和综合,建立分析(系统)模型;模型; 2)在完全弄清用户对软件系统的确切要求的基础上,用)在完全弄清用户对软件系统的确切要求的基础上,用SRS(Software Requirement Specification)把用户的需求表达出来。把用户的需求表达出来。 需求工程的层次分解:需求工程的层次分解: 需求工程分为需求工程分为需求开发需求开发和和需求管理需求管理。 需求工程需求工程需求开发需求开发需求管理需求管理需需求求获获取取需需求求分分析析规规格格说说明明需需求求验验证证变变更更管管理理版版本本控控制制需需求求跟跟踪踪需需求求状状态态3.需求管理需求管理 需求管理的必要性需求管理的必要性 1)需求供求双方固有的矛盾)需求供求双方固有的矛盾 软件专业人员的技术性导致需求供求双方达成共识困难。软件专业人员的技术性导致需求供求双方达成共识困难。 2)需求具有易变性难以表达性)需求具有易变性难以表达性 软件项目中软件项目中40%-60%的问题都是在需求分析阶段埋下的祸根。的问题都是在需求分析阶段埋下的祸根。 软件中潜在的缺陷需求缺陷比例最大软件中潜在的缺陷需求缺陷比例最大缺陷来源缺陷来源 潜在缺陷潜在缺陷 剩余缺陷剩余缺陷 排除效率(排除效率(%)需求需求 0.2 0.046 77设计设计 0.25 0.0375 85编码编码 0.35 0.0175 95建档建档 0.12 0.024 80修复修复 0.08 0.024 70合计合计 1 0.149 85.130.87% 3)需求错误出现的高频性和修复的高昂成本)需求错误出现的高频性和修复的高昂成本 需求的错误,如果在软件项目进行到后期才发现,修复费需求的错误,如果在软件项目进行到后期才发现,修复费用是非常可怕的,甚至会超出项目本身的费用。在维护阶段修用是非常可怕的,甚至会超出项目本身的费用。在维护阶段修复的成本是需求阶段修复成本的复的成本是需求阶段修复成本的100-200倍。倍。需求阶段需求阶段设计阶段设计阶段编码阶段编
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号