高级软件工程(第四章)课件

上传人:我*** 文档编号:139310815 上传时间:2020-07-21 格式:PPT 页数:41 大小:490KB
返回 下载 相关 举报
高级软件工程(第四章)课件_第1页
第1页 / 共41页
高级软件工程(第四章)课件_第2页
第2页 / 共41页
高级软件工程(第四章)课件_第3页
第3页 / 共41页
高级软件工程(第四章)课件_第4页
第4页 / 共41页
高级软件工程(第四章)课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《高级软件工程(第四章)课件》由会员分享,可在线阅读,更多相关《高级软件工程(第四章)课件(41页珍藏版)》请在金锄头文库上搜索。

1、高级软件工程,第 四 章 主讲人:张小平,3.1 软件项目估算 3.1.1 估算的意义 软件项目估算包括工作量估算和成本估算两个方面。以成本估算笼统的表示。 一个成功的项目“应该在工程允许的范围内满足成本、进度和质量目标的要求,而不需要对它的进度或预算进行增补”。 软件项目工作量估算的失真,将导致软件成本上升,开发周期延长,从而使项目管理失效。 估算是指通过预测构造软件项目所需工作量的过程。 初步的估算用于确定软件项目的可行性; 详细的估算用于指导项目计划的制定。 进度计划是从时间的角度对项目进行规划; 成本估算是从费用(工时、人员或各种材料等)的角度对项目进行规划;,第四章 软件项目估算与进

2、度管理,3.1.2 估算的时机 软件产品的生命周期的 5 个阶段:计划软件产品、开发软件产品、验证软件产品、使用软件产品和淘汰软件产品。10个子阶段:客户需求、产品定义、系统设计、系统实现、系统测试、系统评审、系统运行、系统维护、系统升级和系统变更。,3.2 软件规模 3.2.1 工作分解结构 工作分解结构(WBS Work Breakdown Structure):表现为一种层次化的树状结构,定义了整个工程项目的工作范围 。 建立WBS的原则: (1)应在各层次上保证项目内容的完整性,不能遗漏任何必要的组成部分。(2)一个项目单元只能从属于某一上层单元,不能同时属于两个上层单元。(3)项目单

3、元应能区分不同的责任者和不同的工作内容,应有较高的整体性和独立性。(4)应考虑WBS与承包方式、合同结构的影响。本文转自项目管理者联盟(5)能够符合项目目标管理的要求,能方便的应用工期、质量、成本、合同、信息等手段。(6)WBS不要太多层次,以四至六层为宜。最低层次的工作包的单元成本不宜过大、工期不要太长。,软件规模:软件的程序量,是软件工作量的主要影响因素。 两种软件度量标准: 代码行(LOC Lines of Code); 功能点(FP Function Points)。 3.2.2 代码行 代码行分为无注释的源代码行(NCLOC Non-Commented Source Lines Of

4、 Code) 和注释代码行(CLOC Commented Source Lines Of Code)。 源代码总行数(LOC)=NCLOC+CLOC KLOC=1000 x LOC 代码行(1LOC)价值和人月均代码行数可以体现一个软件生产组织的生产能力。 软件规模:KDSI(Kilo-Thousands of Delivered Source Instructions):千行代码指令。,3.2.3 功能点 是在系统需求阶段基于系统功能的一种(宏观)规模估算方法。通过研究初始应用需求来确定各种输入、输出、查询、外部文件和内部文件的数目,从而确定功能点数量。 未调整(源)的功能点数(UFC Un

5、adjusted Function Points Count)的计算步骤: (1)计算所需要的输入、输出、查询、外部文件和内部文件数量; (2)对项目的复杂性划分为:简单、一般、复杂三种情况。 UFC=(功能点中各项数量)(功能点中各项复杂性权重) 功能点计算步骤: (1)非功能性技术复杂度因子(TCF Technical Complexity Factor):有14个组成部分(A1A14)每部分对应6个级别(无影响、影响很小、有一定影响、重要、比较重要、很重要)。 TCF=0.65+0.01 Ai (Ai=0 5)(i=1 14) (TCF 的取值范围:0.65 1.35) (2)功能点:F

6、P=UFC TCF 功能点有助于在软件项目的早期做出规模估算。,3.2.4 PERT规模估计 PERT(计划评审技术,Program Evaluation and Review Technique): 假设项目持续时间以及整个项目完成时间是随机的且服从某种概率分布。 PERT可以估计整个项目在某个时间内完成的概率。 假设软件项目满足正态分布。其中:a为软件可能的最低规模;b为软件可能的最高规模。则: 期望规模: E=(a+b)/ 2 标准偏差: =(b-a)/ 6 较好的PERT规模估算技术是一种基于分布的技术: E=(a+4m+b)/ 6 =(b-a)/ 6 3.2.5 软件生产率 1. 影

7、响因素 软件生产率因素:影响每个人月平均完成代码数量的因素。 软件生产率因素受到软件产品类型、软件项目规模和软件变更的程度影响。环境因素对生产率的影响也较为显著,如开发环境面积、安静程度、私密程度、受干扰程度等。,软件规模和产品类型对生产率的影响,软件变更和产品类型对生产率的影响,生产率因素,生产率因素,软件生产率因素取决于软件类型、项目规模、软件变更的程度,2. 生产率数据的获取 步骤如下: (1)选择一些最近完成的,并且与待完成项目相似的项目。 (2)获得各项目的LOC数据(软件规模)。 (3)对于更改过的项目,记录更改代码所占比例,仅计算新增或更改部分LOC数量。 (4)计算投入到每个项

8、目的人员数。 (5)计算各个项目的软件生产率,即LOC/PM(每个人月生产代码的数量),进而求出平均值作为类似项目的典型软件生产率。,3.3 软件项目成本估算 考虑因素:材料、人力、实施、固定、可变等成本。 系统免维护期结束成本=开发成本+维护成本 成本估算是对完成软件项目所需费用的估计和计划。 成本估算是在一个无法以高度可靠性预计的环境下进行的。 影响估算的因素 : (1)需求的不确定性、(2)计划不落实、(3)规模和工作量不确定、(4)人力因素的影响、(5)外部环境的影响。 3.3.1 成本估算方法 开发成本=工作量劳动力成本;工作量与系统规模和生产效率有关。 1.算法模型 (1)线性模型

9、 工作量=a0+a1x1+a2x2+a n x n(成本驱动因素的若干变量的函数) 2.专家判定 与一位或多位专家商讨,专家根据自己的经验和对项目的理解对项目成本做出估算。,(1)求中值或平均值 (2)召开小组会议 (3)Delphi技术 Delphi 法的步骤是: 1)协调人向各专家提供项目规格和估计表格; 2)协调人召集小组会各专家讨论与工作量相关的因素; 3)各专家匿名填写迭代表格; 4)协调人整理出一个估计总结,以迭代表的形式返回专家; 5)协调人召集小组会,讨论较大的估计差异; 6)专家复查估计总结并在迭代表上提交另一个匿名估计; 7)重复4-6, 直到达到一个最低和最高估计的一致。

10、 (4)Wideband Delphi技术,3. 类比 将当前项目和以前作过的类似项目比较,通过比较获得其工作量的估算值。(可在整个项目级上进行,也可以在子系统级上进行)。 类比的基础是项目的特征(比较)因子,例如:软件开发方法、功能需求以数及接口数等。 步骤:选择类比项目,得出估算值,同时要考虑新项目的不同点对软件成本可能产生的影响。 4. 自顶向下 从软件项目的整体出发,推算出项目的总体成本或工作量,然后按比例分配到各个组成部分中去。 5. 自底向下 把待开发的软件逐步细化(利用WBS),直到能明确工作量,由负责该部分的人给出工作量的估算值,然后把所有部分相加,就得到了软件开发的总工作量。

11、,任务单元法样(自底向上)例,3.3.2 成本估算模型 1. 模型的分类 静态模型:用一个惟一的变量(如程序规模)作为初始元素来计算所有其他变量(如成本、时间),且所用计算公式的形式对于所有变量都是相同的。 动态模型:没有类似静态模型中的惟一基础变量,所有变量都是相互依存的。 单变量模型:只用一个基础变量来计算其他所有变量。 多变量模型:需要多个变量来描述软件过程,再结合相关公式给出时间和费用的估算值。 (1)静态单变量模型 用同一个基本公式通过同一个预测量(如程序规模)来估算所需要的值。 一般公式:C = a Lb C 是待估算的量,L 是用作输入的预测量,a 和 b是根据历史经验得到的参数

12、。 例如:SEI模型: E=1.4 L 0.93 ; DOC=30.4 L 0.90 ; D=4.6 L 0.26,(2)静态多变量模型 仍是基于C = a Lb 这样的公式,但还取决于几个能代表软件开发环境的各种因素的变量。(C= a Lb EAF) (3)动态多变量模型 通过多个变量的相互作用对软件过程做出估算。Putnam模型方程 S=CE 1/3 t 4/3 2. 已有模型 3.3.3 COCOMO (Constructive Cost Model,构造性成本模型)模型 1. 原始COCOMO模型 COCOMO模型包括:基本、中级和详细模型三个子模型。COCOMO模型是一个采用自底向上

13、的方法进行估算的模型。 E = a S b EAF E是以人月为单位的工作量,S是以千行源代码(KLOC)计数的程序规模,EAF(Effort Adjustment Factor)是一个工作量调整因子,EAF在基本模型中取值1,a和b是两个随开发模式而改变的因子。 三种开发模式:有机式(Organic),半分离式(Semidetached),嵌入式(Embedded)。,(1)基本COCOMO模型 工作量的计算公式: E = a S b E(PM)工作量:(1PM = 19 人日 = 152 人时(8时/日) =1/12 人年 ),S(KLOC)程序规模,a、b是随开发模式而改变的因子。 开发

14、时间的计算公式: t = c E d (t以月计) c、d是随开发模式而改变的因子。,开发模式 a b 有机式 2.4 1.05 半分离式 3.0 1.12 嵌入式 3.6 1.20,三种开发模式在基本COCOMO模型中的取值(通过统计63个历史项目的历史数据,得到如下计算公式。),开发模式 c d 有机式 2.5 0.38 半分离式 2.5 0.35 嵌入式 2.5 0.32,开发时间参数,(2)中级COCOMO模型 在基本COCOMO模型的基础上,考虑了软件开发环境的因素,引入15个成本驱动量(附加预测量),分为四大类:产品、计算机、人员、项目。 工作量计算公式: E = a S b EA

15、F EAF 是工作量调整因子。调整前的工作量a S b 称名义工作量。 15个成本驱动量,分为四类:产品、计算机、人员、项目。 每个有6个等级,即“很低”、“低”、“一般”、“高”、“很高”、“非常高”。每个成本驱动量对应一个等级有一个取值(权重)。 EAF = (15个成本驱动量的评分值) 部件估算(自底向上): E = Ei Ei是第i个部件工作量估算值。 开发时间的计算公式: t = c E d,(3)详细COCOMO模型 在中级COCOMO模型的基础上,进一步提高估算精度,15个成本驱动因子被分成不同的层次且在软件生存周期的不同阶段被赋予不同的值。 改动内容: a. 名义工作量和开发时间的计算公式和中级COCOMO模型相同; 名义工作量计算公式: E = a S b 开发时间的计算公式: t = c E d (t以月计) b. 阶段敏感的成本驱动

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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