在路上

路上有惊慌,路上有理想

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  28 Posts :: 1 Stories :: 10 Comments :: 0 Trackbacks

题解:做了多个系统的需求分析之后,有做总结的必要了。

      在需求分析阶段,甚至是整个软件开发阶段,需求的变化是唯一不变的东西。项目中最难做的也是如何去控制需求。这个有点复杂,放到后续文章去说,先说说如何 将客户的问题信息转化为需求:

1.分清客户的问题是“需要”还是一个“需求”

   需要,指问题已明确。需求则表示问题未明确

2.分清最好有与必须有。

   必须有,这个是硬性需求;最好有,非硬性需求。根据项目的实际情况,如成本,时间(计划),范围的约束来综合评定。

3.客户对问题的描述是为了说明问题还是提供一种解决方案

   在收集和分析客户需求时,一定要搞清楚客户是在描述问题本身还是问题的解决方案

4 有哪些人使用这个系统

   俗语说,有什么样的客户,就有什么样的系统。客户的能力以及偏好,包括理解力,对系统的设计至关重要。

5.有那些人不喜欢这个系统

   是办公室政治?是易用性?是稳定性?maybe something else

6.挖掘潜在问题,形成问题链

   客户大都没有系统训练,他们对问题的描述往往比较零散和随意。如何将问题窜成链,挖掘更深层次的问题是需求分析人员需要帮助他们完成的。记住是帮助,不是 强迫他们按照你的思维思考问题。这里面最难的部分属于如果从软件专业人员的角度提出建议。同时又要让自己的的建议不干扰到客户的原始需求。

   根据个人的经验,需求阶段最大的悲哀在于你出于最好的目的却造成了最坏的结果——建议客户如何如何,建议有时会掩盖客户的真实想法。客户信任我们的建议, 他们误以为我们的建议可以解决他们的问题,然而有时事与愿违。所以,我们应该多听客户的想法,延迟你的建议与引导。

7.非功能性需求的采集

  易用性,扩展性,交互性,性能,安全性等等。

posted on 2010-02-27 15:38 阮步兵 阅读(282) 评论(0)  编辑  收藏 所属分类: Software Engineering

只有注册用户登录后才能发表评论。


网站导航: