浅析软件开发中的需求分析

(整期优先)网络出版时间:2010-10-20
/ 1

浅析软件开发中的需求分析

薛梦龙

薛梦龙(福建师范大学协和学院,福建福州350108)

摘要:在计算机高速发展的今天,数据库管理系统的发展也日趋完善。为提高管理效率,减轻劳动强度,提供一种更先进、科学的服务系统。然而企业管理者的目的在于利用软件提高自身的经济收益。

关键词:软件;开发;需求分析

“需求分析”,就是对需要解决的问题进行详细分析,弄清楚需要解决的问题。开发人员需要了解顾客的需求,然后体现在软件中。如果说软件开发过程中,开发人员需要了解自己做什么,顾客需要告诉开发人员自己需要什么,而需求分析就是连接开发人员和顾客之间的重要纽带。只有真正理解顾客的需求,才能设计出顾客所需要的软件。

在过去很长一段时间,开发人员的人文需求分析是整个开发过程中最简单的一个环节。然后越来越多的开发人员认识到它才是整个开发过程中的核心部分。正所谓“磨刀不误砍柴工”。只有真正理解了顾客的需求,才能顺利开发出顾客真正需要的软件。如果一味追求进度,而忽略需求分析,很可能南辕北辙,开发变得毫无意义。

一、需求分析的任务

(一)了解顾客的要求

这是需求分析的重点任务,也是最基本的任务。只有正确了解、理解顾客的要求,才能顺利完成需求分析。

(二)分析系统的数据要求

复杂的数据都是由基本的元素组成的,数据结构表示数据元素之间的逻辑关系。需求分析阶段开发人员需要利用数据字典全面的定义数据。

(三)制定新的开发计划

在软件开发的初级阶段,开发人员会制定开发计划。随着需求分析的完成,能更深入的了解系统所需要的时间。所以需求分析完成之后所制定的新开发计划更加科学。

二、需求分析的特点

需求分析是软件开发中的一项重要工作,也是十分困难的工作。需求分析的品质直接影响之后软件优劣。而需求分析具有以下三个特点:

1.顾客与开发人员之间存在交流问题

在软件的生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。本阶段的主要目的在于了解顾客的需求,了解以后开发的软件需要具备的功能及特性。由于顾客的身份、所从事的行业、文化水平等原因,无法很好的同开发人员交流。开发人员本质是技术人员,他不了解顾客的业务活动和业务环境,又不可能在短期内搞清楚;而用户也不熟悉软件开发。由于双方之间的互相不了解,导致需求分析阶段困难重重。

2.顾客的需求不是静止不变的

需求分析阶段往往是开发人员根据经验引导询问顾客。开发人员整理顾客要求,整理出一份资料,形成初步的方案。然而顾客所提出的要求可能是模糊的、不确定的。有的时候顾客甚至会提出新的要求。只有随着软件的开发、适用、深入交流才能制定出更加准确的方案。所以需求不是一个早期敲定就静止不变的过程,可能时刻随着需要而变更。

3.用户提出的要求可能是错误的

需求分析是顾客与开发人员之间的交流,这种交流是双向的。主要的方向是开发人员了解顾客的需求,引导之后的软件开发。但是,顾客不了解软件开发。顾客所提出来的要求可能是错误的、没有意义的、不方便的、难以实现的甚至是不可能实现的。所以在开发过程中开发人员需要辨别顾客的需求是否合理,正确理解定位顾客的要求。使得软件更加合理化,并认真向顾客解释。

三、需求分析方法

1.通过顾客了解

这是最简单直接的方法,直接通过询问顾客的方式。直截了当的了解顾客需求。

2.调查顾客平常的业务模式

通过了解顾客平时的业务模式,设定系统的基本雏形。

3.提出作为技术人员的专业意见

作为技术人员,观察顾客平时的业务模式之后可以向顾客提出作为技术人员的经验及意见。了解顾客需求的方式不一而足,确切的说,只要能正确、深入、快捷的了解顾客需求的方法就是好方法。而平常所用的调查方式有:

(1)跟班作业

通过亲身参加业务的工作来了解业务活动的情况。

(2)问卷调查

设置一些关键问题,以问卷的形式调查顾客需求。

(3)向专家咨询

术业有专攻,开发人员中也可能有人从事过顾客的职业。他就是顾客和开发人员的结合体。可以通过询问这样的开发人员来了解需求。

(4)查阅记录

即查阅与原系统有关的数据记录,包括原始单据、账簿、报表等。通过调查了解了用户需求后,还需要进一步分析和表达用户的需求。