软件工程导论课件之第13章-软件项目管理(第五版)(张海藩编著)

上传人:F****n 文档编号:88521404 上传时间:2019-04-30 格式:PPT 页数:96 大小:2.17MB
返回 下载 相关 举报
软件工程导论课件之第13章-软件项目管理(第五版)(张海藩编著)_第1页
第1页 / 共96页
软件工程导论课件之第13章-软件项目管理(第五版)(张海藩编著)_第2页
第2页 / 共96页
软件工程导论课件之第13章-软件项目管理(第五版)(张海藩编著)_第3页
第3页 / 共96页
软件工程导论课件之第13章-软件项目管理(第五版)(张海藩编著)_第4页
第4页 / 共96页
软件工程导论课件之第13章-软件项目管理(第五版)(张海藩编著)_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《软件工程导论课件之第13章-软件项目管理(第五版)(张海藩编著)》由会员分享,可在线阅读,更多相关《软件工程导论课件之第13章-软件项目管理(第五版)(张海藩编著)(96页珍藏版)》请在金锄头文库上搜索。

1、第13章 软件项目管理,13.1 估算软件规模 13.2 工作量估算 13.3 进度计划 13.4 人员组织 13.5 质量保证 13.6 软件配置管理 13.7 能力成熟度模型,所谓管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。,软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。 软件项目管理过程从一组项目计划活动开始,而制定计划的基础是工作量估算和完成期限估算。 为了估算项目的工作量和完成期限,首先需要估算软件的规模。,13.1 估算软件规模 13.1.1 代码行技术,代码行技术是比较简单的定量估算软件规模的方法。 依据以往

2、开发类似产品的经验和历史数据,估计实现一个功能所需要的源程序行数。 当有以往开发类似产品的历史数据可供参考时,估计出的数值还是比较准确的。把实现每个功能所需要的源程序行数累加起来,就可得到实现整个软件所需要的源程序行数。,估算方法: 由多名有经验的软件工程师分别做出估计。 每个人都估计程序的最小规模(a)、最大规模(b)和最可能的规模(m), 分别算出这3种规模的平均值、和之后,再用下式计算程序规模的估计值: 单位: LOC或KLOC。,代码行技术的优点: 代码是所有软件开发项目都有的“产品”,而且很容易计算代码行数; 有大量参考文献和数据 。 代码行技术的缺点: 源程序仅是软件配置的一个成分

3、,由源程序度量软件规模不太合理; 用不同语言实现同一个软件所需要的代码行数并不相同; 不适用于非过程性语言。,13.1.2 功能点技术,功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。 这种方法用功能点(FP)为单位度量软件规模。,1. 信息域特性 功能点技术定义了信息域的5个特性: 输入项数(Inp):用户向软件输入的项数,这些输入给软件提供面向应用的数据。 输出项数(Out):软件向用户输出的项数,它们向用户提供面向应用的信息, 查询数(Inq):查询即是一次联机输入,它导致软件以联机输出方式产生某种即时响应。 主文件数(Maf):逻辑主文件的数目。 外部接口数(Inf

4、):机器可读的全部接口的数量,用这些接口把信息传送给另一个系统。,每个特征根据其复杂程度分配一个功能点数,即信息域特征系数a1,a2,a3,a4,a5,见表13.1。,表,13,.,1,信息域特性系数值,复杂级别,特性系数,简单,平均,复杂,输入系数,a1,3,4,6,输出系数,a2,4,5,7,查询系数,a3,3,4,6,文件系数,a4,7,10,15,接口系数,a5,5,7,10,2. 估算功能点的步骤 (1) 计算未调整的功能点数UFP 首先,把产品信息域的每个特性都分类为简单级、平均级或复杂级,并根据其等级为每个特性分配一个功能点数。 然后,用下式计算未调整的功能点数UFP: UFP=

5、a1Inp+a2Out+a3Inq+a4Maf+a5Inf 其中,ai(1i5)是信息域特性系数,其值由相应特性的复杂级别决定,如表13.1所示。,(2) 计算技术复杂性因子TCF 这一步骤度量14种技术因素对软件规模的影响程度。在表13.2中列出了全部技术因素,并用Fi(1i14)代表这些因素。 根据软件的特点,为每个因素分配一个从0(不存在或对软件规模无影响)到5(有很大影响)的值。,10,F10,可重用性,11,F11,安装方便,12,F12,操作方便,13,F13,可移植性,14,F14,可维护性,然后,用下式计算技术因素对软件规模的综合影响程度DI: 技术复杂性因子TCF由下式计算:

6、 TCF = 0.65 + 0.01 DI 因为DI的值在070之间,所以TCF的值在0.651.35之间。,(3) 计算功能点数FP FP = UFP TCF 功能点技术优点:与所用的编程语言无关,比代码行技术更合理。 功能点技术缺点:在判断信息域特性复杂级别和技术因素的影响程度时主观因素较大,对经验依赖性较强。,13.2 工作量估算,软件估算模型使用由经验导出的公式来预测软件开发工作量,工作量是软件规模(KLOC或FP)的函数,工作量的单位通常是人月(pm)。 支持大多数估算模型的经验数据,都是从有限个项目的样本集中总结出来的,因此,没有一个估算模型可以适用于所有类型的软件和开发环境。,1

7、3.2.1 静态单变量模型,总体结构形式如下: E = A + B (ev) C 其中,A、B和C是由经验数据导出的常数, E是以人月为单位的工作量, ev是估算变量(KLOC或FP)。,1. 面向KLOC的估算模型 (1) Walston_Felix模型 E=5.2(KLOC)0.91 (2) Bailey_Basili模型 E=5.5+0.73(KLOC)1.16 (3) Boehm简单模型 E=3.2(KLOC)1.05 (4) Doty模型(在KLOC9时适用) E=5.288(KLOC)1.047 2. 面向FP的估算模型 (1) Albrecht & Gaffney模型 E=-13

8、.39+0.0545FP (2) Maston,Barnett和Mellichamp模型 E=585.7+15.12FP,13.2.2 动态多变量模型,动态多变量模型也称为软件方程式,该模型把工作量看作是软件规模和开发时间这两个变量的函数。 动态多变量估算模型的形式如下: E=(LOCB0.333/P)3(1/t)4 其中, E 是以人月或人年为单位的工作量; t 是以月或年为单位的项目持续时间; B 是特殊技术因子,它随着对测试、质量保证、文档及管理技术的需求的增加而缓慢增加,对于较小的程序(KLOC=515),B=0.16,对于超过70 KLOC的程序,B=0.39;,P是生产率参数,它反

9、映了下述因素对工作量的影响: 总体过程成熟度及管理水平; 使用良好的软件工程实践的程度; 使用的程序设计语言的级别; 软件环境的状态; 软件项目组的技术及经验; 应用系统的复杂程度。 开发实时嵌入式软件时,P的典型值为2000;开发电信系统和系统软件时,P=10000;对于商业应用系统来说,P=28000。可以从历史数据导出适用于当前项目的生产率参数值。,13.2.3 COCOMO2模型,COCOMO是构造性成本模型(constructive cost model)的英文缩写。 1981年Boehm在软件工程经济学中首次提出了COCOMO模型。 1997年Boehm等人提出的COCOMO2模型

10、,是原始的COCOMO模型的修订版,它反映了十多年来在成本估计方面所积累的经验。,COCOMO2给出了3个层次的软件开发工作量估算模型,这3个层次的模型在估算工作量时,对软件细节考虑的详尽程度逐级增加。 3个层次的估算模型分别是: 应用系统组成模型。这个模型主要用于估算构建原型的工作量,模型名字暗示在构建原型时大量使用已有的构件。 早期设计模型。这个模型适用于体系结构设计阶段。 后体系结构模型。这个模型适用于完成体系结构设计之后的软件开发阶段。,该模型把软件开发工作量表示成代码行数(KLOC)的非线性函数: 其中, E是开发工作量(以人月为单位), a是模型系数, KLOC是估计的源代码行数,

11、 b是模型指数, fi (i=117)是成本因素。,每个成本因素都根据它的重要程度和对工作量影响大小被赋予一定数值(称为工作量系数)。表13.3列出了COCOMO2模型使用的成本因素及与之相联系的工作量系数。 与原始的COCOMO模型相比,COCOMO2模型使用的成本因素有下述变化。 新增加了4个成本因素,它们分别是要求的可重用性、需要的文档量、人员连续性(即人员稳定程度)和多地点开发。 略去了原始模型中的2个成本因素(计算机切换时间和使用现代程序设计实践)。 某些成本因素(分析员能力、平台经验、语言和工具经验)对生产率的影响(即工作量系数最大值与最小值的比率)增加了,另一些成本因素(程序员能

12、力)的影响减小了。,为了确定工作量方程中模型指数b的值,COCOMO2采用了更加精细得多的b分级模型,这个模型使用5个分级因素Wi(1i5),其中每个因素都划分成从甚低(Wi=5)到特高(Wi=0)的6个级别,然后用下式计算b的数值: 因此,b的取值范围为1.011.26。显然,这种分级模式比原始COCOMO模型的分级模式更精细、更灵活。,COCOMO2使用的5个分级因素如下所述: 项目先例性。这个分级因素指出,对于开发组织来说该项目的新奇程度。 开发灵活性。这个分级因素反映出,为了实现预先确定的外部接口需求及为了及早开发出产品而需要增加的工作量。 风险排除度。这个分级因素反映了重大风险已被消

13、除的比例。 项目组凝聚力。这个分级因素表明了开发人员相互协作时可能存在的困难。 过程成熟度。这个分级因素反映了按照能力成熟度模型度量出的项目组织的过程成熟度。,13.3 进度计划,软件项目的进度安排通过把工作量分配给特定的软件工程任务并规定完成各项任务的起止日期,从而将估算出的项目工作量分布于计划好的项目持续期内。 进度计划将随着时间的流逝而不断演化。,13.3.1 估算开发时间,各种模型估算开发时间的方程很相似,例如: Walston_Felix模型 T=2.5E0.35 原始的COCOMO模型 T=2.5E0.38 COCOMO2模型 T=3.0E0.33+0.2(b-1.01) Putn

14、am模型 T=2.4E1/3 其中,E是开发工作量(以人月为单位),T是开发时间(以月为单位)。,经验告诉我们,随着开发小组规模扩大,个人生产率将下降,以致开发时间与从事开发工作的人数并不成反比关系。出现这种现象主要有下述两个原因: 当小组变得更大时,每个人需要用更多时间与组内其他成员讨论问题、协调工作,因此增加了通信开销。 如果在开发过程中增加小组人员,则最初一段时间内项目组总生产率不仅不会提高反而会下降。 Brooks规律:向一个已经延期的项目增加人力,只会使得它更加延期。 存在一个最佳的项目组规模Popt,这个规模的项目组其总生产率最高。项目组的最佳规模是5.5人,即Popt=5.5。,

15、13.3.2 Gantt图,Gantt(甘特)图是历史悠久、应用广泛的制定进度计划的工具。 例子:旧木板房刷漆工程(15名工人,工具各5把),Gantt图的主要优点: Gantt图能很形象地描绘任务分解情况,以及每个子任务(作业)的开始和结束时间。 具有直观简明和容易掌握、容易绘制的优点。 Gantt图的3个主要缺点: 不能显式地描绘各项作业彼此间的依赖关系; 进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象; 计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。,13.3.3 工程网络,工程网络是制定进度计划时另一种常用的图形工具,它同样能描绘任务分解情况以及每项作业的开始时间和结束时间。 它能显式地描绘各个作业彼此间的依赖关系。 工程网络是系统分析和系统设计的强有力的工具。,符号: :表示作业,持续一定时间。 :表示事件,作业的开始或结束时刻。 :虚拟作业,事实上并不存在的作业,表示依赖关系。,旧木板房刷漆工程的工程网络,13.3.4 估算工程进度,工程网络必要的信息: 每个作业估计需要使用的时间:箭头长度和它代表的作业持续时

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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