1
 软件工程
1.5.2.1 3.2.1 需求分析的任务

3.2.1 需求分析的任务

软件需求分析阶段的研究对象是软件项目的用户需求,如何准确表达用户的需求,怎样与用户共同明确将要开发的是一个什么样的系统,是需求分析要解决的主要问题。也就是说,需求分析阶段的任务并不是确定系统怎样完成工作,而仅仅是确定系统必须完成哪些工作,即对目标系统提出完整、准确、清晰、具体的要求。需求分析阶段所要完成的任务是在可行性研究成果的基础上,通过分析归纳建立模型,编写软件需求规格说明书。

1.认清问题,分析资料,建立分析模型

通过调查研究,分析员根据软件工作范围,充分理解用户提出的每项功能与要求。同时从软件系统的特征、软件开发的全过程,以及可行性分析报告中给出的资源和时间约束来确定软件开发的总策略。只有用户才知道自己需要什么,但是他们并不知道怎样利用软件来实现自己的需求,所以用户必须把他们对软件的需求尽量准确、具体地描述出来。虽然分析员知道怎样用软件实现人们的需求,但是在需求分析时他们对用户的需求并不十分清楚,必须通过与用户沟通才能获取用户对软件的需求。

一般来说,系统是杂乱无章的,并且用户群体中的各个用户会从不同角度提出对原始问题的理解及对用计算机要实现管理的软件系统的需求,但并非所有的用户提出的要求都是合理的,所以必须全面理解用户的各项要求,不可能接受所有的要求。在需求分析阶段,分析员要对收集到的大量资料和数据进行分析归纳,透过现象看本质,看到事物的内在联系及矛盾所在;同时,对于那些非本质的东西,找出解决矛盾的办法;最后,通过“抽象”建立起描述软件需求的一组模型,即分析模型。分析模型应该包含系统的界面要求、功能要求、性能(如响应时间、吞吐量、处理时间、对内外存的限制等)要求、安全性要求、保密性要求、可靠性要求、运行要求(如对硬件、支撑软件、数据通信接口等的要求)、异常处理等对系统的综合需求,以及对系统信息处理中数据元素的组成、数据的逻辑关系、数据字典和数据模型等系统的数据要求。这些是形成软件需求说明书、进行软件设计与实现的基础。

2.编写软件需求说明书

分析模型建立后,要编写软件需求说明书来进行描述。该说明书是软件生存周期中一份极为重要的文档,它是连接计划阶段和开发阶段的桥梁,是软件设计的依据。许多事实表明,软件需求说明书的任何一个微小错误都有可能导致系统的错误,在纠正时将会付出巨大的代价。

软件需求说明书是沟通用户与分析员的媒介,双方要用它来表达对需要计算机解决的问题的理解。表述的语言应当易于理解而无二义性,尤其是在描述的过程中最好不使用用户不易理解的专业术语。为了便于用户、尤其是不熟悉计算机的用户理解,软件需求说明书应该直观、易读和易于修改,所以应尽量以图文并茂的方式,采用朴实的语言、标准的图形、表格和简单的符号来表示。