北邮软件工程课件第四篇软件项目管理第10章计划.ppt
《北邮软件工程课件第四篇软件项目管理第10章计划.ppt》由会员分享,可在线阅读,更多相关《北邮软件工程课件第四篇软件项目管理第10章计划.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四篇 软件项目管理第10章 计划退出 所谓管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。软件项目管理过程从一组称为项目计划的活动开始,而第一项计划活动是“估算”。软件计划最详尽地描述了软件过程,它包括采用的生命周期模型、开发组织的组织结构、责任分配、管理目标和优先级、所用的技术和CASE工具,以及详细的进度、预算和资源分配。整个计划的基础是工作量估算和完成期限估算。10.1 度量软件规模10.2 工作量估算10.3 进度计划10.4 小结10.1 度量软件规模 10.1.1 代
2、码行技术 代码行技术是比较简单的定量估算软件规模的方法。这种方法根据以往开发类似产品的经验和历史数据,估计实现一个功能需要的源程序行数。当有以往开发类似项目的历史数据可供参考时,用这种方法估计出的数据还是比较准确的。把实现每个功能需要的源程序行数累加起来,就得到实现整个软件需要的源程序行数。为了使得对程序规模的估计值更接近实际值,可以由多名有经验的软件工程师分别作出估计。每个人都估计程序的最小规模(a)、最大规模(b)和最可能的规模(m),分别算出 这三种规模的平均值a,b,和m之后,再用下式计算程序规模的估计值:用代码行技术度量软件规模时,当程序较小时常用的单位是代码行数(LOC),当程序较
3、大时常用的单位是千行代码数(KLOC)。10.1.2 功能点技术 功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。这种方法用功能点(FP)为单位,度量软件的规模。1.信息域特性 功能点技术定义了信息域的5个特性,分别是输入项数(Inp)、输出项数(Out)、查询数(Inq),主文件数(Maf)和外部接口数(Inf)。2.估算功能点的步骤 用下述三个步骤,可以估算出一个软件的功能点数(即软件规模)。(1)计算未调整的功能点数UFP 首先,把产品信息域的每个特性(即Inp、Out、Inq、Maf和Inf)都分类成简单级、平均级或复杂级。根据其等级,为每个特性都分配一个功能点数,
4、例如,一个平均级的输入项分配4个功能点,一个简单级的输入项是3个功能点,而一个复杂级的输入项分配6个功能点。然后,用下式计算未调整的功能点数UFPUFP=a1Inp+a2Out+a3Inq+a4Maf+a5Inf其中,ai(1i5)是信息域特性系数,其值由相应特性的复杂级别决定,如表10.1所示。(2)计算技术复杂性因子TCF 这一步将度量14种技术因素对软件规模的影响程度。这些因素包括高处理率、性能标准(例如,响应时间)、联机更新等,在表102中列出了全部技术因素,并用Fi(1i14)代表这些因素。根据软件特点,为每个因素分配一个从0(不存在或对软件规模无影响)到5(有很大影响)的值。然后,
5、用下式计算技术因素对软件规模的综合影响程度DI:技术复杂性因子TCF由下式计算:TCF=0.65+0.01DI 因为DI的值在070之间,所以TCF的值在0.651.35之间。(3)计算功能点数FP 功能点数FP由下式计算:FP=UFPTCF 功能点数与所用的编程语言无关,因此,功能点技术比代码行技术更合理一些。但是,在判断信息域特性复杂级别及技术因素的影响程度时,存在相当大的主观因素。10.2 工作量估算 计算机软件估算模型使用由经验导出的公式来预测软件开发的工作量,工作量是软件规模(LOC或FP)的函数,工作量的单位通常是人月(pm)。支持大多数估算模型的经验数据,都是从有限个项目的样本集
6、中总结出来的,因此,没有一个估算模型能够适用于所有类型的软件和开发环境。10.2.1 静态单变量模型 这类模型的总体结构形式如下:E=A+B(ev)C 其中,A、B和C是由经验数据导出的常数,E是以人月为单位的工作量,ev是估算变量(LOC或FP)。此外,大多数模型都有某种形式的调整成分,使得E能够依据项目的其他特性(例如,问题的复杂程度、开发人员的经验、开发环境等)加以调整。下面给出几个典型的静态单变量模型。1.面向LOC的估算模型(1)WalstonFelix模型E=5.2(KLOC)0.91(2)BaileyBasili模型E=5.5+0.73(KLOC)1.16(3)Boehm简单模型
7、E=3.2(KLOC)1.05(4)Doty模型(在KLOC9的情况下)E=5.288(KLOC)1.4072面向FP的估算模型(1)Albrecht&Gaffney模型E=-13.39+0.0545FP(2)Kemerer模型E=60.627.72810-8FP3(3)Maston、Barnett和Mellichamp模型E=585.7+5.12FP10.2.2 动态多变量模型动态多变量模型也称为软件方程式,它是根据从4000多个当代软件项目中收集的生产率数据推导出来的。这种模型把工作量看作是软件规模和开发时间这两个变量的函数。动态多变量估算模型的形式如下:E=LOCB0.333/P3(1/
8、t)4其中,E是以人月或人年为单位的工作量;t是以月或年为单位的项目持续时间;B是“特殊技术因子”,它随着对集成、测试、质量保证、文档及管理技术的需求的增长而缓慢增加,对于较小的程序(KLOC=510),B=0.16,对于超过70KLOC的程序,B=0.39;P是“生产率参数”,它反映了下述因素对工作量的影响:总体的过程成熟度及管理水平;使用良好的软件工程实践的程度;使用的程序设计语言的级别;软件环境的状态;软件项目组的技术及经验;应用系统的复杂程度。当开发实时嵌入式软件时,典型值是P=2000;对于电信和系统软件来说,P=10000;对于商业系统应用,P=28000。适用于当前项目的生产率参
9、数,可以从历史数据导出。应该注意,软件方程式有两个独立的变量:对软件规模的估算值(用LOC表示);以月或年为单位的项目持续时间。从(10.2)式可以看出,开发同一个软件(即LOC固定)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量。10.2.3 COCOMO模型 所谓COCOMO模型就是Boehm提出的构造性成本模型(COnstructive COst MOdel),它是一种层次结构的软件估算模型。下面以中级COCOMO模型为例,介绍构造性成本模型。该模型把软件开发工作量表示成代码行数(KLOC)的非线性函数:其中 MM是开发工作量(以人月为单位),C1是模型系数,KLOC
10、是估计的代码行数(以千行为单位),a是模型指数,fi(i=1到15)是成本因素。每个成本因素都根据它的重要程度和影响大小赋予一定数值。成本因素影响所有工程项目,即使不使用COCOMO模型估算成本,也应该注意这些因素。可以把成本因素划分成产品因素、计算机因素、人员因素和项目因素等,下面简单介绍主要的成本因素。1.产品因素(1)要求的软件可靠性(RELY)(2)数据库规模(DATA)(3)软件产品复杂程度(CPLX)2.计算机因素(1)执行时间的约束(TIME)(2)存储约束(STOR)(3)环境变更率(VIRT)(4)计算机换向时间(TURN)3.人员因素(1)系统分析员的能力(ACAP)(2)
11、应用经验(AEXP)(3)程序员的能力(PCAP)(4)环境知识(VEXP)(5)语言知识(LEXP)4.项目因素(1)程序设计实践(MODP)(2)软件工具(TOOL)(3)进度约束(SCED)软件开发项目可以分成组织式、半独立式和嵌入式三种模式。对组织式软件的要求通常不苛刻,开发人员经验丰富,而且对软件的使用环境很熟悉(通常是为自己所在的组织开发软件),程序规模一般不大(小于50000行代码)。例如,简单的商业数据处理系统即属于组织式。嵌入式软件需要在很强的约束条件下运行,通常和某些硬设备紧密结合在一起(例如,空中交通管理软件),对这类软件系统的要求通常十分苛刻。对半独立式软件的要求通常介
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课件 第四 软件 项目 管理 10 计划
限制150内