实用软件工程教程 教学课件 ppt 作者 陈雄峰 第3章 软件项目管理

上传人:E**** 文档编号:89492614 上传时间:2019-05-25 格式:PPT 页数:114 大小:595KB
返回 下载 相关 举报
实用软件工程教程 教学课件 ppt 作者 陈雄峰 第3章 软件项目管理_第1页
第1页 / 共114页
实用软件工程教程 教学课件 ppt 作者 陈雄峰 第3章 软件项目管理_第2页
第2页 / 共114页
实用软件工程教程 教学课件 ppt 作者 陈雄峰 第3章 软件项目管理_第3页
第3页 / 共114页
实用软件工程教程 教学课件 ppt 作者 陈雄峰 第3章 软件项目管理_第4页
第4页 / 共114页
实用软件工程教程 教学课件 ppt 作者 陈雄峰 第3章 软件项目管理_第5页
第5页 / 共114页
点击查看更多>>
资源描述

《实用软件工程教程 教学课件 ppt 作者 陈雄峰 第3章 软件项目管理》由会员分享,可在线阅读,更多相关《实用软件工程教程 教学课件 ppt 作者 陈雄峰 第3章 软件项目管理(114页珍藏版)》请在金锄头文库上搜索。

1、第3章 软件项目管理,教学要点:本章首先简要介绍项目开始之前的项目选择,以及项目结束时的项目总结,重点是项目实施过程中的管理,围绕制定计划、建立组织、配备人员、协调和控制五大项目管理职能介绍相应的实的管理方法,最后介绍贯穿全过程的软件配置管理。强调项目管理是贯穿整个开发过程的保护伞活动。 重点掌握:软件项目的启动与计划、人员组织与技能、实施与控制以及软件配置管理中的变更控制。,3.1 软件项目管理概述,项目的定义 项目是在一定的资源约束下完成的既定目标的一次性任务。,项目的选择,确定一个项目绝对不是一个突然的决定。使用单位首先应该在平时自下而上收集建议,制定信息化建设规划时自上而下征求意见,由

2、信息化建设负责人和最高决策者根据使用单位的发展战略、工作目标制定信息化建设的发展规划,然后在规划的范围内根据资金情况和工作需要选择确定要开发的项目。项目确定后,根据自身的技术力量决定自己开发或委托开发或购买现有的产品。,项目管理的定义 项目管理是通过项目经理和项目组织机构运用系统理论和方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法体系。 项目管理中的三要素 :目标、成本、进度 目标、成本、进度三者在项目管理过程中是互相制约的关系。,项目总结,在每个项目完成并交付使用的时候都要做一个总结,以便后续项目能扬长避短。软件项目总结作为项目管理中结束项目的最后阶段,工作内

3、容包括: 结束项目:评价、劝告或表彰团队成员,移交项目所有文档和财务记录等。 总结项目:对交付的产品、开发方法、过程和管理等方面的得失进行总结,特别是要让每个人都明白成功和失败的原因。写成书面总结报告,作为开发组织内后续项目的借鉴。 终止合同:让用户书面确认已完成合同要求,如果还有遗留问题,则应同时明确双方后续的责任和工作。,软件项目管理的职责 制定计划:规定要完成的任务、要求、资源、人力、进度等; 建立组织:实施计划、保证任务的完成,需要建立分工明确的责任制机构; 配备人员:任用各种层次的技术人员和管理人员; 协调(追踪、指导):时刻协调和跟踪项目的进展情况,鼓励和动员各种人员完成所分配的任

4、务; 控制(检验):对照计划和标准,监督和检验实施的情况。,1. 软件项目启动 在软件项目启动前应对项目进行可行性分析,以明确项目的目标和范围,从而确定合理精确的成本分析、实际可行的任务分解和可管理的进度安排;考虑交付期限、预算、个人能力和技术界面等限制条件,在多个项目方案中选择一个相对完善的方案;组成项目组。然后召开项目启动会议,以示正式启动项目,会议内容包括项目组内的初步交流,对项目目标深刻理解,对组织形式、管理方式和方针取得一致认识,明确岗位职责等。,3.2 软件项目启动与计划,项目计划是用来指导组织、实施、协调和控制软件建设 的重要文件。 项目计划用途: 项目计划可作为客户与建设团队间

5、解决冲突的依据。 项目计划可使项目成员有明确的分工及工作目标。 项目计划有助于项目成员之间的交流沟通。 项目计划可作为对项目过程控制和工作考核的基准。 项目计划分类: 进度计划 质量保证计划 费用计划 风险管理计划 人力计划 大项目分别制订以上计划,小项目可把以上内容合并为一个计划。,2.制定计划,项目计划编制原则:,全过程计划(总体计划):应保持大体上稳定,并尽可能留有 一定余量和弹性, 阶段性计划或子系统计划:按近期精细、远期概略方法展开。,制定计划的基础是工作量估算和完成期限估算。 为了估算项目的工作量和完成期限,必须首先估算软件的规模。 估算软件规模后才能进行工作量估算,而后安排进度计

6、划和资源分配。,(1)估算软件规模 1) 代码行(LOC)技术 用代码行(LOC)数表示软件开发规模十分自然、直观。用代码行数不仅能度量软件的规模,而且可以度量软件开发的生产率、每行代码的平均成本、千行代码出错率等。,2) 功能点(FP)技术 功能点度量是涉及多种因素的间接度量方式。该方法用6个信息量的“加权和”CT和14个复杂性调节值Fi(i=114)。在系统分析初期就能估算出软件开发的规模。,(2)工作量估算 软件的经验估算模型是根据以前完成项目的实际情况导出的,这些模型的结果仅有一定的参考价值。下面将介绍两个常用的估算模型:CoCoMo模型和Putnam模型。 1) CoCoMo模型 C

7、oCoMo模型是“构造性成本模型”(Constructive cost model,简称CoCoMo模型)的英文缩写,分为基本、中间、详细三个层次,分别用于软件开发的不同阶段。 基本CoCoMo模型:用于系统开发初期,估算整个系统的工作量 包括软件维护和软件开发所需要的时间; 中间CoCoMo模型:用于估算各个子系统的工作量和开发时间; 详细CoCoMo模型:用于估算独立的软部件,如子系统内部的各 个模块。,基本CoCoMo模型是静态、单变量模型,具有下列形式 E aLb D cEd C E 其中:L是项目的代码行估计值,单位是千行代码( KLOC ) 。 E 表示工作量,单位是人月(PM)。

8、 D 表示开发时间,单位为月。 C 表示开发成本,单位是万元。 表示每人月的人力成本,单位是万元人月。 a,b,c,d是常数。 不同软件类型a,b,c,d 取值如下表所示:,2) Putnam模型,Putnam模型是为大型软件项目(一般30人年以上)进行估算的模型。它是动态多变量的模型,适用于软件开发各个阶段。估算模型以项目实测数据为基础,描述开发工作量、开发时间和软件代码行数之间的关系。相应的方程为: L Ck E1/3 td4/3 (3-5) 由上面方程可得到如下公式: E L3( Ck3 td4 ) 3-6) C E (3-7) 其中,L表示源程序代码行数;E表示工作量,包括维护,单位是

9、人年(PY);td表示开发时间,单位是年(Y);Ck 表示技术状态常数,它反映“妨碍程序员进展的限制”,技术状态常数Ck的取值如表3-4;C表示项目开发总成本,单位是万元;表示每人年的人力成本,单位是万元人月。,3) 自动估算工具 以上介绍的经验估算模型已有相应的软件作为为自动估算工具。项目管理可使用这些工具自动估算项目的成本和工作量,还可对人员配置和交付日期等进行估计。,(3)进度计划 1)估算开发时间(工期) 项目建设工期估计和预算分摊估计可按下列步骤进行: 将待开发系统按阶段分割为若干基本活动如系统规划、系统分析、系统设计、系统实施、系统测试、系统切换等,基本活动可再次分割为若干子活动,

10、如:系统规划可分割为调研收集、数据可行性研究、系统规划报告三项子活动。 分别估算各子活动的工期及费用预算(构造项目建设工期估计和预算分摊估计表)。 构造项目开发活动网络图通过该网络图计算得到项目的最早完成时间,即工期 。,2)进度安排,软件开发项目的进度安排有两种方式: A.系统最终交付日期已经确定,软件开发部门必须在规定期限内完成; B.系统最终交付日期只确定了大致的年限,最後交付日期由软件开发部门确定。,划分任务 把软件项目划分为若干可管理的活动,用软件过程模型定义,为此,需对过程和产品进行分解。,进度安排的基本工作内容,确定相互依赖性 确定各个活动和任务之间的相互依赖性。某些任务顺序执行

11、、有些任务并行执行。 分配时间 为每个任务分配工作量,确定开始时间和结束时间。需考虑各任务间的相互关联和人员参与情况。 确认工作量 确保项目划分中各任务的参加人员的数量和工作量,进行合理分配。 定义责任 指定各个任务的责任者。,定义可交付物 每个任务的输出是一 个工作产品或工作产品的一部分,确定把哪些工作产品组合为可交付物。 定义里程碑 为每个任务或每组任务指定一个项目里程碑。可交付物经过评审并确认后才能成为里程碑。 在软件工程项目中必须处理好进度与质量之间的关系。在进度压力下赶任务,其成果往往是以牺牲产品质量为代价。,进度安排落空,会导致市场机会的丧失,使用户不满意,而且也会导致成本的增加。

12、 因此,在考虑进度安排时,要把工作量与花费时间联系起来,合理分配工作量, 利用进度安排的有效分析方法严密监控软件开发的进展情况,使软件开发进度不致拖延。,软件开发小组人数与软件生产率的关系,当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的接口问题,即所谓通信问题。通信需花费时间和代价,会引起软件错误增加,降低软件生产率。,若两个人间需要通信,则称在这两个人间存在一条通信路径。如果一个软件开发小组有 n 个人,每两人之间都需要通信,则总的通信路径有 n(n-1)/2 (条)。,四人之间 所有通信路径,六人之间 所有通信路径,设一个人单独开发软件,生产率是

13、5000行人年。若 4 个人组成一个小组共同开发这个软件,则需要 6条通信路径。若在每条通信路径上耗费的工作量是 250 行人年。则小组中每个人的软件生产率降低为 500062504 5000375 4625 行人年。,从上述分析可知,一个软件任务由一 个人单独开发,生产率最高;而对于 一个稍大型的软件项目,一个人单独开发,时间太长。因此软件开发小组是必要的。 但是,开发小组不宜太大,成员之间避免太多的通信路径。 在开发进程中,切忌中途加人,避免太多的生产率损失。,任务的确定与并行性,当参加同一软件工程项目的人数不止一人的时候,开发工作就会出现并行情形。 软件开发进程中设置许多里程碑。里程碑为

14、管理人员提供了指示项目进度的可靠依据。 软件工程项目的并行性提出了一系列的进度要求。,因为并行任务是同时发生的,所以进度计划表必须决定任务之间的从属关系,确定各个任务的先后次序和衔接,确定各个任务完成的持续时间。 项目负责人应注意构成关键路径的任务,即若要保证整个项目能按进度要求完成,就必须保证这些任务要按进度要求完成。,制定开发进度计划原则,402040规则 在整个软件开发过程中,编码工作量仅占 20,编码前工作量占40,编码后工作量占 40。 402040 规则只用来作为 一个指南。实际的工作量分配比例必须按照各项目的特点来决定。,在软件工程项目中必须处理好进度与质量之间的关系。,开发进度

15、与工作量直接的关系,如果想要缩短开发时间或保证开发进度,必须考虑影响工作量的因素,但绝对不能以牺牲质量为代价。,在估算总工期和进度安排时,项目经理都必须将项目活动及各活动分解后的工作任务分别进行工期计划,常用的工具有项目进度甘特图(Gantt)和工作包进度表等。 A.甘特图(Gantt Chart) 是帮助项目经理对项目进度进行总体规划的最常用工具。 在甘特图中,每一任务完成的标准,不是以能否继续下一阶段任务为标准,而是以必须交付应交付的文档与通过评审为标准。因此在甘特图中,文档编制与评审是软件开发进度的里程碑。,3)进度控制的图形工具,甘特图中可表示内容,各个任务的计划开始时间,完成时间;

16、各个任务完成标志(即文档编写和评审); 各个任务与参与工作的人数,各个任务与工作量之间的衔接情况; 完成各个任务所需的物理资源和数据资源。,项目进度甘特图是帮助项目经理对项目进度进行总体规划的工具。如项目总开发时间为50周。该项目可划分为六个大的活动,与其对应的甘特图如下:,工作包进度表 项目进度表用于描述项目工作包的工期安排,为了确定这些工作包能在要求的时间内完成。我们必须计算出每个项目进度计划(时间表),这个时间表主要解决以下两个内容:最早开始时间和最早结束时间、最迟开始时间和最迟结束时间。,B.PERT技术和CPM方法,PERT技术叫做计划评审技术,CPM方法叫做关键路径法,它们都是安排开发进度,制定软件开发计划的最常用的方法。 它们都采用网络图来描述一个项目的任务网络,也就是从一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号