在需求工程中,需求获取阶段是和用户交往最多的一段时间, 而绝大部分用户是不懂得需求分析方法的,他们不知道怎样全面而又准确无误地表达自己的需求,因而对于需求分析人员来讲,需要掌握很好的方法与技巧,恰当地启发引导用户表达自己的需求,以便为项目的成功提供一个很好的基石。
一 需求获取的2个基本原则
1 深入浅出
对企业的需求调研的要尽可能的全面、细致,调研的需求是个全集,系统真正实现的是个子集。所做的工作可能一时看不到有什么作用,但是这样做可以对应用领域的业务吃得很透,能够避免一些不必要的麻烦,如可以保证系统的灵活性等。调研的细致并不等于在分析时都面面俱到地将调研的内容纳入到新系统中, 而有可能实现的很少,但其中在向细处扩充时将会很容易。也就是讲,当新系统设计出来时,开发人员很清楚新系统与旧系统相符合的程度,还有多大的余地或工作可以做,对用户提出的一些细致的问题都能够在系统中找到解决方法。
2 以流程为主线
在与用户交流的过程中,应该用流程将所有的内容串起来,如单据、信息、组织结构、处理规则等,这样便于交流沟通,符合用户的思维习惯。流程的描述既要有宏观,又要有微观。即要强调总体的业务流程、全生命周期的业务流程,又要对流程细化,有分支的业务流程。在分析企业流程并进行优化时,要把握几个方面:
该流程中是否存在不必要的环节? 是否可以将决策的权力下放到作业部门? 流程是否可以简化? 是否可以省略一些环节? 流程中的每个处理环节是否起到了增值的作用? 哪些流程可以并行处理? 与需求并行可提前做的设计工作有哪些?例如:数据库概念模型设计?基础数据字典设计?二 需求调研的五个步骤
第一步:调研用户领域的组织结构、岗位设置、职责定义,从功能上区分有多少个子系统,划分系统的大致范围,明确系统的目标。
第二步: 调研每个子系统所需的工作流程、功能与处理规则,收集单据、报表、帐本等原始资料,分析物流、资金流、信息流三者的关系,以及如何用数据流来表示这三者的关系。
第三步: 对调研的内容事先准备,针对不同管理层次的用户询问不同的问题,列出问题清单。将操作层、管理层、决策层的需求既联系又区分开来,形成一个金字塔,使下层满足上层的需求。
第四步: 对与用户沟通的情况及时总结归纳,整理调研结果,找出新的疑点,初步构成需求基线。
第五步: 若基线符合要求,则需求分析完毕。反之返回到第一步或第二或第三步,如此循环多次,直到需要分析使双方满意为止。
三 需求获取的重点
在对具体业务进行调研时需把握的重点有以下几个:
(1) 平均频度
业务发生的频繁程度,即在单位时间(分钟,天,月,旬,年等)内发生的次数,这个数字可以是一个平均值或统计值。频度越高,数据量越大,对响应时间、易操作性等要求就越高,在数据存储时对大频度的业务或单据也要进行充分的考虑。
(2) 高峰期的频度
必须保证系统在高峰期的响应时间, 对系统进行测试时要模拟高峰期的业务频度。
(3) 单据上有哪些数据?每项数据的精度?计算生成方法?取值范围或限定?
单据上的内容也即单据的属性,它是进行数据结构设计的最基本的依据,数据的精度是定义数据库中字段长度的依据,计算生成方法是设计算法的依据,取值范围与计算生成方法是数据完整性检测的依据。
(4) 生成每张单据或报表的时间
减轻人员的工作量是采用新系统的一个目的,花费时间最多,处理方法最复杂的地方往往是系统最关键的地方,也是用户将来验收时最关心的地方。实际上有很多报表由于工作量相当大,用户没有足够的人力与时间来进行处理,这时他便想到了计算机。
(5) 单据或报表的来源,单据联数,每联用途,送交单位,送交时间
对来源与去向的追踪可以调查出各个业务,各个单据,各个报表, 各个部门之间的联系。
(6) 有哪些特殊情况? 在某个作业环节出错时通过何种途径进行弥补?
对于特殊情况的处理,体现了系统灵活性,但这其中也隐含着安全危机。用户领域中有很多"合理但不合法,不合理也不合法"的特殊情况,它们出现的机会比较少, 用户往往在调研时遗漏这些问题,需要调研人员挖掘出来,这些特殊情况有时是系统必须处理的。
当在某个作业环节用户出现失误时,手工系统有的采用正规的手续进行纠错,有的则相当随便,这些情况出现的概率也很小,但分析员可采用穷举的方法, 假定在每一个环节都出现失误,逐个环节询问用户的处理方法,防止遗漏。这些细节如果不调研清楚,往往会对系统产生深远的影响。
(7) 将来有何变化?
将来用户需求的变化是很正常的现象,如果仅仅着眼于现在,而不对将来有所考虑,系统的寿命便不会长久,对用户的投资是一种浪费,同时也会给开发商增加一些麻烦,故此要"防患于未然",将以后可能的变化考虑在内。
四 需求整理与表达的方法
采用穷举、归纳、抽象等方法。采用穷举的方法可以避免遗漏, 可通过列出各种情况的排列组合达到穷举的目地。采用归纳的方法可以使问题更加条理化, 可通过对各种情况进行综合分类达到归纳的目地。采用抽象的方法,可以发现问题的实质,抓住问题的主要矛盾,忽略其次要矛盾。
在整理时可以多种手段共用,如组织结构图、业务流程图、多叉树、关系矩阵、文字叙述( 对其他描述手段的一种补充)、表格(单据调查表,帐本调查表,业务调查表,报表调查表等)、图形等多种手段。
对与需求的描述可以从六方面来描述:
组织结构与岗位定义 业务流程 处理规则 数据项 功能 以及上述5个方面的关系五 需求获取过程中的注意事项