APP下载

需求工程在电力软件建设中的作用研究

2015-03-27黄剑

企业文化·中旬刊 2015年1期
关键词:需求分析

摘 要:目前 ,电力行业应用软件需求研究常常流于形式。由于缺乏用户参与的合理机制、缺乏对需求文档资料的有效管理、缺乏用户与开发人员之间有效的交流方法,使需求研究效率低、效果差。为改变这种状况 ,需要引入需求工程的方法 ,发挥用户在需求研究中的主导作用 ,并对需求过程进行必要的管理。本文结合本单位各应用软件的成功建设经验,探讨应用软件建设过程中需求工程与用户的关系问题。

关键词:需求工程;需求获取;需求分析;需求表述;需求评审;需求管理

中图分类号:TM732 文献标识码:A

1、前言

需求工程是从软件工程中发展起来的,是软件工程的一个组成部分,也是软件生命周期的第一个阶段。虽然大家都知道需求对于整个软件生命周期的重要性,但对它的研究往往没有软件工程的其它部分研究那么深入。近年来,电力行业软件信息化建设步伐越来越快,投入也越来越大,各类应用软件需求不断增加,系统规模越来越大,复杂程度也越来越高。面对如此庞大且不断变化的需求,软件开发人员越来越感到难以把握,各级电力单位部门对“已完成”的系统不满意的现象时有发生,系统的建设往往达不到预期的目标,需求问题已经成为制约电力应用软件发展的重要因素。

2、需求工程的概念

在CMMI中对于需求工程主要分为两大方面:需求开发和需求管理。其中需求开发又可以细分为需求获取、需求分析、需求表述和需求确认。

需求获取:就是与用户共同分析研究用户的工作过程,协助用户搞清楚他们想要的东西,并准确记录下来。

需求分析:软件开发人员与用户一起对需求进行分析、综合、定义、建模的过程,其目的是从用户提供的各式各样的需要说明中,提取精华和实质性的内容,找出相应的软件解决方法。

需求表述:是一个将软件需求进行规格化说明的过程。

需求确认:是一个验证需求的过程,对需求规格说明的正确性和可行性进行分析和检验,并使用户和软件开发人员对于需求规格说明达成共识。

需求管理:对用户不断增加和变化的需要进行管理,通过对不断变化的需求进行管理,来确定软件发展的策略等。

3、电力信息化建设的成功经验

本单位在最近几年的信息化建设工作中,吸取了以前项目建设的教训,充分认识到了需求工程对整个软件工程乃至信息化建设所发挥到的巨大作用,并通过各种有效的手段来保证,获得了良好的效果,信息化水平在两年内得到了很大的提升,实现了预期目标,并获得了上级单位的好评。

本文将从需求工程五个方面,就如何充分发挥需求工程在系统建设中的作用进行分析和探讨。

3.1建立强有力的项目组织机构是重要前提

很多软件的失败,很大的因素就是没有获取到真正的需求。很多软件开发人员抱怨找不到对应的用户来了解需求,归根结底还是用户对软件的重视程度不够。要提高大家对软件的重视程度,靠宣传、靠提升意识是远远不够的,更重要的还是要从制度层面去保证。公司在信息化项目管理办法中就确定了每个项目必须成立领导工作组、专业工作组和开发工作组三个组织,通过这三级组织机构的设立,落实了人员的职责,确保了项目各项工作,特别是需求调研工作的顺利开展。

3.2与软件开发人员一起分析需求

通过建立项目组织确保用户需求的获取后,最关键的还是对需求的分析,将用户的需求转变成软件开发的需求。很多软件公司的做法是做完需求获取后,就自己进行需求分析,但往往由于理解的不一致、不透彻,导致分析出的软件需求与当初用户提出的需求差别很大。在CMMI1.2需求开发域中也明确提出要“在需求开发和分析时,纳入相关干系人的参与,藉此使他们了解需求的演进过程”,所以用户的作用至关重要。

3.3需求确认保证软件应用

需求以规格化的方式描述出来后,要通过评审、功能验证等方式来对需求进行确认,确保不发生偏差。本单位主要通过以下三种手段进行保证:

(1)对需求进行评审。需求评审会被看成是整个项目最重要的会议之一,在项目管理办法中也明确定义了会议要求。会前组织者会把待评审的材料发给各个评审专家,评审专家在会前仔细阅读需求并标注问题。在评审会上大家一起对问题进行确认,会后还要对问题进行跟踪,使得很多需求上的问题在进入开发之前就被发现,有效地降低了成本,提高了效率。

(2)及时进行演示。在开发过程中每完成一个模块的开发,就尽快给业务人员进行演示。通过演示,业务人员能更直观的对系统进行了解,尽早地发现其中的问题,开发人员也能尽早对其进行修改。

(3)进行功能验证。在系统试运行之前,组织各业务专家一起再对整个系统进行严格的功能验证,检查功能是否满足需求,避免了系统上线后再进行频繁修改而导致的大量成本增加。

3.4共同管理需求

需求发生变化是正常的,系统不会一成不变。对待需求变更要采取欢迎但谨慎的态度,需求变更一定要受控。在完成需求变更收集后,会有专门的人员来统一整理。再由开发商和信息部门一起评估这些变更对项目范围、工期、成本等因素的影响,将评估影响结果提交给由业务部门领导、专家和开发商代表一起组成的项目裁决组来裁决是否执行这项变更。对于一些想法很好但短期无法实现的需求,会纳入需求库中,为将来项目建设提供有效地需求支撑。

通过这些措施,既保证了系统的稳定,又提高了系统使用人员的积极性,大家都可以提出各类意见,使得系统实用化程度不断提高,能真正地对工作有帮助。

4、结束语

本单位在近几年信息化建设中,通过引入需求工程取得了较好效果,相关的措施和做法或许不一定完美,但都充分考虑了自身在人员、环境和业务方面的特点。如何更进一步挖掘需求工程乃至软件工程对信息化建设的指导作用,还需要我们深入研究。

作者简介:黄剑男 (1986—) ,广西南宁人,本科,学士,项目管控专员,研究方向:企业管理及项目管理。

猜你喜欢

需求分析
基于智能手机的高职学生移动学习需求分析研究
大学师生需求发展分析
基于UML技术的高校贫困生管理系统建模分析
学习者需求对独立学院大学英语教学的启示