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

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

前言


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


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


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


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


正文


一、自顶向下估算方法


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

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


二、自底向上估算方法


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

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


三、差别估算方法


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

目录
相关文章
|
7月前
|
存储 安全 测试技术
【软件设计师备考 专题 】软件质量:特性、控制与改进
【软件设计师备考 专题 】软件质量:特性、控制与改进
115 0
|
7月前
|
监控 项目管理
软件工程IT项目管理复习之 三:项目管理过程组:案例研究
软件工程IT项目管理复习之 三:项目管理过程组:案例研究
124 0
|
2月前
|
测试技术 网络安全
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
211 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
|
3月前
|
算法 BI 项目管理
『软件工程6』详解软件项目管理之软件范围与估算
该文章详细阐述了软件项目管理中软件范围定义与工作量估算的方法,包括如何界定软件范围以及使用不同模型进行成本和时间估算的步骤。
『软件工程6』详解软件项目管理之软件范围与估算
|
7月前
|
监控 前端开发 算法
【软件设计师备考 专题 】深入理解软件成本模型
【软件设计师备考 专题 】深入理解软件成本模型
108 0
|
7月前
|
算法 测试技术 开发工具
【软件设计师备考 专题 】系统设计基础:从总体到详细
【软件设计师备考 专题 】系统设计基础:从总体到详细
203 0
|
测试技术 Python
【零基础】性能、自动化测试技能自学提升方案
成为性能和自动化行业领域专家,做有魅力,有影响力的人。
126 0
【零基础】性能、自动化测试技能自学提升方案
|
安全 测试技术 UED
从软件工程角度看测试
近几年的软件测试岗位,开始逐渐变为了QA,即质量保障。看似只是一个名词的变化,其实背后对应的是企业对软件测试这个岗位有了更多的要求和期望。当然也有同学会自嘲自己是点工、PageClienter等,面试造火箭入职拧螺丝的背后也存在很多无奈。
|
测试技术
【软件工程基础】系统维护
【软件工程基础】系统维护
172 0