【软件工程基础知识】成本估算方法

简介: 【软件工程基础知识】成本估算方法

前言


软件的项目估算设计人、技术、环境等多种因素,因此很难在项目完成前准确地估算出开发软件所需的成本、持续时间和工作量。因此,需要一些方法和技术来支持项目的估算。常用的估算方法有下列 3 种。


  1. 基于已完成的类似项目进行估算。


  1. 基于分解技术进行估算。分解技术包括问题分解和过程分解。问题分解是将一个复杂问题分解成若干个小问题,通过对小问题的估算得到复杂问题的估算。过程分解是指先根据软件开发过程中的活动(分析、设计、编码、测试等)进行估算,然后得到整个项目的估算值。


  1. 基于经验估算模型的估算。


正文


一、自顶向下估算方法


估算人员按照以前完成的项目所耗费的总成本(或总工作量)来推算将要开发的软件的总成本(或总工作量),然后把它们按阶段、步骤和工作单元进行分配,这种方法称为自顶向下估算方法。

自顶向下估算方法的主要优点是对系统级工作的重视,所以估算中不会遗漏诸如集成、配置管理之类的系统级事务,且估算工作量小、速度快。它的缺点往往不清楚低级别的技术性困难问题,而这些困难将会使成本上升。


二、自底向上估算方法


自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发量。这种方法的有点是将每一部分的估算工作交给负责该部分工作的人来做,所以估算较为准确。其缺点估算往往缺少各项子任务之间相互联系所需要的工作量和与软件有关的系统级工作量,所以估算往往偏低

PS:我上一个完整的项目就是这种估算方法,也确实踩了如缺点所示的坑。


三、差别估算方法


差别估算方法的思想是将待开发项目与一个或多个已完成的类似项目进行比较,找出与某个相似项目的若干不同之处,并估算每个不同之处对成本的影响,导出待开发项目的总成本。改方法的优点是可以提高估算的准确度,缺点是不容易明确“差别”的界限。

目录
相关文章
|
4月前
|
算法 BI 项目管理
『软件工程6』详解软件项目管理之软件范围与估算
该文章详细阐述了软件项目管理中软件范围定义与工作量估算的方法,包括如何界定软件范围以及使用不同模型进行成本和时间估算的步骤。
『软件工程6』详解软件项目管理之软件范围与估算
|
7月前
|
设计模式
QuantLib学习笔记——一个简单的价值估算案例
QuantLib学习笔记——一个简单的价值估算案例
117 0
|
算法 数据格式
|
JavaScript 前端开发 测试技术
《软件测试技术实战:设计、工具及管理》—第1章 1.1节软件测试的基本理论
软件测试的基本理论是软件测试的基础。在本书的开始,我们先学习和回顾一下软件测试的基本术语,这样可便于更深入地探讨软件测试的其他知识。
4946 0
软件项目成本估算工作量评估:基于场景的软件早期估算
对于软件项目而言,无论是什么估算,其基础都应该是“规模”的估算。也就是要对项目的内容进行“量化”的预估。
2757 0