设为首页收藏本站

悦读人生

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1506|回复: 5
打印 上一主题 下一主题

软件随想录 - 书评

[复制链接]

该用户从未签到

楼主
发表于 2013-8-8 01:05:50 | 显示全部楼层
  最早在<Joel on software> 中看到Joel提到使用Evidence Based Scheduling (EBS) 中的单个的时间估算方式:蒙特卡罗时间估算方式,估算方法的细节要求如下:
  1.将任务细分的小时级的工作量。
  最大的任务不超过16个小时.这一步让你认真考虑将要完成的工作。细分之后的任务比如像分析一个文件通常是做过的任务。完成这些任务的时间因而比较容易估算
  2.记录完成工作的时间。
  注意,任务的实际完成时间是包含任务开始到结束的物理工作时间,包含了会议等没有实现计划的时间。因此,完成时间是真实的时间并且反映了意外事件的影响。
  
  3.对真实完成时间的模拟:
  你不要将估算值相加得到未来的完成日期。 这种做法看起来简单但是会给出很错误的结果。你应该用Monte Carlo法来模拟,即:对每一项任务,将其估算时间除以一个随机选择的历史工作速度值,达到的结果为蒙特卡罗法估算出的时间。
  
  pope对这个时间估算方式一直很有兴趣,也不知道准确性到底如何,对自己工作改进的帮助是不是会有不小进步,所以就自己动手写了以上3步骤的过程,用python完成的,默认写的是存储本地文件,历史选取默认使用了1000条,现在已经这个步骤本身的内容已经基本完工,代码可以在https://code.google.com/p/montecarlo-time-test/可以看到,有个小问题,code提交时放到http://montecarlo-time-test.googlecode.com/svn/wiki中了 checkout 注意一下路径吧,欢迎试用,由于是自己在写,没有系统测试过,有问题欢迎mail我。
  使用说明
  1.开发本地的python是2.6.5版本,3.0没有测试过,不太清楚是否支持。
  2.源码中两个版本,推荐使用UseDate.py,直接运行就可以,命令行提示:
  “'存储TT请输入1,退出为0,T_P未存储处理2,否则为估算蒙式时间:”
  其中非2,1,0的输入为默认估算,估算后,给出估算结果,例如:
  ——————————————————
  存储TT请输入1,退出为0,T_P未存储处理2,否则为估算蒙式时间:3
  你的估算时间:1000
  估算条目:313,取值内容:'1.51739619196'
  sTT=659.02366520922499
  id=1045
  -----------------------------------
  其中sTT为估算值,id为输入真实值使用的索引号,在记录自己的真实使用时间时要使用,注意记录啊![next:这个在想,next改进可能用别的更好的方式代替,但现在还没有想到,先忍忍吧]
  
  如果输入1,为记录真实的使用时间,给出此记录全部内容,例如:
  ------------------------------------
  存储TT请输入1,退出为0,T_P未存储处理2,否则为估算蒙式时间:1
  id为:1045
  TT为:1000
  
  1045        1000.0        659.023665209        2013-06-06 11:55:14        1000.0        2013-06-06 11:59:01
  
  1045        1000.0        659.023665209        2013-06-06 11:55:14        1000.0        2013-06-06 11:59:01        1.51739619196
  ------------------------------------
  其中TT和id都是你要输入的值,id是之前输入估算时间时给你的id,而TT就是这个内容你真实使用的时间。
  ##########################################分割线#############################
  当前应用选用python主要是近来一直看<Dive into python> 再尝试python和unittest所以顺手选择的。
  最后代码为GNU GPL 协议的遵守,如果你有修改,欢迎mail我
  thank you for reading
  

网站地图|小黑屋|Archiver|DoThinkings 悦书籍,思人生   

GMT+8, 2024-5-20 08:21 , Processed in 0.049059 second(s), 21 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表