软件开发需求分析过程:提取、抽象、升华
软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。 软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需
软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。
软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。
按照软件工程对软件开发过程的描述,需求阶段我们可以细分为需求调研和需求分析两个小阶段,需求调研需要充分细致的了解客户目标,用户业务内容、流程等,这是一个对需求的采集过程,是进行需求分析的基础准备。当我们已经了解、理解了用户的业务,于是可以开始分析需求了。软件系统的需求分析可以由产品工程师或系统分析员或两者分阶段合作完成全部的需求分析工作。
一、 提取出核心、主要、急迫的业务,明晰业务流程
通过需求调研,我们会发现用户各方面的业务很多,从大处着眼,包括用户的各种业务项目、业务流程,再明细到业务过程的每一个单据,每一条记录,如生产过程中每一个环节的记录,办公中的每一个通知,甚至包括文件报刊的收发,计划生育指标统计等等。如此繁杂的各类业务,我们从何下手?这时需要我们回头去查看软件的项目规格说明书,再次温故客户对软件项目或产品的最初提出的需求目标和范围,我们的软件主要是为用户解决什么样的问题。从众多的业务中提取出用户核心的、主要的、急需的业务,这些是我们软件需求主要关心所在。写一篇文章需要重点突出,主次分明,我以为规划一个软件产品也是同理。
从用户繁杂的业务中进行业务、业务流程的提取,把那些分布在各个部门的同一种业务提取出来。比如物资的管理,涉及到生产部门的需用计划,汇总到物资部门的采购计划,计划的审批,采购合同,物资采购,物资部门的收发存业务,生产部门的物资领用消耗等等,我门需要分析用户的这个业务流程中哪些是系统能帮助管理的,哪些是要在系统外处理的,充分分析了用户现有的业务和业务流程,我们进入下一步骤。
二、 运用管理思想,优化业务流程
我们提供的是管理软件产品,要帮助用户解决的是管理问题,那么用户是这样的业务流程,就需要我们分析这样的流程合理吗,还有缺陷吗,怎样做能提高效率、解决问题,可以运用更先进的管理思想吗……。一般情况下,我们需要从两个方面考虑业务流程的优化。一是我们采用了网络计算机这些新的技术手段,较之原先手工、电话等方式在信息的传递、信息的共享、数据的处理等方面将会带来新的方式,必将改变原有的业务流程。另一方面就是我们根据对用户业务的理解,考虑是否可以运用先进的管理思想,比如MRPII、ERP、SCM、CRM、JIT、EIA、E-Business等等管理模型,进行现有业务流程的重组或优化。当然一旦牵涉到业务流程的修改一定要与客户的中高层管理者进行充分的沟通,只有客户认同方可确定,因为这一定会在软件实施时需要相应的管理制度配套执行。