软件工程经济学第五章软件过程经济分析(全).pptx

上传人:uij****hh 文档编号:96273500 上传时间:2023-10-09 格式:PPTX 页数:57 大小:601.39KB
返回 下载 相关 举报
软件工程经济学第五章软件过程经济分析(全).pptx_第1页
第1页 / 共57页
软件工程经济学第五章软件过程经济分析(全).pptx_第2页
第2页 / 共57页
点击查看更多>>
资源描述

《软件工程经济学第五章软件过程经济分析(全).pptx》由会员分享,可在线阅读,更多相关《软件工程经济学第五章软件过程经济分析(全).pptx(57页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、软件工程经济学第五章 软件生产过程经济分析5.15.1 软件生产函数与软件生产率软件生产函数与软件生产率5.2 软件生产过程经济分析软件生产过程经济分析5.3 不同规模软件的生产过程经济分析不同规模软件的生产过程经济分析 5.4 软件项目理论生存周期长度及其关联分析软件项目理论生存周期长度及其关联分析5.1 软件生产函数与软件生产率 生产函数是宏观经济学和微观经济学理论中的一个重要概念是研究系统规模变化对产出的影响和最优化经济效果的基础反映生产过程中投入要素与其可能生产的最大产量之间的依存关系 的数学表达式Y=F(K,L,N,O,t)Y为产出量,如宏观经济中的GDP、工业总产值,微观经济中的企

2、业产量、销售收入等;K为资本L为劳动N为土地O为组织管理t为时间或工期简化为:简化为:Y=F(K,L,t)5.1 软件生产函数与软件生产率5.1.1 软件生产函数及特性1、C-D生产函数西方学者在采用计量经济学的有关统计法的研究中提出了多种形式的生产函数,从不同的侧面反映了西方国家生产过程中的工程经济行为。由美国数学家柯布和经济学家道格拉斯提出的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 软件生产函数及特性生产函数一般都满足如下特性:1.资本与劳动力的边际产出均为正值,即有 其经济含义为:劳动力(或资本)投入量不变的情况下,资本(或劳动力)的增加将导致产出量的增加。2.边际产量递减,即有 其经济含义为:当其他生产要素

4、固定不变时,随着某一要素投入量的增加,边际产量将逐渐减少。3.生产函数具有非负性,且总产量是生产要素组合的结果,即总产出为正值,单一要素的投入不能获得产出。即有 Y=F(K,L,t)0 Y=F(K,0,t)=0 Y=F(0,L,t)=05.1 软件生产函数与软件生产率5.1.1 软件生产函数及特性2.规模经济(规模报酬)是微观经济学研究的一个主要问题表示当生产规模变化时,对产出的影响程度。规模报酬一般有三种情况:当全部生产要素按某种配合方式以相同比例增加时,若 Y=F(K,L,t)F(K,L,t),则称该生产活动呈规模报酬递增或规模经济;若 Y=F(K,L,t)11,则称该生产活动呈规模报酬递

5、增或规模经济;若 +10)和K值,N-R曲线均为具有单峰值且自左向右由单调增到单调降的曲线。(5.9)诺顿-瑞利模型 Noder-Rayleigh Model由此可知,对不同的b值(b 0)和K值,N-R曲线均为具有单峰值且自左向右由单调增到单调降的曲线,图6.24画出了当K=10时不同b值的N-R曲线。b=2b=0.222b=0.5b=0.125m(t)t图图5.1 K=10时不同时不同b值的值的N-R曲线曲线b=0.2225.2 软件生产过程经济分析 5.2.1 软件生产系统动力学方程在20世纪70年代,美国陆军中央设计处对所积累的200多个软件开发项目的数据进行统计分析,Putnum发现

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

7、力费用将用于的人力费用将用于该软件系统在运行维护阶段的质量检验,可靠性增长,维护与修改该软件系统在运行维护阶段的质量检验,可靠性增长,维护与修改等工作。等工作。图5.2 C(t)及m(t)变化5.2 软件生产过程经济分析 5.2.2 软件项目难度系数与人力增长率 Putnum 通过对英美大量软件项目的研究,得到了一些统计规律:结论1:软件项目的开发难度与生存周期内投入的总工作量K成正比,与交付期td2成反比。D为软件工程开发难度系数(5.12)5.2 软件生产过程经济分析 5.2.2 软件项目难度系数与人力增长率结论2:对于具有统一项目开发特性的软件工程,尽管随着项目规模的增大,K和td均将增

8、大,然而K/td3则基本稳定在某一常数周围,而不同开发属性的项目其常数不同。8,软件是一个与其他系统有多个接口和交互功能的全新软件 D0=15,软件是一个独立系统 27,软件是从其他已开发的软件基础上建立的系统引入参数D0,D0为人力增长率应用:(5.13)5.2 软件生产过程经济分析 5.2.2 软件项目难度系数与人力增长率例5.1 某软件项目,其初始人力密度增长率为4人/月,预计1年7个月后交付用户,生产费用率为6万元/人年,试确定项目生存期内投入的总工作量(人力费用),峰值人数和总费用项目开发难度系数和人力增长率,以及开发阶段投入的累计人力工作量和费用。解:注意到交付期有初始人力密度增长

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

10、位时间所提供的源代码程序量(单位NCSS/人年),具有劳动生产率的概念,故人们以符号Fd来表述,并称Fd为软件项目的开发劳动生产率(简称劳动生产率)。5.2 软件生产过程经济分析 5.2.3 软件的劳动生产率、生产函数及其关联结论3:-Fd为软件项目的劳动生产率,E0为软件项目开发环境的技术状态。公式的经济含义:难度越大,劳动生产率越低下在同样难度下,不同的开发环境、技术状态(如开发方法、开发工具、项目管理状态),亦将直接影响软件项目的劳动生产率。(5.14)5.2 软件生产过程经济分析 5.2.3 软件的劳动生产率、生产函数及其关联(5.15)(5.15)式的工程经济意义亦是明显的,它反映了

11、一个软件工程项目投入要素(投入工作量K和交付期td与产出要素(项目提交的生产量或源代码程序量)的数量关系,具有一般工程经济学中生产函数的概念,故人们将(5.15)式称为软件工程项目的生产函数,并将其中的系数E称为该项目的环境因子。5.2 软件生产过程经济分析 5.2.4软件项目开发子周期与生存周期经济要素关联分析 软件项目各经济要素(人力资源费用、工 期、工程难度、生产函数)数量关系 均是在整个软件项目生存期(又称项目总 周期)内获得的。显然,它应该适用于软件项目生存期的各阶段(子周期)如软件设计编码开发阶段、调试与验证阶段、修 正维护阶段等。5.2 软件生产过程经济分析5.2.4软件项目开发

12、子周期与生存周期经济要素关联分析 若我们将软件的设计编码开发阶段称为软件项目的开发子周期,而将软件项目的生存周期称为项目总周期,则以下介绍这二者的工程经济参数之间的关联分析。5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析设 表示软件开发阶段人力费用总量 表示软件开发阶段0,t)时间段累计人力费用 表示软件开发阶段t时刻人力费用 表示开发子周期内人力投入的峰值时刻,则与前项目总周期的分析同理,应有(5.18)5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析若仍设 表示软件交付期,则一个实用的假设是在t=时,项目将投入开发阶段人

13、力投入总量 的95%(其余5%将用于现场安装与有效性测试),此即为或(5.19)5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析对上式两边取对数可得 从而有 或或5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析如下画出了由(5.10)式与(5.18)式确定的 与 时间曲线。m(t)md(t)0tt0dtd投入人力密度投入人力密度5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析由图可知软件项目总周期的 与开发了周期的 在 t=0时刻有相同的斜率或有 以(5.19)式代入上式可得 (5.20)5.

14、2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析再利用(5.18)(5.20)式,有 (5.21)上式说明D既可以作为整个项目生命周期的难度系数,也可作为开发子周期的难度系数。5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析但对于 情况则并 非如此,这是由于由(5.13)式有 其中 为开发子周期的人力增长率。利用(5.21)式容易得到开发子周期峰值人数 及有 (5.22)5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析由此可得 5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济

15、要素关联分析 (5.22)式可以作为一个标尺来控制软件设计编织 开发阶段的开发进度,若在某个时间上项目已经消 耗了其全部人力费用的39%,而此时计划中的任务 也已经得到及时正确地完成且无需某些人员时,该 项目经理即可确认此项目运行轨迹是正确的,而项 目结束时的总人力费用可能就是预计的 人年,且 不会拖延交货时间。而当交货时刻 时已消耗 95%的总开发人力费用时,则尚有5%的 还可用于现场安装与有效性测试,从而保证项目开发工作 的顺利完成。5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析例5.2 某软件开发项目待开发的程序量S已经测 算为9000NCSS,其开发

16、将在环境因子确定为1200 的环境中进行,并注意到该软件项目是一个独立的 数据处理类型程序,其人力增长率选定为 。试求:开发子周期td 与开发峰值人数出现时刻 ;开发子周期投入人力费用 ,总投放人力费用K 与项目难度系数D;峰值人数;该软件项目的生产率5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析解:利用(5.15)式所示的软件项目生产函数可得 由此可得 5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析由上述生产函数可得 5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析 由(5.22)式有

17、5.2 软件生产过程经济分析5.2.4软件项目开发子周期与生存周期经济要素关联分析 由(5.14)式有5.2 软件生产过程经济分析5.2.5 环境因子的测定环境因子 E 由软件工程项目的开发环境、技术状态(开发方法、开发工具和设备项目管理等)所决定的。E由一个与具有共性的特征向量D0完全不同的反映个性的工程经济参数 一般由开发机构根据反映本部门的项目开发特色的经验数据来确定。5.2 软件生产过程经济分析5.2.5 环境因子的测定某开发机构与开发一个目标软件A,欲确定其环境因子EA,此时可采用类比法来求解E.设此时相似的软件为B 表示B在开发期内所投入的人力费用 表示交付期 表示所提交的源代码程

18、序量5.2 软件生产过程经济分析5.2.5 环境因子的测定假设:如果有多个相似的软件B(B1,B2,.Bl)怎么办?此时调用这L个软件的数据序列并采用最小二乘法来计算E.表示第j个软件项目在开发子周期0,tj)的时间段累计投入的人力费用(单位:人年)表示第j个软件项目在开发子周期内人力投入峰值的时刻(单位:年)表示第j个软件项目在开发子周期内所交付的源代码程序量(单位:CNSS).例子的延伸5.2 软件生产过程经济分析5.2.5 环境因子的测定将两边取对数有(5.24)(5.23)5.2 软件生产过程经济分析5.2.5 环境因子的测定因为L个软件B1,B2,.Bl有不同的难度系数Dj,不同的源

19、代码程序量Sj和累计投入人力费用Cdj(tdj),但却有相同的环境因子。因而令由公式5.24可得则由最小二乘法拟合有达到最小5.2 软件生产过程经济分析5.2.5 环境因子的测定对A进行求偏导有故有 或 由此可得 5.3 不同规模软件的生产过程经济分析 开发机构将投入的人力资源分成项目开发组和项目支持任务组。项目开发组的基本任务:规划、分析、设计、编码及其审查与测试等。项目支持任务组完成如下任务:应用科学领域知识的支持计算机计划网络与通信设备的使用与维护支持工程计划网络的设计、跟踪与控制文本提供、质量保证与配置管理资源控制、任务跟踪协调与进程监控5.3.1 不同规模软件的人力投入属性及其比较

20、国外很多软件工程学者在经过对以往已完成的软件工程项目的各工程经济变量数据进行研究得到一些有益的结论。任何一个软件项目开发子周期内的开发人力投入量 ,项目任务人力投入总量 及总周期(生存周期)内的开发人力投入量 三者之间的分离和重合程度与软件规模(程序量)S有很大的关联。小型软件(),这是由于投入人力少,因此即使有一些支持任务,通常也是由开发人员兼顾。中型软件()随着S的增大,与 分离度越大,而与 重合度越大。软件代码量增大,越来越需要支持。大型软件()由于所投入的支持任务人力量远远大于开发任务人力量,从而 使 与 非常接近或基本重合。5.3.2 不同规模软件的生产过程经济分析 小型软件和大型软

21、件都可以利用5.2节的各经济参数间的数量关系式来进行分析。中型软件,由于 三者分离,引入规模参数 ,普特纳姆根据大量数据发现,软件项目的程序量S与参数 有极强的负相关关系,并运用典型的非线性回归拟合得到S与 之间的拟合曲线,并对此拟合曲线的有效问题作了研究。根据不同的规模结果,得到的参数 也不同。5.4 软件项目理论生存周期长度及其关联分析 对于大型软件项目,人们除了关心开发子周期分析与项目任务子周期内的的工程经济外,更应关心在软件交付用户使用后的经济活动及其经济分析。设改软件项目的理论生存周期长度为 ,即当 时改软件将“报废”,但在实际应用时软件的报废将视多种情况而定,而并非为 ,以下来寻求

22、 与 ,等主要经济量的关系。上式表示了改软件项目生命周期的“报废”时刻 与 交付工期 、投入人力费用总量 之间的数量关系。据此关系可进一步研究在时间区间 间的经济活动及其经济分析。研究软件生产过程经济的意义 软件生产过程日趋规模化、复杂化和高度自动化,研究软件生产过程的规模效应及其投入要素与产出关联的变动规律及其软件生产劳动率的提高问题就显得十分重要。我们可以根据一个项目的程序量,投入的人力总费用,交付时间可以得出不同时刻的人力密度、开发效率、人力增长率等,为开发管理提供保证。思考 软件开发机构如何来确定自身的软件环境因子?我国软件行业欲建立类似于规模参数 的具体函数表达式,以适应我国国情,你认为需采取哪些措施?应采集哪些数据序列?解决上述问题的步骤有哪些?

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

当前位置:首页 > 研究报告 > 其他报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com