第11章软件工程管理.pptx
11-电子教材_软件工程管理
3.3 软件工程管理当今世界,“软件无处不在”,“软件定义世界”。
IBM软件集团总经理Kristof Kloeckner曾经说过:“我们现在正处在一个‘软件无处不在’的时代,软件被用于创建更高能效的世界,驾驭信息爆炸,与数亿万计的设备实现通信;同时软件还不断促进产品差异化,为全球市场提供服务。
如今,全球经济体的创新越来越依赖于软件的创新:无论是在系统工程领域,还是在其他的科学研究领域,全球的创新在很大的程度上是以软件的开发、变更和监控为基础。
”无处不在的软件应用正在重新定义并深刻改变整个世界,软件在人类生活中扮演者越来越重要的角色,人们每天的生活、工作,时刻都离不开这样那样的软件,软件已经成为一个极其重要的产业形态。
软件是一种特殊的产品,随着其规模和复杂度的提高,使用范围的扩大,需要从技术和管理两方面对软件的开发过程进行控制,软件工程就是专门研究用工程化的方法构建和维护有效、实用、高质量软件的学科。
3.3.1 软件工程概述1996年6月,耗资70亿美元的ARIANE5火箭在发射37秒后爆炸。
发射失败的原因在于软件的错误,程序中试图将64位浮点数转换为16位整数时产生溢出,缺少错误处理程序对数据溢出进行管理,同时也缺少软件备份的处理。
软件开发和维护会遇到一系列严重问题。
软件工程是基于软件危机提出的,是采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的观念技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效维护它。
1.软件的概念(1)软件的定义软件是计算机系统中与硬件相互依存的部分,它包括程序、数据及其相关文档的完整集合。
即,软件=程序+数据+相关文档。
其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。
(2)软件的特点软件是看不到、摸不到的,硬件是实实在在存在的,当然在开发、生产、维护和使用等方面,软件和硬件也不同,软件具有以下几个特点:●软件是抽象的,是逻辑实体,不是物理实体。
《软件工程》教学课件 第11章 软件项目管理
下 表 是 根 据 63 个 项 目 的 数 据 统 计 结 果 , 按 照 基 本 的 COCOMO模型估算的工作量和进度。
总体类型 组织型
半独立型 嵌入型
工作量 MM=10.4(KLOG)1.05 MM=3.0(KLOG)1.12 MM=3.6(KLOG)1.20
进度 TDEV=10.5(MM)0.38 TDEV=10.5(MM)0.35 TDEV=10.5(MM)0.32
i1
其中:ai — 估计的最小行数 bi — 估计的最大行数 mi — 最可能的行数
将估算的源代码行数,乘以根据经验推算的每行源代 码所需成本,即为该软件的成本。
IBM 估算模型
1977年由Waiston 和 Felix 总结了IBM联合系统 分部(FSD)负责的60个项目的数据,利用最小二 乘法拟合,得到如下估算公式:
PERT(Program evaluation & review technique)计 划评审技术或CPM(Critical path method)关键路径法, 都是采用网络图来描述项目的进度安排。如图描述了开发 模块A、B、C的任务网络图。各边上所标注的数字为该任 务所持续的时间,数字结点为任务的起点和终点。
70
任务
月份 1 2 3 4 5 6 7 8 9 10 11 12
60
需求分析 ▲ ▲ ▲
50
总体设计
▲ ▲▲
40
详细设计
▲▲
30
编码 软件测试
▲ ▲▲
20
10
▲▲▲
0 一月
二月
三月
四月
五月
六月
进度表
2.甘特图(Gantt Chart)
软件工程导论第11章
【还可以把适配接口再进一步细分为转换接口和扩充接口。转换接口, 是为了克服与表示方法、数据结构或硬件特点相关的操作给重用带来 的困难而设计的,这类接口是每个类构件在重用时都必须重新定义的 服务的集合。当使用C++语言编程时,应该在根类(或适当的基类)中, 把属于转换接口的服务定义为纯虚函数。如果某个服务有多种可能的 实现算法,则应该把它当作扩充接口。扩充接口与转换接口不同,并 不需要强迫用户在派生类中重新定义它们,相反,如果在派生类中没 有给出扩充接口的新算法,则将继承父类中的算法。当用C++语言实现 时,在基类中把这类服务定义为普通的虚函数。】
4. 弱耦合 耦合:指一个软件结构内不同模块之间互连的紧 密程度。 在面向对象方法中,对象是最基本的模块,因此, 耦合主要指不同对象之间相互关联的紧密程度。 弱耦合是优秀设计的一个重要标准。
5
对象之间的耦合分为两大类: (1) 交互耦合: 对象之间的耦合通过消息连接来实现。 使交互耦合尽可能松散,应遵守下述准则: 尽量降低消息连接的复杂程度。 应该尽量减少消息中包含的参数个数,降低参数的复 杂程度。 减少对象发送(或接收)的消息数。 (2) 继承耦合 与交互耦合相反,应该提高继承耦合程度。 通过继承关系结合起来的基类和派生类,构成系统中 粒度更大的模块。设计时应该使特殊类尽量多继承并 使用其一般化类的属性和服务,从而更紧密地耦合到 其一般化类。
13
2. 软件成分的重用级别 (1) 代码重用 源代码剪贴:最原始的重用形式。 复制或修改原有代码时可能出错,存在严重的配臵 管理问题,人们几乎无法跟踪原始代码块多次修改 重用的过程。 源代码包含:许多程序设计语言都提供包含库中 源代码的机制。配臵管理问题有所缓解,修改了库 中源代码之后,所有包含它的程序自然都必须重新 编译。 继承:利用继承机制重用类库中的类时,无须修 改已有的代码,就可以扩充或具体化在库中找出的 类,基本上不存在配臵管理问题。
软件工程管理
第十一章 软件工程管理
管理的目的与任务 人员的分配与组织 项目进度安排 项目成本管理 知识产权管理
11.1 管理的目的与内容
管理的目的是为了按照预定的时间和费用,成 功地完成软件的计划、开发和维护任务。软件 管理主要体现在软件的项目管理中,包括对费 用、质量、人员和进度等四个方面的管理
费用管理:费用估算、管理开发费用的使用 质量管理:质量保证、配置管理… 其他管理:进度、人员、其他资源
计划值PV=6*400*45=108000 挣值EV=2000*45=90000 实际成本AC=120000 成本偏差CV=90000-120000=-30000 进度偏差SV=90000-108000=-18000 成本执行(绩效)指数CPI=90000/120000=0.75:超预算 进度执行(绩效)指标SPI=90000/108000=0.83:进度落后
项目成本控制
预测技术
项目总预算BAC:完工时的PV总和 预测完成计划活动工作量EAC 预测完成计划活动剩余工作量ETC 基于非典型偏差计算:当前偏差在以后不会发生
分析 3
测试计 划2
设计 4
测试数 据2
测试软 件6
文档 2
编码 4
产品测 试4
终点
标出最早开始时间
(0,0) 起点
(0,3) 分析
3
(0,2) 测试计
划2
(3,7) 设计
4
(3,5) 测试数
据2
(2,8) 测试软
件6
(7,9)
文档 2
(7,11) 编码 4
(11,15) 产品测
试4
(15,15) 终点
成本控制:监督影响造成成本偏差的因素, 控制项目预算的变更
第11章 软件项目管理-软件工程基础(第3版)-胡思康-清华大学出版社
第 4 页4
软件项目管理概述
软件项目管理目标
软件项目管理成功的目标包括以下几方面: ⑴ 如期完成项目 ⑵ 项目成本控制在计划之内 ⑶ 妥善处理用户的需求变动 ⑷ 保证项目质量⑸ 保持对项目进度的跟踪与控制
第11章 软件项目管理
第 5 页5
软件项目规模度量
任何软件项目都需要定量描述才能制定软件开发成本。只有把软件项目 中设计的各项因素,如软件开发时间、人员数量、开发环境的软件工具和硬 件系统、资金等资源的指标尽可能量化,才能准确估算软件产品的规模、复 杂度、工作总量。没有定量的项目将难以展开软件管理和实施过程。
❖系统的内部处理复杂吗
❖代码设计可重用吗
❖ 设计中包括转换和安 装吗
❖ 系统的设计支持不同 组织的多次安装吗
❖ 系统的实际有利于用 户的修改和使用吗
第 10 页10
软件项目规模度量
面向功能的度量
一旦计算出功能点,就可仿照LOC的方式度量软件的生产率、质量和 其它属性:
生产率 = FP/E 质量 = ER/FP 成本 = S/FP 文档 = ER/FP
第11章 软件项目管理
第 2 页2
软件项目管理概述
软件项目管理的特点
⑷ 软件产品虽然分通用软件和领域软件,但其都是“定制”的定向系统 ,目前仍无法摆脱手工开发模式。“没有完全一样的软件项目”,这不仅对 项目实施过程难以控制,而且还需要根据具体应用领域、环境等制定特殊管 理过程和内容。
⑸ 源于应用领域的复杂性和软件开发技术的复杂性,软件自身是一个复 杂系统。因而软件管理要对复杂软件系统过程做到未雨绸缪,对软件开发内 容抽丝剥茧般的细致。 ⑹ 软件项目管理需要综合各方面,特别是社会因素、精神因素、认知要素、 技术问题、领域问题、用户沟通等各项复杂内容。
软件工程 第4版 第11章 软件工程管理
本章内容
11.1 软件工程管理概述 11.2 软件开发成本估算 11.3 软件工程人员组织 11.4 软件配置管理 11.5 软件质量保证 11.6 软件开发风险管理 11.7 软件工程标准与软件工程文档
这种估算方法的优点是,由于各个任务单元的成本 可交给该任务的开发人员去估计,因此估计结果比较准 确。缺点在于,由于具体工作人员往往只注意到自己职 责范围内的工作,而对涉及全局的成本。
11.2.3 COCOMO2 模型
COCOMO2 模型分为如下3 个模型,在估算软件开发工作量时,对软件细节问题考虑的详 尽程度逐渐增加。
OPTION
软件开发人员一般分为项目负责人、系统分析员、高级程序员、程序员、初级程序员、资 料员和其他辅助人员。
项目负责人需要对项目的需求和团队人员有全面的了解
系统分析员需要有概括能力、分析能力和社交活动能力
程序员需要有熟练的编程能力等 资料员和其他辅助人员负责及时登记软件工程每个阶段的文档等资料
11.3 软件工程人员组织
11.1 软件工程管理概述
02 软件工程管理的重要性
OPTION
基于软件本身的复杂性,软件工 程将软件开发划分为若干个阶段,每 个阶段完成不同的任务、采取不同的 方法。
如果软件开发管理不善,造成的 后果会很严重。因此软件工程管理非 常重要。
11.1 软件工程管理概述
03 软件工程管理的内容
OPTION
02 组织机构
OPTION
软件开发团队不能只是一个简单的集合,要求具有良好的组织机构,要具有合理的人员分 工和有效的通信,共同高效率地完成任务。
按项目划分的模式
按职能划分的模式
矩阵型模式
11.3 软件工程人员组织
软件工程导论(第11章)
3. 信息隐蔽
在面向对象方法中,信息隐蔽通过对象的封
装性实现:类结构分离了类的接口与类的实
现,从而支持了信息隐蔽。
4. 弱耦合
弱的耦合可以提高软件模块的独立性,避免 某一部分模块发生变化对其它模块有较大的影 响。
一般来说,对象间的耦合有两大类:
A.交互耦合:对象间的耦合通过信息连接来
实现。应使交互耦合尽量松散。
2. 一般—特殊结构的深度应适当
中等规模的系统中,类等级层次数应保持 为7±2。不是必要情况,不应该随意创建派生类;
3. 设计简单的类:设计小而简单的类,便于
开发和管理;
1)避免包含过多的属性; 2)有明确的定义; 3)尽量简化对象之间的合作关系; 4)不要提供太多服务。
4. 使用简单的协议:设计简单的类接口,发送 的消息中参数要少。 5. 使用简单的服务:编写实现每一个服务时, 避免复杂的语句和结构; 6. 把设计变动减至最小。
2.
两个方向的关联都用属性实现,这种方法能 实现快速访问。
3.
用独立的关联对象实现双向关联。关联对象 不属于相互关联的任何一个类,它是独立的 关联类的实例 。
40
41
4、关联对象的实现
关联对象的实现方法取决于关联的阶数:
一对一关联:
• 关联对象可以与参与关联的任一个对象合并。
一对多关联:
• 关联对象可以与“多”端对象合并。
11.9 设计类中的服务 11.9.1 确定类中应有的服务 11.9.2 设计实现服务的方法
1. 设计实现服务的算法
1)算法复杂度;
2)容易理解、容易实现;
3)容易修改;
2. 选择数据结构 3. 定义内部类和内部操作
《软件工程》课件第11章 面向对象的OMT方法
1. 问题陈述 问题陈述为记下或获取对问题的初步描述。
第11章 面向对象的OMT方法
2. 构造对象模型 构造对象模型的步骤如下: (1) 确定对象类。 (2) 编制类、属性及关联描述的数据词典。 (3) 在类之间加入关联。 (4) 给对象和链加属性。 (5) 使用继承构造和简化对象类。 (6) 将类组合成模块,这种组合在紧耦合和相关 功能上进行。 最后得到:对象模型=对象模型图+数据词典。
第11章 面向对象的OMT方法
两个类之间的关联称为二元关联,三个类之间的 关联称为三元关联。关联的表示是在类之间画一连线。 图11.3表示了二元关联,图11.4表示一种三元关联, 说明程序员使用计算机语言来开发项目。
第11章 面向对象的OMT方法 图11.3 二元关联
第11章 面向对象的OMT方法 图11.4 三元关联
第11章 面向对象的OMT方法
操作的表示如图11.2底部区域所示,操作名后可跟 参数表,用括号括起来,每个参数之间用逗号分开,参 数名后可跟类型,用冒号与参数名分开,参数表后面用 冒号来分隔结果类型,结果类型不能省略。
2. 关联和链 关联和链是建立对象及类之间关系的一种手段。 1) 关联和链的含义 链表示对象间的物理与概念的联结,如张三为通 达公司工作。关联表示类之间的一种关系,就是一些可 能的链的集合。 正如对象与类的关系一样,对象是类的实例,类是 对象的抽象。而链是关联的实例,关联是链的抽象。
第11章 面向对象的OMT方法
3. 构造动态模型 构造动态模型的步骤如下: (1) 准备典型交互序列的脚本。 (2) 确定对象间的事件并为各脚本安排事件跟踪。 (3) 准备系统的事件流图。 (4) 开发具有重要动态行为的各个类的状态图。 (5) 检查状态图中共享事件的一致性和完整性。 最后得到:动态模型 = 状态图 + 全局事件流图。
第11章软件项目管理.pptx
指某项活动能够开始的最早时间。它可以根据项目
的预计开始时间和所有紧前活动的工期估计计算出
来。
l 最早结束时间(Earliest Finish times,EF)是 指某项活动能够完成的最早时间。
所以有:EF=ES+工期估计
第11章 软件项目管理
可以通过最迟开始时间、最迟结束时间反向 推算得出工期估计。
第11章 软件项目管理
11.3 软件开发成本估算
11.3.1软件成本估算过程
第11章 软件项目管理
11.3.2 软件成本估算方法
(1)专家估算法 1) 协调人向各专家提供项目规格和估计表格; 2) 协调人召集小组会各专家讨论与规模相关的因素; 3) 各专家匿名填写迭代表格; 4) 协调人整理出一个估计总结,以迭代表的形式返回
第11章 软件项目管理
2.进度计划
根据已估计出网络图中每项活动的工期和项目必须完 成的时间段,可以计算出一个项目进度,为每项活 动提供一个时间表,明确在项目预计开始时间的基 础上,每项活动能够开始和完成的最早时间;为了 在要求完工时间内完成项目,每项活动必须开始和 完成的最迟时间。
l
最早开始时间(Earliest Start times,ES)是
第11章 软件项目管理
11.2 进度管理 11.2.1 计划 内容: ✓ 确定执行项目需要的特定活动,明确每项 活动的职责; ✓ 确定这些活动的完成顺序; ✓ 计算每项活动所需要的时间和资源; ✓ 制定项目预算。
第11章 软件项目管理
1.工作分解与责任矩阵
分解WBS应遵循如下原则。 ✓ 一个单位工作任务只能在WBS中出现在一个
地方; ✓ 一个WBS项的工作内容是其下一级的工作之和;
《软件工程管理》PPT课件
11.2 软件估算模型 (Resource Estimation Model)
11.2.1 资源估算模型 (Resource Estimation Model)
●资源模型用来估算软件在开发中花费的 资源,如开发时间、开发人数以及工作量 等(人-月 或 人- 年)。
●基本COCOMO模型是静态单变量模型,它 将软件分类为:组织型、半独立型和嵌入型 3 种类型,每类分别使用一组不同的模型方程
(见表11.1)。 例11.1 有一个嵌入型的电信处理程序,程序
规模为10000行。计算所需的工作量与开发时间。 E = 2.8 × 10 1.20 = 44.4 (人-月) T = 2.5 × 44.4 0.32 = 8.4 (月)
法); ●特尔斐( Delphi )法: ①多个专家各自填“成本估计表”; ②综合专家意见,把摘要意见通知大家; ③开始新一轮估计; ④多次反复,直到专家意见接近。
(2)然后在项目内部(按阶段或任务单元)进 行成本分配。 ●自顶向下成本估计的缺点是:对某些局部问 题或特殊困难容易低估;如果所开发的软件缺 乏可以借鉴的经验,估计时就可能出现较大的 误差。
PROGRAM DESIGN
PROGRAM IMPLEMENTATION
UNIT TESTING
INTEGRATION TESTING
SYSTEM TESTING
SYSTEM DELIVERY
MAINTENANCE
调节因子
调节值范围
例11.1中 使用的值
要求的可靠性等级
0.75 - 1.40
1.00
数据库规模
0.94 - 1.16
0.94
产品复杂度
软件工程管理第十一章(ppt文档)
曲阜师范大学计算机科学学院 王华
第11章 项目集成计划
项
项
项
目
目
目 执
项 目
初
结
始
计
划
行 控 制
束
范
成
围 时间 本
计 计划
划
计
划
质人
风合
量力
沟通
险
同
计计
计
划划
计划
划
计
划
配 置管
理 计划
集成 计划
第11章 项目集成计划
11.1 软件项目集成管理 11.2 项目集成计划 11.3 校务通系统案例分析 11.4 小 结
11.1 软件项目集成管理
一个系统是一个整体,系统元素彼此联 系、相互影响。
项目集成管理的目标在于对项目中的不 同组成元素进行正确高效的协调。它并不 是所有项目组成元素的简单相加。
11.1 软件项目集成管理
项目集成管理就是在项目的整个周期内 协调项目管理的各个知识域过程来保证项 目的成功完成,项目经理的本职工作是对 项目进行整合。
为了成功的完成项目,项目管理者必须 协调各方面的人员、计划和作。
11.1 软件项目集成管理
每个项目都需要平衡它的功能、人员、 预算、进度和质量目标。
范围、进度、成本、质量、风险之间存 在一定的关系,不能只考虑一方面,应该 综合起来考虑。
11.1 软件项目集成管理
无论是进度计划、成本计划、质量计划 还是风险计划等,所有计划的管理不是孤 立的而是相互作用的。项目计划应该是集 成计划,项目集成计划具有综合性、全局 性、内外兼顾性。
11.2 项目集成计划
根据侧重点不同,项目可分为质量倾斜 型、工期倾斜型及成本倾斜型体系。我们 在编制项目计划时,一般而言是时间、成 本、质量标准均已确定,在项目实施过程 中就需从客观因素、具体情况出发,根据 将要采取的行动和可能导致的后果进行综 合分析研究,按切合实际的原则,使项目 进展平衡有节奏的进行,以求达到预期目 标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库规模
0.94 - 1.16
0.94
产品复杂度
0.70 - 1.65
1.30
对程序执行时间的约束
1.00 - 1.66
1.11
对程序占用存储容量的约束
1.00 - 1.56
1.06
开发环境的变动
0.87 - 1.30
1.00
开发环境的响应时间
0.87 - 1.15
1.00
分析员水平 程序员水平 对应用领域的熟悉程度 对开发环境的熟悉程度 对所用语言的熟悉程度
SYSTEM DESIGN
PROGRAM DESIGN
PROGRAM IMPLEMENTATION
UNIT TESTING
(3)估计各个任务单元的成本;
(4)汇合成项目总成本。
●由底向上成本估计的缺点是:具体工作人员往往只
注意到自己范围内的工作,对涉及全局的花费可能估
计不足,可能使成本估计偏低。
3. 算法模型估计
●算法模型就是资源模型,要选择适用的模型。
●算法模型估计法常与自顶向下估计或由底向上估计
结合使用。
软件工程
12
11.4 人员的分配与组织
●各个开发阶段需要的人力并不相同。一
般地说, 计划与分析阶段只需要很少的人;
概要设计的人多一些; 详细设计的人又多
一些; 编码和测试阶段的人数最多; 在运
行初期, 需要较多的人参加维护, 但很快
就可以减少下来, 只需保留很少的维护人
员就可以满足需要。
软件工程
13
1. Rayleigh-Norden 曲线
第十一章 软件工程管理 Chapter 11 Software Engineering Management
软件工程
1
11.1 管理的目的与内容
●管理的目的:按预定的时间和费用,成功地
完成软件的计划、开发和维护任务。
●管理的内容
1.费用管理
①估算软件的开发费用;
②管理开发费用的有效使用。
2.质量管理(包括配置管理)
T = 2.47 × E 0.35 (月)
软件工程
4
2. Putnam (普特南)资源模型
●Putnam 资源模型是动态多变量资源模型。 用以下的方程式表示:
K = L3 / ( c3 T4 )
其中: L (行):源程序长度。 T (年):开发时间。 K (人-年): 全生存周期工作量。
c: 与开发环境有关的常数。
④多次反复,直到专家意见接近。
(2)然后在项目内部(按阶段或任务单元)进
行成本分配。
●自顶向下成本估计的缺点是:对某些局部问题
或特殊困难容易低估;如果所开发的软件缺乏
可以借鉴的经验,估计时就可能出现较大的误
差。
软件工程
11
2. 由底向上成本估计
(1)先将开发任务分解为许多子任务;
(2)子任务再分成子子任务,直到每一个任务单元;
开发方法的现代化 软件工具的数质量 完成时间的限制
软件工程
1.46 - 0.71 1.42 - 0.70 1.29 - 0.82 1.21 - 0.90 1.14 - 0.95
1.24 - 0.82 1.24 - 0.83 1.23 - 1.10
0.86 0.86 1.00 1.10 1.00
0.91 1.10 1.00
例11.1 有一个嵌入型的电信处理程序,程序 规模为10000行。计算所需的工作量与开发时间。
E = 2.8 × 10 1.20 = 44.4 (人-月) T = 2.5 × 44.4 0.32 = 8.4 (月) ●中间COCOMO模型以静态单变量模型为基础, 增加15个工作量调节因子,是静态多变量模型。
软件工程
7
表11.1 不同类型软件的 COCOMO模型
软件 类别
组织型
半独立 型
嵌入型
模型 方程
适用范围
E=3.2×L1.05 T=2.5×E0.38
高级语言应用程序,如科学 计算、数据处理、企业管理 程序等规模较小的软件产品
E=3.0×L1.12 T=2.5×E0.35
大多数实用程序,如编辑程 序、连接程序、编译程序等。 (规模较大的软件产品)
软件工程
5
11.2.2 COCOMO模型 (COnstructive COst MOdel,结构性 成本模型) ●COCOMO模型分为基本COCOMO模 型、中间COCOMO模型 和 详细 COCOMO模型三种。
软件工程
6
●基本COCOMO模型是静态单变量模型,它将 软件分类为:组织型、半独立型和嵌入型 3种 类型,每类分别使用一组不同的模型方程(见 表11.1)。
软件工程
3
1.静态单变量资源模型 资源 = c1 × (估计的软件特征) c2
其中: ●资源为开发工作量 E(人-月)、开发时间 T(月) 或开发人数 P; ●“估计的软件特征”通常用源程序长度L(千 行)表示; ● c1、c2为依赖于开发环境和应用领域的2个经 验常数。 如: E = 5.1 × L 0.91 (人-月)
3.项目的其它管理
①项目进度安排;
②人员的分配与组软件工织程 。
2
11.2 软件估算模型 (Resource Estimation Model)
11.2.1 资源估算模型 (Resource Estimation Model)
●资源模型用来估算软件在开发中花费的 资源,如开发时间、开发人数以及工作量 等(人-月 或 人- 年)。
9
11.3 软件成本估计 ●软件成本估计方法有主要3类:自顶向 下成本估计、由底向上成本估计和算法 模型估计。
软件工程
10
1. 自顶向下成本估计
(1)首先估算总成本(可以采用特尔斐专家估计
法);
●特尔斐( Delphi )法:
①多个专家各自填“成本估计表”;
②综合专家意见,把摘要意见通知大家;
③开始新一轮估计;
E=2.8×L1.20 T=2.5×E0.32
与硬件关系密切的程序,如 操作系统、 数据库管理系统、 实时处理与控制程序等。
软件工程
8
属性
产品 属性
计算机 属性
人员 属性
项目 属性
表11.2 调节因子和它的值范围
调节因子
调节值范围
例11.1中 使用的值
要求的可靠性等级
0.75 - 1.40
1.00
人力
②
①
③
td
t
图11.5 Rayleigh - Norden 曲线
● td 相当于软件开发完成的时间; ● 用虚线画出来的矩形,显示了平均使用人力的问题:
①浪费的人力 ②不足的人力 ③过晚的人力。
软件工程
14
SOFTWARE DEVELOPMENT STEPS
REQUIREMENTS ANALYSIS