方法一、Delphi 法

Delphi法是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别,但专家"专"的程度及对项目的理解程度是工作中的难点,尽管 Delphi技术可以减轻这种偏差,专家评估技术在评定一个新软件实际成本时通常用得不多,但是,这种方式对决定其它模型的输入时特别有用。Delphi法鼓励参加者就问题相互讨论。这个技术,要求有多种软件相关经验人的参与,互相说服对方。
       Delphi法的步骤是:
1、协调人向各专家提供项目规格和估计表格;
2、协调人召集小组会各专家讨论与规模相关的因素;
3、各专家匿名填写迭代表格;
4、协调人整理出一个估计总结,以迭代表的形式返回专家;
5、协调人召集小组会,讨论较大的估计差异;
6、专家复查估计总结并在迭代表上提交另一个匿名估计;
7、重复4-6, 直到达到一个最低和最高估计的一致。

软件项目估算方法

  方法二、 类比法

  类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。类比法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。

  其基本步骤是:
1、整理出项目功能列表和实现每个功能的代码行;
2、标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方;
3、通过步骤1和2得出各个功能的估计值;
4、产生规模估计。

  软件项目中用类比法,往往还要解决可重用代码的估算问题。估计可重用代码量的最好办法就是由程序员或系统分析员详细地考查已存在的代码,估算出新项目可重用的代码中需重新设计的代码百分比、需重新编码或修改的代码百分比以及需重新测试的代码百分比。根据这三个百分比,可用下面的计算公式计算等价新代码行:

  等价代码行 = [(重新设计% +重新编码% +重新测试%)/3]× 已有代码行
  比如:有10,000行代码,假定30%需要重新设计,50%需要重新编码,70%需要重新测试,那么其等价的代码行可以计算为:
[ (30% + 50% + 70%)/3 ]× 10,000 = 5,000 等价代码行。
  意即:重用这10000代码相当于编写5000代码行的工作量。

  方法三、功能点估计法

  功能点测量是在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。通常的步骤是:

1、计算输入,输出,查询,主控文件,和接口需求的数目。
2、将这些数据进行加权乘。下表为一个典型的权值表。

    功能类型  权值
    输入    4
    输出    5
    查询    4
    主控文件  10
    接口    10

3、估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。

  据发现,对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。然而,在了解产品越多后,功能点可以转换为软件规模测量更常用的LOC。

  方法四、PERT估计法

PERT对各个项目活动的完成时间按三种不同情况估计:一个产品的期望规模,一个最低可能估计,一个最高可能估计。用这三个估计用来得到一个产品期望规模和标准偏差的Pert 统计估计。Pert 估计可得到代码行的期望值E, 和标准偏差SD.

详细的估计方法,读者可参考笔者所写的《应用PERT进行项目工期估计》一文,这里不再赘述。

 五、估算工具:cocode需求分析工具

CoCode需求分析工具使用COSMIC和IFPUG项目规模估算法,根据用户需求,能够自动估算项目规模大小,估算工作量和项目报价。

合理估算项目规模步骤如下:

1、点击CoCode需求分析工具右上角“报价”按钮,跳转至项目估算页面。

在IFPUG功能计数项板块中,对所有的功能计数项,进行复杂度(简单或一般或复杂)的选择。如门票计数项,复杂程度可以选择简单。

2、在系统特征板块中,系统特征值分为14种类型,我们需对每种类型对系统的影响程度,进行取值范围设置。

软件项目估算工具:cocode需求分析工具

3、根据不同地区选择平均人月费率,或可直接填写数值;根据不同行业选择软件开发生产率,也可直接填写数值;根据公司及项目实际情况填写毛利润率即可。

根据我们各项数值的选择和填写,CoCode需求分析工具会自动计算出调整后的功能点数、工作量以及产品报价和人力成本等信息。

目前CoCode需求分析工具限时免费使用,欢迎大家使用,工具地址:CoCode(PC端使用,请复制链接用浏览器打开。

软件规模估算常用的5种方法及实用工具。相关推荐

  1. java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源

    实现该方法需要导入一些jar包 可以去一下地址下载: http://pan.baidu.com/s/1hqrJF7m /** * 实用工具类来获取服务器资源 * * get方法传送数据 * * 1.通 ...

  2. 常见的7种软件规模估算方法 优劣势比较

    业内主要的软件规模估算方法:LOC估算方法.故事点估算法.FPA功能点估算方法.COSMIC功能点估算方法.快速功能点估算方法.IFPUG功能点估算方法和自动化功能点估算方法. 1.LOC估算方法 L ...

  3. spring boot项目 中止运行 最常用的几种方法

    spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...

  4. jQuery添加DOM节点常用的5种方法

    一.内部插入(前插入.后插入): <!DOCTYPE html> <html><head><meta charset="UTF-8"> ...

  5. PHP教程:WebService最常用的两种方法

    国内用PHP写WebService的真的很少,网上资料也没多少,公司的项目开发过程中,经历了不少这方面的东西,写出来以供大家参考(谢谢老农提供的WSDL和程序文件) 客户端 代码: 01.   02. ...

  6. 统计内表行数常用的三种方法

    以下是统计内表行数常用的三种方法, 如下:   1.LOOP AT it_itab.    g_lines2 = g_lines2 + 1.    ENDLOOP.    该方法是通过循环内部表自己累 ...

  7. java json的使用方法_JAVA编写JSON常用的三种方法

    JAVA编写JSON常用的三种方法 Szx • 2019 年 11 月 15 日 1.jsonlib需要引入的包也多,代码也相对多一些. 2.Gson:谷歌的 3.FastJson:阿里巴巴的,这几个 ...

  8. 破解XP系统密码的常用的几种方法

    破解系统密码的常用的几种方法 ---流血的蚊子(个人实验加整理) 以下几种方法都需要Dos环境或者winpe环境,所以需要自己制作启动盘(具体方法不多言) 1.  SAM文件.Windows xp目录 ...

  9. ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练)

    ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练) 目录 模型训练评估中常用的两种方法代码实现 T1.留一法一次性切分训练 T2.K折交叉验证训 模型训练评估中 ...

最新文章

  1. 安装Redis Live监控服务
  2. 如何在SAP WebClient UI里使用HANA Live report
  3. 用字符串表达式访问JSON数据(java,fastjson)
  4. 【渝粤教育】国家开放大学2018年春季 0221-21T数字电子电路 参考试题
  5. idea插件开发(01)---最简单的helloworld版,不需要知道原理,先跟我做一个最简单的弹框插件
  6. resnet结构_ResNet 残差网络论文阅读及示例代码
  7. 使用apktool.jar工具反编译和回编译Android APK 终端命令模式
  8. Win7/Win8/IIS7/IIS8配置ASP/ACCESS
  9. 纯福利文章、送5本Java核心技术(不定期送福利)
  10. Fiddler4入门——手机抓包
  11. RCTF crypto100(1)
  12. 老王的JAVA基础课:序言
  13. XSS注入之xss-labs
  14. jquery获取元素索引值index()
  15. Centos7配置 yum代理
  16. 太给力了!40000字整理了机器学习面试200题!
  17. java工具类获取文件扩展名与content-type、http与content-type映射关系
  18. MySQL不会丢失数据的秘密,就藏在它的 7种日志里
  19. bzoj3698: XWW的难题 有上下界的网络流
  20. 爬取豆瓣电影前十页的好评一般差评

热门文章

  1. 田野调查手记·浮山篇(九)
  2. 【飞然教练】网络游戏怎么样赚钱?
  3. 0005 前端 Html 04 AutoFileName 图片的显示 文字链接 图片链接 页面内链接 列表 加超链接的列表
  4. HTML、纯JS实现语音播放,实现定时刻播放
  5. Android 蓝牙 A2dp音频数据通过L2cap 发往Controller -- 代码详解
  6. 为大家推荐几个不错的公众号!
  7. AB(罗克韦尔)PLC如何通过程序直接与外插SD卡进行数据读写?
  8. win7恢复计算机图标不见了怎么办,win7桌面图标找不到的五种恢复方法
  9. LSD直线检测和霍夫线变换的学习建议
  10. 拟插值算子(Quasi-interpolations)