APP下载

浅谈信息系统建设中的需求工程

2017-05-27邵静

中国科技纵横 2016年22期

邵静

【摘 要】随着信息技术的快速发展,各行业利用信息化手段提升各自的核心竞争力成为趋势。信息系统建设过程中,需求是所有活动的基礎,起着极其关键的作用。但是在日常的项目实施推进中,往往因忽略该重要环节而给信息系统建设的带来诸多问题,本文主要讨论了需求工程中遇到的常见问题和预防措施。

【关键词】需求工程 信息系统建设 需求变更

近年来,各类满足不同领域业务发展需要的信息系统层出不穷,信息系统建设成为满足业务需求的重要措施。信息系统建设由需求工程、系统设计、开发、测试、运护组成。系统建设的首要任务是明确建设的目的,因此需求工程在系统建设过程中具有方向性和决策性的作用。根据Standish Group的统计分析,信息系统建设未按期完成的比例占84%,超预算的比例为189%,项目的成功率仅为34%。对项目失败的因素进行详细分析,导致项目失败的最重要的原因与需求有关,需求工程占了45%的失败因素,即需求工程出现问题是导致系统建设失败的重要原因。

1 基本概念

需求工程是指采用有效的技术、方法和工具从客户处获取需求,并对需求开展一系列不断反复的分析、表示和验证,定义目标系统的特征和相关的约束,了解客户的需求和业务,使得客户、用户和开发者之间达成共同的理解的活动。开展需求工程的目的是准确说明系统建设的目标,描述客户需要开发者“做什么(WHAT)”,确定要计算机“做什么”,要达到什么样的效果?它是一个概念性的工作,直接影响整个项目建设周期。

2 常见问题现象

2.1 需求不完整、不准确

用户在需求描述时,不能准确、完整地说出个中缘由,只提大概。大多数用户在调研过程中只提系统在正常情况下出现的结果,但未考虑异常情况,对一些常识性的业务忽略不提;用语不准确,可能内心清楚,但缺乏表达能力;把解决方案误认为是需求,基于个人在认识的不足所提出的解决方案往往不完善,但又被当作需求混淆在一起;功能性和非功能性需求上存在复杂的联系。

2.2 用户参与度不够

用户在整个需求开发过程中只充当旁观者,不愿参与到需求开发活动中,认为这是项目建设方的义务和责任,这些活动都是系统建设方面的内容,与本人的工作无关,参与与否对整个项目没有影响。部分建设方认为用户参与到需求开发活动会带来频繁更改的问题,根据经验,自己可以做出让客户满意的需求规格说明。

2.3 需求动态变更

对业务的熟悉程度不够、建设者和用户不能密切合作、需求工作不细致、接受不合理建议等都会造成需求不断更改。用户不能一次性全面地提出具体的需求,导致反复的访谈,在沟通过程中,用户可能会产生许多新想法和新需求,为了满足客户的新需要,多次修改需求方案,导致背离最初的目标值。

2.4 资源不足

因项目成本不足或项目周期短的制约,建设方对需求工程阶段的投入不够,将用户提出的需求弱化,裁剪部分功能模块,降低产品的质量。导致进入到系统设计、程序开发阶段发现许多工作无法开展,甚至推翻原有的需求规格。

3 解决措施

因需求工程中出现问题带来了项目进度拖延、项目成本增加、项目质量失控和系统生命期缩短等后果,对信息系统建设方和客户都会带来巨大的损失。为预防这些问题的发生,我们应该从以下几方面着手:

3.1 利用需求管理技术

借助先进的需求开发工具,建立需求分析模型,帮助需求分析人员对用户的需求进行提取、整理、分析并得到完整、正确的软件需求分析式样,以达到满足用户对系统功能、性能方面直观展示要求。例如:使用数据流图(DFD)建立需求分析模型,可以将数据传递和加工的流向以图形符号的方式逐层细分,可具体地描述系统内各个部件的功能和数据在各功能点间的传递情况。

3.2 加强沟通,达成共识

组建项目团队,需建设方和用户共同组成,制定相应的需求工程流程规范,确立用户和建设者双方的角色和职责,以便双方及时沟通。由于需求获取的范围广、类型多,需求收集后,需认真梳理和分析需求中是否存在冲突,是否存在定义错误或描述不严谨。只有用户亲身参与到需求开发和管理中,才能保证双方在需求的认识上达成一致,减少需求变更的发生。

3.3 开发与管理反复迭代

编写详细而具体的说明材料,做到事后有据可查。在需求调查过程中的得到的需求往往是杂乱无章的,可能在需求中存在冲突,需及时把这些需求材料整理转换为有效的用户需求,从中提炼、分析得出相应的记录和报告。

需求工程阶段涉及的文件资料有:需求规格说明书、项目视图与范围文档、需求分析说明书、调研记录、需求讨论记录等。其中,需求规格说明书作为需求工程阶段的重要输出,系统设计的输入,是项目开发的基础,指导整个项目建设的全过程,其内容包含的需求具有最高优先级,应保证内容的准确性、完整性和易理解性。需求评审是需求控制的关键环节,主要检查系统需求分析人员和用户之间的沟通是否一致,双方是否均理解和认可需求内容,用户可在评审中提出个人建议,帮助纠正错误,及时进行需求变更修正,避免事倍功半的现象发生。通过需求开发和管理的反复迭代,为用户找到最佳的需求解决方案,同时为系统实施过程中的质量提供了保障。

4 结语

需求工程是决定信息系统建设成败的关键因素,如果我们要较好地管控信息系统建设的周期、成本和质量,那么就需要加大在需求开发和管理上的投入,有效地界定项目的需求范围,分析变更的合理性和必要性,制定出合理有效的的需求工程交付物等,为整个项目顺利开展奠定基础,驱动信息系统的快速建成。

参考文献:

[1]刘华航,金英,马腾飞.一种需求变更影响分析方法计算机研究与发展[J].计算机研究与发展,2013(8):1769-1777.

[2]刘小波,郭荷清.软件系统需求变更影响分析及解决方案[J].华南理工大学学报(自然科学版)2002(4):56-59.

[3]曹温,温丽.信息系统项目管理师考试辅导[D].清华大学出版社,2011.