业务定义与有效需求分析
 

2009-08-03 作者:蔡颖安 来源:ahcit.com

 

摘要 在计算机应用系统建设过程中,有效需求分析是最关键的一步,本文深入分析了有效需求分析的概念,并讨论了有效需求分析的处理过程,最后讨论了做有效需求分析的前提条件。

关键词 业务定义、目标确认、需求调查、需求分析、效果分析

1为什么要进行业务定义

计算机技术支持的业务运营支撑系统是随着市场经营的需要不断得到完善和提高的。系统功能上经历了从最初的资料录入管理到生产派单管理、生产流程管理、统计管理、业务组织管理,一直到决策支持管理的过程。人们对计算机应用系统的态度上也经历了从开始的拒绝、怀疑、喜欢、依靠到最后渴望其无所不能的过程。

但是,我们也发现,一方面,随着业务支撑系统性能的不断提高,系统的使用人员对系统的抱怨反而越来越大——使用不方便、使用效率低、系统缺陷严重等;另外一方面,系统的造价也呈指数增长,从最初的几十万元、到几百万元到现在的上千万元。

为什么会出现这种矛盾的情况呢?开发方说需求方的业务太复杂、变动太频繁、业务与流程不规范;建设方说开发方的开发能力差,开发代价高,系统缺陷和错误多多。那么,真正的原因到底在哪里呢?

我们通过对现行系统及应用情况的分析得出的结论是:需求方与开发商之间对业务的理解和定义的混乱是造成这种状况的根本原因。由于在业务管理的过程中同时也在业务系统的建设过程中,我们都没有对业务进行定义或定义不够清晰准确,业务本身在执行过程中就出现概念不清和流程不畅等情况,那么作为以机器支撑的业务系统当然就天生具有很大的缺陷。

如何准确定义一个业务呢?这的确是一个科学加艺术的课题。但是因应系统建设的需要,我们必须给出一个清晰的合理的业务定义——需求分析就是一个比较合适的方法。

所谓需求分析就是以市场运作中的业务定义为基础,重新定义一个业务在业务系统中的概念、业务流程、数据流程、业务间关系、数据间关系等,以便于计算机高效的实现这个业务。需求分析既可以用于一个业务的具体分析,也可以用于一类业务的分析和整个业务支撑系统的分析。我们用图1示意需求分析方法的应用层次。

2 为什么是有效需求分析

实际上,在做任何一个业务系统的过程中,我们都提到了要做需求调查和需求分析,并且投入了最多的力量做需求及分析,但效果却比较差。原因是什么呢?这是因为我们通常花了很大的精力去做业务需求的调查和总结,却忽略或轻视了需求分析这个最重要的当然也是最困难最复杂的过程。

为什么我们会忽略或轻视需求分析这个重大课题呢?通常做业务系统建设的人(包括建设方和开发方)都不承认他们不重视需求分析,而是他们所做的需求分析只是简单的做部分业务或某些技术方面分析,因为要做一个彻底的需求分析的确太难了。我们不知道如何做需求的分析,做需求分析要达到的目的,做需求分析的流程,做需求分析的内容,效果的评估等我们都是不明确的。

所以,我们提出一种全新的需求分析方法——有效需求分析。它的目的是要达到业务的清晰性、可操作性、高效性和完善性;它的内容含盖从需求调查到需求分析的全过程,它主要包括:目标确认、需求调查、需求分析、效果分析等几个循环往复的过程。见图2。

在这里,我们特别强调了目标确认,因为我们如果不知道要做什么和达到什么目标,需求分析就无从着手、没有方向。

图2 有效需求分析的过程

(1)目标确认:首先我们必须清楚的定义我们建设一个系统或做一个业务的目标,如它包含的主要功能,它不包含的功能(通常我们都缺少这一点,而往往这一点非常重要)系统之间或业务之间的界面。在进行目标确认时,我们必须用清晰的语言描述出我们的目标。

(2)需求调查:首先在不考虑目标的情况下做需求调查,尽可能详尽的掌握整个系统或业务的需求;然后对每个需求进行一致性的分析,确定其是否与已经确认的目标一致,或是修正目标,或是修正需求;最后确认该需求的合理性,并用清晰的语言描述该需求。

(3)需求分析:首先分析需求的内涵和相关的名词术语,必要时进行名词术语的重新定义;然后进行数据及流程、业务及流程等的定义与分析,以细化相应的需求;再次进行相关性分析——这是非常重要的一步,包括业务之间的相关性、数据之间的相关性、业务上和技术上的可行性等,并提出解决问题的方法,如果问题严重,还要考虑是否需要修改需求或修改目标。最后也是要用清晰的语言描述该需求及其相关关系。

(4)效果分析:综合评估经过需求分析后的需求的效果,是否满足我们的预定目标,是否需要重新定义需求或目标等。

3  做有效需求分析的前提条件

正如我们在第二节讨论过的,有效需求分析是一个非常困难和非常复杂的过程,是一个科学分析与艺术加工相结合的过程,是考验人的能力和智慧的过程。

(5)分析人员必须有对项目的高度责任感;

(6)分析人员必须具有非常扎实的理论基础,丰富的知识尤其是相关交叉学科的知识;

(7)分析人员必须愿意和善于理论联系实际,并掌握了必要的工具;

(8)分析人员必须具有强烈的研究分析事物的欲望和洞察、分析事物的能力;

(9)分析人员必须具有很强的逻辑思维能力和创新能力;

(10)分析人员必须具有很强的综合事物的能力,语言表达和语言描述的能力。

当然,除了对分析人员的要求外,还存在对开发环境的要求,这就是:

(1)项目要有明确的目标,即该项目应该具备的功能和可以不具备的功能是明确的;

(2)业务必须是可以定义的,即可以用术语和流程的来描述一个业务;

(3)业务过程必须和目标保持一直,当业务过程与目标出现矛盾时,可以重新定义目标、或重新定义业务;

4  结束语

我们做了近十年的计算机应用系统的建设,在此过程中,我们深感系统建设理论的匮乏,导致我们在系统建设前、中、后等各个阶段都有一种茫然的感觉,不清楚要做什么,不知道在做什么,不知道做了什么。本文试图从理论分析的角度对业务定义和有效需求分析做一个研究,希望能起到抛砖引玉的作用。

参考文献

1冯兰晓编著. 《如何进行企业信息化管理》, 北京大学出版社

2陈启申编著. 《ERP—从内部集成起步》, 电子工业出版社

3罗鸿 编著. 《ERP 实施全程指南》, 电子工业出版社


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织