维普资讯 http://www.cqvip.com 第27卷第3期 中南民族大学学报(自然科学版) VoI.27 No.3 2008年9月 Journal of South—Central University for Nationalities(Nat.Sci.Edition) Sep.2008 金融软件需求管理方法的改进 周晶平 (中南民族大学计算机科学学院,武汉430074) 摘要分析了金融软件需求管理中存在的问题,提出T ̄ICMM思想来指导金融软件需求管理,探讨了需求管理 的本质,所涉及的任务,给出了如何实施的方法. 关键词 金融软件;需求管理;能力成熟度模型 中圈分类号TP311 文献标识码A文章编号 1672—4321(2008)03—0088—03 Improvement of the Method of Financial Sofware Requirement Management Zhou Jingping (College of Computer Science,South—Central University for Nationalities,Wuhan 430074,China) Abstract The paper presents the improvement of the method of financial software requirement management by means of capability maturity model(CMM).The essence of requirement management,relative tasks and method how to implelent are discussed. Keywords financial software;requirement management;capability maturity model 随着银行信息化建设步伐加快,各银行都增强 使用.在这个过程中,应用部门与开发部门的分工 了软件开发力量.但在软件开发过程中,由于过多地 是:应用部门根据业务提出具体的需求,并根据需求 追求市场响应速度,往往忽视系统开发中的规范、制 对开发部门提交的软件系统进行验收,最终投入使 度、测试环境,单纯追求速度,这种现象不仅影响了 用;开发部门负责技术开发的实现,解决各项技术问 系统本身的质量,也影响投产后的维护.在银行软件 题,向应用部门提供符合需求的软件产品.其中,金 开发过程中,需求提出缺乏控制和管理是主要问题 融软件需求管理的过程如下: 之一.CMM(Capability Maturity Model,能力成熟 (1)应用部门提交《业务需求书》. 度模型)是美国卡耐基梅隆大学软件工程研究所的 (2)技术部门组织人员同应用部门的相关人员 研究成果,它对指导软件过程改进具有重要意义,并 一起对《业务需求书》进行分析,并以某种模型表示 已在软件业产生了巨大影响口].因此,可用CMM来 出来,形成《软件需求规格说明书》. 规范银行软件开发中的需求管理. (3)双方主管领导代表本部门对《软件需求规 格说明书》签字确认.技术部门组织人员依据《软件 金融软件需求管理过程 需求规格说明书》进行设计并开发相应的业务处理 系统. 金融软件的开发过程,是由应用部门提出需求, (4)如果需求有变动,技术部门根据应用部门 开发部门按照需求进行开发,最终由应用部门具体 后续提交的业务需求变更,及时组织人员进行分析. 收稿日期 2008—08—22 作者简介周晶平(1962一),男,副教授,研究方向:软件工程、商务智能,E—mail:zhoujp@public.wh.hb.cn 基金项目 中南民族大学自然科学基金 维普资讯 http://www.cqvip.com
第3期 周晶平:金融软件需求管理方法的改进 89 分析结果经双方认可并签字后作为原《软件需求规 格说明书》的附件,由开发人员按新的变更对软件进 行调整. 2金融软件需求管理中存在的问题 在金融软件的开发实践中,需求管理中常常存 在许多问题,这些问题来自应用部门和开发部门两 个方面. (1)需求的来源和合理性不能明确判定.由于 目前大部分银行系统都没有对软件项目或产品进行 投资收益分摊、运行成本分摊,导致业务部门在需求 提出时比较随意,对系统的要求和依赖性较强.开发 部门需要面对来自各个不同业务部门和不同分行的 需求,在很多需求合理性、需求管理上没有足够的控 制权,也缺乏一个可以凌驾于各个部门之上的需求 管理机构来统一管理、控制需求. (2)需求模糊、不能文档化.业务人员的主要任 务是提出满足市场要求和金融客户需要的业务需 求.他们在提出某个想法或需求时,经常只是一个初 义定合集求一 求 需 个一需型戡一义定 一素元 步设想,还没有经过完整性思考和可行性分析.通常 没有文档化的清晰的需求描述. (3)需求变更比较频繁.无论银行业务人员成 熟度如何,在实际的开发过程中,总是会遇到需求变 更的问题.需求的变更经常引发技术部门与业务部 门的矛盾. 3基于CMM的需求管理 需求管理是SW—CMM(2)中软件开发的一个 关键过程域(KPA),需求管理是对需求分配进行管 理,即要在客户和实现客户需求的项目组之间达成 共识,控制系统需求,为研发过程和项目管理建立基 础,保持项目管理计划、产品和活动与系统需求的一 致性¨2].需求管理的主要活动如图1所示. (1)确定需求变更控制过程,确定一个选择、分 析和决策需求变更的过程.所有的需求变更都需遵 循此过程. (2)建立变更控制委员会,组织一个由项目风 险承担者组成的小组作为变更控制委员会,由他们 来确定进行哪些需求变更、此变更是否在项目范围 需求管理 变更控制 版本控制 需求追踪 需求跟踪 变更申请 定义每个需 波及分析 求状态 作出决策 跟踪每个需 实施变更 求状态 测量需求稳 图I需求管理主要的活动 Fig.1 The main activities of requirement management 内,估价它们并对此评估作出决策以确定选择哪些、 放弃哪些,并设置实现的优先顺序,制定目标版本. (3)进行需求变更波及分析,应评估每项选择 的需求变更,以确定它对项目计划安排和其他需求 的影响.明确与变更相关的任务并评估完成这些任 务需要的工作量.通过这些分析将有助于变更控制 委员会作出更发了的决策.波及分析可以提供对建 议的变更的准确理解,帮助做出信息量充分的变更 批准决策.通过对变更内容的检验,确定对现有的系 统做出是修改或抛弃的决定,或者创建新系统以及 评估每个任务的工作量.进行波及分析的能力依赖 于跟踪能力数据的质量和完整性. (4)跟踪所有受需求变更影响的工作产品.当 进行某项需求跟踪能力矩阵找到相关的其他需求、 设计模板、源代码和测试用例,这些相关部分可能也 需要修改.这样能减少因疏忽而不得不变更产品的 机会,这种变更在变更需求的情况下是必须进行的. (5)建立需求基准版本和需求控制版本文档. 确定一个需求基准,这是一致性需求在特定时刻的 快照。之后的需求变更就遵循变更控制过程即可.每 个版本的需求规格说明都必须是说明,以避免 将底稿和基准或新旧版本相混淆.最好的办法是使 用合适的配置管理工具在版本控制下为需求文档 定位. (6)维护需求变更的历史记录.记录变更需求 文档版本的日期以及所做的变更、原因,还包括由谁 负责更新和更新的新版本号等.版本控制工具能自 动完成这些任务.版本控制是管理需求的一个必要 方面.需求文档的每一个版本必须被统一确定.组内 每个成员必须能够得到需求的当前版本,必须清楚 地将变更写成文档,并及时通知到项目开发所涉及 维普资讯 http://www.cqvip.com
9O 中南民族大学学报(自然科学版) 第27卷 的人员.为了尽量减少困惑、冲突、误传,应仅允许指 定的人来更新需求.这些策略适用于所有关键项目 文档. (7)跟踪每项需求的状态建立一个数据库,其 中每一条记录保存一项功能需求.保存每项功能需 求的重要属性,它包括状态(如已推荐的,已通过的, 已实施的,或已验证的),这样的任何时候都能得到 每个状态类的需求数量. (8)衡量需求稳定性.记录基准需求的数量和 每周或每月的变更(添加、修改、删除)数量.过多的 需求变更是一个“报警信号“,意味着问题并未真正 型清楚,项目范围并未很好的确定下来或是变 化较大[ . (9)使用需求管理工具.商业化的需求管理工 具能帮助用户在数据库中存储不同类型的需求,为 每项需求确定属性,可跟踪其状态并在需求与其他 软件开发工作产品间建立跟踪能力联系链. 4金融软件需求管理方法的改进策略 银行系统实施CMM,不应该单纯把通过CMM 等级评估作为自己的目标,而应该将通过CMM的 过程管理,发行银行内部软件开发的管理流程,从而 将提高金融信息系统的质量和生产率作为目标. 在实施CMM2级需求管理时,应将注意力放在 以下的方面 :(1)指派负责人并提出实施时间表; (2)为实施需求管理提供足够的资金和资源;(3) 明确需求管理任务并达成共识;(4)对每个项目,要 建立分析系统需求的职责,并且指定给软件、硬件和 其他部分;(5)使用指定给软件的需求作为项目计 划、工作产品、各项活动的基础;(6)在软件项目实 施需求之前,要对需求进行评审,并达成统一的意 见;(7)执行软件需求活动的相关成员必须接受需 求管理培训;(8)软件需求必须能被控制,确保软件 需求完整性、一致性和可测试性;(9)需求的变更应 遵从统一的文档化的规程,并从始至终被跟踪;(10) 对需求的变更要经过评审,然后才应用到软件项目 中;(11)对需求基线进行正式的版本控制;(12)建 立需求管理活动的状态信息,并记录过程测量数据; (13)管理者要定期评审需求管理的各项活动,并对 结果做出评价. 5 结束语 在银行软件开发过程中,采用CMM的管理理 念可以提高软件开发效率,保证质量,有助于银行软 件开发过程的规范化、标准化、降低缺陷,保证银行 系统的高可靠性,使得整体风险有所降低. 参考文献 [1]张海藩.软件工程[M].北京:清华大学出版社,2002: 278—282. [2]单银根.CMM软件能力成熟度模型(CMM)与软件开 发技术[M].北京:北京航空航天大学出版社,2003: 57—61. [3]观点工作室.CMM实践之路[M].北京:机械工业出 版社,2003:39-66. [4]徐小平.CMM中的需求管理[J].计算机工程与设计, 2004(6):965—967.