软件工程经济学第五章软件过程经济分析(全)精编版

上传人:ahu****ng1 文档编号:143305297 上传时间:2020-08-28 格式:PPTX 页数:58 大小:878.35KB
返回 下载 相关 举报
软件工程经济学第五章软件过程经济分析(全)精编版_第1页
第1页 / 共58页
软件工程经济学第五章软件过程经济分析(全)精编版_第2页
第2页 / 共58页
软件工程经济学第五章软件过程经济分析(全)精编版_第3页
第3页 / 共58页
软件工程经济学第五章软件过程经济分析(全)精编版_第4页
第4页 / 共58页
软件工程经济学第五章软件过程经济分析(全)精编版_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《软件工程经济学第五章软件过程经济分析(全)精编版》由会员分享,可在线阅读,更多相关《软件工程经济学第五章软件过程经济分析(全)精编版(58页珍藏版)》请在金锄头文库上搜索。

1、软件工程经济学,第五章 软件生产过程经济分析,5.1 软件生产函数与软件生产率,生产函数 是宏观经济学和微观经济学理论中的一个重要概念 是研究系统规模变化对产出的影响和最优化经济效果的基础 反映生产过程中投入要素与其可能生产的最大产量之间的依存关系 的数学表达式 Y=F(K,L,N,O,t) Y为产出量,如宏观经济中的GDP、工业总产值,微观经济中的企业产量、销售收入等; K为资本 L为劳动 N为土地 O为组织管理 t为时间或工期,简化为:Y=F(K,L,t),5.1 软件生产函数与软件生产率5.1.1 软件生产函数及特性,1、C-D生产函数 西方学者在采用计量经济学的有关统计法的研究中提出了

2、多种形式的生产函数,从不同的侧面反映了西方国家生产过程中的工程经济行为。 由美国数学家柯布和经济学家道格拉斯提出的C-D函数形式如下: Y为产出量;L为劳动力投入;K为资本投入; A为除劳动与资本要素外其他对产出Y的总影响。,(5.1),5.1 软件生产函数与软件生产率 5.1.1 软件生产函数及特性,研究C-D生产函数的特性? 分别对L和K求偏导,得: 称为劳动力对产出的弹性系数,表示在其他条件不变的情况下,劳动力增加百分之一会使产出变化的百分比; 称为资本对产出的弹性系数,表示在其他条件不变的情况下,资本增加百分之一会使产出变化的百分比;,提出问题: 在其他条件不变的情况下, 投入(劳动力

3、或资本)的变化对 产出的影响?,(5.3),5.1 软件生产函数与软件生产率5.1.1 软件生产函数及特性,生产函数一般都满足如下特性: 资本与劳动力的边际产出均为正值,即有 其经济含义为:劳动力(或资本)投入量不变的情况下,资本(或劳动力)的增加将导致产出量的增加。 边际产量递减,即有 其经济含义为:当其他生产要素固定不变时,随着某一要素投入量的增加,边际产量将逐渐减少。 生产函数具有非负性,且总产量是生产要素组合的结果,即总产出为正值,单一要素的投入不能获得产出。即有 Y=F(K,L,t)0 Y=F(K,0,t)=0 Y=F(0,L,t)=0,5.1 软件生产函数与软件生产率5.1.1 软

4、件生产函数及特性,规模经济(规模报酬) 是微观经济学研究的一个主要问题 表示当生产规模变化时,对产出的影响程度。 规模报酬一般有三种情况: 当全部生产要素按某种配合方式以相同比例增加时, 若 Y=F(K,L,t) F(K,L,t), 则称该生产活动呈规模报酬递增或规模经济; 若 Y=F(K,L,t) F(K,L,t) , 则称该生产活动呈规模报酬递减或非规模经济; 若 Y=F(K,L,t) = F(K,L,t) , 则称该生产活动呈规模报酬固定,5.1 软件生产函数与软件生产率5.1.1 软件生产函数及特性,Y=F(K,L,t)= ALK F(K, L, t)=A(L)(K) = + AL K

5、 = + Y 因此对C-D函数容易验证得以下结论: 若 +1,则称该生产活动呈规模报酬递增或规模经济; 若 +1,则称该生产活动呈规模报酬递减或非规模经济; 若 +=1,则称该生产活动呈规模报酬固定,(5.4),5.1 软件生产函数与软件生产率5.1.1 软件生产函数及特性,弹性系数求解 C-D生产函数是一种较为普遍的生产过程中的生产过程规律描述。 但对于不同的企业(部门和地区),由于其外部环境与内部条件的不同,故产出对劳动力或资本的变化反映程度不同,即 与 不同。 求解思路: 收集特定企业(部门和地区)的数据序列,将二元非线性函数转化为二元线性函数求解,5.1 软件生产函数与软件生产率5.1

6、.1 软件生产函数及特性,软件生产函数 美国软件工程专家( L.H. Putnum ) S为软件生产规模或源代码程序量(单位:NCSS ) ; K为软件项目在生存期内投入的总工作量(单位:人年) Td为软件项目投入的人力峰值,通常为交付期或工期(单位:年) 软件生产函数的三个特性: 软件工作量或交付工期的边际生产量均为正 软件工作量的边际生产量递减;交付工期的边际生产量递增; 软件生产函数具有非负性 根据软件函数中弹性系数之和大于1,可知软件生产活动具有规模报酬递增效应。,(5.5),5.1 软件生产函数与软件生产率 5.1.2 软件生产率及其影响因素,软件生产率的定义: 每个人月所交付的源代

7、码程序量, 单位:NCSS/PM 软件生产效率的影响因素: 组织、管理因素 技术因素 提高生产效率的常用措施: 提高团队工作的业务规范、编程规范 采用较为先进的软件工具 部分功能采用商业软件包 改编现有的已熟悉软件的部分功能 采用软件构件技术、多版本技术、软件复用技术 建立科学、合理的激励、约束机制 对人员的选择采用如下五原则:顶级天才、任务匹配、职业发展、团队平衡、逐步淘汰原则,5.2 软件生产过程经济分析 5.2.1 软件生产系统动力学方程,1、软件生产过程经济分析-分析什么? 软件生产系统内在经济要素关联及其动态发展规律。 经济要素:生产规模、开发难度、人力工作量(累计工作量、人力峰值)

8、、费用、劳动生产率、环境因子、交付期等 例如:劳动生产率和生产规模、开发难度、环境因子之间的关联;开发难度和总工作量、交付期之间的关联;人力峰值的到达时间等。 2、如何分析? 建立系统动力学方程 软件生产系统动力学方程 英国软件工程学家诺顿提出了Noder-Rayleigh Model 建立模型基础:a、假设(基于客观统计数据上的一种经验) b、统计分析,诺顿-瑞利模型 Noder-Rayleigh Model表5.1 N-R模型变量表,诺顿-瑞利模型 Noder-Rayleigh Model,模型假设如下: 开发项目中需要投入的总工作量K为有限; C(t)在项目开始时为零,即C(0)=0,然

9、后单调增长到K; 任何时刻开发项目组投入的人力数m(t)与尚待解决的问题(或尚需投入)的累计人力工作量成正比; 在项目生存周期中,项目开发人员由于不断学习,因而其开发效率可用关于时间t的学习函数p(t)来描述,是时间t的线性增函数,其m(t)与p(t)成正比。 -由假设得下列人力投入的系统动力学方程:,(5.7),诺顿-瑞利模型 Noder-Rayleigh Model,求解微分方程得: 因为函数m(t)具有概率论中瑞利分布函数的形式,故m(t)称为诺顿-瑞利曲线。 提出问题: 哪一时刻达到开发人员的峰值? 因此需要研究函数 m(t),(5.8),诺顿-瑞利模型 Noder-Rayleigh

10、Model,通过 ,求得N-R曲线在 点时取得最大值。 显然,m(t0)即为软件生存周期中的开发人员的峰值。 由此可知,对于不同的b值(b0)和K值,N-R曲线均为具有单峰值且自左向右由单调增到单调降的曲线。,(5.9),诺顿-瑞利模型 Noder-Rayleigh Model,由此可知,对不同的b值(b 0)和K值,N-R曲线均为具有单峰值且自左向右由单调增到单调降的曲线,图6.24画出了当K = 10时不同b值的N-R曲线。,5.2 软件生产过程经济分析 5.2.1 软件生产系统动力学方程,在20世纪70年代,美国陆军中央设计处对所积累的200多个软件开发项目的数据进行统计分析,Putnu

11、m发现: 上述m(t)在(0,)中的最大点t0非常接近交货时间td,因为在临近交货期时需要大量的人力资源编制说明书,进行软件调试与质量检验,并对设计、编码等工作做再修改。,5.2 软件生产过程经济分析 5.2.1 软件生产系统动力学方程,由统计分析的结论,可知 即 代入 (5.8)和(5.9) 有,(5.10),(5.11),5.2 软件生产过程经济分析 5.2.1 软件生产系统动力学方程,一个开发好的软件系统在初步运行性能良好并交付给用户时只花费了生存期内投入总人力费用的39%,剩下的61%的人力费用将用于该软件系统在运行维护阶段的质量检验,可靠性增长,维护与修改等工作。,图5.2 C(t)

12、及m(t)变化,5.2 软件生产过程经济分析 5.2.2 软件项目难度系数与人力增长率,Putnum 通过对英美大量软件项目的研究,得到了一些统计规律: 结论1:软件项目的开发难度与生存周期内投入的总工作量K成正比,与交付期td2成反比。 D为软件工程开发难度系数,(5.12),5.2 软件生产过程经济分析 5.2.2 软件项目难度系数与人力增长率,结论2:对于具有统一项目开发特性的软件工程,尽管随着项目规模的增大,K和td均将增大,然而K/td3则基本稳定在某一常数周围,而不同开发属性的项目其常数不同。 8,软件是一个与其他系统有多个接口和交互功能的全新软件 D0= 15,软件是一个独立系统

13、 27,软件是从其他已开发的软件基础上建立的系统 引入参数D0, D0为人力增长率,应用:,(5.13),5.2 软件生产过程经济分析 5.2.2 软件项目难度系数与人力增长率,例5.1 某软件项目,其初始人力密度增长率为4人/月,预计1年7个月后交付用户,生产费用率为6万元/人年,试确定项目生存期内投入的总工作量(人力费用),峰值人数和总费用项目开发难度系数和人力增长率,以及开发阶段投入的累计人力工作量和费用。 解:注意到交付期有,初始人力密度增长率由(5.12)式 知有,从而得,5.2 软件生产过程经济分析 5.2.2 软件项目难度系数与人力增长率,以K与td数值代入(5.11)式 和(5

14、.13)式,有:,5.2 软件生产过程经济分析 5.2.2 软件项目难度系数与人力增长率,生存期投入的总费用(平均)为,此外,由(5.11)式 还可得到开发阶段投入的累计人力工作量和费用Ud有:,5.2 软件生产过程经济分析 5.2.3 软件的劳动生产率、生产函数及其关联,由表5.1得知S为软件工程的规模或提交的源代码程序量(单位NCSS是表示非注释语句的数量),而C(td)则表示在软件开发阶段所投入的累计工作量(单位:人年),因而S / C(td)表示在软件开发阶段中单位时间所提供的源代码程序量(单位NCSS/人年),具有劳动生产率的概念,故人们以符号Fd来表述,并称Fd为软件项目的开发劳动

15、生产率(简称劳动生产率)。,5.2 软件生产过程经济分析 5.2.3 软件的劳动生产率、生产函数及其关联,结论3: - Fd为软件项目的劳动生产率,E0为软件项目开发环境的技术状态。 公式的经济含义: 难度越大,劳动生产率越低下 在同样难度下,不同的开发环境、技术状态(如开发方法、开发工具、项目管理状态),亦将直接影响软件项目的劳动生产率。,(5.14),5.2 软件生产过程经济分析 5.2.3 软件的劳动生产率、生产函数及其关联,(5.15),(5.15)式的工程经济意义亦是明显的, 它反映了一个软件工程项目投入要素 (投入工作量K和交付期td与产出要素(项目提交的生产量或源代码程序量)的数

16、量关系,具有一般工程经济学中生产函数的概念,故人们将(5.15)式称为软件工程项目的生产函数,并将其中的系数E称为该项目的环境因子。,5.2 软件生产过程经济分析 5.2.4软件项目开发子周期与生存周期经济要素关联分析,软件项目各经济要素(人力资源费用、工 期、工程难度、生产函数)数量关系 均是在整个软件项目生存期(又称项目总 周期)内获得的。 显然,它应该适用于软件项目生存期的各阶段(子周期)如软件设计编码开发阶段、调试与验证阶段、修 正维护阶段等。,5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析,若我们将软件的设计编码开发阶段称为软件项目的开发子周期,而将软件项目的生存周期称为项目总周期,则以下介绍这二者的工程经济参数之间的关联分析。,5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号