IT项目管理(全部)

上传人:san****019 文档编号:16508328 上传时间:2020-10-04 格式:PPTX 页数:324 大小:1.46MB
返回 下载 相关 举报
IT项目管理(全部)_第1页
第1页 / 共324页
IT项目管理(全部)_第2页
第2页 / 共324页
IT项目管理(全部)_第3页
第3页 / 共324页
点击查看更多>>
资源描述
IT软件项目管理,1,第 1 章,IT软件项目管理概述,2,第1章 IT软件项目管理概述,1.1 项目与项目管理 1.2 IT软件项目管理 1.3 IT软件项目的组织结构,3,1.1 项目与项目管理,1.1.1 项目 1.1.2 项目管理 1.1.3 项目管理的基本内容 1.1.4 项目管理的成功因素,4,1.1.1 项目,项目管理是20世纪40年代以后迅速发展起来的一门科学,是现代管理学中的一个重要分支。 根据美国项目管理协会(PMI)的定义:项目是为完成某一独特的产品或服务所做的一次性努力。从根本上说,项目就是一系列的相关工作。 中国项目管理研究委员会对项目的定义是:项目是一个特殊的将被完成的有限任务。它是在一定时间内,满足一系列特定目标的多项相关工作的总称。根据这个定义,项目实际包含3层含义:,5,3层含义:,(1)项目是一项有待完成的任务,有特定的环境和要求; (2)在一定的组织机构内,利用有限资源(人力、物力、财力等),在规定的时间内(指项目有明确的开始时间和结束时间)为特定客户完成特定目标的阶段性任务; (3)任务要满足一定性能、质量、数量、技术指标等要求。,6,从上面的定义可以看出,项目就具有如下一些基本特性:,项目的独特性。 项目的一次性。 项目的组织性。 项目的生命期。 项目的资源消耗性。 项目的目标冲突性。 项目后果的不确定性。,7,1.1.2 项目管理,按PMI的定义:项目管理就是“在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求”。 中国项目管理研究委员会对项目管理总结为:“项目管理”一词具有两种不同的含义,其一是指一种管理活动;其二是指一种管理学科,前者是一种客观的实践活动,后者是前者的理论总结;前者以后者为指导,后者以前者为基础。 项目管理贯穿整个项目的生命期,是对项目的全过程管理。,8,项目管理具有如下一些基本特征:,项目管理的对象是项目。 系统工程思想贯穿项目管理的全过程。 项目管理的组织具有一定的特殊性。 项目管理的体制是基于团队管理的个人负责制,项目经理是整个项目组中协调、控制的关键。 项目管理的要点是创造和保持一个使项目顺利进行的环境,使置身于这个环境的人们能在集体中协调工作以完成预定的目标。 项目管理的方法、工具和技术手段具有先进性。,9,1.1.3 项目管理的基本内容,PMI编写的项目管理知识体系将项目管理划分为9个知识领域:范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。 而中国项目管理研究委员会则将项目管理的内容概括为2个层次、4个阶段、5个过程、9大知识领域、42个要素及多个主体。如表1.1所示。,10,11,1. 项目综合管理项目 其包括3个基本的子过程:制订项目计划;项目计划执行;综合变更控制。 2项目范围管理 PMBOK将其分成5个阶段:启动;范围计划;范围界定;范围核实;范围变更控制。(Project Management Body of Knowledge ) 3项目时间管理 PMBOK提出,项目时间管理由下述5项任务组成:活动定义;活动排序;活动时间估计;项目进度编制;项目进度控制。 4项目成本管理 包括以下4个过程:制订资源计划;成本估计;成本预算;成本控制。 5项目质量管理 主要包括以下4个过程:质量规划;质量控制;质量保证;全面质量管理。,项目管理的基本内容:,12,6项目人力资源管理 包括如下几个主要的过程:人力资源规划;招聘与解聘;筛选;定向;培训;绩效评估;职业发展;团队建设。 7项目风险管理 PMBOK将其归纳为4个主要过程:风险识别;风险估计;风险应对计划;风险控制。 8项目沟通管理 包括如下一些基本的过程:编制沟通计划;信息传递;绩效报告;管理收尾。 9项目采购管理 主要包括:编制采购计划;编制询价计划;询价;选择供应商;合同管理;合同收尾。,项目管理的基本内容:,13,1.1.4 项目管理的成功因素,范围(Scope) 时间(Time) 成本(Cost) 质量(Quality),14,1.2 IT软件项目管理,1.2.1 IT软件项目 1.2.2 IT软件项目管理 1.2.3 IT软件项目管理的活动,15,1.2.1 IT软件项目,IT项目限制在以软件开发、集成和实施为主要目的的项目范围内,简称IT软件项目。 IT项目具有自己非常明显的特点: 阶段性(紧迫性) 独特性 不确定性。,16,1.2.2 IT软件项目管理,IT软件项目管理和其他项目管理相比,具有很大的独特性。 生产无形的产品 过程没有明显的划分。 大都是“一次性”的人力消耗型项目。,17,1.2.3 IT软件项目管理的活动,IT软件项目管理主要的活动包括: l 编写项目建议书 l 项目成本的度量 l 项目计划和进度安排 l 项目监控和复审 l 人员选择和评估 l 项目报告的准备和发布,18,1.3 IT软件项目的组织结构,1.3.1 软件项目的组织结构 1.3.2 项目经理 1.3.3 产品项目组 1.3.4 主程序员组 1.3.5 程序员的工作效率,19,1.3.1 软件项目的组织结构,20,1.3.2 项目经理,项目经理的基本职责可以归纳为领导项目的计划、组织和控制工作,以实现项目的目标,即项目经理领导项目团队完成项目目标,项目经理需要协调各个团队成员的活动,使这些成员成为一个和谐的整体,履行各自的工作。,21,1.3.3 产品项目组,采用小规模的产品项目组有以下优势: l沟通和交流的时间大大缩短。 l工作标准可以不断提高。 l成员可以更加紧密地结合在一起工作。 l成员在编程时能为其他成员着想。 l 成员能更好地了解其他成员的工作及进度。,22,1.3.4 主程序员组,主程序员的核心由以下3部分组成,如图1.3所示:主程序员;熟练而有经验的辅助程序员;资料管理员。,资料管理员,图1.3 主程序员组结构,23,1.3.5 程序员的工作效率,在IT项目中对工作效率的度量主要是采取间接测量的方法。几种常用的间接测量方法有: l每人月代码行(LOC) l 每人月编的目标指令(OI) l 每人月写的文档页数(POD) l 每人月测试和执行的错误数(T组织分解结构(OBS);资源分解结构(RBS);材料清单(BOM);项目分解结构(PBS)。,30,“分解”工作包括以下几个主要步骤:,确定项目的主要可交付成果。 确定每个可交付成果的详细程度,以便对每个可交付成果能够编制恰当的成本和时间预算。 确定可交付成果的组成元素。 核实分解的正确性。,31,2.2 甘 特 图,甘特图(Gantt Chart),是表示项目各阶段任务开始时间与结束时间的图。甘特图用水平线段表示阶段任务;线段的起点和终点分别对应于任务的开始时间和结束时间;线段的长度表示完成任务所需的时间。 甘特图的优点是表明了各任务的计划进度和当前进度,能动态地反映软件项目的开发和进展情况。缺点是难以反映多个任务之间存在的复杂逻辑关系。,32,项目甘特图,33,34,2.3 IT项目的网络表示法,网络是适用于成本与计划控制的一种项目管理工具。通过图表,工程师和管理者可以直观地表示时间或成本的计划与控制情况 网络分析是在20世纪60年代作为一个控制大型项目的技术而引入项目管理过程中的,引入网络技术之前(大约在1956年),主要使用其他的一些计划方法,如活动列表、日记、条形图、甘特图等。,35,讲义版权由Win-Win International 所有,未经同意,不得转印,绘制网络图方法之 - 节点法(Activity on Node)-,工作任务描述,任务 序号,负责人,工期 估计,洗车,1 王 2 hrs,擦车,2 李 3 hrs,Activity=工作任务(Task) 每项工作任务由一个框来表示 每个框有任务序号,负责人,工期估计 每一项任务只有在与它联系的所有先前 任务完成后才能启动,36,讲义版权由Win-Win International 所有,未经同意,不得转印,绘制网络图方法之 - 箭头法(Activity on Arrow)-,洗车,王,擦车,李,每项工作任务由一个箭头来表示 箭头的长度与工期时间或重要性无关 箭头与箭头之间以圆圈连接,圈内是事件(Event)序号 一个圆圈代表它前面任务的结束,并是它后面任务的开始,事件序号,事件序号,工作任务描述,负责人 工期评估,1,2,3,2 hrs,3 hrs,37,讲义版权由Win-Win International 所有,未经同意,不得转印,为ABC公司实施办公自动化 项目网络图,验收 刘海,52 19 49,53 1天 50,最晚结束时间 工期 最早结束时间,最晚开始时间 任务序号 最早开始时间,任务,主要负责人,示意图,38,39,2.4 关键路径法,一般求出某个项目的关键路径的基本步骤为: l求出各活动的时间参数ES(最早开始时间)和EF(最早完成时间)。 l求出各活动的时间参数LF(最迟完成时间)和LS(最迟开始时间)。 l计算时差。 l确定关键路径。,40,2.5 计划评审技术,计划评审技术PERT(Program Evaluation and Review Technique)对各个项目活动的完成时间按3种不同情况估计: 乐观时间(optimistic time)任何事情都顺利的情况,完成某项工作的时间。 最可能时间(most likely time)正常情况下,完成某项工作的时间。 悲观时间(pessimistic time)最不利的情况,完成某项工作的时间。,41,第 3 章,IT软件项目管理概述,42,第3章 IT软件项目管理概述,3.1 IT软件项目生命周期的划分 3.2 IT软件项目生命周期中 3.3 IT软件项目生命周期中的重要概念 3.4 IT软件项目管理里程碑,43,3.1 IT软件项目生命周期的划分,生命周期都包括识别、设计、实施和评估4个阶段:,44,3.1 IT软件项目生命周期的划分,3.1.1 瀑布模型 3.1.2 原型模型 3.1.3 螺旋模型,45,3.1.1 瀑布模型,瀑布模型: 是美国Winston Royce向IEEE WESCON(Royce, Winston 1970)提交的一篇名为管理大规模软件系统的开发的论文中首次提出的。由于这种方法是从一个阶段成瀑布流入下一个阶段,所以这个模型就称为“瀑布模型”。瀑布模型有很多的变化,包括以下的阶段:需求分析与定义,系统设计与软件设计,系统实施与单元测试,系统集成与系统测试,系统运行与系统维护。,46,问题定义,特点:1) 阶段间具有顺序性和依赖性 2) 推迟实现的观点 3) 质量保证的观点。,可行性研究,需求分析,总体设计,详细设计,编码与单元测试,综合测试,软件维护,软件定义时期,软件开发时期,软件维护时期,47,3.1.2 原型模型,原型(Prototype)法的基本过程:,48,3.1.3增量模型,融合了瀑布模型的基本成分和原型的迭代特征。采用随着日程时间的进展而交错的线性序列。,49,增量模型 (Cont.),分析,分析,分析,分析,设计,设计,设计,设计,编码,编码,编码,编码,测试,测试,测试,测试,增量1,增量2,增量3,增量4,50,3.1.4 螺旋模型,51,螺旋模型,52,螺旋模型分析 在螺旋模型结构中,维护只是螺旋模型的另一个周期,在维护和开发之间本质上并没有区别,从而解决了做太多测试或未作足够测试所带来的风险。 适用条件 内部的大规模软件的开发,不太适合合同软件。 一般只适用于大规模软件的开发,螺旋模型,53,3.2 IT软件项目生命周期中各阶段任务,根据前面对IT软件项目各个主要模型生命周期的分析,可以将一般的软件项目开发过程详细划分为如图3.6所示的6个主要阶段,即 项目开发准备阶段、 调查研究阶段、 项目分析阶段、 项目设计阶段、 项目实施阶段、 维护与评价阶段。,54,55,3.3 IT软件项目生命周期中的重要概念,在IT软件项目生命周期中有3个与时间相关的重要概念: 检查点(Check Point)、 里程碑(Mile Stone) 、 基线(Base Line),56,检查点,指在规定的时间间隔内对项目进行检查,比较实际与计划之间的差异,并根据差异进行调整。 可将检查点看作是一个 固定 “ 采样 ” 时点,而时间间隔根据项目周期长短不同而不同,频度过小会失去意义,频度过大会增加管理成本。常见 的间隔是每周一次,项目经理需要召开例会并上交周报。,57,里程碑,完成阶段性工作的标志。,58,基线,指一个(或一组)配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态。 基线其实是一些 重要的里程碑,但相关交付物要通过正式评审并作为后续工作的基准和出发点。基线一旦建立后变化需要受控制。 重要的检查点是里程碑,重要的需要客户确认的里程碑,就是基线。在我们实际的项目中,周例会是检查点的表现形式,高层的阶段汇报会是基线的表现形式。,59,第 4 章,IT软件项目可行性研究,60,第4章 IT软件项目可行性研究,IT软件项目开发的可行性一般包括了可能性、效益性和必要性3个方面。可能性包括了技术、物资、资金和人员支持的可行性;效益性包括了实施项目所能带来的经济效益和社会效益;必要性则比较复杂,包括了社会环境、领导意愿、人员素质、认知水平等诸方面的因素。因此,在项目启动之前进行项目的可行性研究是非常必要的,而且也是必须的。,61,第4章 IT软件项目可行性研究,4.1 可行性研究的内容 4.2 可行性研究的步骤 4.3 效益的预测与评估 4.4 投入产出比和投资回收期,62,4.1 可行性研究的内容,4.1.1 技术可行性分析 4.1.2 经济可行性分析 4.1.3 运行环境可行性分析 4.1.4 其他方面的可行性分析,63,4.1.1 技术可行性分析,技术可行性分析是指在当前市场的技术、产品条件的限制下,能否利用现在拥有的以及可能拥有的技术能力、产品功能、人力资源来实现项目的目标、功能、性能,能否在规定的时间期限内完成整个项目。 技术可行性分析一般应当考虑: 进行项目开发的风险; 人力资源的有效性; 技术能力的可能性; 物资(产品)的可用性。,64,4.1.2 经济可行性分析,经济可行性分析: 主要是对整个项目的投资及所产生的经济效益进行分析,具体包括: 支出分析、 收益分析、 投资回报分析 以及敏感性分析等。,65,4.1.3 运行环境可行性分析,运行环境是制约软件在用户单位发挥效益的关键。,66,4.1.4 其他方面的可行性分析,IT软件项目的可行性研究除了前面介绍的技术、经济和运行环境可行性分析外,还包括了诸如法律可行性、社会可行性等方面的可行性分析。,67,4.2 可行性研究的步骤,可行性研究分为初步可行性研究、详细可行性研究、可行性研究报告等3个基本的阶段,可以归纳成几个基本步骤: (1)确定项目规模和目标。 (2)研究正在运行的系统。 (3)建立新系统的逻辑模型。 (4)导出和评价各种方案。 (5)推荐可行性方案。 (6)编写可行性研究报告。 (7)递交可行性研究报告。,68,4.2 可行性研究的步骤,4.2.1 初步可行性研究 4.2.2 详细可行性研究 4.2.3 可行性研究报告,69,4.2.1 初步可行性研究,进行初步可行性评估,可以从几个方面进行衡量,以便是否决定开始详细可行性研究: 分析项目的前途,从而决定是否应该继续深入调查研究; 初步估计和确定项目中的关键技术及核心问题,以确定是否有可能解决; 初步估计必须进行的辅助研究,以解决项目的核心问题,并判断是否具备必要的技术、实验、人力条件作为支持。,70,通过项目的初步可行性研究就应当能够回答下面的一些问题:,项目进行投资建设的必要性。 项目建设的周期。 项目需要的人力、财力资源。 项目的功能和目标是否可以实现。 项目的经济效益、社会效益是否可以保证。 项目从经济上、技术上是否是合理的。,71,4.2.2 详细可行性研究,进行可行性研究工作的主要依据有: 国家经济和社会发展的长期规划,部门与地区的发展规划,以及国家和地方的相关政策、法律、法规和制度。 项目建议书或者项目建议书批准后签订的意向性协议。 国家、地区、企业的信息化规划和标准。 市场调研分析报告。 技术、产品或工具的有关资料。,72,IT软件项目详细可行性研究的内容,一般可以归纳为:,概述:提出项目开发的背景、必要性和经济意义,研究项目工作的依据和范围,产品交付的形式、种类、数量。 需求确定:调查研究国内外客户的需求情况,对国内外的技术趋势进行分析,确定项目的规模、目标、产品、方案和发展方向。 现有资源、设施情况分析:调查现有的资源(包括硬件设备、软件系统、数据、规章制度等)种类与数量,以及这些资源的使用情况和可能的更新情况。 设计(初步)技术方案:确定项目的总体和详细目标、范围,总体的结构和组成,核心技术和关键问题、产品的功能与性能。 项目实施进度计划建议。 投资估算和资金筹措计划。 项目组织、人力资源、技术培训计划:包括现有的人员规模、组织结构、人员层次、个人技术能力、人员技术培训计划等。 合作/协作方式。,73,4.2.3 可行性研究报告,编写一份关于IT软件项目的可行性研究报告,可以考虑从如下几个方面进行: 第1部分 概述 第2部分 项目技术背景与发展概况 第3部分 现行系统业务、资源、设施情况分析 第4部分 项目技术方案 第5部分 实施进度计划 第6部分 投资估算与资金筹措计划 第7部分 人员及培训计划 第8部分 不确定性(风险)分析 第9部分 经济和社会效益预测与评价 第10部分 可行性研究结论与建议,74,第 5 章,IT软件项目计划管理,75,5.1 IT软件项目计划管理,很重要性的 一项复杂的、自始至终不断迭代的 从不同的角度出发有不同的种类 为项目的运作提供可靠的实施基础 提供可行的工作计划,项目计划管理是:,76,5.1 IT软件项目计划管理,使软件项目的开发建立在可靠的基础之上,将项目计划变成开发人员能够遵循的文档,并据此跟踪、检查、监控计划的执行。 确定软件项目开发的活动和承诺,使软件开发工作有序而协调地进行,以便根据软件计划的资源、约束和能力逐步向客户履行承诺。 明确与软件项目相关的组织和个人的职责,将任务责任落实到具体的小组和个人,从组织管理上确保项目开发的成功。,项目计划的目的:,77,5.2 确定IT软件项目的目标,(1)明确制定项目目标的主题。项目目标一般由项目发起人或者项目提议人来确定。 (2)描述项目目标。项目目标必须明确、具体,尽量定量描述,保证项目目标容易被沟通和理解,并使每个项目组成员结合项目目标确定个人的具体目标。,主要分为两步:,78,5.2 确定IT软件项目的目标,定量化原则:确定项目目标时,尽可能定量描述,使得每个目标的范围、时间、成本、性能、责任等都是明确的,可以度量和监控的。 个人化原则:每个具体目标应当落实到项目组的每个成员,使得每个成员都明确自己的工作和职责。 简单化原则:目标的描述应当是简单而直接的,使得每个参与人员都能明确而无二义性。 现实性原则:确定的每个目标都是可以实现的,而不是追求理想化的结果。,遵循一些基本原则:,79,5.3 项目范围管理,5.3.1 项目范围管理概述 5.3.2 项目范围规划 5.3.3 项目范围定义,80,5.3.1 项目范围管理概述,项目范围的确定项目范围(Project Scope)包括项目的最终产品或者服务,以及实现该产品或者服务所需要执行的全部工作。 项目范围管理的任务是界定项目所必须包含且只需要包含的全部工作,并对其他的项目管理工作起指导作用,以确保项目顺利完成全部的过程。,81,5.3.2 项目范围规划,项目范围规划的输入 项目范围规划的工具和技术 项目范围规划的输出,82,5.3.2 项目范围规划,产品描述 项目章程 制约因素 前提条件,项目范围规划的输入:,83,5.3.2 项目范围规划,产品分析 成本效益分析 项目方案识别技术 专家评定,项目范围规划的工具和技术 :,84,5.3.2 项目范围规划,项目范围说明书 范围管理计划,项目范围规划的输出:,85,5.3.2 项目范围定义,范围说明书 制约因素 前提条件 其他计划结果 历史资料 使用工具:工作分解结构模板,范围定义的输入:,86,5.4 制定IT软件项目进度计划,5.4.1 软件项目进度计划 5.4.2 制定软件项目进度计划的指导原则 5.4.3 项目进度计划的制定过程,87,5.4.1 软件项目进度计划,考虑各种因素,串并性,88,5.4.2 制定软件项目进度 计划的指导原则,1. 将用于编制软件项目计划及跟踪软件项目的工作文档化。 2. 对于软件项目的实施采用文档化的承诺。 3. 相关的机构或个人认可他们对软件项目的承诺。 4. 指定软件项目负责人负责落实软件项目的承诺并制定项目的软件开发计划。 5. 确保软件项目存在一份文档化的、并被认可的工作任务说明。 6. 软件开发计划要指定人员角色分工,明确责任。 7. 对软件项目所需要的、适当的资源及资金做出计划。,89,5.4.2 制定软件项目进度 计划的指导原则,8. 对软件项目负责人、软件工程师及其他与软件项目计划编制有关的人员进行适合其职责范围的培训。 9. 成立相关软件项目组及相关的方案论证小组。 10. 软件项目组及相关的方案论证小组在整个项目生命期内参加全部的项目计划编制工作。 11. 按照书面流程与高级管理人员或企业外部机构软件项目的承诺进行复审。 12. 明确划分为预先定义的、规模可管理的阶段的软件生命周期。 13. 按照书面流程开发项目的软件开发计划。 14. 将软件项目计划文档化。,90,5.4.2 制定软件项目进度 计划的指导原则,15. 确定软件项目需要建立及维护控制的软件产品。 16. 按照书面流程进行对软件产品规模的估计(或软件产品规模的改变)。 17. 按照书面流程进行对软件项目工作量及费用的估计。 18. 按照书面流程进行对项目所需要的关键计算机资源的估计。 19. 按照书面流程确定项目的软件开发进度。 20. 识别、评估与项目的费用、资源、进度及技术方面相关的软件风险,并文档化。 21. 准备项目的软件工程机制及支撑工具的计划。,91,5.4.2 制定软件项目进度 计划的指导原则,22. 记录软件计划编制数据。 23. 制定并使用度量方法以确定软件计划活动的状态。 24. 定期与高级管理人员对软件项目计划活动进行复审。 25. 以定期及事件驱动方式对软件项目管理人员及软件项目计划活动进行复审。 26. 对软件质量保证人员及软件项目计划活动、工作产品进行回顾及审核,并将结果文档化。,92,5.4.3 项目进度计划的制定过程,项目网络图 活动持续时间估计 资源需求 资源安排描述 日历 约束条件 假设条件 提前或滞后要求 风险管理计划,依据 :,93,5.4.3 项目进度计划的制定过程,数学分析法 持续时间压缩法 模拟法 资源分配的启发式方法 项目管理软件,工具和技术:,94,5.4.3 项目进度计划的制定过程,项目进度计划 详细依据说明 进度管理计划 更新的项目资源需求,输出 :,95,5.4.4 软件项目计划的主要活动,1. 计划初始阶段 2. 指定软件开发计划SDP 3. 对SDP草稿进行审查和批准 4. 实施软件开发计划 5. 软件开发过程的质量和评价 6. 修改SDP,96,5.4.4 软件项目计划的主要活动,97,5.5 软件项目计划书,1. 引言 1.1 计划的目的 1.2 项目的范围和目标 1.2.1 范围描述 1.2.2 主要功能 1.2.3 性能 1.2.4 管理和技术约束 2. 项目估算 2.1 使用的历史数据 2.2 使用的评估技术 2.3 工作量、成本、时间估算,98,5.5 软件项目计划书,3. 风险管理战略 3.1 风险识别 3.2 有关风险的讨论 3.3 风险管理计划 3.3.1 风险计划 3.3.2 风险监视 3.3.3 风险管理 4. 日程 4.1 项目工作分解结构 4.2 进度安排(甘特图) 4.3 资源表,99,5.5 软件项目计划书,5. 项目资源 5.1 人员 5.2 硬件和软件 5.3 特别资源 6. 人员组织 6.1 组织结构 6.2 管理报告 7. 跟踪和控制机制 7.1 质量保证和控制 7.2 变化管理和控制 8. 附录,100,第 6 章,IT软件项目成本管理,101,第6章 IT软件项目成本管理,6.1 IT项目成本 6.2 IT项目开发成本的估算方法 6.3 成本估算案例 6.4 项目成本控制,102,6.1 IT项目成本,6.1.1 项目成本 6.1.2 影响项目成本的因素 6.1.3 项目成本管理的内容,103,6.1.1 项目成本,对于一般项目,项目的成本主要由项目直接成本、管理费用和期间费用等构成。 IT项目的成本主要由以下4部分构成: 硬件成本 差旅及培训费用 软件开发成本 项目管理费用,104,6.1.2 影响项目成本的因素,项目成本的影响因素很多,对于IT软件项目,影响因素主要包括: 项目质量对成本的影响 工期对成本的影响 管理水平对成本的影响 人力资源对成本的影响 价格对成本的影响,105,6.1.3 项目成本管理的内容,项目成本管理主要包括: 资源计划编制、 费用估算、 费用预算、 不可预见费用 费用控制。,106,6.2 IT项目开发成本的估算方法,6.2.1 IT项目成本的常用估算方法 6.2.2 面向规模(LOC)的度量 6.2.3 面向功能点(FP)的度量 6.2.4 COCOMO模型 COnstructive COst MOdel,构造性成本模型,107,6.2.1 IT项目成本的常用估算方法,最基本的估算方法有以下几种: 成本建模技术 专家判定技术 类比评估技术 自顶向下估算法 自下而上估算法 赢利定价法,108,分解与度量方法:,分解主要是做两个方面工作:一是按工作分解结构和工作任务(工作包)分摊成本;二是按工期时段分摊成本。 目前最常用且最好用的度量方法主要有3种:面向规模(LOC)、面向功能点(FP)及COCOMO模型的度量方法。,109,6.2.2 面向规模(LOC)的度量,为了与其他项目中的同类度量相比较,选择代码行作为规范化,这样,就可以为每个项目产生一组简单的、面向规模的度量标准: 每千行代码(KLOC)的错误数。 每千行代码行(KLOC)的缺陷数。 每千行代码行(KLOC)的成本。 每千行代码行(KLOC)的文档页数。 每人月错误数。 每页文档的成本。,110,6.2.3 面向功能点(FP)的度量,功能点可由以下4个参数计算出来:外部输入和输出数;外部接口数;用户交互数 ;系统要用的文件数。 功能点法是通过建立一个标准来确定某个特定的测量参数(简单、平均或复杂)的功能点数,一般,可以采用下面的方式计算功能点: FP= 总计数值0.65+0.01SUM(Fi),111,一旦计算出功能点,就可以采用类似面向规模的方法来使用,以便规范软件生产率、质量及其他属性的测量: 每个功能点(FP)的错误数 每个功能点(FP)的缺陷数 每个功能点(FP)的成本 每个功能点(FP)的文档页数 每人月完成的功能点(FP)数 面向功能点(FP)和面向规模(LOC)两种度量方法之间的关系为:LOC=AVC功能点的数量,其中AVC是指该语言在实现一个功能点时所要用的平均代码行数。,6.2.3 面向功能点(FP)的度量,112,6.2.4 COCOMO模型,它是一种精确、易于使用的,基于模型的成本估算方法,最早由勃姆 (Boehm) 于 1981 年提出。 从本质上说是一种参数化的项目估算方法,参数建模是把下那个目的某些特征作为参数,通过建立一个数字模型预测项目成本(类似于居住面积作为参数计算的整体的住房成本).,113,6.2.4 COCOMO模型,COCOMO 模型的项目成本估算公式为: E=A(KDSI)b 在COCOMO 模型中,根据开发环境及项目规模等因素,可把项目分为以下3种:组织模式 ;半分离模式 ;嵌入模式 相应地,COCOMO模型的层次结构也包括3种基本形式,即初级COCOMO 模型、中级COCOMO 模型和高级COCOMO 模型。,114,6.4 项目成本控制,6.4.1 项目成本控制的内容 6.4.2 项目成本控制的流程与方法,115,6.4.1 项目成本控制的内容,项目的成本控制就是在整个项目的实施过程中,定期收集项目的实际成本数据,与成本的计划值进行对比分析,并进行成本预测,发现并及时纠正偏差,以使项目的成本目标尽可能好地实现。 项目成本控制的主要内容包括: 对造成成本基准计划发生改变的因素施加影响,以保证这种变化朝着有利项目的方向发展。 确定项目基准计划是否已经发生变化。 在实际成本基准计划发生变化和正在发生变化时,对这种变化实施有效的管理。 监视项目成本执行情况,及时发现与成本计划的偏差。 确保所有有关成本的变更都准确记录在项目成本基准计划中。 防止不正确、不适宜或者未核准的变更纳入成本基准计划中。 将核准的变更通知有关项目干系人。,116,6.4.2 项目成本控制的流程与方法,在项目管理中,成本控制、质量控制和进度控制一起贯穿项目实施的全过程。其控制原理如图6.9所示。,117,成本控制的工作流程如图6.10所示,,118,成本控制方法和技术,实施成本控制的方法和基本技术主要包括: 成本控制改变系统 绩效度量 附加计划,119,第 7 章,IT软件项目质量管理,120,第7章 IT软件项目质量管理,7.1 质量管理基本概念 7.2 IT软件质量管理基本知识 7.3 软件项目质量计划 7.4 软件项目评审 7.5 软件质量体系 7.6 软件过程能力成熟度模型(CMMI),121,7.1 质量管理基本概念,7.1.1 质量、质量特性、质量管理的定义 7.1.2 质量管理发展过程及影响因素 7.1.3 全面质量管理,122,7.1.1 质量的定义,实体是指可单独描述和研究的事物,也就是有关质量工作的对象,它的内涵十分广泛,可以是活动、过程、产品(软件、硬件、服务)或者组织等。 明确需求是指在标准、规范、图样、技术要求和其他文件中已做出规定的需要。 隐含需求是指用户和社会对实体的期望以及公认的、不必明确的需求,需要对其加以分析研究、识别并加以确定的。,质量:国际标准组织对质量的定义:“反映实体满足主体明确和隐含需求的能力的特性总和”,123,7.1.1 质量特性的定义,质量是综合的概念,它要求功能、成本、服务、环境、心理等诸方面都能满足用户的需要。 质量是一个动态的、相对的、变化的、发展的概念,随着地域、时期、使用对象、社会环境、市场竞争的变化而被赋予不同的内容和要求,而且随着社会的进步及知识创新,其内涵和要求也是不断更新、丰富的。,质量特性 : “是指实体所特有的性质,它反映实体满足需求的能力 ”,124,7.1.1 质量管理的定义,质量管理是项目管理的重要组成部分,是一个项目的性能(功能)、成本、进度3项指标实现的重要领域。 质量管理主要就是监控项目的可交付产品和项目执行的过程,以确保它们符合相关的要求和标准,同时确保不合格项能够按照正确方法或者预先规定的方式处理。,质量管理:“确定质量方针、目标和职责并在质量体系中通过质量计划、质量控制、质量保证和质量改进使其实施的全部管理职能的所有活动”,125,7.1.2 质量管理发展过程及影响因素,以产品为中心的质量检验和统计质量控制阶段(18世纪 1950年)。 以顾客为中心的质量保证阶段(1950年 1987年)。 强调持续改进的质量管理阶段(1987年 现在)。 全面质量管理阶段(TQM)。,126,7.1.2 质量管理发展过程及影响因素,127,7.1.2 质量管理发展过程及影响因素,128,7.1.3 全面质量管理,1. 系统的观点 产品质量的形成和发展过程包括了许多相互联系、相互制约的环节,不论是保证和提高产品质量还是解决产品质量问题,都应该把生产企业看成一个开放的系统,运用系统科学的原理和方法,对所有环节进行全面的组织管理。 2. 向用户服务的观点,用户满意是第一原则 要树立质量第一、用户第一的思想,满足广义用户(产品的使用者以及企业生产过程的下一阶段)对产品质量的要求。 3. 预防为主的观点,事前主动进行质量管理 这个观点要求生产企业的质量管理重点应从事后检验把关转移到事前预防,从管结果转变为管因素,找出影响产品质量的各种因素,抓住主要因素,使生产经营活动处于受控状态。,129,7.1.3 全面质量管理,130,7.2 IT软件质量管理基本知识,7.2.1 软件质量概念 7.2.2 软件质量影响因素 7.2.3 软件度量标准 7.2.4 软件项目质量保证 7.2.5 软件质量管理,131,7.2.1 软件质量概念,ISO8402定义:“对用户在功能和性能方面需求的满足、对规定的标准和规范的遵循以及正规软件某些公认的应该具有的本质 ” ANSI/IEEE定义:“与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体” 软件质量不是绝对的,而是相对的概念,讨论软件的质量,最终将归结为定义软件的质量特性,而定义一个软件的质量,就等价于为该软件定义一系列质量特性,软件质量 :,132,7.2.1 软件质量概念,B.W.Boehm、T.R.Brown和M.Lipow 于1976年首次提出软件质量模型 1977年Walters和McCall提出了新的软件质量层次模型与度量 1994年ISO9000-3软件质量国际标准(ISO的软件质量评价模型)给出了 6个软件质量特性和与其相关的21个质量子特性的明确定义,软件质量模型:,133,7.2.1 软件质量概念,Boehm软件质量模型 :,134,7.2.1 软件质量概念,McCall软件质量模型 :,135,7.2.2 软件质量影响因素,正确性 健壮性 效率 完整性(安全性) 可用性 风险 可理解性,可维修性 灵活性(适应性) 可测试性 可移植性 可重用性 互操作性,136,7.2.3 软件度量标准,软件度量标准可以分为: “控制度量标准” “预测度量标准”,137,7.2.3 软件度量标准,预测度量标准 :,138,7.2.3 软件度量标准,自动数据收集过程 :,139,7.2.4 软件项目质量保证,质量保证(Quality Assurance,QA)包括:,质量管理方法。 有效的工程技术。 整个过程采用的正式复审技术。 多层次的测试技术。 对文档及其修改的控制。 项目的标准及规格等。,140,7.2.4 软件项目质量保证,软件质量保证(Software Quality Assurance,SQA)包括:,质量方针的制定和贯彻。 质量保证方针和质量保证标准的制定。 质量保证体系的质量保证工作。 明确各阶段的质量保证工作。 各阶段的质量评审。 确保设计质量。 重要质量问题的提出与分析。 总结实现阶段的质量保证活动。 整理面向用户的文档、说明书等。 产品质量鉴定、质量保证系统鉴定。 质量信息的搜集、分析和使用等。,141,7.2.5 软件质量管理,142,7.3 软件项目质量计划,7.3.1 软件质量标准 7.3.2 软件项目质量计划 7.3.3 软件项目质量保证 7.3.4 软件项目质量控制 7.3.5 软件质量管理的实施,143,7.3.1 软件质量标准,软件质量标准的定义,有3个重要方面需要强调:,软件需求是进行质量度量的基础,与需求不符就是质量不高。 指定的标准定义了一组指导软件开发的准则。如果不遵循这些准则,就极有可能导致软件质量的不高。 软件需求中通常有一组“隐含需求”是很少被提及的,如对易维护的要求,如果软件符合了明确需求却没有满足隐含需求,软件的质量仍然值得怀疑。,144,7.3.2 软件项目质量计划,依据:,质量方针。质量方针是由高层管理者对项目的整个质量目标和方向制定的一个指导性的文件。但是,在项目实施过程中,可以根据实际情况对质量方针进行适当的修正。 范围描述。项目的范围描述说明了投资人对项目的需求以及项目的主要要求和目标,因此,范围描述是质量计划的重要依据。 产品描述。产品描述包含了更多的技术细节和性能标准,是制定质量计划必不可少的部分。 标准和规则。项目质量计划的制定必须参考相关领域的各项标准和特殊规定。 其他工作的输出。在项目中,其他方面的工作成果也会影响质量计划的制定。,145,7.3.2 软件项目质量计划,方法和技术 :,效益/成本分析法。质量计划必须考虑效益与成本的关系。满足质量需求的主要效益是减少了重复性工作,即高产出、低成本、高用户满意度。质量管理的基本原则是效益与成本之比尽可能大。 基准法。主要是通过比较项目的实施与其他同类项目的实施过程,为改进项目的实施过程提供借鉴和思路,并作为一个实施的参考标准。 流程图。流程图是一个由箭线和结点表示的若干因素关系图,可以包括原因结果图、系统流程图、处理流程图等。因此,流程图经常用于项目质量控制过程中,其主要目的是确定以及分析问题产生的原因。 试验设计。试验设计对于分析整个项目输出结果是最有影响的因素,也是十分有效的。对于软件开发,设计原型解决核心技术问题和主要需求也是可行和有效的。但是,这种方法存在费用与进度交换的问题。,146,7.3.2 软件项目质量计划,阶段成果 :,质量管理计划。主要描述了项目管理小组应该如何实施项目质量方针,包括对组织结构、责任、方法、步骤、资源等实施质量管理。质量计划提供了对整个项目进行质量控制、质量保证及质量改进的基础。 操作说明。对于质量计划中的一些特殊条款需要附加的操作说明,包括注解、如何控制、如何度量,以及在何种情况下采取何种措施和方法等说明。 检查表。各种检查表是记录项目执行情况和进行分析的工具,既可以简单,也可以复杂,但需要项目小组形成一种较标准的体系。,147,7.3.3 软件项目质量保证,质量保证的主要依据是 :,质量管理计划。 质量控制度量结果。质量控制的度量是为了对质量控制测试记录和度量进行比较和分析。 操作说明。 在实施质量保证时,主要采取的工具和方法是: 质量计划编制工具和技术。应用与质量计划制定过程的工具和方法也基本适用于质量保证过程。 质量审核。,148,7.3.3 软件项目质量保证,软件质量保证计划 :,1. 计划目的 2. 参考文献 3. 管理 3.1 组织 3.2 任务 3.3 责任 4. 文档 4.1 目的 4.2 要求的软件工程文档 4.3 其他文档 5. 标准和约定 5.1 目的 5.2 约定,7. 测试 8. 问题报告和改正活动 9. 工具、技术和方法 10. 媒体控制 11. 供应者控制 12. 记录收集、维护保密 13. 培训 14. 风险管理,6. 评审和审计 6.1 目的 6.2 评审要求 6.2.1 软件需求的评审 6.2.2 设计评审 6.2.3 软件验证和确认评审 6.2.4 功能评审 6.2.5 物理评审 6.2.6 内部过程评审 6.2.7 管理评审,149,7.3.4 软件项目质量控制,依据 :,项目的阶段工作成果。包括项目的实施结果和产品结果。 项目质量管理计划。 操作描述。 检查表。,150,7.3.4 软件项目质量控制,方法和技术 :,检查。包括度量、考察、测试、对比等。 控制图。监控项目的进度和费用变化、范围变化的幅度和频率、项目的其他管理结果等。 统计样本。对项目实际执行情况的统计。 流程图。包括原因结果图、系统流程图、处理流程图等。因此,流程图经常用于项目质量控制过程中,其主要目的是确定以及分析问题产生的原因。 趋势分析。应用数学方法根据历史数据预测项目将来的发展趋势。可以用于监控项目的技术参数,例如,一般规模的软件存在多少个错误以及多少识别和修改,多少错误仍然未被发现等;也可以用于对费用和进度参数的预测。,151,7.3.4 软件项目质量控制,产生的工作成果 :,项目质量改进的措施。 可接受的决定。每个项目的工作都有可能被接受或拒绝,不被接受的工作需要重新进行。 返工。确定需要返工工作的方案,以确定最小的成本和最少的返工工作量。 检查表。进行项目质量检查时,需要随时完成对项目质量的纪录,完成相应的各种检查表。 过程调整。包括了对质量控制度量结果的纠正以及采取预防工作等。,152,7.3.5 软件质量管理的实施,153,7.3.5 软件质量管理的实施,遵循以下一些基本原则 :,控制项目所有过程的质量。 过程控制的出发点是预防不合格。 质量管理的中心任务是建立并实施文档化管理的质量体系。 持续的质量改进。 有效的质量体系应满足顾客和组织内部双方的需要和利益。 定期评价质量体系。 搞好质量管理的关键在于领导。,154,7.4 软件项目评审,7.4.1 软件项目评审的基本概念 7.4.2 软件项目评审阶段 7.4.3 软件项目评审的作用,155,7.4.1 软件项目评审的基本概念,评审是一种质量保证的机制:,指出开发和管理人员或者软件产品所需改进的部分。 确定软件产品中不需要或者不希望改进的部分。 通过质量复审,得到更加一致的、更可预测的技术工作的质量,从而使得技术工作更加容易管理。,156,7.4.1 软件项目评审的基本概念,软件项目有以下几种类型的评审:,设计或者程序检查。目的是发现设计或者代码中的详细错误,并且检查设计和代码是否遵循了标准。 管理评审。这种类型的评审,其目的是为软件项目的整个进度管理过程提供信息,它既是过程评审也是产品评审,主要关心项目的成本、计划和进度。管理评审是重要的项目检查点,在这些检查点上,经常做一些关于项目将来开发计划或者产品生存能力的决策。 质量评审。个人或者小组的工作由评审小组进行评审。这个专门的评审小组由项目组成员和技术管理人员组成。这种类型的评审和设计与代码检查不同,因为系统不可能被详细地描述。这个评审的目的是对产品组件或文档进行技术分析,从而发现需求、设计、编码和文档之间的错误或者不匹配之处,以及是否遵循了质量标准或质量计划中的其他质量属性等更广泛的质量问题。,157,7.4.2 软件项目评审阶段,158,7.4.3 软件项目评审的作用,软件质量评审是软件项目管理过程中的“过滤器”, 评审被用于软件开发过程中的多个不同的点上,起到发现错误(进而引发纠错活动)的作用。 评审起到的作用是“净化”分析、设计和编码过程中所产生的软件工作产品。 软件评审并不是在软件开发完毕后再进行的,而是在软件开发的各个阶段都要进行评审。,159,7.4.3 软件项目评审的作用,160,7.4.3 软件项目评审的作用,表7.2 需求阶段错误对后期的影响,161,7.5 软件质量体系,7.5.1 ISO9000质量体系简介 7.5.2 ISO9000质量体系的原则 7.5.3 贯彻质量体系的意义,162,7.5 软件质量体系,质量体系的定义 :,ISO8402-94对质量体系的定义是“为了实施质量管理的组织结构、职责、程序、过程和资源”的一种特定体系。 质量体系的要素可以分为两大类:一是质量体系的结构要素;二是质量体系的选择要素。前者是构成组织质量体系的基本要素;后者是质量体系涉及产品生命周期的全部阶段,从最初需求识别到最终满足需要的所有过程的质量管理活动。,163,7.5.1 ISO9000质量体系简介,ISO9000标准系列,它由5个部分组成:,(1)质量术语标准; (2)质量保证标准; (3)质量管理标准; (4)质量管理和质量保证标准的选用和实施指南; (5)支持性技术标准。,164,7.5.1 ISO9000质量体系简介,165,7.5.2 ISO9000质量体系的原则,质量管理八大原则 :,(1)以客户为中心。 (2)统一的宗旨、明确方向和建设良好的内部环境。 (3)全员参与。 (4)将相关的资源和活动作为过程来进行管理。 (5)系统管理。 (6)持续改正。 (7)以事实为决策依据。 (8)互利的供求关系。,166,7.5.3 贯彻质量体系的意义,意义有以下4个方面 :,提高IT公司管理水平,增强公司抗风险能力。 提高软件产品质量,增强企业市场竞争能力。 树立公司的良好形象,巩固和不断扩大市场分额。 与国际接轨,有利于国际市场的开拓。,167,7.6 软件过程能力成熟度模型(CMMI),7.6.1 软件过程能力成熟度模型概述 7.6.2 ISO9000与CMMI,168,什么是SW-CMM?,SW-CMMI称为软件能力成熟度模型,是Capability Maturity Model for Software的缩写形式。 目前国际上最流行最实用的软件生产过程标准和软件企业成熟度等级认证标准。用于评价软件承包能力并帮助其改善软件质量的方法。 美国卡内基-梅隆大学的软件工程研究所(SEI:Software Engineering Institute) 在1987年研制成功。 卡内基-梅隆大学的软件工程研究所是美国国防部的软件开发基地之一,CMMI就是受美国国防部委托而研制的。,169,SW-CMM是什么?,SEI给CMMI下的定义: 对于软件组织在定义、实现、度量、控制和改善其软件过程的各个发展阶段的描述。这个模型便于确定软件组织的现有过程能力和查找出软件质量及过程改进方面的最关键的问题,从而为选择过程改进战略提供指南。 如今的行情是:一家软件企业如果不能通过相应等级的CMMI评估,他的产品就少了一张进入国际市场的通行证。,170,CMMI模型简介,CMMI 的 五 级 模 型,成 熟 度,风 险,171,7.6.1 软件过程能力成熟度模型概述,CMMI模型,表7.3:,172,7.6.1 软件过程能力成熟度模型概述,CMMI模型,表7.3(续):,173,7.6.2 ISO9000与CMMI,二者之间的相关性是很明显的:都着眼于质量和过程管理,两者都为了解决同样的问题,直观上是相关的。 不同体现在两方面:其一,CMMI模型明确强调持续的过程改进,而ISO9001只要求质量体系的最小保证;其二,CMMI模型只关注软件,而ISO9001适用于更大的范围。,174,第 8 章,IT软件项目配置管理,175,第8章 IT软件项目配置管理,8.1 软件配置管理概念 8.2 软件配置管理基本活动 8.3 软件配置管理组织 8.4 软件测试 8.5 配置管理工具,176,8.1 软件配置管理概念,8.1.1 软件配置及软件配置项 8.1.2 软件配置管理,177,8.1.1 软件配置及软件配置项,配置管理(Configuration Management,CM)的目的是建立和维护在整个软件生命周期中软件项目产品的完整性和一致性。 CM的主要目标是使修改部分更容易被适应,并减少变化中所花费的工作量。 配置管理在一个IT软件项目中是必须的,特别是对那种规模大且周期较长的项目。软件配置管理是始终贯穿整个软件过程的保护性活动。 软件配置管理的一系列活动被设计成为:标识变化、控制变化和保证变化被适当地实现,以及向其他可能的人员报告变化的一个有力和有效工具。 随着软件过程的进展,软件配置项(Software Configuration Items,SCI)迅速增长。一般,系统的软件规格说明了产生软件项目计划和软件需求说明以及与硬件相关的文档资料,然后在这些文档基础上又产生了其他的一些文档,从而形成了一个信息层次。,178,8.1.2 软件配置管理,软件配置管理(Software Configuration Management,SCM)是软件过程的关键要素,是开发和维护各个阶段管理软件演进过程的一种方法和规程。 软件配置管理使得整个软件
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!