• 快捷搜索
  • 全站搜索

“需求分析可视化”提升软件开发效率

2014-05-16 12:09:56作者:中国人民银行武汉分行 杨毅 杨杰编辑:金融咨询网
需求的不确定是软件开发中项目风险产生的根源,本文提出的“运用合适的技术手段实现软件需求可视化和标准化,规范需求提取操作,从而改进软件生产流程”的方法,在中国人民银行武汉分行湖北辖内得到实践检验。

自从“软件工程”在1969年NATO(北大西洋公约组织)会议中提出以来已有40多年,虽然软件工程理论在基本框架上没有重大改变,但是在现实软件开发过程中,按照上述理论去做仍然会碰到许多问题。如需求的不确定性和软件开发成本失控等,最终导致相当部分的软件开发不成功。

  为了提高软件开发的成功率,本文从分析软件开发方式及开发成本构成出发,对现有软件工程需求和验收阶段的问题进行了分析,提出运用合适的技术手段实现软件需求可视化和标准化,规范需求提取操作,从而改进软件生产流程。

一、软件开发成本分析

  目前在软件开发实践中,需求变化具有最大的不确定性,是整个软件开发项目风险产生的根源,同时也是造成软件开发成本变化的根源。软件开发需求分析成功与否成为软件开发成本的决定因素。在软件开发成本中,人力成本占很大比例。合理调配人员、控制人员时间、提高人员工作效率,是控制软件开发人力成本的重要方面。因此,为了控制软件开发成本,提高软件开发成功率,需要在软件需求确定和人员正确分配上探索新的方法,形成新的标准化流程。

二、软件需求的流程改造

  软件是为人服务的,无论软件怎样运行,最终用户得到的就是软件运行后展示的界面。当一组图形界面与具有相同界面的程序同时展现在用户面前,用户是无法区别它们的。因此,用户的全部功能性需求都包含在全部界面及界面转换操作当中,只要在开发具体程序之前完成全部界面及界面转换操作的展示及说明,就算全面完成了功能需求分析。

        通过分析我们认为,一个完整确定的功能需求包括两大部分:一是全部界面及界面之间的转换关系,它们是完全图形化的,是程序运行状态的真实模拟展现;二是每一个界面的使用说明及界面转换时对应的数据转换关系,它们是字符形式的。我们得到了确定需求的三要素:界面、说明、函数关系。

        基于上述需求组成的分析,确定需求的标准方法。首先,在开发方软件需求分析人员帮助下,以用户为主导,确定所有程序运行界面,图形化模拟程序运行,要求做到“所见即所得”。其次,逐页编写界面说明,定义数据转换函数关系,最终形成软件操作使用手册。

        改进后的需求确定方法不同于传统软件工程理论中软件生产顺序,将验收标准及操作使用手册的制定提前。由此带来的根本变化有三个方面:一是彻底明确了用户与开发者之间的责任,使软件开发的目标变得非常明确。二是将需求分析与后续开发阶段彻底分离,减少用户在软件开发过程中的人力投入,减少开发人员对用户专业人员的依赖,为后期开发外包创造条件。三是降低了对需求分析人员的要求。

三、人员分配策略改进

        人员分配策略对软件开发成本的影响是明显的。要拥有高质量的产品就需要高质量的人才,而高质量的人才意味着较高的人力成本。只有将合适的人员在恰当的时候安排在最能发挥作用的岗位上,才能有效降低软件开发的人力成本。

        传统的软件工程理论中的各种软件开发模型注重了软件开发本身,但没有具体分析实现这些过程的人员需求与配备原则,在当前的实践过程中往往由于人员的错配造成人力成本上升。针对传统人员分配中存在的问题,我们运用改进后的需求确定方法,从需求分析阶段起就进行有针对性的人员分配策略改造。

        在常规需求分析中,操作流程和数据逻辑关系是主要的内容之一,正是由于流程和数据的缠绕造成需求分析复杂性,对开发方需求分析人员素质要求很高,也是项目经理必须一开始就介入的主要原因。

        如果采用界面模拟,操作流程与数据逻辑就可以分离。一方面,操作流程通过界面之间的连接关系得到了体现。另一方面,数据逻辑则可以通过输入数据和输出数据之间的函数关系进行简单描述。全部工作对人员的素质要求降低,需求方可以提供函数关系,开发方可以协助完成界面制作,而不需要更多参与需求整理工作。

        在需求分析阶段,开发方只需要安排界面设计与制作人员协助用户,这个时候界面设计与制作人员只需要具备图形界面制作方面的能力即可。这类人员在程序开发总体把控上要逊色于项目经理,但在图形界面制作上又比项目经理更专业。一旦形成需求分析的标准模式,这部分人员将专业从事需求分析,专业性和工作效率也将大大提高。由于在需求分析阶段与编程没有直接关系,所以在需求分析阶段将不会产生开发编程人力支出,从而降低了总体开发成本。

        新的人员分配策略减少了项目经理的工作时间,降低了需求分析人力成本,缩短编程时间,人员分工进一步专业化,可以形成软件生产流水化作业,很大程度上提高了软件生产效率,最大限度地减少了软件生产过程中的人为干扰因素。

四、实践与理论检验

        为了检验经过改进的软件生产方式是否可行,我们在中国人民银行武汉分行湖北辖内开展了相关理论的实践。

        首先是在现有的程序开发中进行了试验,取得了应用经验。金融管理平台是中国人民银行武汉分行为加强“两管理、两综合”而开发的一个综合性管理程序。在项目开始阶段,虽然业务部门提出了近200页的需求说明,但由于其管理特性,软件的需求仍然存在一定的不确定性。在这种情况下,分行科技处组织部本部门科技人员采用快速原型法制作了程序模型,对部分需求进行了验证。在此基础上通过招标确定了软件开发商。

        由于时间要求很紧,开发商按照招标文件中的需求说明书及前期的程序模型进行了开发。虽然在合同规定的一个月时间内拿出了第一个测试版本,但业务部门完全不满意,提出的修改意见甚至超过了原有的需求说明书。在业务部门不断提出修改意见的同时,开发商也在不断强调软件开发过程的客观限制,比如已定义数据库结构不能修改等,从各方面抵制程序功能性修改,如此反复,项目工期大大延长,开发商的成本支出已远远超过了合同金额,开发商对程序开发的热情降到了冰点。而且项目经理已更换了两个,原有的项目组成员也已大部分调离或辞职,项目处于半瘫痪状态。

        为了完成项目,分行与开发商进行了艰苦的谈判与磋商,双方最后达成一致,由分行提供最后一次需求,开发商集中力量进行最后一次开发,除了程序本身Bug及性能改进以外,只要满足最后一次的需求,开发商就算完成项目,分行就必须进行项目验收。

        此时,一个现实的问题摆在分行科技处面前,怎样才能保证业务部门不再对程序提出调整要求?在这种背景下,我们开始尝试需求确定理论的实践。针对业务部门的修改意见,我们将已开发程序中的相关页面拷贝到画图板中,对图形进行修改,然后将修改后的图形制作成PPT页面,再在PPT页面中增加按钮图形,通过链接模拟程序中按钮功能,实现页面跳转。当我们在进行PPT演示的时候,只要点到按钮处,就会出现程序中应该出现的界面,每个界面的使用方法和界面转换的函数关系在PPT备注中进行说明。经过近一个月的制作,PPT完全展现了需求,得到了业务处室的签字认可,并完成了最终需求确定。

        分行科技处在湖北辖内中心支行推广新的需求分析方法取得了较好的成绩。从2013年开始,分行科技处要求中心支行将拟开发的系统上报备案,同时要求中心支行科技科负责组织提出需求的业务部门,按照需求分析新方法用PPT展现程序界面,分析和确定业务需求,并将最终成果上报分行科技处,由分行统一组织力量进行后期开发。

  到目前为止,已有两个项目按照要求有序开展,中心支行业务需求分析质量明显提高,项目投入得到有效控制。下一步分行将组织项目组按照人民银行总行的软件开发规范进行开发,确保软件开发质量,并及时在全省推广使用。为了进一步提高需求分析质量,分行科技处正在制定统一需求分析模板,统一软件界面,形成软件展示风格,进一步提高需求分析工作效率,提升需求分析质量。

(文章来源:《金融电子化》杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章