引言
金融全球化和网络化加剧了商业银行的国际竞争,中国按照WID的要求逐步对外开放了自己的金融市场。为了与国际金融市场接轨,我国的国有和商业银行正在逐步地改变以往传统的服务方式,转变经营机制,采用先进技术,金融创新产品不断应运而生,从而进一步提高国际市场竞争力。随着国内几大商业银行逐步实现数据大集中,软件规模也越来越大,核心银行业务系统更是要数百人做上一两年。
金融软件素以高质量,高可靠,高安全等著称,如何提高软件开发的质量和效率已经成为金融软件开发的核心问题。围其实没有一个明确和固定的说法,只有靠核心企业和成员企业在项目的前期充分沟通,填密规划才能保证项目的相关信息充分而高效的流通。
软件需求管理是关系到金融软件产品质量的关键,软件需求的质量直接关系到软件项目能否高质量地按期完成,也是评判客户满意度的重要指标。本文以银行软件开发项目为背景,对银行软件项目管理中的需求管理进行研究,希望能对提高金融软件项目的成功率有所帮助。
1、需求管理的重要性
在软件生命周期中,需求分析是最重要的一个阶段。软件需求分析的质量对软件开发的影响是深远的、全局性的,高质量需求对软件开发往往起到事半功倍的效果,越早在需求管理中解决错误,就越节约项目成本。
系统分析时犯下的错误,会在接下来的阶段被成倍地放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越会影响系统的工期和系统的质量。需求分析的过程,是分析用户的需求的过程,是全面理解用户的各项要求,并且准确地表达所接受的用户需求的过程。如果投入了大量的人力、物力、财力和时间开发出来的软件并不是用户真正需要的东西,那么所有投人都是徒劳,开发出来的东西不能得到用户的认可,从而造成重新开发过,这样不仅影响项目进度,而且严重影响项目组人员的积极性。
需求分析之所以重要,还因为它具有政策性,方向性,策略性的作用,对于整个项目的成功与否起到了举足轻重的作用,所以一定要对需求分析有足够的重视,在大型的金融软件项目中,它的作用要远远大于程序设计。
2、需求工程的内容
需求分析是指理解用户需求,就软件功能与用户达成一致的过程,是开发人员对系统需要做什么和如何做的定义过程。研究人员对需求分析的过程进行了长期深人的研究,并将需求分析逐渐发展成一个独立的分支—需求工程(Requi~ntsEngineering)。需求工程的主要内容有需求开发和需求管理两部分,其中需求开发又可以分为问题获取、需求分析、编写规格说明和需求验证等几个阶段。本文也是依据此结构展开论述,探讨金融软件项目的需求管理。
3、需求开发的流程
3.1 问题获取
问题获取是需求分析人员与系统用户一起工作以明确用户需求的过程。一个软件开发部门的业务分析人员要和金融软件业务部门的领导、主管、业务人员进行访谈和讨论,从而在宏观上把握需求,同时逐步了解客户需要及业务流程,与业务人员通过不断的交流沟通对项目需求达成一致。
在问题获取阶段,银行软件的项目组人员往往派出熟悉银行业务的分析人员,就软件系统的功能不断地开会,讨论,逐步确定项目的业务需求、用户需求。业务分析人员有良好的沟通技巧和软件业务系统背景,往往能够更顺利地挖掘到系统的明示需求和隐含需求。
在很多情况下,对于一些较大的银行业务系统的项目需求,业务部门往往也很难给出一个完整的正确可行的需求,通常的解决办法是采用快速原型法。开发方根据以往的经验提供给用户一个需求原型,用以启发用户的需求,在国内外银行项目需求分析过程中,经常会提供给用户一个通用的基础功能描述,基础功能包含了银行