探索需求--设计前的质量之二

需求,是人们的期望;探索需求是寻找人们的期望的过程。而我们所做出来的软件产品就是试图满足复合的一系列期望。“发现什么都不是,而发现过程即探索过程就是一切”。只有当自己知道需要时,才有可能会获得它,这也是需求分析的必要性。
  经过前辈们无数次的实践、分析总结出很多很多经验,可以说已经形成一套有效的软件开发方法,有人能会认为按照这一套思想就可以轻松完成所有的软件开发,但明显只是很荒谬的。CASE和CAD工具能万无一失地完成它们的工作,但是要正确地使用他们确实关键所在即为处理那些形式化所不能触及的地方。而在这个过程中,符号是一个很重要的存在,在一个映射图中,每一个符号的确定都是需要深思熟虑的,因为文档要给很多业外人员去看或者使用,这就会对此有很高的要求。但是跟用士兵分析地形一样,地图并不代表真正的地形,这正从侧面说明了图和符号并不与实际项目中的内容完全吻合,一切工作的前提都是要必须明白当前内容的目的,并从一定程度上规避可能会犯的错误。
  软件是以人为中心的,所以说需求也是以人为中心的,而在使用一些工具的时候往往会忽略人的因素从而导致含混性。由于需求阶段所发问题越多,以后付出的成本就会越少,所以说含混性是非常重要的。整个需求与系统范围边界是有相似之处的,只要划定了什么是我们的需求,什么不是我们的需求,那就会很容易地,感觉这个也相当于是把复杂的问题简单化地过程,而基本上所有的问题都会是这样一个解决的模式,这也说明了事物之间的共性。而且,要在探索中发现乐趣会别有一番风味。
  含混性是由于对事物的不同理解而产生了不同的解释,在对于含混性难以分析出所以然的时候,可以采取一定的标准将大量的数据进行分类,从而找出其中的共性和特性,弄清含混性的来源,才能进一步进行对它的消除。另一方面,对于一个问题的描述不同也是一个很容易产生含混性的因素,往往由于人的文化背景、习惯和其他诸多因素的不同,会导致在对同一件问题进行描述时而产生不同,这往往也会给整个项目的需求过程带来十分重要的影响。
  决策树模型是一种用于弥补直接问题的工具,这是一个行之有效的方法。在有含混性的问题时,将几个假设列举出来在进行筛选,一步一步重复操作,在发现出错时及时发现及时改正,直到找到正确的解决方案。要以客户的需要为目标,直到找到满足客户需求的那个叶子为止。而正确的次序问题也是十分重要的,当次序问题摆正之后会给整个过程带来很大的进展。而且在前期一定要话费很多精力,因为越靠近树根的地方越容易出错,在前期的方向对了会给后期工作带来很大的便利。但仅仅因为我们知道某些事情,并不意味着我们就能做好我们的所知和在手边的需求之间的关联,是因为现实生活比我们想象的要现实。
  如果参与者从一开始就没有一致的想法,那么项目还没成功之前就会注定以失败告终了。问题的最佳定义就是感受到的事和期望的事情之间的差别,这句话在之前看过的书中也有提及,而问题的这一本质可以使我们从几个不同的方面去寻找最开始的切入点。可以是来自解决方案的想法,来自技术的想法,比喻,标准,实体模型以及名称。还要对问题进行存在性假设因为所有的开发都始于一个假设。当有一个切入点的时候,大家可以像老师在课堂上让我们对利益相关者进行分析的时候来一场头脑风暴,对于设计过程、产品和各种问题各抒己见。在这个个过程中,可以在不偏题的前提下囊括所有的问题。然后就要寻找正确的项目相关人员,这就与项目利益相关者不谋而合了。要区分使用者和客户,系统是为用户设计的,但是客户的要求也是不容忽略的。而使用者在一定程度上来说也是具有很大的可变性,因为不是所有的使用者都是完全平等的,所以就要对此进行精心计划了,在抓获使用者的时候要慎重考虑,并将他们进行层次划分,区别对待。

posted on 2015-12-01 20:38  成成哦亲  阅读(219)  评论(0编辑  收藏  举报

导航