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

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

前言


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


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


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


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


正文


一、自顶向下估算方法


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

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


二、自底向上估算方法


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

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


三、差别估算方法


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

目录
相关文章
|
6月前
|
算法 安全 程序员
分享刷题的个人经验!!!(特别高效)
分享刷题的个人经验!!!(特别高效)
46 0
|
7月前
|
算法 Java Shell
简化Java编程的法宝,让工作更高效
简化Java编程的法宝,让工作更高效
软件工程总体分析
软件工程总体分析
【学习总结】如何提高学习效率
【学习总结】如何提高学习效率
|
移动开发 小程序 JavaScript
在自学编程这条道上,有人半途而废,有人效率暴增
在自学编程这条道上,有人半途而废,有人效率暴增
81 0
|
安全 测试技术 UED
从软件工程角度看测试
近几年的软件测试岗位,开始逐渐变为了QA,即质量保障。看似只是一个名词的变化,其实背后对应的是企业对软件测试这个岗位有了更多的要求和期望。当然也有同学会自嘲自己是点工、PageClienter等,面试造火箭入职拧螺丝的背后也存在很多无奈。
|
监控 计算机视觉
软考高项笔记(二):成本类计算
本篇博文,即第二篇博文我要归纳的笔记是在软考上午选择题和下午案例题都很重要的计算题类型中的成本类计算笔记。本篇博文主要用于学习和交流。归纳总结不仅是学习的重要方法,也是一种分享的途径,我在此希望与各位准项目经理共同努力,为早日实现人生理想而奋斗!
343 4
软考高项笔记(二):成本类计算