做了几个月的项目了,意识到有时候技术并不是最为关键的东西,往往困扰我们的是平时开发最不关心的软件需求,需求的变化经常会导致技术的无用功。

一般人听到需求分析这个词都会很陌生,但是对于IT行业来说,却是一个非常至关重要的一个环节。一款软件、一个项目的好坏最根本的判断依据就是它是否满足客户、用户的需求,与需求背道而驰的东西可以说是彻彻底底的失败品。

既然需求分析那么重要,什么是需求分析呢,综合网络信息,我总结出需求分析是指对要解决的问题进行细致的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。也可以说,在软件工程中的“需求分析”就是要确定计算机“做什么事情”。

也许有人会讲,为什么还要需求分析呢,口述说明一下不就行了。但问题是需求分析并不仅仅是告诉开发人员要做什么,它贯穿参与整个项目的各个人员,如测试人员。

简单的来说,需求分析有一下几个目标:1、对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整性,促使用户在软件设计启动之前周密地、全面地思考软件需求;2、了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准;3、为软件管理人员进行软件成本计价和编制软件开发计划书提供依据。

那么需求分析由什么组成呢,综合网络信息以及以前的项目经验,我总结出大概由以下这几部分组成:引言,综合描述,外部接口需求,系统功能需求,其他非功能需求,词汇表,数据定义,分析模型,待定问题等。

其中系统功能需求和数据定义至关重要,待定问题最好可以把模糊度降到最低,以确保开发的可用性。

最后需求分析的工作可以主要由以下几步组成:

1.分析用户活动,产生业务流程图

了解用户的业务活动和职能,搞清其处理流程(即业务流程)。如果一个处理比较复

杂,就要把处理分解成若干个子处理,使每个处理功能明确,界面清楚,分析之后画出用户

的业务流程图。

2.确定系统范围,产生系统关联图

这一步是确定系统的边界,在和用户经过充分讨论的基础上,确定计算机所能进行的数

据处理的范围,确定哪些工作由人工完成,哪些工作由计算机系统完成,即确定人机界面。

3.分析用户活动涉及的数据,产生数据流图

深入分析用户的业务处理,以数据流图形式表示出数据的流向和对数据所进行的加工。

数据流图(DataFlowDiagram,简记为DFD)是从“数据”和“对数据的加工”两方

面表达数据处理系统工作过程的一种图形表示法,具有直观、易于被用户和软件人员双方都

能理解的一种表达系统功能的描述方式。

最后推荐一本好书:掌握需求过程.