- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程第13章软件项目管理讲述
第13章 软件项目管理
13.1 估算软件规模
13.2 工作量估算
13.3 进度计划
13.4 人员组织
13.5 质量保证
13.6 软件配置管理
13.7 能力成熟度模型
所谓管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。
软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。
软件项目管理过程从一组项目计划活动开始,而制定计划的基础是工作量估算和完成期限估算。为了估算项目的工作量和完成期限,首先需要估算软件的规模。
简单的定量估算软件规模的方法:依据以往开发类似产品的经验和历史数据,估计实现一个功能所需要的源程序行数。把实现每个功能所需要的源程序行数累加起来,就可得到实现整个软件所需要的源程序行数(单位:KLOC千行代码数)。
13.1 估算软件规模 13.1.1 代码行技术
13.1.2 功能点技术
功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。这种方法用功能点(FP)为单位度量软件规模。
软件估算模型使用由经验导出的公式来预测软件开发工作量,工作量是软件规模(KLOC或FP)的函数,工作量的单位通常是人月(pm)。
13.2 工作量估算
13.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.39+0.0545FP
(2) Maston,Barnett和Mellichamp模型
E=585.7+15.12FP
这些模型多数都是仅根据若干应用领域中有限个项目的经验数据推导出来的,适用范围有限。因此,必须根据当前项目的特点选择适用的估算模型,并且根据需要适当地调整(例如,修改模型常数)估算模型。
动态多变量模型也称为软件方程式,它是根据从4000多个当代软件项目中收集的生产率数据推导出来的。该模型把工作量看作是软件规模和开发时间这两个变量的函数。动态多变量估算模型的形式如下:
E=(LOC×B0.333/P)3×(1/t)4 (13.2)
其中,
E是以人月或人年为单位的工作量;
B是特殊技术因子,P是生产率参数, t是以月或年为单位的项目持续时间;
13.2.2 动态多变量模型
COCOMO2(构造性成本模型),用于成本估算。给出了3个层次的软件开发工作量估算模型,对软件细节考虑的详尽程度逐级增加。这些模型既可以用于不同类型的项目,也可以用于同一个项目的不同开发阶段:
(1) 应用系统组成模型。这个模型主要用于估算构建原型的工作量,模型名字暗示在构建原型时大量使用已有的构件。
(2) 早期设计模型。这个模型适用于体系结构设计阶段。
(3) 后体系结构模型。这个模型适用于完成体系结构设计之后的软件开发阶段。
13.2.3 COCOMO2模型
在开发软件的过程中,变化(或称为变动)既是必要的,又是不可避免的。但是,变化也很容易失去控制,如果不能适当地控制和管理变化,势必造成混乱并产生许多严重的错误。
软件配置管理是在软件的整个生命期内管理变化的一组活动。具体地说,这组活动用来: ①标识变化; ②控制变化; ③确保适当地实现了变化; ④向需要知道这类信息的人报告变化。
软件配置管理的目标是,使变化更正确且更容易被适应,在必须变化时减少所需花费的工作量。
13.6 软件配置管理
1. 软件配置项
软件过程的输出信息可以分为3类: ①计算机程序(源代码和可执行程序); ②描述计算机程序的文档(供技术人员或用户使用); ③数据(程序内包含的或在程序外的)。
上述这些项组成了在软件过程中产生的全部信息,我们把它们统称为软件配置,而这些项就是软件配置项。
为了开发出高质量的软件产品,软件开发人员不仅要努力保证每个软件配置项正确,而且必须保证一个软件的所有配置项是完全一致的。
13.6.1 软件配置
2. 基线
基线是一个软件配置管理概念, IEEE把基线定义为: 已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。
简而言之,基线就是通过了正式复审的软件配置项。在软件配
文档评论(0)