1. 请帮我翻译一段英文谢谢!
软碰巧旁件规模估算(Software Size Estimation)大体分为两种方法一种是根据开宽亏发经验与之前类似项目做出比较。二是应用估算软件笑橡来做出估算。
Software Size Estimation can be devided into two ways in general: one is making compare between the exploitation experience and similar project in the past. The other way is making estimation by estimation softwares.
2. 估算软件工作量多少或大小时如何选择合适的方法
在估算软件工作量时选择哪种方法好,我觉得你应该先了解一下软件项目工作量竖裤租的估算方法主要有哪些。通常用的就3种:方程法、类比法和类推法。一般情况下估算软件项目余兆工作量是由估算软件规模的结果作为输入,然后采用方程法来进行估算。但也有一些特殊情况,比如需求非常模糊而无法进行规模估算时,可以直接采用类比法或类推法来估算软件工作量。
以我个人的经验,在估算软件项目工作量时纯扒,如果你对于上面说的3种方法的使用足够了解,是可以很容易选择出合适的方法的。有关这3种方法的详细介绍我认为你还是多去了解一下,或者系统的了解一下软件成本估算方面的知识,毕竟工作量估算只是软件成本估算中的一小部分。我可以推荐一本书给你,由北京软件造价评估技术创新联盟编写机械工业出版社出版的《软件研发成本度量规范释义》第2版。或者也可以购买刚刚发布不久的国家标准《GB/T 36964-2018 软件工程 软件开发成本度量规范》来了解相关知识。
希望我的回答可以帮到你,如还有疑问可以跟我联系沟通。
3. 怎么确定软件项目的规模
大中小项目其实只是一个相对的说法。
可以根据人力投入、资金投入、开发周期来界定。
软件的开发项目,可以根据开发资金界定。
如:50万以下属于小项目,50-300万属于中型项目,300万以上属于大型项目。
但包括硬件的项目,其资金的标准就要提高了。
4. 如何用4种不同的估计方法,对软件产品规模进行量化估计
(1)告仿在没有历史数据的情况下,Delphi法是最流行的专家评估技术。
(2)在有历史数据的情况下,类比法适合于评估一些与历史项目在应用领域、环境和复杂度方面相似的项目袜枣纤,通过新项目与历史项目的比较得到规模估计。
(3)在需求分析时,若系岩咐统的功能点非常清楚,则可用功能点法。据统计发现,对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。
(4)任何时候都可采用无礼估计法。无礼估计法类似于体育比赛中的跳水、体操、花样游泳、花样滑冰等项目的评判打分方法。它对各个项目活动的完成时间,按三种不同情况估计:
一个产品的期望规模。 一个产品的最低可能估计。 一个产品的最高可能估计。
5. 一个软件项目如何评估工作量和成本
软件开发成本估算过程可进一步细分为软件规模估算、工作量估算、成本估算和确定软件开发成本等四个过程。
其中成本估算需要对直接人力成本、间接人力成本、间接非人力成本及直接非人力成本分别进行估算。
国家标准《GB/T 36964-2018 软件工程 软件开发成本度量规范》中建议的软件开发成本估算基本流程如下图所示:
国家准中的四个估算过程,层层递进,逐步细化,最终达到科学、一致的成本估算。
一、软件规模估算
通常情况下,规模估算是软件成本估算过程的起点。
估算规模是后续计算软件项目的工作量、成本和进度的主要输入,是项目范围管理的关键,因此,在条件允许的情况下,应首先进行规模估算。
在规模估算过程中,需要注意以下情况:
在规模估算开始前,应根据可行性研究报告或类似文档明确项目需求及系统边界。项目需求除包含最基本的业务需求外,还应进行初步的子系统/模块划分,并对每一子系统或模块的基本用户需求进行说明,以保证可以根据项目需求进行规模预估。
依据项目特点和需求详细程度不同,通常估算人员在选择估算方法时应采用纳入国际标准的功能点方法进行功能规模估算,在适用IFPUG或NESMA方法时,可以根据需求的粒度和管理需要,选择预估功能点方法、估算功能点方法或者详细功能点方法。
若当前的项目需求极其模糊或不确定,可不进行规模估算,而直接采用类比法或类推法估算工作量和成本。
二、工作量估算
在完成规模估算后,应当开展工作量估算工作,若当前项目未开展规模估算,也可直接启动工作量估算工作。
工作量估算时,可采用方程法、类比法、类推法、功能点法:
方程法:即基于基准数据建立参数模型,通过输入各项参数,确定估算值。
类比法:即将待估算项目的部分属性与类似的一组基准数据进行比对,进而确定估算值。
类推法:即将待估算项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,并进行适当调整后确定估算值。
功能点法:从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为最主流的软件规模度量方法。
在开展工作量估算的过程中,需要注意以下情况:
当需求极其模糊或不确定时,如果此时具有高度类似的历史项目,则可直接采用类推法,充分利用历史项目数据来粗略估算工作量。
当需求极其模糊或不确定时,如果此时具有与本项目部分属性类似的一组基准数据,则可直接采用类比法,充分利用基准数据来粗略估算工作量。
对于规模估算已经开展的项目,可采用方程法,通过输入各项参数,确定待估算项目的工作量。若客户或高层对项目的工期有明确的要求时,在采用方程法估算工作量时,工期要求有可能是方程的参数之一。
为追求估算的准确性,建议在条件允许的情况下,可采用两种估算方法,对估算结果进行交叉验证,若估算结果差别不大,可直接使用两种估算结果的平均值或以某种估算结果为准,若差别较大,需进行差异分析。
工作量的估算结果宜为一个范围而不是单一的碧丛值。
三、成本估算
在获得了工作量估算结果后,可采用科学的方法进行成本估算。
在成本估算过程中,应需要注意的情况:
类比法和类推法,同样适用于需求极其模糊或不确定时的成本陵肆估算;
间接成本是否与工作量估算结果相关取决于间接成本分摊计算方式。在绝大多数组织,项目周期越长,项目组成员越多,其分摊的间接成本就越高,此时项目的间接成本与工作量估算结果直接相关;
直接非人力成本通常与工作量估算结果无关,宜单独分项悔汪樱测算;
成本估算结果,也通常为一个范围,而不是单一的值。
四、确定软件开发成本
在《软件工程 软件开发成本度量规范》中,将软件开发成本分为四类,主要是为便于对成本构成(即哪些成本属于开发成本,哪些不属于开发成本)进行清晰界定。
而在实际确定软件开发成本时,通常并不是分别测定四类成本,加和后获得总成本,而是通常采用以下两种方式确定总成本:
根据人力成本费率及工作量估算直接人力成本和间接成本之和,再加上直接非人力成本,获得总成本;
根据规模综合单价和软件规模,测算出直接人力成本和间接成本之和,再加上直接非人力成本,获得总成本。
在进行软件的规模、工作量、成本估算时应遵循以下原则:
在规模估算时,应根据项目特点和需求的详细程度选择合适的估算方法;
充分利用基准数据,采用方程法、类比法或类推法,对工作量和成本进行估算;
工作量和成本的估算结果宜为一个范围值;
在进行成本估算时,如有明确的工期要求,应充分考虑工期对项目成本的影响,可以根据项目实际情况以及工期对项目的影响程度,对成本的估算结果进行调整;
成本估算过程中宜采用不同的方法分别估算并进行交叉验证。如果不同方法的估算结果产生较大差异,可采用专家评审方法确定估算结果,也可使用较简单的加权平均方法;
在软件项目的不同场景下(如预算、招投标、项目计划和变更管理等)采用国家标准时,相关要求见国家标准中附录A。
除了上述主要原则外,我们还需注意在使用基准数据时:
对于委托方和第三方,建议使用或参考软件行业基准数据进行估算。估算模型的调整因子的增减或取值有可能随着行业基准数据的变化而变化。
对于开发方,在引入行业基准数据的基础上,可逐步建立组织级基准数据库,以提高估算精度。组织级基准数据定义应与行业基准数据定义保持一致,以便于与行业基准数据进行比对分析,并持续提升组织能力。
6. 做软件开发的成本究竟如何估算
软件成本评估的6个步骤:
1、软件规模评估:
软件规模评估是软件成本评估的基础,是为了保证软件成本评估结果的客观性和透明性,软件规模信息必不可少。
在软件规模评估过程中,如果能够以软件功能点方法作为主要的软件规模评估方法,同时辅以其他的非标准评估方法,例如代码行方法、用例数方法等,应用不同的软件规模评估方法对规模评估结果进行真实性交叉检验,一方面可以提高软件规模评估结果的可信度;另一方面,也可以对不同类型的项目干系人也会具有更强的说服力。
在实际的软件规模评估过程中,软件组织或者个人也可以根据自身的特点采用有别于上述评估方法的其他方法。但要注意的是,不管采用哪种软件规模评估方法,都要尽可能的保证这个方法所评估结果的一致性和客观性。
2、软件工作量评估
如果说我们能够算出开发软件、维护软件所投入的人员工作量,那么我们也就相当于得到了相应的软件成本。在软件行业中的绝大多数项目里面,影响软件工作量的最主要因素还是软件规模因素,当软件规模越来越大时,也就意味着我们需要投入的工作量越多,这两者之间是存在着正相关的关系。
在软件工作量的评估中,还包含了五个小步骤,也就是收集历史工作量数据、分析历史工作量数据、建立工作量评估模型、评估工作量、工作量模型的标定和更新。通过这些步骤可以积累更多关于软件组织开发工作量和维护工作量的数据,在此基础之上,建立相应的工作量评估模型,从而为后续的工作量评估任务提供支持方法。
3、软件阶段工作量评估
在这个步骤中,软件成本评估团队应该充分考虑软件项目的工期因素,对软件项目总工作量安排和各个阶段工作量安排进行优化分析,将软件项目的总工作量以合理可行的方式分解为各个阶段的工作量。
不仅如此,还要考虑软件项目工期所面临的各种工期约束条件,例如一些来自客户的强制工期要求、市场竞争性、可用的人力资源、项目各阶段人力资源分配的合理比例等约束条件,都在这个步骤中明确介绍了一系列阶段工作量安排的改进和优化方法,包括阶段工作量汇总法、资源平滑法、快速跟踪法、赶工法以及软件阶段工作量的可行性评估方法等。
这些方法的主要目的就是在于将软件工作总量以合理、可行的方式分配到软件项目的各个阶段,确保在不超出工作总量的前提下,尽可能降低人员成本、优化人力资源配置,为软件预算、软件开发计划制定等管理活动提供充分的决策支持信息。
4、软件人员成本评估
在这个步骤里面,我们将会详细说明如何在软件开发和维护所需的工作量转换为对应的费用信息,以便为相关的项目外部干系人提供更直接的决策依据。在软件人员成本评估中,也包含有单一人员成本评估法、分类人员成本评估法和行业人员成本评估法。
5、软件风险评估
在软件开发的过程中,许多软件组织明确认识到软件行业的开发人员已经默认和接受了无偿加班这一行业事实,这样一来,就算没有识别相应的风险信息,但也没有严重后果,也就是说,如果风险发生了,那就加班。
这个步骤中通过应用不同的风险评价方法,将软件项目的风险信息转换为项目的成本信息,从而建立软件项目的风险预算。
6、软件成本报告与更新
软件项目在开发过程中时,经常容易发生各种软件需求变更、人员变更、工期变更等多种类型的变更,这些变更无一例外地将对软件成本产生明显的影响。
在这个步骤中,可以分析软件成本更新面临的困难,有哪些典型的软件成本更新的信息来源,从机制设计的角度确保尽可能全面获取软件成本变更信息。最后遵循软件组织所建立的软件成本更新过程,将软件成本变更信息反映到更新后的软件成本评估结果中。
7. 做软件开发的成本究竟如何估算
在对一个软件项目进行开发成本估算时,应该包括从项目立项直至项目研发活动结束所花费的资源总和,并且可以按阶段进行估算或测量。
软件开成本估算的过程可分为:估算规模、估算工作量、估算工期和估算成本这4个过程,最终确定软件成本。其中成本估算需要对直接人力成本、间接人力成本、间接非人力成本及直接非人力成本分别进行估算。
1、估算规模
通常情况下,软件规模的估算是软件成本估算过程的起点。估算规模是后续计算软件项目的工作量、成本和进度的主要依据,是项目范围管理的关键,因此,在条件允许的情况下,应该进行软件项目规模估算。
规模估算时,要根据可行性研究报告或类似文档明确项模族目需求及系统边界。选择估算方法时,要依据项目特点和需求详细程度来决定。
若当前项目的需求不确定,可跳过这一环节,进入下个一环节。
2、估算工作量
软件项目工作量估算可采用方程法、类比法和类推法。
类推法:软件项目需求极其模糊或不确定时,旦返弊如果有高度相似的历史项目,可采用此方法,利用历史项目数据来粗略估算工作量。
类比法:软件项目需求极其模糊或不确定时,如果有与本项目部分属性类似的一组基准数据,可采用类比法,利用基准数据来粗略估算工作量。
方程法:已经开展了规模估算的项目,可以采用方程法,通过各项参数来确定待估算项目的工作量。
项目工作量估算都应该采用两种估算方法来对估算结果进行交叉验证,以追求估算的准确性。工作量的估算结果是一个范围,不是单一的值。
3、估算工期
软件项目工期的估算同样可以采用类推法、类比法和方程法世拿。
4、估算成本
类比法和类推法同样适用于需求极期模糊或不确定时的成本估算。
成本估算结果通常为一个范围。
在获得工作量和工期后,采用科学的方法来进行成本估算。中基数联做为北京软件造价评估技术创新联盟的授权合作伙伴,在对软件成本估算时,采用快速功能点法进行成本估算。
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:开发因素调整因子
能上回答望采纳!如有疑问可私信!
9. 软件度量的方法体系
项目度量
项目度量是针对软件开发项目的特定度量,目的在于度量项目规模、项目成本、项目进度、顾客满意度等,辅助项目管理进行项目控制。
规模度量
软件开发项目规模度量(size measurement)是估算软件项目工作量、编制成本预算、策划合理项目进度的基础。规模度量是软件项目失败的重要原因之一。一个好的规模度量模型可以解决这一问题。有效的软件规模度量是成功项目的核心要素:基于有效的软件规模度量可以策划合理的项目计划,合理的项目计划有助于有效地管理项目。规模度量的要点在于:由开发现场的项目成员进行估算;灵活运用实际开发作业数据;杜绝盲目迎合顾客需求的“交期逆推法”。
软件规模度量有助于软件开发团队准确把握开发时间、费用分布以及缺陷密度等等。软件规模的估算方法有很多种,如:功能点分析(FPA:function points analysis)、代码行(LOC:lines of code)、德尔菲法(Delphi technique)、COCOMO模型、特征点(feature point)、对象点(object point)、3-D功能点(3-D function points)、Bang度量(DeMarco's bang metric)、模糊逻辑(fuzzy logic)、标准构件法(standard component)等,这些方法不断细化为更多具体的方法。
成本度量
软件开发成本度量主要指软件开发项目所需的财务性成本的估算。主要方法如下:
类比估算法。类比估算法是通过比较已完成的类似项目系统来估算成本,适合评估一些与历史项目在应用领域、环境和复杂度方面相似的项目。其约束条件在于必须存在类似的具有可比性的软件开发系统,估算结果的精确度依赖于历史项目数据的完整性、准确度以及现行项目与历史项目的近似程度。
细分估算法。细分估算法是将整个项目系统分解成若干个小系统,逐个估算成本,然后合计起来作为整个项目的估算成本。细分估算法通过逐渐细化的方式对每个小系统进行详细的估算,可能获得贴近实际的估算成本。其难点在于,难以把握各小系统整合为大系统的整合成本。
周期估算法。周期估算法是按软件开发周期进行划分,估算各个阶段的成本,然后进行汇总合计。周期估算法基于软件工程理论对软件开发的各个阶段进行估算,很适合瀑布型软件开发方法,但是需要估算者对软件工程各个阶段的作业量和相互间的比例具有相当的了解。
顾客满意度度量
顾客满意是软件开发项目的主要目的之一,而顾客满意目标要得以实现,需要建立顾客满意度度量体系和指标对顾客满意度进行度量。顾客满意度指标(CSI:customer satisfaction index)以顾客满意研究为基础,对顾客满意度加以界定和描述。项目顾客满意度量的要点在于:确定各类信息、数据、资料来源的准确性、客观性、合理性、有效性,并以此建立产品、服务质量的衡量指标和标准。企业顾客满意度度量的标准会因为各企业的经营理念、经营战略、经营重点、价值取向、顾客满意度调查结果等因素而有所不同。比如:NEC于2002年12月开始实施的CSMP 活动的度量尺度包括共感性、诚实性、革新性、确实性和迅速性,其中,将共感性和诚实性作为CS活动的核心姿态,而将革新性、确实性和迅速性作为提供商品和服务中不可或缺的尺度。每个尺度包括两个要素,各要素包括两个项目,共计5大尺度、10个要素和20个项目。例如,共感性这一尺度包括“了解顾客的期待”、“从顾客的立场考虑问题”这两个要素;“了解顾客的期待”这一要素又包括“不仅仅能胜任目前的工作还能意识到为顾客提供价值而专心投入”、“对顾客的期望不是囫囵吞枣而是根据顾客的立场和状况来思考‘顾客到底需要什么’并加以应对”这两个项目。
美国专家斯蒂芬(Stephen H.Kan)在《软件质量工程的度量与模型》(Metrics and Models in Software Quality Engineering)中认为,企业的顾客满意度要素如表7-1所示: 顾客满意度要素 顾客满意度要素的内容 技术解决方案 质量、可靠性、有效性、易用性、价格、安装、新技术 支持与维护 灵活性、易达性、产品知识 市场营销 解决方案、接触点、信息 管理 购买流程、请求手续、保证期限、注意事项 交付 准时、准确、交付后过程 企业形象 技术领导、财务稳定性、执行印象 作为企业的顾客满意度的基本构成单位,项目的顾客满意度会受到项目要素的影响,主要包括:开发的软件产品、开发文档、项目进度以及交期、技术水平、沟通能力、运用维护等等。具体而言,可以细分为如表7-2所示的度量要素,并根据这些要素进行度量。
顾客满意度项目 顾客满意度度量要素
软件产品 功能性、可靠性、易用性、效率性、可维护性、可移植性
开发文档 文档的构成、质量、外观、图表以及索引、用语
项目进度以及交期 交期的根据、进度迟延情况下的应对、进展报告
技术水平 项目组的技术水平、项目组的提案能力、项目组的问题解决能力
沟通能力 事件记录、式样确认、Q&A
运用维护 支持、问题发生时的应对速度、问题解决能力