管理软件系统需求分析的方法

2009-05-21 11:56:42

北京日星宇软件有限公司 何申根

   问题的提出
   这里的管理软件系统的是指应用软件的管理软件部分,与系统软件和工具软件不同,管理软件总是为解决特定的问题而存在,为解决特定管理问题而出现。
   通常的管理软件系统如ERP(企业资源计划系统)、OA(办公自动化系统)、CRM(客户关系管理系统)、PM(项目管理系统)、电子政务系统等;所有这些系统的特点就是针对特点企业的特定需求,采用管理软件的模式,为企业提供解决方案。
   正如市场经济的的市场驱动原理一样,管理软件系统的基本原理是需求驱动,优秀的管理软件总是满足趋近全部的需求,并且没有不必要的冗余功能。影响的形式
   通常的管理软件项目容易遇到的问题是明确的需求,在一种理想的情况下,用户完全清楚自己的需求并能够明确提出需求,这样需求分析的工作就已经简化为直接把用户需求拿过来既可;而事实上,由于涉及行业、专业的不同,考虑问题的出发点不同,用户基本上不可能明确提出满足管理软件设计需要的需求,不可能明确提出为软件开发人员所一致理解的需求;这就使用软件设计者进行需求分析成为必须。
   管理软件项目另外一个常见的问题是不必要的冗余功能,理想的管理软件应该是全部满足需求而又没有任何多余,但是有时候为考虑扩展的需要,我们定义并涉及了一些冗余,特别在性能方面的,同时在软件功能方面也有所扩展,有时候就将以往应用成功的功能模块大量的照搬过来,从表面上功能非常完善;可是从用户从使用者的角度来看这个问题,或许你就可以明白该怎么做了,任何事物都是在满足需要的情况下越简单越好,软件也一样,用户只要求他需要的和他关心的功能,对于不需要和不关心的,用户不愿意了解、知道、看到,想想用户在使用时看到大量的选择无从下手操作时,你或许能够理解到这一点。

   建议的方法
   面对这样的情况,作为一个软件开发商,作为软件需求分析员,该如何行动呢。这里我结合自己的经验,对以下几个方面进行剖析

   激发用户的热情
   首先要激发用户的激情,要准确的了解用户需求,需要跟企业的决策者、管理者、操作者进行接触,了解他们的想法和需要,如果用户没有激情,我们是不可能准确的了解到用户需求;孔子知道"不愤不启,不悱不发",对方没有渴望没有激情是不可能建立交互的,需求分析是一个交互的过程,任何用户的冷漠就会使我们变的如同保险公司的业务员,往往费力游说后,得到的是对方挂断电话或者上茶送客。

   准确了解企业背景和行业背景
   作为一个需求分析人员,需要了解客户所在的行业情况和客户企业的背景,不同的行业有不同的特点,有不同的行业语言,我们去做需求分析,要求我们能够理解客户的语言和思想,如果对行业不了解,很容易产生偏差,导致客户没有办法我需求分析人员进行沟通。

   注意倾听
   在需求分析的时候,我们很容易出现的一个问题是,认为我们自己是专家,从而表现在工作的时候就更多自己说话和指导别人;通常这个不是一种好方式,我们对业务对需求的了解,我们不可能到达客户的那种专业水平,他们知道自己做什么,知道自己想什么和要什么,在需求分析的时候,就是要听,听明白客户做什么、想什么、要什么,需求分析只需要对听到的内容进行整理分析,再用自己的话给客户描述一遍,如果客户能够完全明白需求人员的描述并且认为你理解了他们的需求,就完全可以了。

   路线图方案
   小布什对杂乱无章的中东问题搞了一个路线图方案,我们不妨借鉴一下那块皮;需求分析其实有时候很容易让人感觉杂乱无章,我们怎么下手呢,同样我们也来个路线图方案;首先可以从商务谈判人员沟通入手,了解一些大概背景,然后可以从决策层入手,了解一些决策预期要达到的目标,然后再从管理层入手,了解需要管理的内容和理想的方式,最好再找些基层的操作员了解一些操作习惯和工作习惯,再在专门负责的工程师协助下完成需求,最后最好再找决策层印证一下,这样可以做到比较有数。

   使用原形
   先行者为我们总结了很多经验,软件原形就很好的一种方式,特别针对管理软件;我们经常会遇到这种情形,花了很长的时间做需求分析,客户很想知道软件最好的表现形式和操作方式,不知道预期的结果,而我们的需求分析人员也无法准确的为客户进行描述,这样很容易造成双方对需求的理解不一致。而软件原形刚好解决这个问题,软件原形针对需求分析设计阶段,快速构建软件系统的轮廓,并开发设计几个典型摸版,让客户对系统有个整体认识,对操作和表现方式有个整体认识,这样客户就可以直观了解他可以得到内容和预期的结果,更能够准确的描述需求。

   准确表述
   作为专业文档,需求分析在准确表述方面有严格的要求,准确表述有利于分析、设计、实施等不同环节的人员进行沟通理解,这个方面可以借鉴一些模版,也可以自己公司建立起一种规范,对需求的描述进行规定约束。

   大轮廓、小方案
   对于大的项目来说,任务的分解非常重要,这时候可以按照大轮廓、小方案的方式进行需求分析;具体做方法是,先梳理项目的总体目标、体系结构、组织结构、总体业务流程,并进行总体分析, 然后在按业务流程的段落进行分解。

   可能的结果
   在进行需求分析的时候,客户往往会有各种各样的要求,而对于有些要求,我们按常规的做法很难达到,或者技术上很难实现,这种情况下,我们可以根据要求往上寻找,发现有很多方法来实现,总可以找到一对我们最简单的方法;客户要求往往是结果,对于我们的方法并不关心,这个在需求分析要注意。

 

北京日星宇软件有限公司 © 2009 sunstarcosmos.com 京ICP备05042614号
北京海淀区长春桥路5号新起点嘉园6号楼1809# 电话:010-82561024,82561059 传真:010-82561024-816
服务支持:010-82561024-888;Email:webmaster@soft8.org
销售支持:010-86387358;Email:market@soft8.org