需求分析之约束条件

June 9th, 2008

  这是多个月前的故事了,当时DB2群中有人问到为什么他的程序在公司的测试环境运行正常,但在客户的测试环境运行时会报一个数据库不支持的错误。逐步引导下来,终于知道问题的缘由了:客户的生产系统、测试系统数据库版本都是 V7.2,而这名开发人员所用的开发数据库的版本为9.0。
  很傻很幼稚!
  什么原因导致这种低级错误?让我们从需求分析的角度来寻找问题的起因。
  需求分析是否到位,这是至关重要的!需求分析人员应当了解客户当前的运行环境、约束、系统的伙伴应用等,并在需求分析书中予以明确。据了解,该客户短目前还没有数据库升级的计划。那么,在需求分析书的约束条件一节中,我们应看到类似下面的语句:
  客户当前所使用的数据库系统为DB2 V7.2,目前没有升级计划,经客户确认,XXXX系统应基于 DB2 V7.2 开发。
  收到需求分析书后,开发人员和测试人员就应按照需求分析书中的约束条件建立 7.2 版本的开发库和/或测试库。
  需求分析书中是否明确了该约束条件,体现了需求分析人员的水平与能力。
  

面向契约的编程实践(二)

May 15th, 2008

四、QBE 的职责

最近监控的一项目使用了(仿) QBE 技术(Query By Example) 。一直未深入研究过 QBE,但就 Query By Example 的字面理解,按给定的例子/模型进行查询。这个 example 自然应是“鲜明”的,即至少某个属性是明确有值的

to be continued …
Read the rest of this entry »

面向契约的编程实践(一)

May 12th, 2008

一、releaseChunk()的故事

故事要从千年的妖精旅店说起。某天David贴出如下两个方法,问有什么区别:

protected static void releaseChunks(Chunk c) {

  while (c != null) {

    Chunk.releaseChunk(c);

    c = c.next

  }

}

 

protected static void releaseChunks(Chunk c) {

  while (c != null) {

    Chunk temp = c.next;

    Chunk.releaseChunk(c);

    c = temp;

  }

}

Read the rest of this entry »

我们都是棋子儿,走着别人划的道

April 22nd, 2008

  最近的XXX事件,搞得民情激愤,几十个QQ群一天到晚要各闪几次,迫使我不得不在自己管理的群中发出公告:凡发所谓爱国贴者一律T。在有的群中,我曾说过或许不用多久,回头来看这件事,和过去的义和团并没有两样。
  今晚就看到QQ新闻里商务部就家乐福遭抵制事件表态,我只能借用老崔的歌词,正如本文的标题:我们都是棋子儿,走着别人划的道。

  BTW,今天把老崔的CD给找出来了,把歌COPY到PPC上了。

TWiki居然被黑了

April 15th, 2008

  晚上上 ase.sybaseclub.org 的时候,发现居然无法访问,提示无权限。经检查,为 lib 下的 LocalSite.cfg 被修改了,估计是利用的 TWiki 的漏洞。于是打算从以前的备份中恢复此文件,结果是:以前 tar 的备份包是带有目录的……。
  两个多月的修改是没有了,唉。

CNOUG 再次挂掉

March 27th, 2008

  如题,原因暂时不明。

Powered by Zoundry

值得商榷的译法

March 26th, 2008
  • 事务锁(Transaction Lock)。Transaction Lock 直译为事务锁,原本无可厚非,但事务锁总给人以事务的锁之意,于是便产生了一个比较经典的问题:update 结果集为 0 的事务为什么没有事务锁?实际上,Transaction Lock之意在于加锁之后,只有当事务完成了此锁才会被释放。因此,意译为事务性锁较好。
  • 乐观锁(Optimistic Locking)和悲观锁(Pessimistic Locking )。在中文中,”锁”单独出现时,多为名词形式。名词的”锁”,本身并无乐观、悲观之分;”锁”的使用(机制),则有乐观和悲观的区分。在原文中,Locking 是一个动词,因此译为乐观锁定(机制)悲观锁定(机制)较好。

Powered by Zoundry

Windows平台修改 Veritas master server IP的步骤

March 21st, 2008
  1. 修改 master server IP 地址(OS层)
  2. 编辑 master server 上的hosts 文件,修改本机IP地址,如果是 64位 Windows 2003以及Netbackup 6之前的版本,请参考Veritas Netbackup 6.0之前的版本不能在 Windows 2003 64 bit安装的解决办法
  3. 编辑客户端的 hosts 文件,修改master server的IP地址
  4. 重启客户端的备份代理服务
  5. 测试

Powered by Zoundry

CU帐号恢复

March 17th, 2008

  终于通过CU的FQ兄恢复并合并了 flybean 和 FlybeanZhou 的帐号,值得祝贺。

Powered by Zoundry

客户总是容易被忽悠的

March 10th, 2008

  今天一个系统刚上线没多久,跨了。一时间各种说法蜂拥而至,最终的结论好象由开发商给出:数据库版本低了,有问题。
  客户总是容易被忽悠的,或许也正如有朋友说,谁忽悠谁还不知道呢?
  隅立一旁,冷眼旁观。