如何评估软件开发的工作量?
来源:天润智力网站建设公司 时间:2014-07-08 14:08:54
软件开发项目的工作量主要指软件开发各过程中所花费的工作量。和传统的制造业不一样,软件的成本主要是人工劳动的消耗。软件也没有明显的制造过程,但是它的开发过程也具有明显的一次性过程特征。不论软件管理手段如何进步,软件开发过程仍然是具有创造性特定的活动。这些特性对软件工作量的估算也造成了一些困难。工作量的估算也不能单纯的从功能、数量上来看,而要考虑到技术路线的选择、设计方法、软件生命周期模型等众多因素对软件项目工作量的影响。那么,如何评估软件开发的工作量?目前国内软件开发工作量的估算主要用以下几种办法:
一:影响绝对开发量的因素有:技术复杂度,框架成熟度,业务逻辑复杂度,用户界面复杂度。
一:影响绝对开发量的因素有:技术复杂度,框架成熟度,业务逻辑复杂度,用户界面复杂度。
1.M代表技术复杂度,比如用到了那些技术,如数据库,网络通信,流媒体等等,包含越多的技术那么复杂度就越高,取值范围通常1~50。
2.N代表框架成熟度,比如你用的是C语音基础库还是windowsAPI或者直接在硬件DDK上开发,是第三方库,还是MFC,或者是J**A的STRUTS,与开发量成反比,但越成熟的框架灵活性越低,而且掌握的时间越长,取值范围通常1~50。
3.这两者本身相关,技术复杂度越高开发难度越大,框架成熟度越高开发难度越低,M-N为最终的技术难度。
4.S代表业务逻辑复杂度, 这个很简单,相信就算最简单的MIS系统,一旦业务逻辑复杂,开发量也是直线上升,取值范围通常1~50。
5.E代表用户界面复杂度,用户界面不只是UI,也包含外部接口,接口越复杂会带来更复杂的UI逻辑,这个与业务逻辑复杂度交叉影响工作量,取值范围也是1~50。
二:影响实际工作量的包括绝对开发量,担当者技术等级,担当者相关技术熟悉度,
1.W代表担当者技术等级,也就是常说的技术经验,通常取值1~8。
2.V代表担当者业务熟悉度,也就是常说的业务经验,通常取值1~8。
3.I代表担当者绝对智商,通常取值1,不排除特别聪明的或者特别笨的,但那是人力资源的事。