大家好,我将从以下三个方面来介绍软件项目估算(希望能做到深入浅出):
一、什么是项目估算
二、为什么做项目估算
三、项目估算的方法
内容有点多,分几篇讲吧。
一、什么是项目估算
项目估算是对需求分析、设计、编码、测试、集成交付等整个软件开发过程所花费工作量、时间、成本等的预测。是软件研发中最难的工序之一。
二、为什么做项目估算
软件系统的规模、功能越来越复杂,难于理解,必须通过某种方法对软件的规模、工期、成本进行度量、预计,从而能更好的控制软件开发活动。(有很多非常有趣的漫画用于形容项目估算、工期的问题,大家自己搜搜吧)
项目估算是制定合理的项目计划的基础。
三、项目估算的方法
下图是常见的评估方法以及可用于评估的对象。我们以规模和工作量的估算为主,因为工期和成本是可以通过规模和工作量计算出来的。
3.1 规模估算
可进行估算的规模属性包括需求数、接口数、功能数、功能点数、文档页数、代码行数、类与对象数、数据库表与字段数等等。(参见CMMI-PP)
上述规模属性可以划分为两类:
1) 技术规模:开发人员角度,常用的是基于代码行的估算