本篇文章给大家谈谈软件开发生产率计算,以及软件开发工作量计算对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、软件开发工作量如何评估
- 2、什么是软件生产率
- 3、软件评估方法
- 4、做软件开发的成本究竟如何估算
- 5、【软件工程】{8} 软件项目进度安排与跟踪,一招学会计算关键路径
软件开发工作量如何评估
用于软件项目工作量估算的方法有以“估”为主的专家法和类推法,以“算”为主的类比法和方程法。在软件估算的实践中,类比法和类推法也是普遍使用的估算方法。
1、类比法
类比法是指将本项目的部分属性与类似的一组基准数据进行比对,进而获得待估算项目工作量、工期或成本估算值的方法。类比法是基于大量历史项目样本数据来确定目标项目的预测值,通常是以50百分位数为参考而非平均值。选择类比法进行估算,应根据项目的主要属性,在基准数据库中选择主要属性相同的项目进行比对。
类比法适合评估那些与历史项目在应用领域、系统规模、环境和复杂度方面相似的项目,通过新项目与历史项目的比较得到估计数据。类比法估算结果的精确度取决于历史项目数据的完整性和准确度。因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的相关属性建立基线数据。
适用范围:
当需求极其模糊或不确定时,如果此时有与本项目类似属性(如规模、应用类型、复杂度、开发团队经验等)的一组基准数据,则可直接采用类比法,充分利用基准数据来估算工作量。类比法可以在整个项目级上做基准比对,也可以在子系统级上进行。
估算过程:
1) 确定待估算项目所具有的属性特点,如系统的规模、复杂度、应用类型、业务领域、开发人员的经验和能力等。
2) 查询历史数据库并筛选“最相似”的项目属性数据。
3) 如果待估算项目属性与历史项目的主要属性类似,则可依据历史项目的基线数据直接得出待估算项目的工作量合理范围。
4) 如果同时满足待估算项目主要属性的历史项目太少,则可针对待估算项目的每个属性与历史项目相应属性的基准数据分别比对,再分别计算得出P25/P50/P75的平均值作为估算值。
5) 一般情况下,取P50的工作量数据作为待估算项目工作量最可能的值。
2、类推法
类推法是指将本项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,适当调整后获得待估算项目工作量、工期或成本估算值的方法。选择类推法进行估算,通常只参照1~2个高度类似的项目,同时根据待估算项目与参照项目的差异,进行适当调整。
适用范围:
1) 当需求极其模糊或不确定时,较难估算工作量,如果此时具有高度类似的历史项目,则可直接采用类推法,充分利用历史项目数据进行估算。
2) 适用评估一些与历史项目在业务领域、应用类型、环境和复杂度等方面的相似项目,通过新项目与历史项目的比较进行估计。
3) 该方法估算结果的精确度取决于已完成项目数据的完整性、准确度,以及两个项目之间的相似度。如果没有类似的项目,该方法就不能应用。
估算过程:
1) 识别出待估算项目的主要属性。
2) 查找本组织曾经做过的类似的历史项目。
3) 对比历史项目,标记差异点,经过调整后计算出待估算项目的工作量。
3、方程法
采用方程法进行工作量估算时,应考虑根据开发组织实际情况进行回归分析,建立回归方程。可将所有影响因子都考虑在内建立多元方程,也可以先根据部分影响因子算出初步的结果,再对结果进行调整。
行业级模型示例如下:
行业级模型: AE=(S*PDR)*SWF*RDF
公式中:
AE:调整后工作量,单位为人时
S:规模,单位为功能点数
PDR:生产率,单位为人时每功能点
SWF:软件因素调整因子
RDF:开发因素调整因子
能上回答望采纳!如有疑问可私信!
什么是软件生产率
什么是软件生产率:
软件生产率是指人均每月所能生产的有效源代码行数。
软件生产率的计算:
软件生产率的计算通常比较困难,不仅要考虑编码阶段,还应包括软件生存期的各个阶段
影响软件生产率的因素:
人的因素:开发机构的规模和经验
问题因素:问题的复杂性和设计约束或要求更改的次数
过程因素:使用的分析和设计技术、应用的语言及评审的过程。
生产因素:计算机系统的性能和可靠性
资源因素:开发工具、硬件和软件资源
关于软件生产率的历史经验:
1.一个组织中最优秀和最后进的人相比,其生产率比值是10:1
2.最优秀的和平均水平的人相比,比例是2.5:1
3.前一半和后一半相比,其生产率的比例大约是2:1
4.从同一个组织来的两个人,其生产率大致相同
软件评估方法
软件系统质量 记分办法,可以按照月,季或者年进行记分合计,每分对应相应的价格进行奖惩。 上线前 ;95%需求覆盖率,至少 ;5%问题遗留率,最高 BUG严重 ;10%比率,最高 试运行过程 内(一般以软件交付给用户后的三个月内为初期故障期)指软件在初期故障期初期故障率: 可以用它来评价交付使用的软件质小时的故障数为单位。100一般以每单位时间的故障数。量与预测什么时候软件可靠性基本稳定。检查项目初期故障率的大小取决于软件设计水平、 数、软件规模、软件调试彻底与否等因素偶然故障率:指软件在偶然故障期(一般以软件交付给用户后的四个月以后为偶然故障期) 小时的故障数为单位,它反映了软件处于稳定状态下1000内单位时间的故障数。一般以每 的质量 运维过程 )MTBF平均失效间隔时间( 通MTBF指软件在相继两次失效之间正常工作的平均统计时间。在实际使用时, 次失效之间的平均统计时间。n+1次失效与第n很大时,系统第n常是指当 小时左右。
做软件开发的成本究竟如何估算
软件成本评估的6个步骤:
1、软件规模评估:
软件规模评估是软件成本评估的基础,是为了保证软件成本评估结果的客观性和透明性,软件规模信息必不可少。
在软件规模评估过程中,如果能够以软件功能点方法作为主要的软件规模评估方法,同时辅以其他的非标准评估方法,例如代码行方法、用例数方法等,应用不同的软件规模评估方法对规模评估结果进行真实性交叉检验,一方面可以提高软件规模评估结果的可信度;另一方面,也可以对不同类型的项目干系人也会具有更强的说服力。
在实际的软件规模评估过程中,软件组织或者个人也可以根据自身的特点采用有别于上述评估方法的其他方法。但要注意的是,不管采用哪种软件规模评估方法,都要尽可能的保证这个方法所评估结果的一致性和客观性。
2、软件工作量评估
如果说我们能够算出开发软件、维护软件所投入的人员工作量,那么我们也就相当于得到了相应的软件成本。在软件行业中的绝大多数项目里面,影响软件工作量的最主要因素还是软件规模因素,当软件规模越来越大时,也就意味着我们需要投入的工作量越多,这两者之间是存在着正相关的关系。
在软件工作量的评估中,还包含了五个小步骤,也就是收集历史工作量数据、分析历史工作量数据、建立工作量评估模型、评估工作量、工作量模型的标定和更新。通过这些步骤可以积累更多关于软件组织开发工作量和维护工作量的数据,在此基础之上,建立相应的工作量评估模型,从而为后续的工作量评估任务提供支持方法。
3、软件阶段工作量评估
在这个步骤中,软件成本评估团队应该充分考虑软件项目的工期因素,对软件项目总工作量安排和各个阶段工作量安排进行优化分析,将软件项目的总工作量以合理可行的方式分解为各个阶段的工作量。
不仅如此,还要考虑软件项目工期所面临的各种工期约束条件,例如一些来自客户的强制工期要求、市场竞争性、可用的人力资源、项目各阶段人力资源分配的合理比例等约束条件,都在这个步骤中明确介绍了一系列阶段工作量安排的改进和优化方法,包括阶段工作量汇总法、资源平滑法、快速跟踪法、赶工法以及软件阶段工作量的可行性评估方法等。
这些方法的主要目的就是在于将软件工作总量以合理、可行的方式分配到软件项目的各个阶段,确保在不超出工作总量的前提下,尽可能降低人员成本、优化人力资源配置,为软件预算、软件开发计划制定等管理活动提供充分的决策支持信息。
4、软件人员成本评估
在这个步骤里面,我们将会详细说明如何在软件开发和维护所需的工作量转换为对应的费用信息,以便为相关的项目外部干系人提供更直接的决策依据。在软件人员成本评估中,也包含有单一人员成本评估法、分类人员成本评估法和行业人员成本评估法。
5、软件风险评估
在软件开发的过程中,许多软件组织明确认识到软件行业的开发人员已经默认和接受了无偿加班这一行业事实,这样一来,就算没有识别相应的风险信息,但也没有严重后果,也就是说,如果风险发生了,那就加班。
这个步骤中通过应用不同的风险评价方法,将软件项目的风险信息转换为项目的成本信息,从而建立软件项目的风险预算。
6、软件成本报告与更新
软件项目在开发过程中时,经常容易发生各种软件需求变更、人员变更、工期变更等多种类型的变更,这些变更无一例外地将对软件成本产生明显的影响。
在这个步骤中,可以分析软件成本更新面临的困难,有哪些典型的软件成本更新的信息来源,从机制设计的角度确保尽可能全面获取软件成本变更信息。最后遵循软件组织所建立的软件成本更新过程,将软件成本变更信息反映到更新后的软件成本评估结果中。
【软件工程】{8} 软件项目进度安排与跟踪,一招学会计算关键路径
项目进度安排,即通过将 工作量 分配给特定的软件工程任务,和u将所估算的工作量/u分布于已经计划好的 项目持续时间 中。
(1)划分 —— 项目被划分为若干个 可管理的活动和任务 ;
(2)相互依赖 —— 活动和任务之间的 关系 必须被确定为:顺序、并发、后续、独立进行;
(3)时间分配 —— 为每个任务分配 工作单位 (即开始和结束时间);
(4)工作量确认 —— 确保u在任意时段/u分配到任务的人员数量 不会超过 项目组的人员数量;(比如:一个项目组此次预估需要有12人分配到任务才能完成此项工作,但原定人员数量为10人,那么1210,这项任务的工作量必然超标了,所以要确保不能超过)
(5)定义责任 —— 每个被调度的任务都应该 指定负责人 ;
(6)定义结果 —— 每个被调度的任务都要有一个 定义好的输出结果 ;
(7)定义里程碑 —— 每个任务或任务组都与 一个项目里程碑 相关联;
当几个人共同承担软件开发任务时,人与人之间必须通过交流来解决各自承担任务之间的接口问题,即所谓通信问题。通信需花费时间和代价,会引起软件错误增加,降低软件生产率。
如果一个软件开发小组有 n 个人,每两人之间都需要通信,则总的通信路径有 条。
如想对通信路径有进一步了解,可到 项目管理中的4P 文章中的项目小组结构进行查看
Q1 :设一个人单独开发软件,生产率是5000行/人年。若 4 个人组成一个小组共同开发这个软件,则需要 6条通信路径。若在每条通信路径上耗费的工作量是 250 行/人年。则小组中每个人的软件生产率降低为多少?
A1 :小组中每个人的软件生产率降低为 5000 – ×250 = 5000 – 375 = 4625 行/人年,所以项目组的生产率为18500。
Q2 :如在上例中,到了开发后期再加入 两名工程师 ,生产率为840行/人年,问此时项目组的生产率为?
A2 :6个人所产生的的通信路径为 = 15条;所以项目组的生产率为5000 × 4 + 840 × 2 – 15 × 250 = 17930。
( 1 )在整个软件开发过程中,编码工作量仅占 20% ,编码前工作量占 40% ,编码后工作量占 40% 。
( 2 )40-20-40 规则只应用来作为 一个指南 ,实际的工作量分配比例必须按照 各项目的特点 来决定。
用一张图来了解关于 软件各阶段的工作量 分配比例。
在实际的软件开发中,一种比较推荐的工作量分布为:
在关键路径上的活动才是按时完成任务的关键。
表1 盖一所房子的重要阶段
表2 盖房子相关活动的时间估计
表3 任务网络图
问 :某项目的活动网络图如表3所示,每项活动所需的天数如路径上数字所示。(1)请给出计算过程确定项目的关键路径和工期。(2)设定活动1.1和1.2的最早开始时间均为第1天,给出所有活动的最早开始时间ES、最迟开始时间LS和浮动时间FT。
项目评估和评审技术是一种 关键路径分析技术 ,使用 正态分布 来判断一个活动的最早开始时间接近该活动进度时间的概率。PERT技术可以计算关键路径、找出最可能成为瓶颈的活动。
获得值分析,主要分析 两个内容 : ① 进度是否拖延; ② 成本是否超出预算。基于这两个内容,对获得值分析进行以下阐述。
(1)计划工作的预计成本(BCWS) :截止到某一时刻,计划工作的预计工作量之和。
(2)完成预算(BAC) : BCWS的总量,是项目的总工作量的估计。
(3)预定完成百分比 :计划工作的预计成本占预计总工作量的百分比,计算公式为: 。
(4)完成工作的预计成本(BCWP) :截止到某一时刻,完成工作的预计工作量之和。
(5)完成百分比 :完成工作的预计成本占预计总工作量的百分比,计算公式为: 。
(6)所完成工作的实际成本(ACWP) :截止到某一时刻,已完成的工作任务的实际工作量之和。
(1)进度性能指标(SPI) = ;
(2)进度偏差(SV) = BCWP – BCWS;
(3)成本性能指标(CPI) = ;
(4)成本偏差(CV) = BCWP – ACWP。
下图是某工程的实际完成表。
Question:在该工程实施过程中,截止到21年4月1号,进度是否拖延?工期是否超出预算?
Answer:
截止到21年4月1号,计划完成任务1、2,实际完成了1、2、4,由此可计算出 BCWS 、 BCWP 、 ACWP 和 BAC 的值。
综上所述,因为 SPI 1,SV 0 , CPI 1,CV 0 ,所以截止到21年4月1日,该工程进度超前,成本超出预算。
Question:若考察点在21年5月1日,此时任务完成进度如上图所示,问进度是否拖延?工期是否超出预算?
Answer:
截止到21年5月1号,计划完成任务1、2、3、4,实际完成了1、2、3、4,由此可计算出 BCWS 、 BCWP 、 ACWP 和 BAC 的值。
综上所述,因为 SPI = 1,SV = 0 , CPI 1,CV 0 ,所以截止到21年4月1日,该工程进度正好,即项目按计划进行,但成本超出预算。
Question:
你被指定负责一个软件项目,这个项目由4个部分(A、B、C、D)组成,项目总预算为53000元,其中A任务预算为26000元,B任务预算为12000元,C任务预算为10000元,D任务预算为5000元。
截止到8月31日,A任务已经全部完成,B任务过半,C任务刚开始,D任务还没有开始,下表给出截止到8月31日的计划成本和实际成本,采用50/50规则计算截止到8月31日为止的 CV , SV , CPI , SPI 。
(备注:50/50规则指项目一开始就实现一半价值,直到结束才实现全部价值,即完成1%或99%,都认为只实现一半价值)
Answer:
截止到8月31日为止的 CV , SV , CPI , SPI 的计算结果如下:
综上所述,因为 SPI 1,SV 0 , CPI 1,CV 0 ,所以截止到8月31日,该工程进度落后一些,但是费用节省了。
软件项目进度安排与跟踪的文章就讲解到这里啦!在这一块内容中,计算关键路径部分尤为重要,也是软考当中的常考题。在学会之后还要自己脱稿再演算多遍,且可以将题目举一反三进行多次计算。如果有不理解的欢迎私聊~
同时,如有需要了解软件工程相关的其他内容,可到『 软件工程 』栏目进行查看学习~
创作不易,如果这篇文章对你有用,记得留下 Star 哦~
关于软件开发生产率计算和软件开发工作量计算的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。