第8章-SEI-软件项目管理.ppt_第1页
第8章-SEI-软件项目管理.ppt_第2页
第8章-SEI-软件项目管理.ppt_第3页
第8章-SEI-软件项目管理.ppt_第4页
第8章-SEI-软件项目管理.ppt_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程导论(8) 软件项目管理,Kerry Zhu Zhu.KerryG ,什么是项目?,那什么是项目管理?,本章内容,8.1 软件项目管理概述 8.2 软件项目的分类 8.3 制定计划 8.4 资源管理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,8.1 软件项目管理概述,8.1.1 软件项目管理的3P 8.1.2 软件项目管理的实质 8.1.3 软件项目管理的目标和范围,项目管理的3P,主题,围绕质量获得最佳平衡,主题,项目管理知识( PMBOK 9大类/5个阶段),本章内容,8.1 软件项目管理概述 8.2 软件项目的分类

2、8.3 制定计划 8.4 资源管理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,项目分类,按规模划分比较简单,可分为大型项目、中小型项目等 按软件开发模式划分,可分为内部项目、外部项目(最终用户和外包项目) 按软件商业模式划分,可分为软件产品销售( Product /On-Premise )、在线服务(SaaS/On-demand) 按软件发布方式可分为新项目、重复项目,也可分为完整版本、服务包(SP)、补丁包(patch)等 按项目待开发的产品进行分类,可分为组织型、嵌入型和半独立型 还可以按系统架构、技术等进行分类,项目类型的影

3、响,本章内容,8.1 软件项目管理概述 8.2 软件项目的分类 8.3 制定计划 8.4 资源管理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,4W1H,What to do? Where to go? When to do? Who does? How to do?,简单地说,计划就是回答下列5个问题,项目计划的内容,质量计划 资源计划 进度计划 成本计划 风险计划 测试计划 配置计划 部署计划 ,8.3 制定计划,8.3.1 软件规模度量 8.3.2 软件开发的估算模型 8.3.3 项目工作量估算 8.3.4 日程和人力资源安排

4、 8.3.4 项目成本估算,软件规模度量,功能点分析 /3-D功能点 特征点/ 对象点/标准构件法 代码行 德尔菲法 COCOMO模型 Bang度量 模糊逻辑 ,FPA 示例,各种代码行方法,SLOC (single line of code) KLOC (thousand lines of code) LLOC (logical line of code) PLOC (physical line of code) NCLOC (non-commented line of code) DSI (delivered source instruction)。,软件开发的估算模型,IBM模型 Put

5、nam模型 COCOMO模型,COCOMO模型,基本模型是静态单变量模型,用源代码行数(LOC) 作为自变量的经验函数计算软件开发工作量,类似于IBM模型。 中间模型是在基本模型的基础上,用涉及产品、硬件、人员、项目等影响因素调整工作量估算。 详细COCOMO模型包括中间模型的所有特性,并考虑软件工程过程中每一阶段的影响,COCOMO考虑的影响因素,产品因素(3):软件可靠性、数据库规模、产品复杂性。 硬件因素(4):执行时间限制、存储限制、虚拟机易变性、环境周转时间。 人的因素(5):分析员能力、应用领域实际经验、程序员能力、虚拟机使用经验、程序语言使用经验。 项目因素(3):现代程序设计技

6、术、软件工具的使用、开发进度限制。,各种成本计算模型,不同模型的比较,/CrossTalk/2005/04/0504Boehm.html,项目工作量估算,经验估算法 比例法是比较科学的一种传统估算方法,它以过去的项目作为参考来为当前的项目进行估算,通过两个项目的相互对照来推出估算结果 工作分解结构表(WBS),先把项目任务进行合理的细分,分解到可以确认的程度,然后针对每个单项进行估算,最后进行统计获取项目总体工作量,(Min + Max + 4 X 均值)/6,WBS示例,里程碑 (Milestone),项目角色,根据项目的目标确定项目管理所

7、需要的工作特征和技能,从而确定角色及其责任,明确各角色之间的从属关系,进行项目人力资源的预估,随时间变化的项目工作量,人员分配,谁最有能力来完成这项任务? 谁愿意来完成这项任务? 谁有时间来完成这项任务?,项目成本估算,项目成本可以分为人工成本、设备成本和管理成本,也可分为直接成本和间接成本。 成本估算最重要的是对直接成本进行估算 使用专家评估办法、经验法、比例法和WBS方法等 WBS成本估算分为自上而下、自下而上和差别估计法等估算方法 重视学习曲线,项目成本估算,成本驱动,限制,其它输入,输出,示例,本章内容,8.1 软件项目管理概述 8.2 软件项目的分类 8.3 制定计划 8.4 资源管

8、理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,人力资源管理,在项目目标和整体计划的要求下,对人力资源的获取、培训、保留和使用等方面所进行的计划、组织、指挥和控制活动 建立项目团队,将各个角色的责任和权力分配给项目成员,明确协作、汇报和隶属关系 职责、流程、度量、考核、文化等 难点:资源需求的估计 、应急处理 、在不同阶段之间的调度或在多个项目之间的平衡,软硬件资源管理,在项目计划中详细地列出项目需要的所有硬件资源 对每项硬件,列出必需的软件和辅助设备支持 列出所需软件资源及其软件版本号 设备所有权清晰 设备管理责任到人 实验室管理

9、制度等,本章内容,8.1 软件项目管理概述 8.2 软件项目的分类 8.3 制定计划 8.4 资源管理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,问题,预先对进度如何计划? 工作怎样就位? 如何识别定义好的任务? 管理人员对结束时间如何掌握 ? 如何识别和监控关键路径以确保结束? 对进展如何度量?,更多思考?,8.5 进度和成本管理,8.5.1 里程碑控制和关键路径 8.5.2 项目成本控制 8.5.3 项目进度的特性及外在关系,里程碑控制,审查、签发,关键路径,关键路径上的任何一项任务延迟,整个项目就会延期。即根据各个路径上结点

10、(独立任务)的宽裕时间(slack)决定,slack=0的节点所构成的路径就是关键路径,项目成本控制原则,责权利相结合的原则。成本目标明确,奖惩分配明确 成本控制服从质量管理的原则 全面成本控制原则,任何细节也不要放过,成本控制具体措施,充分利用资源,做到资源共享 使用虚拟技术,一台物理机器可以模拟多台逻辑机器 系统自动控制、监测机器的状态、使用率 良好的软件试用、评估和会审流程会降低软件的采购费用,并使之购买来的软件能发挥最好的作用。 尽量使用开源软件工具,项目进度的特性及外在关系,进度与质量的关系 进度与成本的关系,本章内容,8.1 软件项目管理概述 8.2 软件项目的分类 8.3 制定计

11、划 8.4 资源管理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,8.6.1 软件质量计划 8.6.2 软件评审 8.6.3 缺陷预防 8.6.4 质量度量,8.6 质量管理,软件质量计划,应达到的质量目标,该项目各阶段中职责和职权的分配 应采用的特定程序、方法和作业指导书 评审的目的、要求和内容 对配置管理、测试等活动的具体要求 随项目进展而修改和完善质量计划的方法 有关质量风险的识别、消除和各种预防措施、手段的描述 文档模板要求以及记录、收集、维护和保密等要求 问题报告和改正活动的要求 对开发人员素质、供应商等的要求 为达到质量

12、目标必须采取的其它措施,软件评审,通过评审可以验证产品是否满足功能规格说明、质量特性以及用户需求等。 通过评审可以验证产品是否符合相关标准、规则、计划和过程。 提供缺陷和审查工作了的度量,以改进审查过程和组织的软件工程过程,缺陷预防,从流程上控制缺陷的注入,如明确流程的准入和准出规则 强化各个阶段的评审执行,将导致缺陷产生的因素消灭在萌芽之中 强化单元测试 通过培训和知识传递,提高每个人的业务能力和技术水平。 加强质量文化建设,一切从客户的立场看问题 改进软件设计、编程或测试方法,以适应特定项目的环境和要求 遵守编程规范,团队中使用相同的代码风格,对缺陷的深入分析可以找到缺陷产生的根本原因,从

13、而针对具体的原因采取相应的预防措施,质量度量,软件产品质量的度量 软件过程质量的度量,软件平均失效时间 缺陷密度 软件产品质量属性度量 顾客满意度度量,阶段性缺陷清除率 质量成本的度量 过程缺陷密度 缺陷到达模式,本章内容,8.1 软件项目管理概述 8.2 软件项目的分类 8.3 制定计划 8.4 资源管理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,8.7 风险管理,8.7.1 风险识别 8.7.2 风险分析和评估,风险识别,风险识别就是要分析各种不确定因素和潜在的影响因素,确定哪些风险可能会影响项目进展、质量或成本等,并记录这些

14、风险的具体特征,项目组的成员应该列出尽可能多的风险项 风险检查表 以前做过的类似项目及其经验教训 项目的前提和假设之中很有可能隐藏着较大的风险 对项目计划的各个方面进行审查,风险识别方法,情景分析 故障树分析法 矩阵图分析 比率/范围分析 概率分析 计划评审技术 其它方法,分析和评价各项风险对项目的影响程度,计划评审技术,本章内容,8.1 软件项目管理概述 8.2 软件项目的分类 8.3 制定计划 8.4 资源管理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,8.8 软件配置管理,8.8.1 配置管理的基本概念 8.8.2 版本控制

15、 8.8.3 变更控制,基线,基线就是项目存储库中每个工件版本在特定时期的一个“快照(snapshot)”,往往是软件生命周期各个阶段结束的标准,即每个里程碑都会建立相应的基线,配置管理流程,SCM 流程,组织资产管理指导 SCM计划 配置项识别 配置项库 配置项变更控制(请求/批准) 配置项状态统计 配置项评审和验证 配置项发布,SCM 基本流程(2),版本控制,版本的访问和同步 版本的分支和合并,版本控制示例,敏捷方法中的版本控制(1),敏捷方法中的版本控制 (2),变更控制,提交 接收 评估 决策 实施和验证,变更请求,变更控制委员会(Change Control Board,CCB),本章内容,8.1 软件项目管理概述 8.2 软件项目的分类 8.3 制定计划 8.4 资源管理 8.5 进度和成本管理 8.6 质量管理 8.7 风险管理 8.8 软件配置管理 8.9 项目跟踪和控制,项目跟踪和控制,计划和监控相辅相成 做到局部和整体的平衡 主动收集信息并加强分析 合理利用资源,要点,建立符合软件工程思想的项目监控流程和强化项目组织、运行的支撑环境 建立过程可视性和项目可视性。 力求获得真实的、实时的和第一手的数据 建立明确的责任制,使每项监控落实到人 充分的、流畅的沟通。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论