--------------------
  在软件开发过程中,需求管理要远远简单于需求开发,CMMI中也体现了这一点,并且实际工作中也常常需要我们思考,如何根据客户的实际使用或粗线条的性能要求来开发满足客户需要的性能需求来。
  拿文中例子来说,客户告诉我们“系统总容量达到日委托6000万笔,成交9000万笔;系统处理速度每秒7300笔,峰值处理能力达到每秒10000笔”,那我们将客户的这个要求管理起来并实现了这一点,这叫需求管理;而如果我们根据以下2个假设:
  采用2/8比例,即80%的业务在20%的峰值时间内完成,20%的业务在80%的非峰值时间内完成,那么我们可以得到峰值处理业务量1.5亿(6000w+9000w)的80%为1.2亿,非峰值处理业务量1.5亿的20%为3000万;
  1天系统运行时间为20小时,另4小时为非营业的后台处理时间,那么峰值时间20小时的20%为4小时,非峰值时间20小时的80%为16小时。
  我们可以计算到:
  平均峰值处理速度1.2亿/4*3600秒接近9000个/秒;
  平均非峰值处理速度3000万/16*3600秒约500个/秒;
  考虑到特殊情况的发生,我们建议实际峰值处理速度要能达到理论计算的平均峰值处理速度的1.5到2倍,所以终确定下来的建议峰值处理速度为9000个/ 秒*2=18000个/秒。拿这个结果向客户说明,告诉他们原来的需求很可能在发生特殊情况时无法有效处理,客户可能会接受我们的说法并调整了他们的需求。
  这叫需求开发,通过分析修正了客户的不合理需求,满足了他们根本的需要“系统总容量达到日委托6000万笔,成交9000万笔”,而处理速度是他们根据自己的需要估算出来的,并不准确。
  所谓需求开发,也是根绝客户的核心需求,为客户设计完整的需求体系,甚至根据客户的业务发展需要,为客户设计核心需求和需求体系。
  在我说的这个例子中只用了1个计算,而实际的需求开发中需要做调研、出可研报告、做需求方案、设计等一整套的工作。
  ----------------------------
  (1)计算平均的并发用户数:C=nL/T
  (2)并发用户数峰值:C’≈C+3根号C
  公式(1)中,C是平均的并发用户数;n是loginsession的数量;L是login session的平均长度;T指考察的时间段长度。
  公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的loginsession产生符合泊松分布而估算得到的。
  实例:
  假设一个OA系统,该系统有3000个用户,平均每天大约有400个用户要访问该系统,对一个典型用户来说,之内用户从登录到退出该系统的平均时间为4小时,在的时间内,用户只在8小时内使用该系统。
  则根据公式(1)和公式(2),可以得到:
  C=400*4/8=200
  C’≈200+3*根号200=242