对软件需求的深人理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。(意义)
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。(目的)
文章目录
3.1 需求分析的任务
3.1.1 确定对系统的综合要求
- 功能需求(系统必须提供的服务)
- 性能需求(系统必须满足的定时约束或容量约束)
- 可靠性和可用性需求
- 出错处理需求(对环境错误应该怎样响应)
- 接口需求(它的环境通信的格式)
- 约束
- 逆向需求(不应该做什么)
- 将来可能提出的要求(不属于当前系统开发范畴)
需求分析的方法:
- 功能分析法
- 结构化分析法
- 信息建模法
- 面向对象分析法
3.2 与用户沟通获取需求的方法
分析员和用户都起着关键的、必不可少的作用。用户与分析员之间需要沟通的内容非常多,在获取和分析软件需求的过程中,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在个需求分析过程中应该采用行之有效的通信技术,集中精力做细致的工作,而且必须严格审查、验证需求分析的结果。
分析员与用户沟通进行需求分析的典型方法如下所述。
1.访谈
访谈是最早开始使用的获取用户需求的方法,也是迄今为止仍然广泛使用的需求分析方法。
访谈有两种基本形式,分别是正式的和非正式的访谈。
当需要调查大量人员的意见时,请被调查人填写调查表是十分有效的做法。
在访问用户的过程中使用情景分析技术往往非常有效。所谓情景分析,就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。系统分析员利用情景分析技术往往能够获知用户的具体需求。
2.面向数据流自顶向下求精
结构化分析方法实质上就是,面向数据流自顶向下逐步求精进行需求分析的方法。
通过可行性研究已经得出了目标系统的高层数据流图,需求分析的一个主要目标就是把数据流和数据存储定义到元素级。为了达到这个目标,通常从数据流图的输出端着手分析。
3.简易的应用规格说明技术
简易的应用规格说明技术是一种面向团队的需求收集技术。这种方法提倡用户与开发者密切合作,共