软件工程导论之第13章软件项目管理PPT课件
合集下载
软件项目管理课程PPT80页
36
10
155 60 8
5
对该方法的有效性有争议:
支持:易计算,很多软件估算模型以它为关键的输入。 反对:LOC依赖于语言,不适用于非过程化语言,在 分析与设计完成之前难以估算。
六盘水师范学院 孙新杰
27
(2)面向功能的度量
“功能”不能直接测量,利用其他的测量数据间接 地导出。 Albrecht提出来的一种称为功能点的度量。用 下表计算5个信息域的值:
另外,可根据文档的页数、评审的时间、功能点及 源代码行数来度量软件的生产率。
六盘水师范学院 孙新杰
23
项目度量可在项目进行的基础上评估产品的质量, 以指导在必要时修改技术方法以改进质量。
软件项目度量建议每个项目都应该测量: • 输入:完成工作所需要的资源(如人员、环境); • 输出:软件工程过程中产生的工作产品; • 结果:最终产品的有效性。 项目度量集成起来产生对整个软件组织公用的过程 度量。
六盘水师范学院 孙新杰
6
⑴列出需要澄清问题的清单
⑵安排与用户进行讨论的会议 ⑶评审用户要求及范围的陈述 ⑷研究推荐的解决方案 ⑸为正式的会议准备工作文档 ⑹共同制订能反映软件的数据、功能和行为特
征的规约,形成软件范围的文档 ⑺评审文档 ⑻根据需求修改文档 …… 庇护性活动贯穿于整个过程。
六盘水师范学院 孙新杰
2名在转换期间数据输入人员
$960
(40小时/名,12美元/小时)
六盘水师范学院 孙新杰
16
培训: 三天的开发人员内部培训课程 30个用户,三天的内部培训课程
复印 磁盘、纸张等消耗品 购买硬件、软件:
20台工作站Windows软件 20台工作站内存升级 网络软件 20台工作站办公软件产品
软件项目管理课件(完整版)
(1)职责; (2)当前系统需要; (3)目标; (4)系统将来的需要。
第三章 项目范围管理
• 软件需求收集遵循的步骤
(1)客户和开发组织确定各自单一联系点,授予 做决定的权利,并代表各自的组织利益行事;
(2)双方举行会议和面谈,讨论各种需求; (3)软件开发组织分析需求的一致性和完整性; (4)开发组织以需求规格说明文档的形式得出讨
• 活动工期估计
工期是开展活动的实际时间加上占用时间。例 如,尽管可能只花一周或5天就能完成一项实际的 工作,但估计的工期可能是两周,目的是根据外 部信息留出一些额外的时间进行调整。
人工量是指完成一项任务所需的工作天数和工作 小时。工期是指时间估计,而不是人工量估计。
第五章 项目时间管理
• 常用的工期估算方法
精度多少
粗数量级
项目生命周期前期, 提供选择决策的成本
经常是项目完成前
估计
得3~5年
-50%~100%
预算估计/概算 早期,1~2年 把钱分配到预算计划 -10%~25%
确定性
项目后期,少于1 为采购提供详细内容, -5%~10%
年
估计实际费用
第四章 软件项目成本管理
• 估算方法
(1)代码行方法 ; (2)功能点方法; (3)类比估算法; (4)自下而上估算; (5)专家估算法; (6)参数估算法。
第二章 项目集成管理
• 指导和管理项目执行
指导与管理项目执行过程要求项目经理和项目团 队采取多种行动执行项目管理计划,完成项目范 围说明书中明确的工作 。
指导与管理项目执行过程最直接会受到项目应用 领域的影响。
可交付成果是为完成项目管理计划中列入并做了 时间安排的项目工作而进行的过程的成果。
第三章 项目范围管理
• 软件需求收集遵循的步骤
(1)客户和开发组织确定各自单一联系点,授予 做决定的权利,并代表各自的组织利益行事;
(2)双方举行会议和面谈,讨论各种需求; (3)软件开发组织分析需求的一致性和完整性; (4)开发组织以需求规格说明文档的形式得出讨
• 活动工期估计
工期是开展活动的实际时间加上占用时间。例 如,尽管可能只花一周或5天就能完成一项实际的 工作,但估计的工期可能是两周,目的是根据外 部信息留出一些额外的时间进行调整。
人工量是指完成一项任务所需的工作天数和工作 小时。工期是指时间估计,而不是人工量估计。
第五章 项目时间管理
• 常用的工期估算方法
精度多少
粗数量级
项目生命周期前期, 提供选择决策的成本
经常是项目完成前
估计
得3~5年
-50%~100%
预算估计/概算 早期,1~2年 把钱分配到预算计划 -10%~25%
确定性
项目后期,少于1 为采购提供详细内容, -5%~10%
年
估计实际费用
第四章 软件项目成本管理
• 估算方法
(1)代码行方法 ; (2)功能点方法; (3)类比估算法; (4)自下而上估算; (5)专家估算法; (6)参数估算法。
第二章 项目集成管理
• 指导和管理项目执行
指导与管理项目执行过程要求项目经理和项目团 队采取多种行动执行项目管理计划,完成项目范 围说明书中明确的工作 。
指导与管理项目执行过程最直接会受到项目应用 领域的影响。
可交付成果是为完成项目管理计划中列入并做了 时间安排的项目工作而进行的过程的成果。
软件工程导论课件之第13章 软件项目管理(第五版)(张海藩编著)
13.1.2 功能点技术
功能点技术依据对软件信息域特性和软件复杂
性的评估结果,估算软件规模。 这种方法用功能点(FP)为单位度量软件规模。
1. 信息域特性 功能点技术定义了信息域的5个特性: 输入项数(Inp):用户向软件输入的项数,这 些输入给软件提供面向应用的数据。 输出项数(Out):软件向用户输出的项数,它 们向用户提供面向应用的信息, 查询数(Inq):查询即是一次联机输入,它导 致软件以联机输出方式产生某种即时响应。 主文件数(Maf):逻辑主文件的数目。 外部接口数(Inf):机器可读的全部接口的数量, 用这些接口把信息传送给另一个系统。
新增加了4个成本因素,它们分别是要求的可重用性、需要 的文档量、人员连续性(即人员稳定程度)和多地点开发。 略去了原始模型中的2个成本因素(计算机切换时间和使用 现代程序设计实践)。 某些成本因素(分析员能力、平台经验、语言和工具经验) 对生产率的影响(即工作量系数最大值与最小值的比率)增 加了,另一些成本因素(程序员能力)的影响减小了。
工序 刮旧漆 2 4 刷新漆 3 6 清理 1 2
表 13.5 各道工序估计需用的时间( 小时) 墙壁 1 或3 2 或4
小时 作业 刮旧漆 刷新漆 清理
2
4
6
8
10 12 14 16 18 20 22 24
第一面墙
第二面墙
第三面墙
第四面墙
Gantt图的主要优点: Gantt图能很形象地描绘任务分解情况,以及 每个子任务(作业)的开始和结束时间。 具有直观简明和容易掌握、容易绘制的优点。 Gantt图的3个主要缺点: 不能显式地描绘各项作业彼此间的依赖关系; 进度计划的关键部分不明确,难于判定哪些部 分应当是主攻和主控的对象; 计划中有潜力的部分及潜力的大小不明确,往 往造成潜力的浪费。
软件工程项目管理ppt课件
最新版整理ppt
10
甘特图
甘特图是一种条形图,表示了项目的日程 安排和各项活动的开始和完成时间。从右 往左读,条形图清晰地给出了活动的开始 和结束。
最新版整理ppt
11
MS Project--甘特图
最新版整理ppt
12
资源分配问题
除了考虑进度安排外,项目管理者还要考 虑参加项目活动人员 的分配。可以生成条 形图。
人员
源于开发团队成员的风险 如招聘不到符合要求的职员 在项目关键时期,关键人员出现意外事情 职员培训跟不上
机构
源于开发的机构环境的风险 重新的机构调整,管理层的变更 开发过程中财务出现问题
工具
源于CASE工具和其他支持软件的风险 如CASE效率低 CASE工具不能集成
需求
源于客户对需求变更的风险 如需求发生变更,主题设计要返工,客户的不了解。
T7
20
T1(M1)
T8
25
T4(M5)
T9
15
T3,T6(M4)
T10
15
ห้องสมุดไป่ตู้T5,T7(M7)
T11
7
T9(M6)
T12
10
T11(M8)
最新版整理ppt
7
MS Project—活动网络图
最新版整理ppt
8
关键路径解释
关键路径(CPM,Critical Path Method) 从起点到终点,可以有许多条路径,我们
风险识别
风险分析
风险规划
风险监控
潜在的风险 列表
优先级高的 风险列表
风险规避和 应急计划
风险评估
图:风险管理过程
最新版整理ppt
软件项目管理课程PPT113页
计算程序控制结构的V(G)值
E = 4 E = 3 N = 4 N = 3 V = 2 V = 2
计算程序控制结构的V(G)值
E = 6 N = 5 V = 3
例3.1 计算如图所示程序控制结构图的V(G)值。 (a) e=1,n=2,v=1; (b) e=3,n=3,v=2; (c) e=4,n=4,v=2; (d) e=3,n=3,v=2; (e) e=6,n=5,v=3.
过程的内部属性 工作量 计划和进度 一段时间内某类事件发生的次数 过程的外部属性 成本 可控制性 可观察性 稳定性 资源的内部属性 人 软硬件环境 方法 经验 资源的外部属性 成本 时间
3.1.1.2 面向规模的度量
代码行数 LOC或KLOC 生产率 Pl=L/E 其中 L 软件项目代码行数 E 软件项目工作量(人月 PM) Pl 软件项目生产率(LOC/PM) 代码出错率 EQRl=Ne/L 其中 Ne 软件项目的代码错误数 EQRl 每千行代码的错误数
每行代码平均成本 Cl=S/L 其中 S 软件项目总开销(元/美元) Cl软件项目每行代码的平均成本 文档与代码比 Dl=Pd/L 其中 Pd 软件项目文档页数 Dl 每千行代码的平均文档数
软件的外部属性和内部属性 外部属性 软件产品、过程、资源与环境的关系 如,成本、效益、劳动生产率、可靠性、可维护性 内部属性 软件产品、过程、资源、环境自身的属性 如,产品结构、模块化程度、复杂性、程序长度等。
产品-过程-资源
产品的内部属性 程序代码长度 程序功能 模块化 重用性 控制流 数据流 模块耦合度与内聚度 产品的外部属性 程序的可靠性 可用性 可维护性 软件的可理解性 有效性 可移植性
例3.1计算程序控制结构的V(G)值
软件工程项目管理ppt
Enter your main title
Disruptive technologies such as artificial intelligence and big data are changing the world of work. Retail jobs are
项目团队建设
标题内容
标题内容
单击此处可编辑内容,根据您的需要自由拉伸文本框大小
单击此处可编辑内容,根据您的需要自由拉伸文本框大小
单击此处可编辑内容,根据您的需要自由拉伸文本框大小
单击此处可编辑内容,根据您的需要自由拉伸文本框大小
项目成本控制
单击此处添加文字阐述添加简短问题说明文字,单击此处添加文字阐述添加简短问题说明文字
标题内容
There is one kind of job though, that is both indispensable and
TEXT HERE
There is one kind of job though, that is both indispensable and
信息传递流程
There is one kind of job though, that is both indispensable and
项目质量控制
单击此处添加文字阐述,添加简短问题说明文字,具体添加文字
单击此处添加文字阐述,添加简短问题说明文字,具体添加文字
单击此处添加文字阐述,添加简短问题说明文字,具体添加文字
TEXT HERE
There is one kind of job though, that is both indispensable and
Disruptive technologies such as artificial intelligence and big data are changing the world of work. Retail jobs are disappearing in the US while the online sellers supplanting them fill their warehouses with robots instead of human workers.
软件项目管理ppt课件
15
IT项目管理-项目风险管理-14
Q期望货币值
. 期望货币值(EMV)是风险事件概率和风险 事件货币值的乘积
. 用于组织决定应该从事什么项目
10/12/2023
16
IT项目管理-项目风险管理-15
期望货币值(EMV)示例
10/12/2023
17
IT项目管理-项目风险管理-16
Q计算风险因子
. 计算风险因子——代表各种具体事件的整体 风险的数字(基于其发生的概率和对项目造 成的影响)
– 成本加成本百分比合同
– 买方向卖方支付容许的完成任务的成本,加上事先约 定的总成本的一定百分比。
. 单价合同
– 要求买方向卖方按单位服务的预定金额支付的合 同
10/12/2023
36
IT项目管理-项目采购管理-11
高
CPPC成 本加成 本百分 比合同
买方的风险
CPFF成 本加固 定费合
Q应急储备
. 是项目发起人为了应付项目范围或质量上可 能发生的变更而持有的预备资金
10/12/2023
22
IT项目管理-项目风险管理-21
Q风险应对控制
. 包括执行风险管理过程和风险管理计划,以 应对风险事件
. 执行风险管理过程是指确保风险意识是一项 在整个项目过程中、有全体项目团队成员执 行的不间断的活动
. 成本补偿合同
– 指向卖方支付直接和间接实际成本 – 成本加奖励费合同
– 买方向卖方支付容许的完成任务的成本以及事先决定 的费用和激励奖金
10/12/2023
35
IT项目管理-项目采购管理-10
– 成本加固定费合同
– 买方向卖方支付容许的完成任务的成本,加上按估算 成本一定百分比计算的固定费用。
软件开发项目管理 ppt课件
软件开发项目管理
P1
Contents
1 项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P2
精品资料
• 你怎么称呼老师? • 如果老师最后没有总结一节课的重点的难点,你
是否会认为老师的教学方法需要改进? • 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭 • “不怕太阳晒,也不怕那风雨狂,只怕先生骂我笨,
P 11
项目经理人员能力要求
技術
文档能力
对项目经理人员的能力要求
管理 综合能力 沟通
业务
经验
威信?亲和力?抗压能力?发现问题的能力?口才?
P 12
Contents
1 项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P 13
人员管理-人员分类
能力
能力强,不积极
P 30
Contents
1 软件项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P 31
如何做事-5W/1H
什么是5W/1H?
1.“5W/1H”是一种定律,是一种原理,也是一种流程,更是一种工具,广泛运用至企业管理和日常工作生 活和学习中; 2.“5W/1H”为我们提供了科学的工作分析方法,常常被运用到制定计划草案上和对工作的分析与规划中, 并能使我们提高效率和使工作的有效执行。
P6
对项目经理的质问 对项目经理的质问
项目的作业内容(开发范围)很清楚吗? 项目计划安排合理吗?能保证按时上线?各个阶段设置时间段合理吗? 你对所有人员的能力都很清楚吗?人员和体制安排合理吗?是否有超过人员能力的安排 ?是否有的人太闲,有的人太忙? 所有的进度都在控制之中吗?客户询问进度情况你能应答自如? 你对项目平品质指标很清楚吗?对品质有没有信心?哪个地方的品质是你担心的?如果 有不放心的地方都采取了妥当的措施保证不会出问题?总体上能保证品质吗? 客户提的要求你都满足了吗?客户对你放心满意吗?客户问你项目的情况,你都能做出 合理的回答和解释吗? 你的上级对你放心吗?你的下属服从安排吗? 当前项目有哪些问题你都清楚吗?所有的问题是不是都在你的掌控之中? 你是否能在压力下工作?外界的压力是否影响你工作效率和质量? 整个项目都是按你的预想在前进吗?
P1
Contents
1 项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P2
精品资料
• 你怎么称呼老师? • 如果老师最后没有总结一节课的重点的难点,你
是否会认为老师的教学方法需要改进? • 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭 • “不怕太阳晒,也不怕那风雨狂,只怕先生骂我笨,
P 11
项目经理人员能力要求
技術
文档能力
对项目经理人员的能力要求
管理 综合能力 沟通
业务
经验
威信?亲和力?抗压能力?发现问题的能力?口才?
P 12
Contents
1 项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P 13
人员管理-人员分类
能力
能力强,不积极
P 30
Contents
1 软件项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P 31
如何做事-5W/1H
什么是5W/1H?
1.“5W/1H”是一种定律,是一种原理,也是一种流程,更是一种工具,广泛运用至企业管理和日常工作生 活和学习中; 2.“5W/1H”为我们提供了科学的工作分析方法,常常被运用到制定计划草案上和对工作的分析与规划中, 并能使我们提高效率和使工作的有效执行。
P6
对项目经理的质问 对项目经理的质问
项目的作业内容(开发范围)很清楚吗? 项目计划安排合理吗?能保证按时上线?各个阶段设置时间段合理吗? 你对所有人员的能力都很清楚吗?人员和体制安排合理吗?是否有超过人员能力的安排 ?是否有的人太闲,有的人太忙? 所有的进度都在控制之中吗?客户询问进度情况你能应答自如? 你对项目平品质指标很清楚吗?对品质有没有信心?哪个地方的品质是你担心的?如果 有不放心的地方都采取了妥当的措施保证不会出问题?总体上能保证品质吗? 客户提的要求你都满足了吗?客户对你放心满意吗?客户问你项目的情况,你都能做出 合理的回答和解释吗? 你的上级对你放心吗?你的下属服从安排吗? 当前项目有哪些问题你都清楚吗?所有的问题是不是都在你的掌控之中? 你是否能在压力下工作?外界的压力是否影响你工作效率和质量? 整个项目都是按你的预想在前进吗?
软件项目管理 PPT课件
下式计算程序a 规4模m的估b 计值: 6
L=
(单位可以是LOC或KLOC)
❖ 当有以往开发类似产品的历史数据可供参考时,用这种方法估计出的 数值还是比较准确的。
❖ 代码行技术的主要优点是,代码是所有软件开发项目都有的“产品” ,而且很容易计算代码行数。
❖ 代码行技术的缺点是: 源程序仅是软件配置的一个成分,用它的规 模代表整个软件的规模不太合理;用不同语言实现同一个软件所需要 的代码行数并不相同;这种方法不适用于非过程语言。
3.用功能点技术估算每个子功能的规模
为了计算未调整的功能点数,假设每个信息域特 性的复杂度都是平均级别的
信息域值 输入数 输出数 查询数 文件数 外部接口数 总计数值
最小值 20 12 16 4 2
估算未调整的功能点数
可能值 24 15 22 4 2
13.1.2 功能点技术
❖ 功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算 软件规模。这种方法用功能点(FP)为单位度量软件规模。
1. 信息域特性 ❖ 功能点技术定义了信息域的5个特性,分别是: ① 输入项数(Inp):提供给程序的数据项数,不包括查询 ② 输出项数(Out):程序输出的数据项数 ③ 查询数(Inq):不改变程序内部数据的请求-响应对的数目 ④ 主文件数(Maf):必须由系统维护的逻辑主文件的数目 ⑤ 外部接口数(Inf):与其他程序共享的数据的数目
13.2.2 动态多变量模型
❖ 动态多变量模型也称为软件方程式。该模型把工作量看作是软件规 模和开发时间这两个变量的函数。动态多变量估算模型的形式如下 :
E = (LOC×B0.333/P)3×(1/t)4
其中,
E是以人月或人年为单位的工作量;
t是以月或年为单位的项目持续时间;
L=
(单位可以是LOC或KLOC)
❖ 当有以往开发类似产品的历史数据可供参考时,用这种方法估计出的 数值还是比较准确的。
❖ 代码行技术的主要优点是,代码是所有软件开发项目都有的“产品” ,而且很容易计算代码行数。
❖ 代码行技术的缺点是: 源程序仅是软件配置的一个成分,用它的规 模代表整个软件的规模不太合理;用不同语言实现同一个软件所需要 的代码行数并不相同;这种方法不适用于非过程语言。
3.用功能点技术估算每个子功能的规模
为了计算未调整的功能点数,假设每个信息域特 性的复杂度都是平均级别的
信息域值 输入数 输出数 查询数 文件数 外部接口数 总计数值
最小值 20 12 16 4 2
估算未调整的功能点数
可能值 24 15 22 4 2
13.1.2 功能点技术
❖ 功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算 软件规模。这种方法用功能点(FP)为单位度量软件规模。
1. 信息域特性 ❖ 功能点技术定义了信息域的5个特性,分别是: ① 输入项数(Inp):提供给程序的数据项数,不包括查询 ② 输出项数(Out):程序输出的数据项数 ③ 查询数(Inq):不改变程序内部数据的请求-响应对的数目 ④ 主文件数(Maf):必须由系统维护的逻辑主文件的数目 ⑤ 外部接口数(Inf):与其他程序共享的数据的数目
13.2.2 动态多变量模型
❖ 动态多变量模型也称为软件方程式。该模型把工作量看作是软件规 模和开发时间这两个变量的函数。动态多变量估算模型的形式如下 :
E = (LOC×B0.333/P)3×(1/t)4
其中,
E是以人月或人年为单位的工作量;
t是以月或年为单位的项目持续时间;
《软件项目管理》PPT课件
22
Software Project Management
软件工程 软件开发经验 软件开发方法 程序设计语言
6.先导要求
23
Software Project Management
学习和掌握先导课程 理解知识点和思想
无需死记硬背 大胆提出你的想法和意见
掌握方法和工具 运用解决实际问题 阅读相关资料
布鲁克斯?
20世纪最后一年也就是1999年的图灵奖授予了年已69岁 的资深计算机科学家布鲁克斯(Frederick Phillips Brooks,Jr.)。布鲁克斯这个名字在中国知之者不多,但在 美国却是 大名鼎鼎的,因为他在60年代初只有29岁时就 主持与领导了被 称为人类从原子能时代进入信息时代标 志的IBM/360系列计算 机的开发工作,取得辉煌成功,从 而名噪一时。以后他作为硬 件和软件的双重专家和出色 的教育家始终活跃在计算机舞 台上,在计算机技术的诸 多领域中都做出了巨大的贡献。从某 种意义上说,对于 布鲁克斯而言,图灵奖是一个“迟到的荣誉”
7
Software Project Management
软件危机的表现(2 of 3)
软件质量得不到保证
软件应用面的扩大:科学计算、军事、航空航天、工业控制、企 业管理、办公、家庭
软件越来越多的应用于安全犹关(safety critical)的系统,对软件质 量提出更高的要求
80年代欧洲亚丽安娜火箭的发射失败,原因是软件错误 美国阿托拉斯火箭的发射失败,原因是软件故障 英国1986年开发的办公室信息系统Folios经4年,因性能达不到要
11
Software Project Management
技术手段不能完全解决软件危机
到了20世纪90年代,软件危机依然存在,甚至更为严重
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
(2) 计算技术复杂性因子TCF 这一步骤度量14种技术因素对软件规模的影响
程度。在表13.2中列出了全部技术因素,并用 Fi(1≤i≤14)代表这些因素。 根据软件的特点,为每个因素分配一个从0 (不存在或对软件规模无影响)到5(有很大 影响)的值。
11
表 13 . 2 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14
动态多变量估算模型的形式如下: E=(LOC×B0.333/P)3×(1/t)4
技术复杂性因子TCF由下式计算: TCF = 0.65 + 0.01 × DI
因为DI的值在0~70之间,所以TCF的值在 0.65~1.35之间。
13
(3) 计算功能点数FP FP = UFP × TCF
功能点技术优点:与所用的编程语言无关,比 代码行技术更合理。
功能点技术缺点:在判断信息域特性复杂级别 和技术因素的影响程度时主观因素较大,对经 验依赖性较强。
4
估算方法:
由多名有经验的软件工程师分别做出估计。
每个人都估计程序的最小规模(a)、最大规模(b) 和最可能的规模(m),
分别算出这3种规模的平均值、和之后,再用 下式计算程序规模的估计值:
单位:
L a4mb 6
LOC或KLOC。
5
代码行技术的优点: 代码是所有软件开发项目都有的“产品”,而
14
13.2 工作量估算
软件估算模型使用由经验导出的公式来预测软 件开发工作量,工作量是软件规模(KLOC或 FP)的函数,工作量的单位通常是人月(pm)。
支持大多数估算模型的经验数据,都是从有限 个项目的样本集中总结出来的,因此,没有一 个估算模型可以适用于所有类型的软件和开发 环境。
15
13.2.1 静态单变量模型
这种方法用功能点(FP)为单位度量软件规模。
7
1. 信息域特性 功能点技术定义了信息域的5个特性: 输入项数(Inp):用户向软件输入的项数,这
些输入给软件提供面向应用的数据。 输出项数(Out):软件向用户输出的项数,它
们向用户提供面向应用的信息, 查询数(Inq):查询即是一次联机输入,它导
为了估算项目的工作量和完成期限,首先需要 估算软件的规模。
3
13.1 估算软件规模 13.1.1 代码行技术
代码行技术是比较简单的定量估算软件规模的 方法。
依据以往开发类似产品的经验和历史数据,估 计实现一个功能所需要的源程序行数。
当有以往开发类似产品的历史数据可供参考时, 估计出的数值还是比较准确的。把实现每个功 能所需要的源程序行数累加起来,就可得到实 现整个软件所需要的源程序行数。
且很容易计算代码行数; 有大量参考文献和数据 。 代码行技术的缺点: 源程序仅是软件配置的一个成分,由源程序度
量软件规模不太合理; 用不同语言实现同一个软件所需要的代码行数
并不相同; 不适用于非过程性语言。
6
13.1.2 功能点技术
功能点技术依据对软件信息域特性和软件复杂 性的评估结果,估算软件规模。
2. 面向FP的估算模型 (1) Albrecht & Gaffney模型 E=-13.39+0.0545FP (2) Maston,Barnett和Mellichamp模型 E=585.7+15.12FP
17
13.2.2 动态多变量模型
动态多变量模型也称为软件方程式,该模型把工作量 看作是软件规模和开发时间这两个变量的函数。
总体结构形式如下: E = A + B × (ev) C
其中,A、B和C是由经验数据导出的常数, E是以人月为单位的工作量, ev是估算变量(KLOC或FP)。
16
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模型(在KLOC>9时适用) E=5.288×(KLOC)1.047
Fi
技术因素
F1
数据通信
F2
分布式数据处理
F3
性能标准
F4
高负荷的硬件
F5
高处理率
联机数据输入
F7
终端用户效率
F8
联机更新
F9
复杂的计算
F10
可重用性
F11
安装方便
F12
操作方便
F13
可移植性
F14
可维护性
12
然后,用下式计算技术因素对软件规模的综合 影响程度DI:
14
DI Fi i 1
特性系数
输入系数 a1 输出系数 a2 查询系数 a3 文件系数 a4 接口系数 a5
简单
3 4 3 7 5
平均
4 5 4 10 7
复杂
6 7 6 15 10
9
2. 估算功能点的步骤 (1) 计算未调整的功能点数UFP 首先,把产品信息域的每个特性都分类为简单
级、平均级或复杂级,并根据其等级为每个特 性分配一个功能点数。 然后,用下式计算未调整的功能点数UFP: UFP=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5 ×Inf 其中,ai(1≤i≤5)是信息域特性系数,其值由相 应特性的复杂级别决定,如表13.1所示。
第13章 软件项目管理
13.1 估算软件规模 13.2 工作量估算 13.3 进度计划 13.4 人员组织 13.5 质量保证 13.6 软件配置管理 13.7 能力成熟度模型
1
所谓管理就是通过计划、组织和控制等一系列 活动,合理地配置和使用各种资源,以达到既 定目标的过程。
技术
度量软件规模
软件工程
致软件以联机输出方式产生某种即时响应。 主文件数(Maf):逻辑主文件的数目。 外部接口数(Inf):机器可读的全部接口的数量,
用这些接口把信息传送给另一个系统。
8
每个特征根据其复杂程度分配一个功能点数, 即信息域特征系数a1,a2,a3,a4,a5,见表 13.1。
表 13. 1 复杂级别
计划 估算工作量 明确软件开发的目标
进度计划
管理 组织 提供组织机构和资源配置方面的保证
风险管理
控制 质量保证 保证开发目标的实现
配置管理
2
软件项目管理先于任何技术活动之前开始,并 且贯穿于软件的整个生命周期之中。
软件项目管理过程从一组项目计划活动开始, 而制定计划的基础是工作量估算和完成期限估 算。
(2) 计算技术复杂性因子TCF 这一步骤度量14种技术因素对软件规模的影响
程度。在表13.2中列出了全部技术因素,并用 Fi(1≤i≤14)代表这些因素。 根据软件的特点,为每个因素分配一个从0 (不存在或对软件规模无影响)到5(有很大 影响)的值。
11
表 13 . 2 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14
动态多变量估算模型的形式如下: E=(LOC×B0.333/P)3×(1/t)4
技术复杂性因子TCF由下式计算: TCF = 0.65 + 0.01 × DI
因为DI的值在0~70之间,所以TCF的值在 0.65~1.35之间。
13
(3) 计算功能点数FP FP = UFP × TCF
功能点技术优点:与所用的编程语言无关,比 代码行技术更合理。
功能点技术缺点:在判断信息域特性复杂级别 和技术因素的影响程度时主观因素较大,对经 验依赖性较强。
4
估算方法:
由多名有经验的软件工程师分别做出估计。
每个人都估计程序的最小规模(a)、最大规模(b) 和最可能的规模(m),
分别算出这3种规模的平均值、和之后,再用 下式计算程序规模的估计值:
单位:
L a4mb 6
LOC或KLOC。
5
代码行技术的优点: 代码是所有软件开发项目都有的“产品”,而
14
13.2 工作量估算
软件估算模型使用由经验导出的公式来预测软 件开发工作量,工作量是软件规模(KLOC或 FP)的函数,工作量的单位通常是人月(pm)。
支持大多数估算模型的经验数据,都是从有限 个项目的样本集中总结出来的,因此,没有一 个估算模型可以适用于所有类型的软件和开发 环境。
15
13.2.1 静态单变量模型
这种方法用功能点(FP)为单位度量软件规模。
7
1. 信息域特性 功能点技术定义了信息域的5个特性: 输入项数(Inp):用户向软件输入的项数,这
些输入给软件提供面向应用的数据。 输出项数(Out):软件向用户输出的项数,它
们向用户提供面向应用的信息, 查询数(Inq):查询即是一次联机输入,它导
为了估算项目的工作量和完成期限,首先需要 估算软件的规模。
3
13.1 估算软件规模 13.1.1 代码行技术
代码行技术是比较简单的定量估算软件规模的 方法。
依据以往开发类似产品的经验和历史数据,估 计实现一个功能所需要的源程序行数。
当有以往开发类似产品的历史数据可供参考时, 估计出的数值还是比较准确的。把实现每个功 能所需要的源程序行数累加起来,就可得到实 现整个软件所需要的源程序行数。
且很容易计算代码行数; 有大量参考文献和数据 。 代码行技术的缺点: 源程序仅是软件配置的一个成分,由源程序度
量软件规模不太合理; 用不同语言实现同一个软件所需要的代码行数
并不相同; 不适用于非过程性语言。
6
13.1.2 功能点技术
功能点技术依据对软件信息域特性和软件复杂 性的评估结果,估算软件规模。
2. 面向FP的估算模型 (1) Albrecht & Gaffney模型 E=-13.39+0.0545FP (2) Maston,Barnett和Mellichamp模型 E=585.7+15.12FP
17
13.2.2 动态多变量模型
动态多变量模型也称为软件方程式,该模型把工作量 看作是软件规模和开发时间这两个变量的函数。
总体结构形式如下: E = A + B × (ev) C
其中,A、B和C是由经验数据导出的常数, E是以人月为单位的工作量, ev是估算变量(KLOC或FP)。
16
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模型(在KLOC>9时适用) E=5.288×(KLOC)1.047
Fi
技术因素
F1
数据通信
F2
分布式数据处理
F3
性能标准
F4
高负荷的硬件
F5
高处理率
联机数据输入
F7
终端用户效率
F8
联机更新
F9
复杂的计算
F10
可重用性
F11
安装方便
F12
操作方便
F13
可移植性
F14
可维护性
12
然后,用下式计算技术因素对软件规模的综合 影响程度DI:
14
DI Fi i 1
特性系数
输入系数 a1 输出系数 a2 查询系数 a3 文件系数 a4 接口系数 a5
简单
3 4 3 7 5
平均
4 5 4 10 7
复杂
6 7 6 15 10
9
2. 估算功能点的步骤 (1) 计算未调整的功能点数UFP 首先,把产品信息域的每个特性都分类为简单
级、平均级或复杂级,并根据其等级为每个特 性分配一个功能点数。 然后,用下式计算未调整的功能点数UFP: UFP=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5 ×Inf 其中,ai(1≤i≤5)是信息域特性系数,其值由相 应特性的复杂级别决定,如表13.1所示。
第13章 软件项目管理
13.1 估算软件规模 13.2 工作量估算 13.3 进度计划 13.4 人员组织 13.5 质量保证 13.6 软件配置管理 13.7 能力成熟度模型
1
所谓管理就是通过计划、组织和控制等一系列 活动,合理地配置和使用各种资源,以达到既 定目标的过程。
技术
度量软件规模
软件工程
致软件以联机输出方式产生某种即时响应。 主文件数(Maf):逻辑主文件的数目。 外部接口数(Inf):机器可读的全部接口的数量,
用这些接口把信息传送给另一个系统。
8
每个特征根据其复杂程度分配一个功能点数, 即信息域特征系数a1,a2,a3,a4,a5,见表 13.1。
表 13. 1 复杂级别
计划 估算工作量 明确软件开发的目标
进度计划
管理 组织 提供组织机构和资源配置方面的保证
风险管理
控制 质量保证 保证开发目标的实现
配置管理
2
软件项目管理先于任何技术活动之前开始,并 且贯穿于软件的整个生命周期之中。
软件项目管理过程从一组项目计划活动开始, 而制定计划的基础是工作量估算和完成期限估 算。