《软件项目开发计划讲义》由会员分享,可在线阅读,更多相关《软件项目开发计划讲义(127页珍藏版)》请在金锄头文库上搜索。
1、第第 6 章章 软件项目开发计划软件项目开发计划 2THE SCHOOL OF SOFTWARE ENGINEERING OF HUST本章教学目标本章教学目标:1.编写项目计划书编写项目计划书2.project2007 编制项目计划编制项目计划验收方式验收方式练习方式练习方式: 1.个人行为个人行为考核方式考核方式: 2.小组行为小组行为3THE SCHOOL OF SOFTWARE ENGINEERING OF HUST前言前言: 制定与定义制定与定义WBS属于范围规划的任务,确定项属于范围规划的任务,确定项目范围,是项目执行的重要依据目范围,是项目执行的重要依据,是是范围定义过范围定义过
2、程的输出程的输出.4THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.1 软件项目分解软件项目分解项项目目分分解解目目的的 明明确确项项目目所所包包含含的的各各项项工工作作;项项目目分分解解的的结结果果就就是是WBS (任务分解结构)图(任务分解结构)图项项目目分分解解意意义义 WBS(任任务务分分解解结结构构)图图是是实实施施项项目目、创创造造最最终终产产品品或或服服务务所所必必须须进进行行的的全全部部活活动动的的一一张张清清单单,也也是是进进度度计计划划、人人员员分分配配、预预算算计划的基础计划的基础项项目目分分解解内内容容 项项目目分分解解就就是是先
3、先把把复复杂杂的的项项目目逐逐步步分分解解成成一一层层一一层层的的要要素(工作),直到具体明确为止素(工作),直到具体明确为止项项目目分分解解工工具具 项项目目分分解解的的工工具具是是工工作作分分解解结结构构原原理理,它它是是一一个个分级的树型结构,是一个对项目工作由粗到细的分解过程分级的树型结构,是一个对项目工作由粗到细的分解过程5THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS Work Breakdown Structure主要是将一个项目分解成易于管主要是将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目
4、工作范围所需的所有工理的几个部分或几个细目,以便确保找出完成项目工作范围所需的所有工作要素它是一种在项目全范围内分解和定义各层次工作包的方法作要素它是一种在项目全范围内分解和定义各层次工作包的方法WBS Work Breakdown Structure结构层次越往下层则项目组成部结构层次越往下层则项目组成部分的定义越详细,分的定义越详细,WBS最后构成一份层次清晰,可以具体作为组织项目实最后构成一份层次清晰,可以具体作为组织项目实施的工作依据施的工作依据WBS Work Breakdown Structure通常是通常是一种面向一种面向“成果成果”的的“树树”,其,其最底层是细化后的最底层是细
5、化后的“可交付成果可交付成果”,该树组织确定了项目的整个范围。但,该树组织确定了项目的整个范围。但WBS的形式并不限于的形式并不限于“树树”状,还有多种形式。状,还有多种形式。6THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS分解类型分解类型基于可交付成果的划分基于可交付成果的划分上层一般为可交付成果为导向上层一般为可交付成果为导向下层一般为可交付成果的工作内容下层一般为可交付成果的工作内容基于工作过程的划分基于工作过程的划分上层按照工作的流程分解上层按照工作的流程分解下层按照工作的内容划分下层按照工作的内容划分7THE SCH
6、OOL OF SOFTWARE ENGINEERING OF HUST WBS制作的方法制作的方法使用指导方针使用指导方针: 根据颁布的编制根据颁布的编制WBS的指导方针的指导方针/样本样本/模板,制定模板,制定WBS。类比法类比法 : 借助类似产品的借助类似产品的WBS,用它作为起点,制定,用它作为起点,制定新项目的新项目的WBS。由上至下法由上至下法: 从项目最大的单位开始,逐步将它们分从项目最大的单位开始,逐步将它们分解成下一级的多个子项。解成下一级的多个子项。由下至上法由下至上法: 让项目组人员一开始就尽可能地确定项让项目组人员一开始就尽可能地确定项目有关的各项具体任务,然后再将各项具
7、体任务进行目有关的各项具体任务,然后再将各项具体任务进行整合,并归总到整合,并归总到WBS的上一级内容当中。的上一级内容当中。8THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解基于可交付成果的划分基于可交付成果的划分WBS举例举例:信息网络工程信息网络工程信息网络工程信息网络工程结构化布线结构化布线网络平台建设网络平台建设布线设计布线设计采购采购布线布线验收验收方案设计方案设计采购采购网络平台实施网络平台实施验收验收0 0 0 0级级级级1 1 1 1级级级级2 2 2 2级级级级9THE SCHOOL OF SOFTWARE ENG
8、INEERING OF HUST软件项目分解软件项目分解基于工作过程的划分基于工作过程的划分WBS举例举例:网络系统工程网络系统工程网络系统网络系统培训培训设备准备设备准备设设备备采采购购设设备备验验收收交交接接网络系统设计网络系统设计布布线线设设计计平平台台设设计计工程实施工程实施布布线线实实施施网网络络集集成成软件开发软件开发软软件件需需求求确确定定系系统统设设计计编编码码测测试试0 0级级级级1 1级级级级2 2级级级级10THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS表达形式表达形式层次结构图和锯齿列表(清单)层次结构
9、图和锯齿列表(清单)图形显示图形显示 锯齿列表锯齿列表 10系统系统11元素元素A1.1.1任务任务1.1.2任务任务12元素元素B1.0系统系统11元元素素A12元素元素B1.1.1任任务务1.1.2任任务务11THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS工作编码工作编码 由高层向下层用多位码编排,要求每项工作有唯一的编码。由高层向下层用多位码编排,要求每项工作有唯一的编码。1000110011101111111211131120112111221123120012THE SCHOOL OF SOFTWARE ENGINE
10、ERING OF HUST软件项目分解软件项目分解WBS工作编码举例工作编码举例:企业经营评价系统项目企业经营评价系统项目网络网络1430软件软件1410硬件硬件1420系统开系统开发发1400测试测试1500实施实施1600系统设系统设计计1300问题界问题界定定1100企业经营评价系统项目企业经营评价系统项目1000系统分系统分析析1200文档文档1440包装软包装软件件1411培训培训1610验收验收1630系统转系统转换换1620定制软定制软件件14120 0级级级级1 1级级级级2 2级级级级3 3级级级级13THE SCHOOL OF SOFTWARE ENGINEERING OF
11、 HUST软件项目分解软件项目分解项目工作分解结构表项目工作分解结构表项目名称:项目名称:项目负责人:项目负责人:单位名称:单位名称:制表日期:制表日期:工作分解结构工作分解结构任务编码任务编码任务名称任务名称主要活动描述主要活动描述负责人负责人1000110012001x001x101x111x12项目负责人审核意见:项目负责人审核意见:签名:签名:日期:日期:14THE SCHOOL OF SOFTWARE ENGINEERING OF HUST15THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS分解的一般步骤分解的一般步骤
12、总项目总项目子项目或主体工作任务子项目或主体工作任务主要工作任务主要工作任务次要工作任务次要工作任务小工作任务或工作元素小工作任务或工作元素16THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS分解注意事项分解注意事项WBS分解的规模和数量因项目而异分解的规模和数量因项目而异收集与项目相关的所有信息收集与项目相关的所有信息参看一下类似的项目的参看一下类似的项目的WBS, ,与相关人员讨论与相关人员讨论可以参照相关可以参照相关模板模板最低层是可控的和可管理的,但是避免不必要的过细,最好不要超最低层是可控的和可管理的,但是避免不必要的
13、过细,最好不要超过过7 7层,层,软件项目推荐分解到软件项目推荐分解到40小时的任务小时的任务每个每个Work package必须有一个提交物必须有一个提交物17THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解定义任务完成的标准定义任务完成的标准每个每个WBS必须有利于责任分配必须有利于责任分配可以准备可以准备WBS的字典的字典最后与相关人员进行评审最后与相关人员进行评审18THE SCHOOL OF SOFTWARE ENGINEERING OF HUST案例一案例一:校园图书管理信息系统的校园图书管理信息系统的WBS各小组代表上台
14、各小组代表上台老师点评老师点评软件项目分解软件项目分解19THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解 生活案例讨论生活案例讨论假如您要在自己的家里举行一次生日宴会,请按假如您要在自己的家里举行一次生日宴会,请按WBS为你制定一份工为你制定一份工作的分解计划?作的分解计划? 代表发言代表发言假如贵公司进行成立假如贵公司进行成立10周年庆典活动,如果请你负责此次活动,你将如周年庆典活动,如果请你负责此次活动,你将如何分析此次活动所应包含的工作?何分析此次活动所应包含的工作? 代表发言代表发言20THE SCHOOL OF SOFTW
15、ARE ENGINEERING OF HUST 6.2 软件项目估算概念软件项目估算概念软件项目估算软件项目估算 是指预测构造软件项目所需要的工作量以及是指预测构造软件项目所需要的工作量以及任务经历时间的过程。主要包括三个方面:任务经历时间的过程。主要包括三个方面:规模(即工作量)的估算规模(即工作量)的估算 确定每个软件功能所必须执行的一系列确定每个软件功能所必须执行的一系列软件工程任务软件工程任务 进度的估算进度的估算 估计任务的持续时间,即历时估计估计任务的持续时间,即历时估计 成本的估算成本的估算 确定完成软件项目规模相应付出的代价确定完成软件项目规模相应付出的代价 21THE SCH
16、OOL OF SOFTWARE ENGINEERING OF HUST软件项目估算概念软件项目估算概念估算方法估算方法规模估算方法规模估算方法 代码行(代码行(LOC,Lines of Code)估算法、功能点()估算法、功能点(FP,Function Points)估算法和计划评审技术()估算法和计划评审技术(PERT,Program Evaluation and Review Technique)估算法)估算法进度估算方法进度估算方法 基于规模的进度估算、工程评价技术、关键路径法、专基于规模的进度估算、工程评价技术、关键路径法、专家估算方法、类推估算方法、模拟估算方法、进度表估算方法、基于
17、承家估算方法、类推估算方法、模拟估算方法、进度表估算方法、基于承诺的进度估算方法和诺的进度估算方法和Jones的一阶估算准则等的一阶估算准则等 成本估算方法成本估算方法 自顶向下(类比)估算法、自下而上估算法、参数估算自顶向下(类比)估算法、自下而上估算法、参数估算法、专家估算法、猜测估算法等法、专家估算法、猜测估算法等 22THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.3 软件项目规模估算软件项目规模估算估算的步骤估算的步骤 在技术允许的条件下,应从最详细的工作分解结构开始在技术允许的条件下,应从最详细的工作分解结构开始精确定义度量的标准精确定义度量
18、的标准估计底层每一模块的规模,汇总已得到总体的估算估计底层每一模块的规模,汇总已得到总体的估算适当考虑偶然因素的影响适当考虑偶然因素的影响 23THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件规模估算的假设和思路:软件规模估算的假设和思路: 软件的规模和其外延成正比软件的规模和其外延成正比 外延包括外延包括: 功能功能, 数据数据, 用户操作界面数用户操作界面数, 显示界面数显示界面数等等等等 不同的功能点实现的困难度不同不同的功能点实现的困难度不同, 但从整个项目来说但从整个项目来说, 平均的困难度差不多平均的困难度差不多 规模估算的目标:是决定工作量
19、的大小。对于成本模规模估算的目标:是决定工作量的大小。对于成本模型,规模是计算软件项目的工作量、成本和进度的主型,规模是计算软件项目的工作量、成本和进度的主要输入要输入 规模估算的责任者:程序员、软件工程师、系统分析规模估算的责任者:程序员、软件工程师、系统分析员负责决定软件项目的规模员负责决定软件项目的规模24THE SCHOOL OF SOFTWARE ENGINEERING OF HUST规模估算的入口准则规模估算的入口准则 :在规模估算之前,软件功能需在规模估算之前,软件功能需求必须被定义。在项目早期定义需求可能是非常困难求必须被定义。在项目早期定义需求可能是非常困难任务。然而,在对需
20、求一无所知的情况下,精确的估任务。然而,在对需求一无所知的情况下,精确的估算出项目的成本和进度是不可能的。如果知道部分需算出项目的成本和进度是不可能的。如果知道部分需求,那么估算基于已知的需求并且相信每一个人都相求,那么估算基于已知的需求并且相信每一个人都相信估算仅仅是基于那些已知的需求,如果使用了增量信估算仅仅是基于那些已知的需求,如果使用了增量或演进的开发策略,那么估算基于增加的已定义需求。或演进的开发策略,那么估算基于增加的已定义需求。 25THE SCHOOL OF SOFTWARE ENGINEERING OF HUST规模估算输入规模估算输入 : 软件需求说明书(软件需求说明书(S
21、RS) 历史规模数据历史规模数据 *软件产品规模估算应该主要基于历史数据和经验。软件产品规模估算应该主要基于历史数据和经验。历史规模数据可以从组织软件过程数据库中找到。而历史规模数据可以从组织软件过程数据库中找到。而且,两个或更多的具有类似经验的软件工程师应该开且,两个或更多的具有类似经验的软件工程师应该开展自顶向下展自顶向下/自底向上规模估算,步骤如下:自底向上规模估算,步骤如下:26THE SCHOOL OF SOFTWARE ENGINEERING OF HUST基于定义每个计算机软件模块的需求开发系统的高级架构图基于定义每个计算机软件模块的需求开发系统的高级架构图基于每个计算机软件模块
22、开发功能基于每个计算机软件模块开发功能WBS 根据相似项目经验和历史数据,为每一个软件模块手工估算出最底层(自根据相似项目经验和历史数据,为每一个软件模块手工估算出最底层(自底向上)可能详细的代码行或功能点,规模估算工具可以作为第二个输入底向上)可能详细的代码行或功能点,规模估算工具可以作为第二个输入估算出期望的规模加上标准偏差,即:规模的最低值和最高值来反映名义估算出期望的规模加上标准偏差,即:规模的最低值和最高值来反映名义值的不确定性。在项目的早期阶段,最低和最高估算结果之间的范围可能值的不确定性。在项目的早期阶段,最低和最高估算结果之间的范围可能是是30-50%,例如:概念阶段。如果缺乏
23、经验或有较高的技术风险,范围将,例如:概念阶段。如果缺乏经验或有较高的技术风险,范围将会更大会更大具有类似经验的软件工程师应该评审并优化估算结果直至达成一致意见。具有类似经验的软件工程师应该评审并优化估算结果直至达成一致意见。经验表明,规模估算经常偏低,故最低规模估算结果应该给与特别审查经验表明,规模估算经常偏低,故最低规模估算结果应该给与特别审查27THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目规模估算软件项目规模估算LOC估算法估算法 代码行可以分为无注释的源代码行(代码行可以分为无注释的源代码行(NCLOC, Non-Commented So
24、urce Lines Of Code)和注释的源代码行)和注释的源代码行(CLOC: Commented Source Lines Of Code),源代码的总行),源代码的总行数数LOC即为即为NCLOC与与CLOC之和之和FP估算法估算法 功能点度量是在需求分析阶段基于系统功能的一种规模功能点度量是在需求分析阶段基于系统功能的一种规模估计方法,该方法通过研究初始应用需求来确定各种输入、输出、估计方法,该方法通过研究初始应用需求来确定各种输入、输出、查询、外部文件和内部文件的数目,从而确定功能点数量查询、外部文件和内部文件的数目,从而确定功能点数量28THE SCHOOL OF SOFTWA
25、RE ENGINEERING OF HUST软件项目规模估算软件项目规模估算规模的单位规模的单位LOC ( Lines of Code)源代码程序长度的测量源代码程序长度的测量FP (Function Point)用系统的功能数量来测量用系统的功能数量来测量人月人月人天人天人年人年29THE SCHOOL OF SOFTWARE ENGINEERING OF HUST 功能点功能点FPs估算估算(特别适合(特别适合MIS系统)系统)面向功能的软件度量是对软件和软件开发过程的间接面向功能的软件度量是对软件和软件开发过程的间接度量。面向功能度量的关注点在于程序的度量。面向功能度量的关注点在于程序的
26、“功能性功能性”和和“实用性实用性”,而不是对,而不是对LOC计数。一种典型的生产率度计数。一种典型的生产率度量法叫做功能点度量,该方法利用软件信息域中的一量法叫做功能点度量,该方法利用软件信息域中的一些计数度量和软件复杂性估计的经验关系式而导出功些计数度量和软件复杂性估计的经验关系式而导出功能点能点FPs(Function Points)。)。30THE SCHOOL OF SOFTWARE ENGINEERING OF HUST功能点估算信息域特征的确定:功能点估算信息域特征的确定:面向功能的软件度量是对软件和软件开发过程的间接面向功能的软件度量是对软件和软件开发过程的间接度量。面向功能度
27、量的关注点在于程序的度量。面向功能度量的关注点在于程序的“功能性功能性”和和“实用性实用性”,而不是对,而不是对LOC计数。一种典型的生产率度计数。一种典型的生产率度量法叫做功能点度量,该方法利用软件信息域中的一量法叫做功能点度量,该方法利用软件信息域中的一些计数度量和软件复杂性估计的经验关系式而导出功些计数度量和软件复杂性估计的经验关系式而导出功能点能点FPs(Function Points)。)。功能点通过填写表功能点通过填写表1所示的表格来计算。首先确定五所示的表格来计算。首先确定五个信息域的特征,并在表格中相应位置给出计数。信个信息域的特征,并在表格中相应位置给出计数。信息域的值以如下
28、方式定义:息域的值以如下方式定义: 用户输入数:各个用户输入是面向不同应用的输入数用户输入数:各个用户输入是面向不同应用的输入数据,对它们都要进行计数。输入数据应有别于查询数据,对它们都要进行计数。输入数据应有别于查询数据,它们应分别计数。据,它们应分别计数。31THE SCHOOL OF SOFTWARE ENGINEERING OF HUST用户输出数:各个用户输出是为用户提供的面向应用的输出信用户输出数:各个用户输出是为用户提供的面向应用的输出信息,它们均应计数。这里的输出是指报告,屏幕信息,错误信息,它们均应计数。这里的输出是指报告,屏幕信息,错误信息等,在报告中的各数据项不应再分别计
29、数。息等,在报告中的各数据项不应再分别计数。用户查询数:查询是一种联机输入,它导致软件以联机输出的用户查询数:查询是一种联机输入,它导致软件以联机输出的方式生成某种即时的响应。每一个不同的查询都要计数。方式生成某种即时的响应。每一个不同的查询都要计数。文件数:每一个逻辑主文件都应计数。这里的逻辑主文件,是文件数:每一个逻辑主文件都应计数。这里的逻辑主文件,是指逻辑上的一组数据,它们可以是一个大的数据库的一部分,指逻辑上的一组数据,它们可以是一个大的数据库的一部分,也可以是一个单独的文件也可以是一个单独的文件外部接口数:对所有被用来将信息传送到另一个系统中的机器外部接口数:对所有被用来将信息传送
30、到另一个系统中的机器可读写的接口可读写的接口(即磁带或磁盘上的数据文件即磁带或磁盘上的数据文件)均应计数。均应计数。32THE SCHOOL OF SOFTWARE ENGINEERING OF HUST预测性对象点预测性对象点(Predictive Object Points)估算:估算:预测性对象点是特意为面向对象软件设计的,是通过预测性对象点是特意为面向对象软件设计的,是通过系统计算面向对象的特征进行度量。系统计算面向对象的特征进行度量。 POPs方法的核心是每类加权方法数(方法的核心是每类加权方法数(Weighted Methods per Class WMC)。这种方法测量每个顶)。
31、这种方法测量每个顶层类(或者说,每个在用户的视野中清楚的对象)并层类(或者说,每个在用户的视野中清楚的对象)并且根据类的行为(方法)类型不同进行加权。一旦得且根据类的行为(方法)类型不同进行加权。一旦得到到WMC的值,的值,POPs方法将把它和有关按类分对象组方法将把它和有关按类分对象组的信息和对象类之间的关系进行联合计算。的信息和对象类之间的关系进行联合计算。 (自己去查)(自己去查)33THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.5 软件项目进度估算软件项目进度估算1估算的准备知识估算的准备知识2 软件项目分阶段交付软件项目分阶段交付3 进度安排
32、的整体过程进度安排的整体过程4 进度中的并行性进度中的并行性5 活动清单活动清单6 软件项目的网络图软件项目的网络图7 进度安排的方法进度安排的方法8 9 34THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分阶段交付软件项目分阶段交付35THE SCHOOL OF SOFTWARE ENGINEERING OF HUST进度安排的整体过程进度安排的整体过程 软件项目工作量经验数据软件项目工作量经验数据36THE SCHOOL OF SOFTWARE ENGINEERING OF HUST进度中的并行性进度中的并行性 软件过程中可执行的并行过程软件过
33、程中可执行的并行过程37THE SCHOOL OF SOFTWARE ENGINEERING OF HUST 活动清单活动清单38THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目的网络图软件项目的网络图软件项目的网络图 39THE SCHOOL OF SOFTWARE ENGINEERING OF HUST进度安排的方法进度安排的方法 甘特图40THE SCHOOL OF SOFTWARE ENGINEERING OF HUST2.项目进度管理的过程项目进度管理的过程41THE SCHOOL OF SOFTWARE ENGINEERING OF HU
34、ST6.6 软件项目进度计划软件项目进度计划 进度计划定义进度计划定义 进度是对执行的活动和里程碑制定的工作计划日期表。它决定是进度是对执行的活动和里程碑制定的工作计划日期表。它决定是否达到预期目的,它是跟踪和沟通项目进展状态的依据,也是跟踪变更否达到预期目的,它是跟踪和沟通项目进展状态的依据,也是跟踪变更对项目影响的依据。对项目影响的依据。软件活动定义是一个过程,它涉及确认和描述一些特定的活动软件活动定义是一个过程,它涉及确认和描述一些特定的活动 为了进一步制定切实可行的进度计划,必须对活动(任务)进行适当的为了进一步制定切实可行的进度计划,必须对活动(任务)进行适当的顺序安排顺序安排 按时
35、完成项目是项目经理最大的挑战之一;时间是项目规划中灵活性最按时完成项目是项目经理最大的挑战之一;时间是项目规划中灵活性最小的因素小的因素进度问题是项目冲突的主要原因,尤其在项目的后期进度问题是项目冲突的主要原因,尤其在项目的后期42THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划项目进度(时间)管理过程项目进度(时间)管理过程活动定义活动定义(Activity definition)活动排序活动排序(Activity sequencing)活动历时估计活动历时估计(Activity duration estimating)制定
36、进度计划制定进度计划(Schedule development)进度控制进度控制(Schedule control)- -项目跟踪项目跟踪43THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划活动定义活动定义(Activity definition)确定为完成项目的各个交付成果所必须进行的诸项具体活动确定为完成项目的各个交付成果所必须进行的诸项具体活动完成完成WBS中的细目和子细目中的细目和子细目活动排序活动排序(Activity sequencing)对活动进行适当的顺序安排对活动进行适当的顺序安排. .项目各项活动之间存在相
37、互联系与相互依赖关系项目各项活动之间存在相互联系与相互依赖关系根据这些关系安排各项活动的先后顺序根据这些关系安排各项活动的先后顺序44THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划任务任务( (活动活动) )之间的关系之间的关系进度管理图示进度管理图示网络图、甘特图、里程碑图、资源图网络图、甘特图、里程碑图、资源图开始开始-结束结束ABAB结束结束-开始开始结束结束-结束结束ABAB开始开始-开始开始45THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划网络图
38、网络图 展示项目中的各个活动以及活动之间的逻辑关系;展示项目中的各个活动以及活动之间的逻辑关系; 网络图是活网络图是活动排序的一个输出;网络图可以表达活动的历时动排序的一个输出;网络图可以表达活动的历时常用网络图常用网络图 PDM: :节点法节点法 ( (单代号单代号) )网络图、网络图、ADM: :箭线法箭线法 ( (双代号双代号) )网络图、网络图、CDM: :条件箭线图法条件箭线图法在网络图中一个活动用一个方框、节点或者其他方式表示在网络图中一个活动用一个方框、节点或者其他方式表示每一个活动被各种关系线相连接着每一个活动被各种关系线相连接着将项目中的各个活动的逻辑关系表示出来将项目中的各
39、个活动的逻辑关系表示出来网络图开始于一个任务、工作、活动、里程碑网络图开始于一个任务、工作、活动、里程碑网络图结束于一个网络图结束于一个 任务、工作、活动、里程碑任务、工作、活动、里程碑有些活动前置任务或者后置任务有些活动前置任务或者后置任务46THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划PDM(Precedence diagram )构成构成PDM网络图的基本特点是节点网络图的基本特点是节点(Box)节点节点(Box)表示活动表示活动( (工序工序, ,工作工作) )用箭线表示各活动用箭线表示各活动( (工序工序, ,工
40、作工作) )之间的逻辑关系之间的逻辑关系. .可以方便的表示活动之间的各种逻辑关系可以方便的表示活动之间的各种逻辑关系没有时标没有时标在软件项目中在软件项目中PDM比比ADM更通用更通用47THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划PDM网络图的关系网络图的关系开始开始活动活动1 1活动活动3 3活动活动2 2结束结束48THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划软件项目的软件项目的PDM图例图例开开始始需求需求获取获取项目项目规划规划需求需求确认
41、确认项目项目计划计划评审评审总体总体设计设计详细详细设计设计系统系统测试测试集成集成测试测试编码编码结结束束49THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划ADM( Arrow diagram )ADM也称为也称为AOA (activity-on-arrow)或者双代号项目网络或者双代号项目网络图图在在ADM网络图中网络图中, ,箭线表示活动箭线表示活动( (工序工序 工作工作) )节点节点Node(圆圈(圆圈: :circle)表示前一道工序的结束)表示前一道工序的结束, ,同时也表示同时也表示后一道工序的开始后一道工序
42、的开始只适合表示结束只适合表示结束- -开始的逻辑关系开始的逻辑关系可以有时标可以有时标50THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划ADM图例图例总体设计总体设计需求确认需求确认需求获需求获取取系统系统测试测试集成集成测试测试编码编码详细设详细设计计计划评审计划评审项目规划项目规划1 12 23 36 69 98 87 75 54 451THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划CDM(condition diagram )CDM网络图也称为条件
43、箭头图法网络图网络图也称为条件箭头图法网络图CDM允许活动序列相互循环与反馈允许活动序列相互循环与反馈从而在绘制网络图的过程中会形成许多条件分支从而在绘制网络图的过程中会形成许多条件分支而在而在PDM、ADM中是绝对不允许的中是绝对不允许的52THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划甘特图甘特图显示基本的任务信息显示基本的任务信息可以查看任务的工期、开始时间和结束时间以及资源的信息可以查看任务的工期、开始时间和结束时间以及资源的信息只有时标,没有活动的逻辑关系只有时标,没有活动的逻辑关系有两种表示方法(棒状、三角形)有
44、两种表示方法(棒状、三角形)53THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划甘特图甘特图- -实例实例54THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划里程碑图里程碑图里程碑显示项目进展中的重大工作完成里程碑显示项目进展中的重大工作完成里程碑不同于活动里程碑不同于活动活动是需要消耗资源的活动是需要消耗资源的里程碑仅仅表示事件的标记里程碑仅仅表示事件的标记SpecificationDesign08/9811/98Testing02/995/99Availa
45、bleCoding9/0011/00Announce里程碑图示里程碑图示55THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划资源图资源图56THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划编制项目进度计划编制项目进度计划确定项目的所有活动及其开始和结束时间确定项目的所有活动及其开始和结束时间监控项目实施的基础,它是项目管理的基准监控项目实施的基础,它是项目管理的基准计划是三维的,考虑时间,费用和资源计划是三维的,考虑时间,费用和资源编制项目进度计划步骤编制项目
46、进度计划步骤进度编制进度编制资源调整资源调整成本预算成本预算计划优化调整计划优化调整形成基线计划形成基线计划57THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划进度编制的基本方法进度编制的基本方法关键路径法关键路径法正推法正推法逆推法逆推法时间压缩法时间压缩法赶工(赶工(Crash)快速跟进(快速跟进(Fast tracking: :搭接)搭接) 资源调整尝试法资源调整尝试法 58THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划关键路径法关键路径法关键路径法关
47、键路径法(CPM: Critical Path Method)CPM是根据指定的网络顺序逻辑关系和单一的历时估算,计算每一是根据指定的网络顺序逻辑关系和单一的历时估算,计算每一个活动的单一的、确定的最早和最迟开始和完成日期个活动的单一的、确定的最早和最迟开始和完成日期计算网络图中完成时间最长的路径计算网络图中完成时间最长的路径计算浮动时间计算浮动时间59THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划进度编制的基本术语(进度时间参数)进度编制的基本术语(进度时间参数)最早开始时间最早开始时间( (Early start) )最
48、晚开始时间最晚开始时间( (Late start) )最早完成时间最早完成时间( (Early finish) )最晚完成时间最晚完成时间( (Late finish) )自由浮动(自由浮动(Free Float)总浮动(总浮动( Total Float)超前超前( (Lead) )滞后滞后( (Lag) )60THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划浮动时间浮动时间( (Float)浮动时间是一个活动的机动性浮动时间是一个活动的机动性, ,它是一个活动在不影响其它活动或者项它是一个活动在不影响其它活动或者项目完成的情
49、况下可以延迟的时间量目完成的情况下可以延迟的时间量Float00:时间安排比较合理:时间安排比较合理Float=0=0:比较紧张:比较紧张Float0C-G-HCp Path:18Finish70THE SCHOOL OF SOFTWARE ENGINEERING OF HUST根据所示的网络图,回答下列问题:根据所示的网络图,回答下列问题:(1)指出关键路径,并确定项目的工期;)指出关键路径,并确定项目的工期;(2)计算活动)计算活动I的最早开工时间和最早完工时间;的最早开工时间和最早完工时间;(3)计算活动)计算活动B的最迟开工时间和最迟完工时间;的最迟开工时间和最迟完工时间;(4)计算活
50、动)计算活动D的自由时差。的自由时差。(设活动(设活动A、B、C的最早开工时间的最早开工时间ES=0,活动活动L的最迟完工时间的最迟完工时间LF=27)71THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划检查网络图检查网络图确保网络图完整确保网络图完整是否正确标示了是否正确标示了critical path? ?是否有哪个任务存在很大的是否有哪个任务存在很大的float,需要重新规划,需要重新规划是否有不合理的空闲时间是否有不合理的空闲时间熟悉并分析网络图熟悉并分析网络图critical path上有什么风险?上有什么风险?Fl
51、oat有多大?有多大?那些任务有那种类型的那些任务有那种类型的Float。应该确保你的目标被满足应该确保你的目标被满足是否需要增加里程碑是否需要增加里程碑那些任务有提交物那些任务有提交物工作可以在期望的时间内完成吗?工作可以在期望的时间内完成吗?提交物可以在规定的时间内完成吗?提交物可以在规定的时间内完成吗?72THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划时间压缩法时间压缩法时间压缩法时间压缩法 时间压缩法是在不改变项目范围时间压缩法是在不改变项目范围的前提下缩短项目工期的方法的前提下缩短项目工期的方法应急法应急法-赶工(
52、赶工(CrashCrash)赶工也称为时间赶工也称为时间- -成本平衡方法成本平衡方法是在不改变活动的前提下,通过是在不改变活动的前提下,通过压缩某一个或者多个活动的时间压缩某一个或者多个活动的时间来达到缩短整个项目工期的目的来达到缩短整个项目工期的目的是在最小相关成本增加的条件下,是在最小相关成本增加的条件下,压缩关键路经上的关键活动历时压缩关键路经上的关键活动历时的方法的方法压缩角度,越小越压缩角度,越小越好好追追加加成成本本73THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划进度压缩单位成本计算方法进度压缩单位成本计算方
53、法进度压缩单位成本进度压缩单位成本= =(压缩成本(压缩成本- -正常成本)正常成本)/(/(正常进度正常进度- -压缩进度压缩进度) )例如:例如: 任务任务A:A:正常进度正常进度7 7周周, ,成本成本5 5万;压缩到万;压缩到5 5周的成本是周的成本是6.26.2万万 进度压缩单位成本进度压缩单位成本=(6.2-5)/(7-5)=6000=(6.2-5)/(7-5)=6000元元/ /周周 如果压缩到如果压缩到6 6周的成本是:周的成本是:5.65.6万万74THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划平行作业法平
54、行作业法-快速跟进(快速跟进(Fast tracking: :搭接)搭接) 改变活动间的逻辑关系,并行开展活动项目管理项目管理:100需求需求:10设计设计:5任任务务设计设计:5时间时间75THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划任务超前任务超前(Lead)(Lead) 举例:举例:A完成之前完成之前3 3天天B开始开始作用:作用:1)解决任务的搭接)解决任务的搭接2)对任务可以进行合理的拆分)对任务可以进行合理的拆分3)缩短项目工期)缩短项目工期活动活动A A活动活动B B结束结束-开始开始Lead=3Lead=3
55、76THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划资源调整尝试法资源调整尝试法 资源调整尝试法资源调整尝试法资源优化配置资源优化配置通过调整进度计划,形成平稳连续的资源需求通过调整进度计划,形成平稳连续的资源需求最有效的利用资源最有效的利用资源使资源闲置的时间最小化使资源闲置的时间最小化尽量避免超出资源能力尽量避免超出资源能力方法方法资源平衡,维持工期不变,使资源强度尽可能平衡资源平衡,维持工期不变,使资源强度尽可能平衡在满足资源约束条件下,使工期最短在满足资源约束条件下,使工期最短将资源从非关键活动转到关键活动将资源从非关
56、键活动转到关键活动逆向资源分配法逆向资源分配法77THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划资源平衡法资源平衡法78THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划项目成本预算项目成本预算 分配项目成本,进行成本预算分配项目成本,进行成本预算 项目的预算成本组成:项目的预算成本组成:资源成本资源成本分配给项目中资源的成本分配给项目中资源的成本固定成本固定成本是一种不因任务工期或资源完成工时的变化而变化的成本是一种不因任务工期或资源完成工时的变化而变化的成
57、本成本预算的作用成本预算的作用确保各项工作获得所需的资源确保各项工作获得所需的资源是实际成本的一种控制机制是实际成本的一种控制机制为项目管理者控制项目提供一把尺子为项目管理者控制项目提供一把尺子79THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划分配项目成本包括三种情况分配项目成本包括三种情况分配资源成本分配资源成本分配固定资源成本分配固定资源成本 例如:需要的硬件设备例如:需要的硬件设备分配固定成本分配固定成本 例如:培训任务例如:培训任务80THE SCHOOL OF SOFTWARE ENGINEERING OF HUS
58、T软件项目进度计划软件项目进度计划调整计划调整计划调整资源调整资源, ,解决资源冲突解决资源冲突调整进度调整进度, ,优化项目优化项目, ,缩短工期缩短工期调整项目成本预算调整项目成本预算, ,以便减少项目费用以便减少项目费用解决资源冲突的方法解决资源冲突的方法资源调配资源调配推迟资源开始工作时间推迟资源开始工作时间增加资源总量增加资源总量替换资源替换资源设置资源加班时间设置资源加班时间调整资源日历调整资源日历只使用资源的一部分工作时间只使用资源的一部分工作时间81THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划优化进度,缩短
59、工期优化进度,缩短工期分解关键任务分解关键任务给任务增加资源给任务增加资源缩减关键任务的工期缩减关键任务的工期重叠关键任务重叠关键任务设置日历增加工作时间设置日历增加工作时间通过减少工时来缩减任务工期通过减少工时来缩减任务工期通过分配加班工时来缩短关键任务通过分配加班工时来缩短关键任务82THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划调整项目成本预算调整项目成本预算降低资源的费率降低资源的费率减少任务的工时减少任务的工时减少资源的分配单位减少资源的分配单位减少加班减少加班替换资源替换资源减少任务的固定成本减少任务的固定成本删
60、除任务删除任务83THE SCHOOL OF SOFTWARE ENGINEERING OF HUST作作为为一一个个企企业业,没没有有了了利利润润,就就没没有有了了血血液液,而利润的提高,根本的出路在于降低成本;而利润的提高,根本的出路在于降低成本;作作为为一一个个项项目目,没没有有了了效效益益,就就没没有有了了市市场场,而效益的产生,关键在于有效的成本管理。而效益的产生,关键在于有效的成本管理。驾驭驾驭成本就是要掌握、控制和管理成本。成本就是要掌握、控制和管理成本。P.1486.4 6.4 软件项目成本管理软件项目成本管理84THE SCHOOL OF SOFTWARE ENGINEERI
61、NG OF HUST学习完本节后,应当掌握如下知识:n项目成本与成本管理的概念。n影响IT项目成本的因素。n项目成本估算、成本预算与成本控制的方法。n挣值分析方法与成本效益分析方法。n成本管理中应该注意的问题。P.14885THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTIBM董事长郭士纳指出:董事长郭士纳指出:在过去的在过去的10年中年中,IT行行业中成长势头最为强劲的业中成长势头最为强劲的3大公司大公司IBM、戴尔和英特、戴尔和英特尔,都拥有两个共同的特点:尔,都拥有两个共同的特点:n把价格把价格(营业收入)(营业收入)作为一个战略性竞争武器;作为一个战
62、略性竞争武器;n能够很好地管理所有的成本,包括税收、制造能够很好地管理所有的成本,包括税收、制造和配送。和配送。人们已经认识到企业利润的获取,与项目成人们已经认识到企业利润的获取,与项目成本的管理密切相关,不计成本的组织是没有发本的管理密切相关,不计成本的组织是没有发展前途的,不计成本的项目也是没有生命力的。展前途的,不计成本的项目也是没有生命力的。P.14886THE SCHOOL OF SOFTWARE ENGINEERING OF HUST成本管理存在的问题成本管理存在的问题n从小开始的教育就没有注意灌输成本的从小开始的教育就没有注意灌输成本的概念概念。n对对IT项目的原始成本估算不准确
63、。项目的原始成本估算不准确。n项目组成员对成本估算和控制不相关。项目组成员对成本估算和控制不相关。n项目组成员对成本的理解和把握不准确。项目组成员对成本的理解和把握不准确。n认为项目成本增长和失败将不可避免的。认为项目成本增长和失败将不可避免的。 在头脑里所形成的,反映对在头脑里所形成的,反映对象的本质属性的思维形式象的本质属性的思维形式。6.4.1成本管理基础知识成本管理基础知识87THE SCHOOL OF SOFTWARE ENGINEERING OF HUST项目成本与项目成本管理项目成本与项目成本管理P.149项目成本是指为完成项目成本是指为完成项目目标而付出的费项目目标而付出的费用
64、和耗费的资源。用和耗费的资源。1)项目成本的定义)项目成本的定义88THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.149项目的成本特征有如下表现形式:项目的成本特征有如下表现形式:n项目成本项目成本包括项目决策和定义成本、项目获取成本、项目设包括项目决策和定义成本、项目获取成本、项目设计成本、项目实施成本等。项目实施成本是项目总成本的主要计成本、项目实施成本等。项目实施成本是项目总成本的主要组成部分。组成部分。nIT项目成本项目成本包括硬件成本、软件成本、项目集成成本、人力包括硬件成本、软件成本、项目集成成本、人力资源成本、场所成本、外包服务成本等。资
65、源成本、场所成本、外包服务成本等。n软件项目成本软件项目成本包括开发生产成本(分析设计成本、系统实包括开发生产成本(分析设计成本、系统实施成本)和运行维护成本(专业培训成本、系统运行成本、维施成本)和运行维护成本(专业培训成本、系统运行成本、维护改进成本和行政管理成本)等。护改进成本和行政管理成本)等。89THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.150项目成本管理就是在整个项目的实施过程项目成本管理就是在整个项目的实施过程中,为确保项目在批准的预算条件下尽可中,为确保项目在批准的预算条件下尽可能保质按期完成,而对所需的各个过程进能保质按期完成,而
66、对所需的各个过程进行管理与控制。行管理与控制。u项目经理必须确信他们的项目有恰当的项目经理必须确信他们的项目有恰当的定义、精确的时间和成本估算、以及他们定义、精确的时间和成本估算、以及他们参与同意的和切合实际的预算参与同意的和切合实际的预算。 2)成本管理的定义)成本管理的定义90THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.1503)成本管理过程)成本管理过程项目成本管理过程图项目成本管理过程图91THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.150n成本估算成本估算:对完成项目所需成本的估计和计划,是项对完
67、成项目所需成本的估计和计划,是项目计划中的一个重要的、关键的、敏感的部分。目计划中的一个重要的、关键的、敏感的部分。n成本预算:成本预算:把估算的总成本分配到项目的各个工作把估算的总成本分配到项目的各个工作细目,建立成本基准计划以衡量项目绩效。细目,建立成本基准计划以衡量项目绩效。n成本控制:成本控制:保证各项工作在各自的预算范围内进行。保证各项工作在各自的预算范围内进行。92THE SCHOOL OF SOFTWARE ENGINEERING OF HUST影响影响IT项目成本的因素项目成本的因素P.150IT项目复杂性特点,使得影响项目成本的因素非常项目复杂性特点,使得影响项目成本的因素非
68、常多,而且变化大。在这些因素中质量、进度和范围多,而且变化大。在这些因素中质量、进度和范围对项目成本的影响非常突出,而且关联性很强。对项目成本的影响非常突出,而且关联性很强。n质量对成本的影响质量对成本的影响n进度对成本的影响进度对成本的影响n范围对成本的影响范围对成本的影响 质量、进度、范围和成本综合关系图质量、进度、范围和成本综合关系图93THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.151在软件项目,还有一些成本影响因素需要应该在软件项目,还有一些成本影响因素需要应该引起管理者的特别关注引起管理者的特别关注:n系统规模类成本因素系统规模类成本因素
69、n数据库类成本因素数据库类成本因素n系统复杂性类的成本因素系统复杂性类的成本因素n软件开发类的成本因素软件开发类的成本因素n编写文档类的成本因素编写文档类的成本因素n环境与项目属性类的成本因素环境与项目属性类的成本因素94THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.151由于信息技术专业人员没有理解了解基本会计由于信息技术专业人员没有理解了解基本会计和财务原理的重要性,很多和财务原理的重要性,很多IT项目根本就没有项目根本就没有被批准和启动。被批准和启动。IT项目管理专业人员不仅要能够用技术术语、项目管理专业人员不仅要能够用技术术语、而且还要能够用财
70、务术语介绍和讨论项目的信而且还要能够用财务术语介绍和讨论项目的信息,特别是项目成本信息,这一点非常重要。息,特别是项目成本信息,这一点非常重要。因为管理者最关心的是财务指标。因为管理者最关心的是财务指标。95THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.153n有形成本有形成本/有形收益:能够以货币衡量的成本或收益。有形收益:能够以货币衡量的成本或收益。n无形成本无形成本/无形收益:难用货币来衡量的成本或收益。无形收益:难用货币来衡量的成本或收益。n直接成本:能够以一种很经济的方式加以追踪的相关直接成本:能够以一种很经济的方式加以追踪的相关成本。成本。
71、n间接成本:不能以一种很经济的方式加以追踪的相关间接成本:不能以一种很经济的方式加以追踪的相关成本。成本。n沉没成本:永远不可能再产生收益的成本。沉没成本:永远不可能再产生收益的成本。n学习曲线理论:当重复生产许多产品时,产品的单位学习曲线理论:当重复生产许多产品时,产品的单位成本随着数量的增多成规律性递减。成本随着数量的增多成规律性递减。 96THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.4.2 软件项目成本估算软件项目成本估算COCOMO模模型型 在现代软件工程研究结果的基础上,将未来软件市场划分为基础软在现代软件工程研究结果的基础上,将未来软件市
72、场划分为基础软件、系统集成、程序自动化生成、应用集成、最终用户编程五个部分,件、系统集成、程序自动化生成、应用集成、最终用户编程五个部分,COCOMO II通过三个生命周期模型通过三个生命周期模型 (估算早期原型工作量的应用组合(估算早期原型工作量的应用组合模型,早期设计模型,后体系结构模型模型,早期设计模型,后体系结构模型 )支持上述的五种软件项目。)支持上述的五种软件项目。 97THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算Putnam模型模型 Putnam模型是模型是Putnam于于1978在来自美国计算机系统指挥部的
73、在来自美国计算机系统指挥部的200多个大型项目(项目的工作量在多个大型项目(项目的工作量在301000人年之间)数据的基础上人年之间)数据的基础上推导出来的一种动态多变量模型。推导出来的一种动态多变量模型。Putnam模型假设软件项目的工作量模型假设软件项目的工作量分布类似于分布类似于Rayleigh曲线。曲线。 Putnam模型包含两个方程:软件方程和人力增加方程模型包含两个方程:软件方程和人力增加方程。 98THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算实用软件估算模型实用软件估算模型是一种自下而上和参数法的结合模型,步
74、是一种自下而上和参数法的结合模型,步骤如下:骤如下:对任务进行分解对任务进行分解估算每个任务估算每个任务i i的最大值的最大值MaxMax、最小值、最小值MinMin、最可能值、最可能值AvgAvg,Ei=(Max +4 Avg + Min)/6Ei=(Max +4 Avg + Min)/6(或者使用唯一的估计值:最可能值)(或者使用唯一的估计值:最可能值)直接成本直接成本=E1+E2+ Ei+ En=E1+E2+ Ei+ En项目总估算成本项目总估算成本= = 直接成本直接成本+ +间接成本间接成本项目总报价项目总报价= =项目总估算成本项目总估算成本+ +风险利润风险利润 风险利润风险利润
75、= =利润利润+ +风险基金风险基金+ +税税99THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算直接成本直接成本直接成本直接成本= =开发成本开发成本+ +管理成本管理成本+ +质量成本质量成本直接成本直接成本= =规模规模* *人力成本参数人力成本参数例如:人力成本参数例如:人力成本参数=2=2万万/ /人月,人月,3030人月的项目的直接成本是人月的项目的直接成本是 60 60万万间接成本间接成本间接成本间接成本= =直接成本直接成本* *间接成本系数间接成本系数间接成本间接成本= = 规模规模* *人力成本参数人力成本
76、参数* *间接成本系数间接成本系数例如:间接成本系数例如:间接成本系数=1.5-3=1.5-3100THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算成本估算步骤成本估算步骤 建立目标建立目标规划需要的数据和资源规划需要的数据和资源 确定软件需求确定软件需求拟定可行的细节拟定可行的细节 运用多种独立的技术和原始资料运用多种独立的技术和原始资料 比较并迭代各个估算值比较并迭代各个估算值 随访跟踪随访跟踪 101THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算成本模
77、型的评价准则成本模型的评价准则定义定义正确性正确性客观性客观性构造性构造性细节细节稳定性稳定性范围范围易用性易用性可预期性可预期性节约性节约性 102THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.154成本估算是对完成成本估算是对完成IT项目所需费用的估计和计划,是项目所需费用的估计和计划,是IT项目计划中的一个重要的、关键的、敏感的部分。项目计划中的一个重要的、关键的、敏感的部分。对于对于IT项目,由于其要求不同、目标各异、变化多端、项目,由于其要求不同、目标各异、变化多端、情况复杂,要想把以前的活动与现实的情况进行对比情况复杂,要想把以前的活动与现
78、实的情况进行对比衡量非常困难。衡量非常困难。因此,关于因此,关于IT项目成本信息,不管是根据历史标准数项目成本信息,不管是根据历史标准数据,还是现时重新考虑,都只能将其视为一种估算。据,还是现时重新考虑,都只能将其视为一种估算。如果项目经理想在预算限制内完成项目,他们必须进如果项目经理想在预算限制内完成项目,他们必须进行严格的成本估算。成本估算的准确度直接关系到项行严格的成本估算。成本估算的准确度直接关系到项目成本管理的有效性。目成本管理的有效性。103THE SCHOOL OF SOFTWARE ENGINEERING OF HUST成本估算的类型成本估算的类型P.154估算类型 何时做 为
79、什么做 精确度如何量级估算 在项目生命周期中非常早,通常是在项目完成前3 5年 为项目选择决策提供成本估算 。-25 +75 预算估算 项目完成前 1 2年 将资金拨入预算计划-10+25最终估算 项目的后期,在项目完成前不足1年 为采购提供详情,估算实际成本。 -5 +10表表6-2 项目成本估算类型项目成本估算类型104THE SCHOOL OF SOFTWARE ENGINEERING OF HUST 软件估算的时间点软件估算的时间点 105THE SCHOOL OF SOFTWARE ENGINEERING OF HUST成本估算的依据与输出成本估算的依据与输出P.155进行成本估算需
80、要依据如下输入:进行成本估算需要依据如下输入:n项目资源需求计划项目资源需求计划n项目范围说明书项目范围说明书n项目进度计划项目进度计划n工作分解结构工作分解结构n风险管理计划风险管理计划n相关历史资料和经验教训相关历史资料和经验教训106THE SCHOOL OF SOFTWARE ENGINEERING OF HUST项目成本估算方法项目成本估算方法P.156n类比估算法:类比估算法:也叫专家判断法,是一种在成本估算精确程度也叫专家判断法,是一种在成本估算精确程度要求不高的情况下使用的方法。它比照以前的、相似项目的实际要求不高的情况下使用的方法。它比照以前的、相似项目的实际成本作为目前项目
81、成本估算的根据,来估算出当前项目的成本。成本作为目前项目成本估算的根据,来估算出当前项目的成本。n自上而下估算法:自上而下估算法:基于中上层管理人员的经验和判断、以及基于中上层管理人员的经验和判断、以及可以获得的关于以往类似项目的历史数据来进行项目成本估算的可以获得的关于以往类似项目的历史数据来进行项目成本估算的方法。方法。n自下而上估算法:自下而上估算法:先估算单个工作项成本,然后从下往上汇先估算单个工作项成本,然后从下往上汇总成整体项目成本。总成整体项目成本。n参数模型估算法:参数模型估算法:在数学模型中应用项目特征参数来估算项在数学模型中应用项目特征参数来估算项目成本的方法。目成本的方法
82、。107THE SCHOOL OF SOFTWARE ENGINEERING OF HUST108THE SCHOOL OF SOFTWARE ENGINEERING OF HUST成本估算中应该注意的问题成本估算中应该注意的问题P.168尽管采用了有许多成本估算的工具和手段,但是尽管采用了有许多成本估算的工具和手段,但是IT项项目成本估算仍然不精确,特别是那些涉及新技术和新目成本估算仍然不精确,特别是那些涉及新技术和新方法的软件开发项目,其原因是:方法的软件开发项目,其原因是:n软件项目是一项复杂的工作,需要巨大的努力软件项目是一项复杂的工作,需要巨大的努力n没有太多的成本估算经验没有太多的
83、成本估算经验n范围的不确定性和易动性范围的不确定性和易动性n成本估算者背景和考虑问题的角度,存在低估成本的倾向成本估算者背景和考虑问题的角度,存在低估成本的倾向n管理者要求做估算,但他们的重点并没有放在成本管理上管理者要求做估算,但他们的重点并没有放在成本管理上109THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.169在软件项目成本估算时,需要特点注意以下几在软件项目成本估算时,需要特点注意以下几点:点:n过去的项目和现在项目之间存在的差别过去的项目和现在项目之间存在的差别n软件的扩展性和维护性软件的扩展性和维护性n开发团队对软件项目成本产生的重大影响
84、开发团队对软件项目成本产生的重大影响n软件运行环境对成本的影响软件运行环境对成本的影响110THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.4.36.4.3项目成本预算项目成本预算P.157项目成本预算是给每一项独立工作分配全部费用,以项目成本预算是给每一项独立工作分配全部费用,以获得度量项目执行的费用基线。获得度量项目执行的费用基线。确定成本定额和项目总预算,规定项目不可预见费用确定成本定额和项目总预算,规定项目不可预见费用的划分与使用规则等。的划分与使用规则等。项目费用预算主要包括,直接人工费用、咨询服务费项目费用预算主要包括,直接人工费用、咨询服务
85、费用、资源采购费用和不可预见费用等的预算。用、资源采购费用和不可预见费用等的预算。项目成本预算的主要依据包括项目成本估算、项目成本预算的主要依据包括项目成本估算、WBS和和项目进度计划。项目进度计划。成本预算过程的主要目标是制定一个成本基准计划以成本预算过程的主要目标是制定一个成本基准计划以衡量项目绩效。衡量项目绩效。111THE SCHOOL OF SOFTWARE ENGINEERING OF HUST成本预算的特征成本预算的特征:P.158n计划性:计划性:预算是另一种形式的项目计划。预算是另一种形式的项目计划。n约束性:约束性:预算是一种分配资源的计划,预算分配的预算是一种分配资源的计
86、划,预算分配的结果可能并不能满足所涉及的管理人员的利益要求,结果可能并不能满足所涉及的管理人员的利益要求,而表现为一种约束,所涉及人员只能在这种约束的范而表现为一种约束,所涉及人员只能在这种约束的范围内行动。围内行动。n控制性:控制性:项目预算是一种控制机制。预算可以作为项目预算是一种控制机制。预算可以作为一种比较标准而使用,一种度量资源实际使用量和计一种比较标准而使用,一种度量资源实际使用量和计划量之间差异的基线标准。划量之间差异的基线标准。112THE SCHOOL OF SOFTWARE ENGINEERING OF HUST成本预算的编制成本预算的编制P.158n确定项目的总预算:确定
87、项目的总预算:总预算确定的目的是为了将总预算确定的目的是为了将资金拨入预算计划,其精度提高到资金拨入预算计划,其精度提高到-10%25%。n项目各项活动的预算:项目各项活动的预算:采用采用“自上而下自上而下”的方法,的方法,确定项目各项活动的预算。确定项目各项活动的预算。n项目各项活动预算投入的时间:项目各项活动预算投入的时间:根据项目的进根据项目的进度安排和项目的资源供应计划,确定各项活动预算投度安排和项目的资源供应计划,确定各项活动预算投入的时间。入的时间。 113THE SCHOOL OF SOFTWARE ENGINEERING OF HUST不可预见费用分析不可预见费用分析P.160
88、不可预见费用是指为项目在实施过程中发生意外而准备的保证不可预见费用是指为项目在实施过程中发生意外而准备的保证金,也就是在成本管理原理中提到的储备金金,也就是在成本管理原理中提到的储备金.提高不可预见费用估计的准确性可以减轻项目中意外事件的影提高不可预见费用估计的准确性可以减轻项目中意外事件的影响程度。响程度。在在IT项目实际过程中,不可预见费用的储备是非常必要的,特项目实际过程中,不可预见费用的储备是非常必要的,特别是中、大型项目必须准备充足的不可预见费用。别是中、大型项目必须准备充足的不可预见费用。不可以预见费用主要有两种类型:不可以预见费用主要有两种类型:n显在的不可预见费用,通常在项目文
89、件中明确标明。显在的不可预见费用,通常在项目文件中明确标明。n潜在的不可预见费用,通常在项目文件中没有标明。对应潜在的不可预见费用,通常在项目文件中没有标明。对应成本管理原理中提到的应急储备金和管理储备金。成本管理原理中提到的应急储备金和管理储备金。114THE SCHOOL OF SOFTWARE ENGINEERING OF HUST成本预算中应该注意的问题成本预算中应该注意的问题P.169在实际项目过程中,项目成本预算存在的问题导致预在实际项目过程中,项目成本预算存在的问题导致预算没有很好的支持项目的整体目标,甚至与之产生冲算没有很好的支持项目的整体目标,甚至与之产生冲突。这些问题主要表
90、现在以下几个方面:突。这些问题主要表现在以下几个方面:n对于预算在认识上存在着较大的误区对于预算在认识上存在着较大的误区n项目预算建立在对项目经理的信任的基础之上项目预算建立在对项目经理的信任的基础之上n没有全面考虑项目执行过程中可能出现的异常情况没有全面考虑项目执行过程中可能出现的异常情况n没有充分考虑项目成本预算同项目需求之间的关系没有充分考虑项目成本预算同项目需求之间的关系115THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.4.4项目成本控制项目成本控制P.160项目成本控制实现的是对项目成本的管理,其主要目项目成本控制实现的是对项目成本的管理,
91、其主要目的是对造成实际成本与成本基准计划发生偏差的的是对造成实际成本与成本基准计划发生偏差的因素因素施加影响,确保其向有利的方向发展;施加影响,确保其向有利的方向发展;同时对与成本基准计划已经发生同时对与成本基准计划已经发生偏差偏差和正在发生偏差和正在发生偏差的各项成本进行管理,以保证项目的顺利进行。的各项成本进行管理,以保证项目的顺利进行。有效的成本控制的关键在于有效的成本控制的关键在于及时及时分析成本的绩效,分析成本的绩效,尽早尽早发现成本无效和出现偏差的原因,以便在项目成发现成本无效和出现偏差的原因,以便在项目成本失控本失控之前之前能够及时采取纠正措施。能够及时采取纠正措施。116THE
92、 SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.161项目成本控制必须与项目的其他控制过程紧密结合项目成本控制必须与项目的其他控制过程紧密结合,防防止单纯的控制项目成本而出现项目范围、进度、质量等止单纯的控制项目成本而出现项目范围、进度、质量等方面的问题。方面的问题。项目成本控制的主要内容包括:项目成本控制的主要内容包括:n监控实际成本与计划成本的偏差;监控实际成本与计划成本的偏差;n确认费用偏差都被记录;确认费用偏差都被记录;n避免不正确、不合适的或者无效的费用变更发生;避免不正确、不合适的或者无效的费用变更发生;n获取项目变更的各种信息,特别关注影响对成本
93、变获取项目变更的各种信息,特别关注影响对成本变更的消息。更的消息。117THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.4.2成本控制的依据成本控制的依据P.161n成本基准:成本基准:成本基准是按时间分段的预算,用做度量和监成本基准是按时间分段的预算,用做度量和监控项目整体成本的基准。控项目整体成本的基准。n绩效报告:绩效报告:绩效报告是提供实际工作中项目成本和资源绩绩效报告是提供实际工作中项目成本和资源绩效的信息。效的信息。n请求变更:请求变更:对项目的某些方面提出一些修改的要求。这些对项目的某些方面提出一些修改的要求。这些变更申请对成本的使用方向以
94、及对成本的预算产生影响,可能变更申请对成本的使用方向以及对成本的预算产生影响,可能增加成本,也可能减少成本。增加成本,也可能减少成本。n成本管理计划:成本管理计划:描述当项目实际成本和计划成本发生差异描述当项目实际成本和计划成本发生差异时如何进行管理,对整个成本控制过程进行有序的安排,可以时如何进行管理,对整个成本控制过程进行有序的安排,可以实现对成本合理安排与使用实现对成本合理安排与使用。118THE SCHOOL OF SOFTWARE ENGINEERING OF HUST成本控制的方法成本控制的方法P.161n成本变更控制系统:成本变更控制系统:从请求变更,到批准请求变更,一直从请求变
95、更,到批准请求变更,一直到最终变更项目成本预算的整个变更控制过程。到最终变更项目成本预算的整个变更控制过程。n成本绩效测量法:成本绩效测量法:帮助项目管理者及时分析项目成本状况,帮助项目管理者及时分析项目成本状况,尽早发现项目成本差异,争取在情况变坏之前采取措施予以纠尽早发现项目成本差异,争取在情况变坏之前采取措施予以纠正。挣值分析法就是一种有效的分析方法,可用于进行项目成正。挣值分析法就是一种有效的分析方法,可用于进行项目成本偏差分析和控制。本偏差分析和控制。n附加计划法:附加计划法:通过新增或修订原有计划来对项目成本进行通过新增或修订原有计划来对项目成本进行有效的控制。有效的控制。n计算机
96、辅助法:计算机辅助法:借助相关的项目管理软件,跟踪项目的计借助相关的项目管理软件,跟踪项目的计划成本、实际成本和预测成本改变的影响。划成本、实际成本和预测成本改变的影响。119THE SCHOOL OF SOFTWARE ENGINEERING OF HUST挣值分析法挣值分析法P.162挣值分析是一种项目绩效测量技术,它综合了范围、时间和成本数据。它是项目管理领域中有一个特有的、非常有效的成本控制工具。挣值法实际上是一种分析目标实施与目标期望之间差异的方法。故而它又被称为偏差分析法。挣值法通过测量和计算已完成的工作的预算费用和实际费用以及计划工作的预算费用得到计划实施的进度和费用的偏差,达到
97、判断项目预算和进度计划执行情况的目的。120THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.162挣值法的三个基本参数:挣值法的三个基本参数:n计划工作量的预算成本计划工作量的预算成本(BCWS):BCWS是指计划要求完成的是指计划要求完成的工作量所需的预算工时工作量所需的预算工时/费用。费用。BCWS=计划工作量计划工作量*预算定额预算定额n已完成工作的实际成本已完成工作的实际成本(ACWP):ACWP是指实际完成的工是指实际完成的工作量所消耗的工时作量所消耗的工时/费用。费用。n已完成工作量的预算成本已完成工作量的预算成本(BCWP):BCWP是指实
98、际完成的是指实际完成的工作量按预算定额计算的工时工作量按预算定额计算的工时/费用。费用。BCWP=实际工作量实际工作量*预算定额预算定额挣值法挣值法正是因为这种分析方法中用到了正是因为这种分析方法中用到了BCWP这个关键数值,这个关键数值,而以其来命名的。而以其来命名的。121THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.164图图6- 4挣值分析法的参数分析与应对措施挣值分析法的参数分析与应对措施 122THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.4.4成本控制的结果成本控制的结果P.164n修正的成本估算
99、:修正的成本估算:为了项目的需要而修正项目的成本信息。为了项目的需要而修正项目的成本信息。n预算更新:预算更新:对批准的成本基准所做的更新。对批准的成本基准所做的更新。n纠正措施:纠正措施:使项目将来的预期绩效与项目管理计划一致所使项目将来的预期绩效与项目管理计划一致所采取的行动。采取的行动。n按完成情况估算:按完成情况估算:根据项目执行情况对项目总成本的预测。根据项目执行情况对项目总成本的预测。n项目计划的变更:项目计划的变更:当变化幅度很大时,需要产生更合适的当变化幅度很大时,需要产生更合适的实际成本管理计划。实际成本管理计划。n经验教训:经验教训:记录下产生偏差的原因、采取纠正措施的理由
100、记录下产生偏差的原因、采取纠正措施的理由和其他的成本控制方面类似的经验教训。和其他的成本控制方面类似的经验教训。123THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTP.155成本过程的主要成果包括:成本过程的主要成果包括:n成本估算成本估算n估算的详细依据,包括采用的基本规则,估算所用的假设、估算的详细依据,包括采用的基本规则,估算所用的假设、基础资料、工具和技术。基础资料、工具和技术。n成本管理计划成本管理计划一份描述如何管理项目中成本变化的文件。一份描述如何管理项目中成本变化的文件。经经验验表表明明,IT项项目目成成本本建建议议书书(投投标标书书)在在
101、估估算算10变变化化范范围围内内是是好好的的。一一般般对对不不高高于于估估算算成成本本10,或或不不低低于于20的估算报告进行谈判。的估算报告进行谈判。124THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.5 本章小结本章小结软件项目成本估算及进度管理是在软件项目的早期要开展的一项重要工软件项目成本估算及进度管理是在软件项目的早期要开展的一项重要工作,也是软件项目管理的重要内容之一。成本估算和进度管理是制定软作,也是软件项目管理的重要内容之一。成本估算和进度管理是制定软件项目计划的依据,对于软件项目的整个运行过程有重要意义。件项目计划的依据,对于软件项目
102、的整个运行过程有重要意义。本章对软件项目估算和进度计划分别进行了介绍。本章对软件项目估算和进度计划分别进行了介绍。项目规模成本估算是项目规划的基础,也是项目成本管理的核心,通过项目规模成本估算是项目规划的基础,也是项目成本管理的核心,通过成本估算方法,分析并确定项目的估算成本,并以此为基础进行项目成成本估算方法,分析并确定项目的估算成本,并以此为基础进行项目成本预算和计划编排,开展项目成本控制等管理活动。本预算和计划编排,开展项目成本控制等管理活动。125THE SCHOOL OF SOFTWARE ENGINEERING OF HUST66复习思考题复习思考题1. 软件项目规模成本估算的基本
103、方法有几种?软件项目规模成本估算的基本方法有几种?2. 根据某项目的任务分解结构,对项目进行规模成本估算。根据某项目的任务分解结构,对项目进行规模成本估算。3. 有几种常用的网络图?有几种常用的网络图?4. 画出习题画出习题6.2中项目的网络图。中项目的网络图。5. 用微软的用微软的Project工具,编制习题工具,编制习题6.2中项目的进度计划表。中项目的进度计划表。126THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTProject 2007 professional 项目计划的制定项目计划的制定 第一讲第一讲安装安装 环境的设置环境的设置日历的制定日历
104、的制定 任务的录入任务的录入任务工期任务工期 任务关联性任务关联性资源计划资源计划 资源分配资源分配资源使用分析资源使用分析 资源调配资源调配报表视图报表视图 127THE SCHOOL OF SOFTWARE ENGINEERING OF HUST9、静夜四无邻,荒居旧业贫。2024/9/172024/9/17Tuesday, September 17, 202410、雨中黄叶树,灯下白头人。2024/9/172024/9/172024/9/179/17/2024 10:56:07 PM11、以我独沈久,愧君相见频。2024/9/172024/9/172024/9/17Sep-2417-Se
105、p-2412、故人江海别,几度隔山川。2024/9/172024/9/172024/9/17Tuesday, September 17, 202413、乍见翻疑梦,相悲各问年。2024/9/172024/9/172024/9/172024/9/179/17/202414、他乡生白发,旧国见青山。17 九月 20242024/9/172024/9/172024/9/1715、比不了得就不比,得不到的就不要。九月 242024/9/172024/9/172024/9/179/17/202416、行动出成果,工作出财富。2024/9/172024/9/1717 September 202417、做前
106、,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。2024/9/172024/9/172024/9/172024/9/179、没有失败,只有暂时停止成功!。2024/9/172024/9/17Tuesday, September 17, 202410、很多事情努力了未必有结果,但是不努力却什么改变也没有。2024/9/172024/9/172024/9/179/17/2024 10:56:07 PM11、成功就是日复一日那一点点小小努力的积累。2024/9/172024/9/172024/9/17Sep-2417-Sep-2412、世间成事,不求其绝对圆满,留一份不足,可得无限完美
107、。2024/9/172024/9/172024/9/17Tuesday, September 17, 202413、不知香积寺,数里入云峰。2024/9/172024/9/172024/9/172024/9/179/17/202414、意志坚强的人能把世界放在手中像泥块一样任意揉捏。17 九月 20242024/9/172024/9/172024/9/1715、楚塞三湘接,荆门九派通。九月 242024/9/172024/9/172024/9/179/17/202416、少年十五二十时,步行夺得胡马骑。2024/9/172024/9/1717 September 202417、空山新雨后,天气
108、晚来秋。2024/9/172024/9/172024/9/172024/9/179、杨柳散和风,青山澹吾虑。2024/9/172024/9/17Tuesday, September 17, 202410、阅读一切好书如同和过去最杰出的人谈话。2024/9/172024/9/172024/9/179/17/2024 10:56:07 PM11、越是没有本领的就越加自命不凡。2024/9/172024/9/172024/9/17Sep-2417-Sep-2412、越是无能的人,越喜欢挑剔别人的错儿。2024/9/172024/9/172024/9/17Tuesday, September 17,
109、202413、知人者智,自知者明。胜人者有力,自胜者强。2024/9/172024/9/172024/9/172024/9/179/17/202414、意志坚强的人能把世界放在手中像泥块一样任意揉捏。17 九月 20242024/9/172024/9/172024/9/1715、最具挑战性的挑战莫过于提升自我。九月 242024/9/172024/9/172024/9/179/17/202416、业余生活要有意义,不要越轨。2024/9/172024/9/1717 September 202417、一个人即使已登上顶峰,也仍要自强不息。2024/9/172024/9/172024/9/172024/9/17MOMODA POWERPOINTLorem ipsum dolor sit, eleifend nulla ac, fringilla purus. Nulla iaculis tempor felis amet, consectetur adipiscing elit. Fusce id urna blanditut cursus. 感感谢谢您您的的下下载载观观看看专家告诉