如何做好信息系统项目开发中的需求分析
2015-02-04陈晓琼沈一通
陈晓琼 沈一通
需求分析是系统开发的基础。在信息系统项目的开发过程中,人们越来越体会到需求分析的重要性,含糊的需求描述,频繁的需求变更,加重了用户和系统开发双方的工作任务,需求分析的偏差,将会造成设计,编码工作的大量返工,甚至导致项目失败。本文从信息系统项目的特点,需求分析的步骤,需求获取和需求定义的方法几个方面论述了如何做好信息系统项目开发中的需求分析。
【关键词】需求分析 系统开发 信息系统
1 引言
需求分析是系统开发的基础。在信息系统项目的开发过程中,人们越来越体会到需求分析的重要性,含糊的需求描述,频繁的需求变更,加重了用户和系统开发双方的工作任务,需求分析的偏差,将会造成设计,编码工作的大量返工,甚至导致项目失败。
当一个信息系统项目的规划获得批准,进入开发阶段后,需求分析作为系统分析的第一项工作,要解决系统“做什么”的问题,明确系统的功能,确保所开发的系统符合用户预期,如果最终系统不能满足用户的需求,则一切的工作都是徒劳。
2 信息系统项目的特点
信息系统项目是根据用户的需求,选择适合的先进技术,进行设计开发,遵循计算机软硬件开发的技术规范,提出全面的解决方案,为用户最大限度的整合相关信息资源,提高用户的工作效率。
信息系统项目通常具有如下特点:
目标不明确,用户很难精确的描述最终系统的要求,最初提出一个大的方向后,只能在开发中渐进明细。
智力密集型,信息系统项目是典型的多学科合作项目,需要应用多个领域的知识。在针对气象领域开发的系统中,应用地理信息系统可以直观的描述观测站点的状态。
设计人员高度专业化,行业特征较明显。比如气象数据的传输对时效的要求较高,逐小时观测数据需5分钟内传完,在整点的时候并发传输数量达到峰值。在处理文件时,气象报文严格参照行业制定的编码规范。
3 需求分析的步骤
需求分析要实现对系统功能和性能的全面描述。具体的说,需求分析的工作分以下几个步骤来完成。
3.1 需求获取
需要获得各类用户的业务需求,了解系统需要完成的工作,并预估系统可能达到的目标。
3.2 需求分析
对用户提出的需求进行优先级分类,分析系统需要实现的功能,要达到的性能目标,提出系统的解决方案。
3.3 需求定义
编写出需求规格说明书,对确定的需求进行详细描述,形成文档。该文档作为系统开发中分析阶段的重要成果,是后期系统开发和维护的基础,也是系统设计和编码的依据。
3.4 需求验证
对已描述需求的完整性和正确性进行最后的评审确认。
4 需求获取的方法
需求获取是需求分析的前提,直接面向系统的用户和相关干系人。需求获取一般采用访谈,用户调查,现场跟班,联合讨论等多种方法。其中访谈是最基本的一种手段,与项目的关键干系人进行特定范围的访谈,对了解系统概况大有帮助。有了初步框架后,再结合其他方法全面收集系统的需求,争取没有遗漏,减少后期变更的成本。
在气象信息系统的开发中,我们用得最多的就是联合应用开发这种引导式研讨会的方式。研讨会上干系人和开发人员集中在一起讨论系统的功能,鉴于开发人员也熟悉气象业务的数据处理流程,在会上能够与系统的用户代表在同一个纬度和语境下顺畅的进行沟通。我们将之前收集的需求逐条整理,大家一起有针对性的讨论,将需求渐进明细,以保证开发团队与用户对需求的理解达成一致。
5 需求定义的方法
需求定义的过程就是将需求文档化,以形成需求规格说明书,一份高质量的需求说明书有助于系统项目的成功。需求定义通常有严格定义和原型化这两种方法。
严格定义方法主要应用于传统的结构化开发中。结构化开发适用于需求明确,功能相对简单的系统项目,它要求所有的需求都能够被事先定义,通过业务流程图等方式表现出系统的逻辑结构,但前期不能在用户的终端显示出系统的实际效果,用户看到成果的周期较长,等系统已出雏型再修改功能需求的话,修改的工作量将会翻番。而保证需求不发生变更几乎是不可能的,因为随着用户对系统的认识逐步加深后,会产生一些新的想法。对于初期需求不明确的项目更适合采用原型化方法来定义需求,可以弥补结构化方法中抽象的理论描述,首先快速生成一个简单的系统模型,满足用户的基本要求,然后和用户一起讨论修改,逐步增加功能,最终实现系统的全部需求。
我们在气象资料传输监控平台项目的需求定义时,将结构化和原型化方法相结合,大大提高了工作效率。每个模块的功能我们用结构化方法严格定义,该方法的严密性和精确度有效保证了需求在实现过程中没有遗漏。在网页显示方面的需求定义则采用原型化方法,先取一种资料,生成一个页面,和用户讨论,是否满足需求,要修改的地方记录下来进行更新,然后再次与用户讨论,如此反复,直到无疑义,便形成了网页的模版,之后其他资料的显示页面都参照模版即可。
6 小结
总之,做好信息系统项目开发中的需求分析,需要开发团队和项目干系人的有效合作,需求分析看似简单,但要真正做到位,并不是一件容易的事,像信息系统本身采用的技术更新快,需求复杂,就要采用多种方法相结合来做好需求分析的工作。仔细掌握和管理好系统需求对促进项目的成功具有重要作用。
作者单位
云南省气象信息中心 云南省昆明市 650034endprint