Delphi法
Delphi法是最流行的专家评估技术,在没有历史项目数据的情况下,这种方式可以减轻估算的偏差。Delphi法鼓励参加者就问题相互讨论。这个技术,要求有多种相关经验人的参与,互相说服对方。
Delphi法的评估步骤是:
1、项目协调人向各测试专家和项目经理介绍项目规格和估计表格;
2、项目协调人召集小组会,各测试专家和项目经理讨论与规模相关的因素;
3、各测试专家匿名填写迭代表格;
4、项目协调人整理出一个估计总结,以迭代表的形式返回测试专家;
5、项目协调人召集小组会,讨论较大的估计差异;
6、测试专家复查估计总结并在迭代表上提交另一个匿名估计;
7、重复4-6, 直到达到一个最低和最高估计的基本一致。
Month: August 2012
我也整个微博. 求关注.
http://weibo.com/cnsoft360
you can see an always open world after open your eyes .
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
有心的阅读BLOG方式续1
此篇是续: 有心的阅读BLOG方式. 补充一些新的 体会 .
1 . 适度滥读. 就是说对于一些非常稀少的信息(话题) 你应该采取扩大阅读范围的方式, 因为往往你最直接关心的 关键字是无法检索到任何信息的. 举个例子: 你想知道哪款USB网卡可以支持Lion. 你若去查xx Lion 驱动 必然是无果的.
但你打开一些连接,滥读一下, 你会发现其实应该找一下 网卡芯片的型号. 大致就是这个意思. 每个人群都有自己独有的表述习惯.
2. 利用twitter 之流加速与信息源的互动. 你可以理解成此为公共的互联网聊天室.
3. 提高你的网速,选择合适的blog reader . 用浏览器阅读blog 就是费力的事. 参考: 天涯脱水.. 时间就是金钱,我的朋友..
4. 多写blog. 多写自己感兴趣的话题. 化被动为主动. 最好是整中英文版.
感触之一: 我有尝试发mail 给 LLMozlib 的作者 ‘Callum Prentice’ <callum###gmail.com> , 人家很快就答复我了. 所以要相信正能量. 你若留下蛛丝马迹, 必然会有众徒循迹而来.
5.待续…
一句话:坦克世界开发商收购BigWorld工作室
坦克世界开发商收购BigWorld工作室 ,这是2012-08-08才被披露出来的.
感慨.网游这行什么都有可能发生. 资本就是资本. 运营厂商才是最有钱的主. 4500 万美元收购了话语权.
cocos2dx 2.0运行HelloWorld在glGenVertexArrays(1, &m_uVAOname)时候报0x00000000错误解决办法:
cocos2dx 2.0运行HelloWorld在glGenVertexArrays(1, &m_uVAOname)时候报0x00000000错误解决办法:
在ccConfig.h中找打CC_TEXTURE_ATLAS_USE_VAO修改成如下
#ifndef CC_TEXTURE_ATLAS_USE_VAO
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS )
#define CC_TEXTURE_ATLAS_USE_VAO 1
#elif ((CC_TARGET_PLATFORM == CC_PLATFORM_WIN32))
/*my computor not support*/
#define CC_TEXTURE_ATLAS_USE_VAO 0
#else
/* Some android devices cannot support VAO very well, so we disable it by default for android platform. */
#define CC_TEXTURE_ATLAS_USE_VAO 0
#endif
#endif
语法糖,来得更猛烈些才好.
29岁想换行 http://www.cocoachina.com/bbs/read.php?tid=110794&page=5
我留了言, “专才有行市.
全世界就你一人会.你就牛掰了. 如果你会的东西,随便谁都能3个月速成的话,就值得思考了.”
其实又何尝不是写给我自己的呢. 今天写了一个函数,我觉得自己还算有那么一点点灵气.但这种闪光点估计只有识货的才有感觉. 我会努力来回忆一些类似的case,分享给大家.
长话短说:这个问题来源于最近的工作. 一个基于bw的rpc framework. 然而mailbox是不可以在后台线程里被调用的. 这种情况是因为 基于socket的数据包处理函数会调用实体的函数. 而恰恰socket的主循环是thread的.
比如: onHandleLogin(packet): accEntity.doLogin() .而以前在bw里面的脚本是没问题的.
我忍了很久以后花了5分钟, 把10年写的一个函数改了改. 变成了一个优雅的修饰.然后上面的函数就改成了
@AsynCalldef onHandler ….
具体如下:
def AsynCall( function ):
“””
create timer to call function. avoid error:”AttributeError: Mailbox property is not available in background threads ”
by cnsoft 2012-07-31
“””
def checkIfLimited( self, *args, **kwargs ):
#assert isinstance( self, BigWorld.Base )
#if not self.checkCoolDown(str(function.__name__),cdT):
# return function( self, *args, **kwargs )
#else:
# pass
def realcall(orig_func,*_args):
return orig_func( self, *args)#, **kwargs )
#convert to function object. first
func = partial(realcall,function,args)
self._pendid +=1
funckey = ‘pubxxx_%d’%self._pendid
setattr(self,funckey,func)
self.addTimer(0,0,self._pendid)
return checkIfLimited
其实语法糖有时候挺害人的,会把人的思维拘束.我现在光剩下思想了…不知道除了python 还能找到别的工作不了.
以前被sun糊弄了,java是跨平台,结果是各家jvm不一样的实现,现在看到的东西haxe 是个好玩意.一种语法,多种产出.显然为了多平台又节省开发成本是业内的诉求. unity3d的思路也差不多,一种制作,多种产出. 最跨平台的其实是c++.而且是无缝的. 所以andriod 有NDK 来靠拢 c++, flex 也有 alchemy 想穿c++的裤子.而于python, pypy 让常规开发不换语言的情况下 提高性能.. 以后注定也会有python般的语法, c++般的产出.给我这样的家伙留个活路..