收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
软件测试 > 需求管理 > 正文

首页 | 领域细分: 游戏测试 安全测试 手机测试 Web测试 | 技术研究: 单元测试 入门教程 用例设计 性能测试 功能测试 | 测试职场: 面试精选 职场发展 面试试题

测试管理: 配置及流程 - 需求管理 - 质量验收 - 缺陷管理 - 其它管理相关 | 开发语言: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码

测试工具: LoadRunner JiRa QuickTestPro RoBot WinRunner TestDirector 其它测试工具 | 数据库: Mysql数据库 Oracle数据库 CSS/DIV基础 HTML基础

浅谈金融软件项目的需求管理

来源:互联网 日期:2013-02-10 07:00

  引言

  金融全球化和网络化加剧了商业银行的国际竞争,中国按照WID的要求逐步对外开放了自己的金融市场。为了与国际金融市场接轨,我国的国有和商业银行正在逐步地改变以往传统的服务方式,转变经营机制,采用先进技术,金融创新产品不断应运而生,从而进一步提高国际市场竞争力。随着国内几大商业银行逐步实现数据大集中,软件规模也越来越大,核心银行业务系统更是要数百人做上一两年。

  金融软件素以高质量,高可靠,高安全等著称,如何提高软件开发的质量和效率已经成为金融软件开发的核心问题。围其实没有一个明确和固定的说法,只有靠核心企业和成员企业在项目的前期充分沟通,填密规划才能保证项目的相关信息充分而高效的流通。

  软件需求管理是关系到金融软件产品质量的关键,软件需求的质量直接关系到软件项目能否高质量地按期完成,也是评判客户满意度的重要指标。本文以银行软件开发项目为背景,对银行软件项目管理中的需求管理进行研究,希望能对提高金融软件项目的成功率有所帮助。

  1、需求管理的重要性

  在软件生命周期中,需求分析是最重要的一个阶段。软件需求分析的质量对软件开发的影响是深远的、全局性的,高质量需求对软件开发往往起到事半功倍的效果,越早在需求管理中解决错误,就越节约项目成本。

  系统分析时犯下的错误,会在接下来的阶段被成倍地放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越会影响系统的工期和系统的质量。需求分析的过程,是分析用户的需求的过程,是全面理解用户的各项要求,并且准确地表达所接受的用户需求的过程。如果投入了大量的人力、物力、财力和时间开发出来的软件并不是用户真正需要的东西,那么所有投人都是徒劳,开发出来的东西不能得到用户的认可,从而造成重新开发过,这样不仅影响项目进度,而且严重影响项目组人员的积极性。

  需求分析之所以重要,还因为它具有政策性,方向性,策略性的作用,对于整个项目的成功与否起到了举足轻重的作用,所以一定要对需求分析有足够的重视,在大型的金融软件项目中,它的作用要远远大于程序设计。

  2、需求工程的内容

  需求分析是指理解用户需求,就软件功能与用户达成一致的过程,是开发人员对系统需要做什么和如何做的定义过程。研究人员对需求分析的过程进行了长期深人的研究,并将需求分析逐渐发展成一个独立的分支—需求工程(Requi~ntsEngineering)。需求工程的主要内容有需求开发和需求管理两部分,其中需求开发又可以分为问题获取、需求分析、编写规格说明和需求验证等几个阶段。本文也是依据此结构展开论述,探讨金融软件项目的需求管理。

  3、需求开发的流程

  3.1 问题获取

  问题获取是需求分析人员与系统用户一起工作以明确用户需求的过程。一个软件开发部门的业务分析人员要和金融软件业务部门的领导、主管、业务人员进行访谈和讨论,从而在宏观上把握需求,同时逐步了解客户需要及业务流程,与业务人员通过不断的交流沟通对项目需求达成一致。

  在问题获取阶段,银行软件的项目组人员往往派出熟悉银行业务的分析人员,就软件系统的功能不断地开会,讨论,逐步确定项目的业务需求、用户需求。业务分析人员有良好的沟通技巧和软件业务系统背景,往往能够更顺利地挖掘到系统的明示需求和隐含需求。

  在很多情况下,对于一些较大的银行业务系统的项目需求,业务部门往往也很难给出一个完整的正确可行的需求,通常的解决办法是采用快速原型法。开发方根据以往的经验提供给用户一个需求原型,用以启发用户的需求,在国内外银行项目需求分析过程中,经常会提供给用户一个通用的基础功能描述,基础功能包含了银行常用的业务功能,用户可以在此基础上,对比自己的实际需求,提出不同的需要更改的和新增的需求。这种增量迭代的思路,减少了用户的工作量和重复工作,有助于用户清楚地描述用户需求。

  项目研发人员有时还能够将原型系统展示给业务人员,通过更直观的方式给银行业务部门的人员分析展示原型业务系统,从而更有效地帮助业务人员比对自己银行的业客户到底是需要什么样的软件了。

  3.2 需求分析

  需求分析是提炼用户的需要,并最终完成客户同意并签字的需求分析报告的过程。需求分析过程分为访谈阶段、诱导阶段和确认阶段三个过程。在需求访谈阶段,项目开发人员通过与金融业务部门领导、主管和相关业务人员关于项目需求方向、组织架构、业务流程和软硬件环境的讨论交流,可以从宏观上把握项目的需求,建立起沟通渠道,确定客户承诺的接口人,提交项目的调查报告以及业务流程报告等。在诱导阶段,以调查报告及业务流程为基础,结合现有的技术条件和软件基础将业务流程模型化,并与用户不断沟通,即时获取反馈信息,从而可以对客户的需求进行深度挖掘,将客户的不可见的需求转化为明确的需求。所要提交的文档有原型反馈报告和经过更新的业务流程报告。在确认阶段,是在原型反馈报告和业务流程报告的基础上,通过更进一步的细化业务流程,改进原型系统,撰写需求分析报告并送交评审。

  在这一需求分析的最后阶段,要促使开发方和用户之间就系统需求达成一致,完成客户同意并签字的需求分析报告及相关支持的资料。在需求分析的过程中,对需求划分优先级的分析也是至关重要的一个环节,在某个时刻,我们如何知道哪些需求属于“必须做”,哪些属于“应该做”,哪些又属于“可以做”。在银行软件的项目中,也要对客户需求划分优先级,对于已经识别的客户需求进行评估,分清哪些是项目关键路径上的需求,必须完成的,哪些是不重要也不紧急的需求,甚至留待二期中完成用户也可以接受的。

  要理解这一点:用户反馈非常关键。用户并不关心你采用什么方式去满足他们的需求,但当用户看到最关键的功能都实现得很好时,如果还有几个无关大局的需求暂时没有满足,也就不会引起太大的反应了。

  3.3 编写规格说明

  软件需求是软件产品开发的依据,也是整个开发过程各项活动的基础。需求阶段不细致的工作,软件需求的不明确,会导致整个项目阶段工作量的增加。实际上,许多软件项目失败的最主要原因就是需求阶段对需求的描述不够细致,导致后来超出预算或者时间进度达不到要求。

  编写规格说明是清楚、准确地编写用户需要和约束文档的过程,在项目的需求分析阶段,双方必须全面地尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。

  在此基础上,要提交的成果是《软件需求规格说明书》,它是最终用户和开发机构之间的技术合同书,是开发者开发软件系统的依据,也是最终用户验收软件系统的依据。

  3.4 需求验证

  需求验证是保证系统需求完整、正确、一致、明白的过程。在需求开发过程中,还没有形成任何软件,不可能进行任何测试,但是可以在软件开发组设计编码之前,以需求为基础建立概念性的测试用例,并使用这些例子来发现软件规格说明书中的错误、二义性,以及是否有遗漏等。

  需求验证是需求开发过程中的最后一部分,需求验证所包括的活动是为了确定以下几方面的内容:

  (l)软件需求规格说明正确描述了预期的系统行为和特征。

  (2)需求的完整性和高质量。

  (3)需求的一致性。

  (4)软件的需求分析,为接下来的功能说明书和系统详细设计以及测试提供了基础。

  虽然对于一些大型的银行系统的需求文档进行详细的审查很费时间,甚至有些无聊,但是有经验的项目管理者都知道花在需求审查上的每一分钟都是值得的。但是,银行项目往往都是时间紧张的项目,如果没有时间详细审查需求的每个方面,也要根据在需求分析阶段得出的优先级,对那些非常关键的需求进行详细的审查,而对那些不太重要的部分用非正式评审就能满足质量要求。

  4、软件的需求管理

  4.1 软件需求确认

  银行软件项目在需求规格说明书完成之后,通常会召开需求确认会议来对需求进行交流,沟通确认,通常由全体项目利益相关方参加,这可是个确认需求的难得的机会,大家能聚在一起,共同探讨,对项目的需求达成共识,所以一定要珍惜。

  在需求确认会议上,一定要先针对全局性的问题进行交流,千万不要针对部分人感兴趣的问题讨论个没完没了,然后再对根据原型法得到的需求规格书中的内容、差异逐一过一遍,银行业务人员通过对项目需求的讲解,对需求可行性的分析,需求优先级的确认等,最终与开发人员达成一致,并且要进行书面确认。软件项目需求确认的最终书面确认,是需求管理的重要环节,为项目开发过程中的需求变更管理提供了依据。

  4.2 软件需求变更管理

  由于需求分析不全、业务需求不断增加和变更、需求不清楚等原因,需求在项目的整个生命周期都会不可避免地发生变化。需求管理是软件项目开发过程中控制和维持需求约定的活动,它包括:变更控制、版本控制、需求跟踪和需求状态跟踪等工作。

  项目业务需求的变更是影响项目进度的主要因素,一定要严格控制变更,避免无限制的需求变更。在项目开发过程中,要做好应对需求变化的情况,需求管理的方法主要有以下几点:

  (1)建立需求变更控制流程。制定一个选择、分析和决策需求变更的过程,所有的需求变更都要遵循此过程。

  (2)进行需求变更影响分析。要及时召集业务人员和开发人员,对项目的需求变更所带来的影响进行分析,明确与变更相关模块的工作量,从而帮助需求变更控制部门做出更适当的决策。

  (3)建立需求控制文档。以确定的《软件需求规格说明书》为前提,之后的需求变更要遵循变更控制过程,新的版本以前面版本为基础,要避免两个版本的混淆,确保需求的一致性。

  (4)维护需求变更历史记录。要求用户填写变更申请单发送给项目配置管理员,再通过配置员转交质保小组,负责组织专家小组和项目组成员一起讨论实施变更的可行性及实施后所带来的影响。

  (5)跟踪需求状态。要保存每项需求的状态,以便于管理控制。从整体上把握每个需求的进度。

  (6)保持需求稳定性。过多的需求变更会给项目的进度造成不小的麻烦,往往会导致银行软件项目的延期,对于无法实现或是变更会带来巨大影响而将导致进度的延期,这时,我们将变更报告提交给用户或邀请用户进行协调会议,

  讨论变更取舍问题或是项目进度变更问题。在项目的后期和项目完成时间不可更改时,要冻结需求,以保证项目顺利完成,而需要新增的功能可以留待下一个版本完善。

  (7)决定变更之后,由项目经理组织实施变更,测试人员检测变更结果,而质保小组成员监督变更实施过程并协助配置管理员对变更后的成果物进行版本控制。变更实施完后,上线前还需要指定人员协助用户一同测试并由用户签字同意后方可上线。

  5、结语

  金融软件的需求管理是关系到金融软件产品质量的关键,对业务发展具有深远影响。它是整个开发项目中最重要的工作,需要应用部门和开发部门密切配合,并按需求工程的要求和开发工作的规律进行。良好的需求管理会减少开发工作中不必要的调整,保证开发工作的顺利进行和最终投人使用。

本周排行

别人正在浏览

强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号