软件开发工作量如何评估

2024-05-13 03:39

1. 软件开发工作量如何评估

用于软件项目工作量估算的方法有以“估”为主的专家法和类推法,以“算”为主的类比法和方程法。在软件估算的实践中,类比法和类推法也是普遍使用的估算方法。
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:开发因素调整因子
能上回答望采纳!如有疑问可私信!

软件开发工作量如何评估

2. 如何评价软件开发人员的开发质量

我认为一个有效评价手段应该达到以下目的:

1、 对团队:让整个团队进入愉快高效工作状态

2、 对“高手”:奖励干活多干活好的人

3、 对“低手”:从制度上杜绝磨洋工的现象

4、 对“中手”:提供工作认真但是水平有待提高的成员生存成长空间

一个团队,总是有着各种各样的人,每个人在这个团队里都是主角。为了团队,他们有着相同的目标,但却担任着不同的角色,做着不同的事情。正因为每个人都做不同的事情,所以我们很难在定义一个统一的标准来评判个人在团队中的绩效。


我觉得最终的目的,是在团队中起到什么作用,是很重要的一件事情。希望我的回答能够帮助到你。谢谢。希望你能够采纳我的答案,谢谢。

3. 如何评估个人的软件开发能力

读程序的能力 很多的软件开发工作不一定会从头开始,这就需要开发人员有良好的阅读程序的能力,能在尽可能短的时间里了解软件整体的架构,理解该软件初始的开发思想,能迅速并有效地参与到项目开发中去。2.
编码能力 这点会涉及到开发人员对所用语言的熟练程度,和该开发人员的编程风格。是否拥有良好的编程习惯,能遵循通用的编程规范,并作好注释,对该开发人员所开发代码的易读性和易维护性有很大的影响。3.
调试和测试能力 现代的软件行业中,代码的调试和测试时间并不比编码时间短,甚至会超出,当然,很多的调试和测试工作并不都是编码人员完成,但测试工作是很多软件开发人员的必经之路。4.
软件的维护 似乎维护谈不上需要什么能力,因为这时更多需要的是开发人员的耐心。记得曾经看过这样的话(大意):你的程序就是你的孩子,在你产生了他们之后,还需要你的呵护才能成长和成熟^^ 前面讨论的都是实际动手能力,是一个软件开发人员的基本功。而评估一个开发人员的软件开发能力,除了评估他的编程能力外,还应考虑到其他的一些很重要的能力,如1.
需求分析的能力 一个项目,最初就需要做需求分析,了解该项目的目的,对系统的需求,对功能的要求,并对其进行分析,作好项目规划和说明.2.
建立软件框架的能力 建立一个良好的软件框架是这个项目成功的一个保证,需要考虑整个软件的一致性和完整性.3.
贯穿项目始终的管理控制能力 在项目开发过程中,不可避免会出现新需求的加入,目标的修正,或者人员的变动等问题,对此进行有效的管理控制是对开发人员的更高要求. 因为到现在为止,在软件方面,我还只是在别人的程序上修修改改,做增减功能,调试查错等工作,所以只能谈这么多了,也希望大家不吝赐教,共同进步^0^.从基本的来看,应涉及到以下几点:

如何评估个人的软件开发能力

4. 如何评估个人的软件开发能力试题

读程序的能力 很多的软件开发工作不一定会从头开始,这就需要开发人员有良好的阅读程序的能力,能在尽可能短的时间里了解软件整体的架构,理解该软件初始的开发思想,能迅速并有效地参与到项目开发中去。2.
编码能力 这点会涉及到开发人员对所用语言的熟练程度,和该开发人员的编程风格。是否拥有良好的编程习惯,能遵循通用的编程规范,并作好注释,对该开发人员所开发代码的易读性和易维护性有很大的影响。3.
调试和测试能力 现代的软件行业中,代码的调试和测试时间并不比编码时间短,甚至会超出,当然,很多的调试和测试工作并不都是编码人员完成,但测试工作是很多软件开发人员的必经之路。4.
软件的维护 似乎维护谈不上需要什么能力,因为这时更多需要的是开发人员的耐心。记得曾经看过这样的话(大意):你的程序就是你的孩子,在你产生了他们之后,还需要你的呵护才能成长和成熟^^ 前面讨论的都是实际动手能力,是一个软件开发人员的基本功。而评估一个开发人员的软件开发能力,除了评估他的编程能力外,还应考虑到其他的一些很重要的能力,如1.
需求分析的能力 一个项目,最初就需要做需求分析,了解该项目的目的,对系统的需求,对功能的要求,并对其进行分析,作好项目规划和说明.2.
建立软件框架的能力 建立一个良好的软件框架是这个项目成功的一个保证,需要考虑整个软件的一致性和完整性.3.
贯穿项目始终的管理控制能力 在项目开发过程中,不可避免会出现新需求的加入,目标的修正,或者人员的变动等问题,对此进行有效的管理控制是对开发人员的更高要求. 因为到现在为止,在软件方面,我还只是在别人的程序上修修改改,做增减功能,调试查错等工作,所以只能谈这么多了,也希望大家不吝赐教,共同进步^0^.从基本的来看,应涉及到以下几点: