C10-软件项目管理_第1页
C10-软件项目管理_第2页
C10-软件项目管理_第3页
C10-软件项目管理_第4页
C10-软件项目管理_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、软件项目管理 软件是播撒梦想和收获噩梦的地方,是一片恶魔和神仙竞争的抽象而神秘的沼泽,是一个狼人和银弹共存的矛盾世界目录n项目和项目管理,项目管理内容n人力资源管理n软件成本管理n开发进度管理n软件项目风险管理n软件质量保证n软件配置管理n软件项目文档管理项目项目是现代管理学中的一个重要分支。美国项目管理协会(PMI)的定义是:项目是为完成某一独特的产品或服务所做的一次性努力。从根本上说,项目就是一系列的相关工作。中国项目管理研究委员会对项目的定义是:项目是一个特殊的将被完成的有限任务。它是在一定时间内满足一系列特定目标的多项相关工作的总称。根据这个定义,项目实际包含三层含义: (1) 项目是

2、一项有待完成的任务,有特定的环境和要求。(2) 在一定的组织机构内,利用有限资源(人力、物力、财力等),在规定的时间内(指项目有明确的开始时间和结束时间)为特定客户完成特定目标的阶段性任务。(3) 任务要满足一定性能、质量、数量、技术指标等要求。 项目管理PMI的定义是:项目管理就是“在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求”。中国项目管理研究委员会对项目管理总结为:“项目管理”一词具有两种不同的含义,其一是指一种管理活动,其二是指一种管理学科。前者是一种客观的实践活动,后者是前者的理论总结;前者以后者为指导,后者以前者为基础。项目管理贯穿整个项目的生

3、命期,是对项目的全过程管理。 项目管理的基本内容 PMI编写的项目管理知识体系(PMBOK)将项目管理划分为9个知识领域:综合管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、风险管理、沟通管理和采购管理。(1) 项目综合管理。它包括3个基本的子过程:制定项目计划、项目计划执行、综合变更控制。(2) 项目范围管理。PMBOK将其分成5个阶段:启动、范围计划、范围界定、范围核实、范围变更控制。 (3) 项目时间管理。PMBOK提出,项目时间管理由下述5项任务组成:活动定义、活动排序、活动时间估计、项目进度编制、项目进度控制。(4) 项目成本管理。它包括以下4个过程:制定资源计划、成本估

4、计、成本预算、成本控制。(5) 项目质量管理。它主要包括以下4个过程:质量规划、质量控制、质量保证、全面质量管理。(6) 项目人力资源管理。它包括如下几个主要的过程:人力资源规划、招聘与解聘、筛选、定向培训、绩效评估、职业发展、团队建设。 (7) 项目风险管理。PMBOK将其归纳为4个主要过程:风险识别、风险估计、风险应对计划、风险控制。(8) 项目沟通管理。它包括如下一些基本的过程:编制沟通计划、信息传递、绩效报告、管理收尾。(9) 项目采购管理。它主要包括编制采购计划、编制询价计划、询价、选择供应商、合同管理、合同收尾。而中国项目管理研究委员会则将项目管理的内容概括为2个层次、4个阶段、5

5、个过程、9大知识领域、42个要素及多个主体,具体内容如表12.1所示。续表 项目与项目管理 项目管理的运行 通过项目进行管理 系统方法与综合 项目背景 项目阶段与生命周期 项目开发与评估 项目目标与策略 项目成功与失败标准 项目启动 项目收尾 项目结构 范围与内容 时间进度 资源 项目费用与融资 技术状态与变化 项目风险 效果度量 项目控制 信息、文档与报告 项目组织 团队工作 领导 沟通 冲突与危机 采购与合同 项目质量管理 项目信息学 标准与规范 问题解决 项目后评价 项目监理与监督 业务流程 人力资源开发 组织的学习 变化管理 项目投资体制 系统管理 知识要素 安全、健康与环境 法律与法

6、规 财务与会计 ISO 9000国际标准ISO 9000标准族是国际标准化组织于1987年制定的,后经不断修改完善而成的系列标准。现已有90多个国家和地区将此标准等同转化为国家标准。我国等同采用ISO 9000标准族的国家标准是GB/T19000标准族。该标准是国际标准化组织承认的中文标准。 ISO 9000国际标准简介 ISO 9000标准族是国际标准化组织于1987年制定的,后经不断修改完善而成的系列标准。现已有90多个国家和地区将此标准等同转化为国家标准。我国等同采用ISO 9000标准族的国家标准是GB/T19000标准族。该标准是国际标准化组织承认的中文标准。一般的软件企业的活动主要

7、由三方面组成:经营、管理和开发。在管理上又主要表现为行政管理、财务管理、质量管理。ISO 9000标准族主要针对质量管理,同时涵盖了部分行政管理和财务管理的范畴。ISO 9000标准族并不是产品的技术标准,而是针对企业的组织管理结构、人员和技术能力、各项规章制度和技术文件、内部监督机制等一系列体现企业保证产品质量及服务质量的管理措施的标准。具体地讲,ISO 9000标准族是在以下四个方面来规范质量管理的 (1) 机构。标准明确规定了为保证产品质量而必须建立的管理机构及其职责权限。(2) 程序。企业组织产品生产必须制定规章制度、技术标准、质量手册、质量体系操作检查程序,并使之文件化、档案化。(3

8、) 过程。质量控制对生产的全部过程加以控制,是面的控制,不是点的控制。从根据市场调研确定产品、设计产品、采购原料,到生产检验、包装、储运,其全过程按程序要求控制质量,并要求过程具有标识性、监督性、可追溯性。 (4) 总结。不断地总结、评价质量体系,不断地改进质量体系,使质量管理呈螺旋式上升。通俗地讲,ISO 9000标准族就是把企业的管理标准化,而由标准化管理生产的产品及其服务,其质量是可以信赖的。ISO 9000标准族认证也可以理解为质量体系注册,它由国家批准的、公正的第三方认证机构依据ISO 9000标准族,对企业的质量体系实施评定,向公众证明该企业的质量体系符合ISO 9000标准族,可

9、提供合格产品,公众可以相信该企业的服务承诺和企业产品质量的一致性。 CMM(Capability Maturity Model)CMM(Capability Maturity Model)是由美国软件工程学会(Software Engineering Institute)制定的一套专门针对软件产品的质量管理和质量保证标准。CMMI的基本概念 CMM(Capability Maturity Model)是由美国软件工程学会(Software Engineering Institute)制定的一套专门针对软件产品的质量管理和质量保证标准。该标准最初是为美国军方选择软件产品提供商时评价软件企业的软件

10、开发质量保证能力而制定的,所以称为软件企业能力成熟度模型。该标准将软件企业的能力成熟度划分为5个等级,级别越高表明该企业在提供合格软件产品方面的能力越强。 CMMI全称是Capability Maturity Model Integration,即集成的能力成熟度模型,是由美国国防部与卡内基梅隆大学和美国国防工业协会共同开发和研制,于2002年4月推出的系统工程和软件工程的集成成熟度模型。CMMI是一套融合多学科的、可扩充的产品集合,同时也是工程实践与管理方法。 CMMI能够解决现有的不同CMM模型的重复性、复杂性,并降低由此引起的成本,缩短改进过程。它将软件CMM 2.0版草案(SW-CWW

11、)、EIA过渡标准731(系统工程CMM)及IPD-CMM集成为一体,同时还与ISO 15504相兼容。与原有的能力成熟度模型(CMM)相比,CMMI的涉及面更广,专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。 CMMI有两种表示方法,一种是大家很熟悉的、和软件CMM一样的阶段式表现方法,另一种是连续式的表现方法。这两种表现方法的区别是:阶段式表现方法仍然把CMMI中的若干个过程区域分成了5个成熟度级别,帮助实施CMMI的组织建立一条比较容易实现的过程改进发展道路。而连续式表现方法则将CMMI中的过程区域分为四大类,即过程管理、项目管理、工程以及支持。对于每个大类中的过程区域,又进一

12、步分为基本的和高级的。这样,在按照连续式表现方法实施CMMI的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而对其他方面的过程区域则可以完全不必考虑。 人力资源管理人员职责 高层经理:评审和批准项目计划,负责从组织层上监控和评审项目的进度、技术、质量等方面的状态,解决在项目内部无法解决的问题,实现组织预期的目标。项目经理:负责协调和实施整个项目的策划和监控活动,可能同时也是度量负责人、风险管理负责人,对项目总体负责,评审产品质量和项目状态,解决项目中存在的问题,实现项目预期的目标。 SQA人员:负责策划实施对项目活动的评审和工作产品的审计,报告结果,对项目过程提供咨询。 SCM人

13、员:负责策划和实施项目的配置管理活动,实施产品配置项的变更,保证产品的一致性。测试负责人:负责策划项目的测试活动,监控测试活动的进度。项目组成员:包括需求人员、设计人员、开发人员、测试人员等,负责参与需求确认,协助项目经理进行软件估计、风险识别和度量等活动的策划,并根据项目计划安排,按照组织规定的流程和方法完成软件项目活动,最终实现预期目标。 软件成本管理软件项目成本构成 咨询费:可行性分析、需求分析、系统设计、估价、招标代理、技术咨询、标准符合性检测 建设费:开发费、实施费、维护费 服务费:测试费、监理费、数据处理 附加费:姿势产权保护费、保密费、其他开发工作量估算办法 代码航估算法 功能点

14、估算法 cocomo模型 putnam模型 类推估算法 类推估算法功能点估算法 一种针对软件的功能特性进行度量的方法 主要考虑软件系统的“功能性”和“实用性” 功能点度量:基于软件信息域的特征(可直接测量)和软件复杂性进行规模度量功能点度量方法步骤 计算信息域特征的值CT 计算复杂度调整值 计算功能点FP计算复杂度调整值复杂度调整值Fi(i=1到14)是基于对左表中问题的回答而得到的值,对每个问题回答的取值范围是0到50没有影响;1偶然的;2适中的;3普通的;4重要的;5极重要的问题1234567891011121314总计系统需要可靠的备份和恢复吗?需要数据通信吗?有分布处理功能吗?性能很关

15、键吗?系统是否在一个现存的、重负的操作环境中运行?系统需要联机数据登录?联机数据登录是是否需要在多屏幕或多操作之间切换以完成输入?需要联机更新文件吗?输入、输出、文件或查询很复杂吗?内部处理复杂吗?代码需要被设计成可复用的吗?设计中需要包括转换及安装吗?系统的设计支持不同组织的多次安装吗?应用的设计方便用户修改和使用吗?Fi(0-5)计算功能点FP 功能点计算公式FP= CT*(0.65+0.01*F) 其中:CT是步骤1得到的“总计数值”,F是步骤2得到的Fi之和 一旦计算出功能点,则用类似代码行的方法来计算软件生产率、质量及其他属性度量名度量名含义表示含义表示生产率生产率PP=FP/E,E

16、为开发的工作量(常用人月数表示)为开发的工作量(常用人月数表示)每个功能点成本每个功能点成本CC=S/FP,S为总成本为总成本每个功能点文档数每个功能点文档数DD=Pe/FP,其中,其中Pe为文档页数为文档页数功能点错误率功能点错误率EQREQR=N/FP,其中,其中N为错误数为错误数功能点与LOC的换算(部分)程序语言程序语言每每个个FP之之LOC值值平均平均中等中等低低高高Access35381547Ada154104205APS868320184ASP6232127Assembler33731591694C16210933704C+665329178Java63537770COBOL77

17、7714400SQL40377110VBScript342750Visual Basic474216158CoCoMo模型 Boehm提出的“构造性成本模型” CoCoMo模型按其详细程度分为:基本模型、中间模型和详细模型 将软件项目类型划分为三类:项目类型项目类型定定 义义组织型组织型相对较小、较简单的软件项目,对需求不苛刻,开发人员对开发目标理解相对较小、较简单的软件项目,对需求不苛刻,开发人员对开发目标理解充分,相关的工作经验丰富,对使用环境熟悉,受硬件约束较少,程序规充分,相关的工作经验丰富,对使用环境熟悉,受硬件约束较少,程序规模不大(模不大(5万行),如多数应用软件、早期的操作系统

18、和编译程序等万行),如多数应用软件、早期的操作系统和编译程序等嵌入型嵌入型软件在紧密联系的硬件、其他软件和操作的限制条件下运行,通常与硬件软件在紧密联系的硬件、其他软件和操作的限制条件下运行,通常与硬件设备紧密结合在一起,对接口、数据结构、算法要求较高,软件规模任意。设备紧密结合在一起,对接口、数据结构、算法要求较高,软件规模任意。如大而复杂的事务处理系统、大型如大而复杂的事务处理系统、大型/超大型操作系统、航天用控制系统、超大型操作系统、航天用控制系统、大型指挥系统等大型指挥系统等半独立型半独立型介于组织型和嵌入型之间,软件规模和复杂性属中等以上,最大可达介于组织型和嵌入型之间,软件规模和复

19、杂性属中等以上,最大可达30万万行。如多数事务处理系统、操作系统、数据库管理系统、大型库存行。如多数事务处理系统、操作系统、数据库管理系统、大型库存/生产生产控制系统、简单的指挥系统等控制系统、简单的指挥系统等E=aLb D=cEd 其中:E表示工作量,单位是人月D表示开发时间,单位是月L是项目的源代码行估计值,单位是千行代码a、b、c、d是常数,其取值如下表所示项目类型项目类型abcd组织型组织型2.41.052.50.38半独立型半独立型3.01.122.50.35嵌入型嵌入型3.61.202.50.32 估算公式与中间CoCoMo模型相同,并按分层、分阶段的形式给出其工作量影响因素分级表

20、 针对每一个影响因素,按模块层、子系统层、系统层,有三张工作量因素分级表,供不同层次的估算使用 每一张表中又按开发的各个不同阶段给出 例如软件可靠性在子系统层的工作量因素分级表如下所示 阶段0.80可靠性级别需求和产品设计详细设计编程及单元测试集成及测试综合非常低低正常高非常高0.800.800.600.750.900.900.900.800.881.001.001.001.001.001.101.301.101.301.101.301.301.701.151.40 一种软件项目工作量估算的动态多变量模型 根据一些大型软件项目(30人年以上)的工作量分布情况,推导出软件项目在软件生存周期各阶段

21、的工作量分布,如图所示 图中的工作量分布曲线与著名的Reyleigh-norden曲线相似 根据根据Reyleigh-norden曲线给出代码行数、工作量和开发曲线给出代码行数、工作量和开发时间之间的关系,如下所示:时间之间的关系,如下所示: L=CKE1/3 其中:其中:L表示源程序代码行数表示源程序代码行数(LOC) td表示开发持续时间表示开发持续时间(年年) E是包括软件开发和维护在整个生存期所花费的工作是包括软件开发和维护在整个生存期所花费的工作量量(人年人年) CK表示技术状态常数,其值依赖于开发环境表示技术状态常数,其值依赖于开发环境 2000 比较差的软件开发环境比较差的软件开发环境 Ck= 8000 一般的软件开发环境一般的软件开发环境 11000 比较好的软件开发环境比较好的软件开发环境由此可得:EL3/(Ck3td4)类推估算法 类推估算法是比较科学的一种传统估算方法,它适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。类推估算法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类推估算法的前提条件之一是组织建立起较好的项目后

温馨提示

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

最新文档

评论

0/150

提交评论