- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十三章 管理技术 所谓管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。 13.1 估算软件规模 13.2 工作量估算 13.3 进度计划 13.4 人员组织 13.5 质量保证 13.6 软件配置管理 13.7 能力成熟度模型 第十三章 管理技术 (Software Management) 经理管什么? §13.1估算软件规模 §13.1估算软件规模 ⑴代码行技术: 估计实现一个功能所需要的源程序行数。 请多位专家估算程序的最小规模 a ,最可能的规模 m,和最大规模 b 。以三组平均值估算程序规模: 用代码行技术估算软件规模时,当程序较小时常用的单位是代码行数(LOC),当程序较大时常用的单位是千行代码数(KLOC)。 §13.1估算软件规模 ⑵功能点技术 功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。这种方法用功能点(FP)为单位度量软件规模。 信息域特性:输入项数(Inp)、输出项数(Out)、查询数(Inq)、主文件数(Maf)和外部接口数(Inf)。 估算功能点的步骤: (1)计算未调整的功能点数UFP UFP=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5×Inf 其中,ai(1≤i≤5)是信息域特性系数,其值由相应特性的复杂级别决定,如表13.1(见书297页)所示。 §13.1估算软件规模 ⑵功能点技术 估算功能点的步骤: (2)计算技术复杂性因子TCF 这一步骤度量14种技术因素对软件规模的影响程度,见表13.2(见书297页),并用Fi(1≤i≤14)代表这些因素。 TCF=0.65+0.01×DI 其中DI= (3)计算功能点数FP FP=UFP×TCF §13.2 工作量估算 软件估算模型使用由经验导出的公式来预测软件开发工作量,工作量是软件规模(KLOC或FP)的函数,工作量的单位通常是人月(pm)。 ⑴静态单变量模型: 这类模型的总体结构形式如下: E=A+B×(ev)C 其中,A、B和C是由经验数据导出的常数,E是以人月为单位的工作量,ev是估算变量(KLOC或FP)。估计实现一个功能所需要的源程序行数。 面向KLOC的估算模型 Walston_Felix模型:E=5.2×(KLOC)0.91 Bailey_Basili模型:E=5.5+0.73×(KLOC)1.16 Boehm简单模型:E=3.2×(KLOC)1.05 Doty模型: E=5.288×(KLOC)1.047 (在KLOC9时适用) §13.2 工作量估算 ⑴静态单变量模型: 面向FP的估算模型 Albrecht Gaffney模型:E=-13.39+0.0545FP Maston,Barnett和Mellichamp模型:E=585.7+15.12FP ⑵动态多变量模型: 动态多变量模型也称为软件方程式。该模型把工作量看作是软件规模和开发时间这两个变量的函数。形式如下: E=(LOC×B0.333/P)3×(1/t)4 其中,E是以人月或人年为单位的工作量;t是以月或年为单位的项目持续时间; B是特殊技术因子,对于较小的程序(KLOC=5~15),B=0.16,对于超过70 KLOC的程序,B=0.39; P是生产率参数,开发实时嵌入式软件时,P的典型值为2000;开发电信系统和系统软件时,P=10000;对于商业应用系统来说,P=28000。 §13.2 工作量估算 ⑶COCOMO2模型: COCOMO是构造性成本模型(constructive cost model)的英文缩写。该模型把软件开发工作量表示成代码行数(KLOC)的非线性函数: E= 其中,E是开发工作量(以人月为单位); a是模型系数,a的典型值为3.0; KLOC是估计的源代码行数(以千行为单位); b是模型指数,b= fi(i=1~17)是成本因素,表13.3(见书300页)列出。 §13.3 项目进度计划 (Software Plan) 可以把用于一般开发项目的进度安排的技术和工具应用于软件项目。 一个有效的软件过程应该定义一个适用于当前项目的任务集合。一个任务集合包括一组软件工程工作任务、里程碑和可交付的产品。 项目管理者的目标是定义全部项目任务,识别出关键任务,跟踪关键任务的进展状况,以保证能及时发现拖延进度的情况。为达到上述目标,管理者必须制定一个足够详细的进度表,以便监督项目进度并控制整个项目。 为监控软件项目的进度计划和工
文档评论(0)