- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 软件项目管理;所谓管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。
;软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。
软件项目管理过程从一组项目计划活动开始,而制定计划的基础是工作量估算和完成期限估算。
为了估算项目的工作量和完成期限,首先需要估算软件的规模。;13.1 估算软件规模13.1.1 代码行技术;估算方法:
由多名有经验的软件工程师分别做出估计。
每个人都估计程序的最小规模(a)、最大规模(b)和最可能的规模(m),
分别算出这3种规模的平均值、和之后,再用下式计算程序规模的估计值:
单位:
LOC或KLOC。 ;代码行技术的优点:
代码是所有软件开发项目都有的“产品”,而且很容易计算代码行数;
有大量参考文献和数据 。
代码行技术的缺点:
源程序仅是软件配置的一个成分,由源程序度量软件规模不太合理;
用不同语言实现同一个软件所需要的代码行数并不相同;
不适用于非过程性语言。;13.1.2 功能点技术;1. 信息域特性
功能点技术定义了信息域的5个特性:
输入项数(Inp):用户向软件输入的项数,这些输入给软件提供面向应用的数据。
输出项数(Out):软件向用户输出的项数,它们向用户提供面向应用的信息,
查询数(Inq):查询即是一次联机输入,它导致软件以联机输出方式产生某种即时响应。
主文件数(Maf):逻辑主文件的数目。
外部接口数(Inf):机器可读的全部接口的数量,用这些接口把信息传送给另一个系统。 ;每个特征根据其复杂程度分配一个功能点数,即信息域特征系数a1,a2,a3,a4,a5,见表13.1。;2. 估算功能点的步骤
(1) 计算未调整的功能点数UFP
首先,把产品信息域的每个特性都分类为简单级、平均级或复杂级,并根据其等级为每个特性分配一个功能点数。
然后,用下式计算未调整的功能点数UFP: UFP=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5×Inf
其中,ai(1≤i≤5)是信息域特性系数,其值由相应特性的复杂级别决定,如表13.1所示。 ;(2) 计算技术复杂性因子TCF
这一步骤度量14种技术因素对软件规模的影响程度。在表13.2中列出了全部技术因素,并用Fi(1≤i≤14)代表这些因素。
根据软件的特点,为每个因素分配一个从0(不存在或对软件规模无影响)到5(有很大影响)的值。;表;然后,用下式计算技术因素对软件规模的综合影响程度DI:
技术复杂性因子TCF由下式计算:
TCF = 0.65 + 0.01 × DI
因为DI的值在0~70之间,所以TCF的值在0.65~1.35之间。;(3) 计算功能点数FP
FP = UFP × TCF
功能点技术优点:与所用的编程语言无关,比代码行技术更合理。
功能点技术缺点:在判断信息域特性复杂级别和技术因素的影响程度时主观因素较大,对经验依赖性较强。 ;13.2 工作量估算;13.2.1 静态单变量模型;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.39+0.0545FP
(2) Maston,Barnett和Mellichamp模型 E=585.7+15.12FP ;13.2.2 动态多变量模型;P是生产率参数,它反映了下述因素对工作量的影响:
总体过程成熟度及管理水平;
使用良好的软件工程实践的程度;
使用的程序设计语言的级别;
软件环境的状态;
软件项目组的技术及经验;
应用系统的复杂程度。
开发实时嵌入式软件时,P的典型值为2000;开发电信系统和系统软件时,P=10000;对于商业应用系统来说,P=28000。可以从历史数据导出适用于当前项目的生产率参数值。 ;13.2.3 COCOMO2模型;COCOMO2给出了3个层次的软件开发工作量估算模型,这3个层次的模型在估算工作量时,对软件细节考虑的详尽程度逐级增加。
3个层次的估算模型分别是:
应用系统组成模型。这个模型主要用于估算构建原型的工作量,模型名字暗示在构建原型时大量使用已有的构件。
早期设计模型。这个模型适用于体系结构设计阶段。
后体系结构模型。这个模型适用于完成体系结构设计之后的软件开发阶段
文档评论(0)