3 . 领域需求:
  领域需求的来源不是用户,而是系统应用的领域,其主要反映了该领域的基本问题。例如勤工俭学管理系统,其领域需求涉及到诸如应聘合同书、酬金发放及劳工考核等相关内容,如果这些需求得不到满足,系统无法正常运行。值得一提的是,领域需求可能是功能需求,也可能是非功能需求。
  -----------------------------------------------------------------------------------------------
  如何进行需求分析
  进行需求分析不象情人之间的浪漫做法——“让我摸摸你的头发,感觉它是什么颜色。”我们需要了解需求分析的渠道和过程。

  需求分析的过程

  (1)可行性研究
  它指明现有的软件、硬件技术能否实现用户对系统的要求,从业务角度来决定系统开发是否可行以及在预算范围内能否开发出来。可行性研究的结果是清楚的回答:该系统是否值得开发
  (2)需求导出和分析
  这是一个通过对现有系统分析、与潜在客户讨论、进行任务分析等导出系统需求的过程,也可能需要开发一个或多个不同的系统原型,以帮助分析员了解所要描述的系统。
  (3)需求描述
  需求描述是把在分析活动中收集的信息通过分析整理之后以文档的形式确定下来。该文档中有两类需求:用户需求是从客户和终用户角度对系统需求的抽象描述;系统需求是对系统要提供的功能的详尽描述。
  (4)需求有效性验证
  主要是通过评审、验证等一系列活动来找出需求文档中的错漏并加以改正。
  (5)需求管理
  需求管理需求管理是一种系统化方法,可用于获取、组织和记录系统需求并使用户和开发方在系统变更需求上始终保持一致
  -------------------------------------------------------------------------------------------------------------------
  需求分析的方法
  1 .  功能分析方法
  那怕是天下无能的市长或书记,都知道在作报告时要先从宏观上讲一、二、三、四、五,再从细节上讲 A、B、C、D、E;需求分析不象侦探推理那样从蛛丝马迹着手。应该先了解宏观的问题,再了解细节的问题。
  功能分析法功能分解法以系统提供的功能为中心来组织系统。首先定义各种功能, 然后把功能分解为子功能, 同时定义功能之间的接口。数据结构是根据功能/子功能的需要设计的。 其基本策略是以分析员的经验为依据, 确定新系统所期望的处理步骤或子步骤, 然后, 将问题空间映射到功能和子功能上。
  2 . 数据流方法
  ,小明一觉醒来突然想吃红烧肉,那想得口水直流,于起床,穿好衣服,打开钱包一看空的,好吧,先去银行取钱,然后去菜那买了一肉、各种配料,然后回家,开火,各种材料往锅里一放,开始小火慢炖,半个小时后,小明终于吃上了美味可口的红烧肉。这是一个典型的流程,如果把它看成一个系统功能的话,那么小明吃到红烧肉是这个功能的目的,那么中间要经历许多环节,起床穿衣---取钱---习材料----制作完成。而且各个功能(步骤)之间是相互联系的,小明总不能不穿衣服直接去取钱吧。
  数据流法也叫结构化分析, 其基本策略是研究问题域中数据如何流动以及在各个环节上进行何种处理, 从而发现数据流和加工。 问题域被映射为由数据流、加工以及文件、端点等成份构成的数据流图(DFD) , 并用数据字典对数据流和加工进行详细说明。这种方法的关键是动态跟踪数据流动。
  3 . 信息建模方法
  一个贵妇去报案,我丢了一个辆车,小明是警察,然后问贵妇,你丢的什么样的车子?贵妇噼里啪啦的给小明描述车子样子:我的车子有四个轮子,前面两个小,后面两个大,车身是流线型的,后面带尾翼,里面只一排坐位的那种,车坐上都用的做套子,后面…..你听着听头大了,然后对贵妇说:等等,我给你画下来。于是,贵妇边说,你边画,然后贵妇指出画的不对的地方由你来修改。当然了这只是实体的样子。我们还需要知道汽车各个部件的功能以及各部件之间的关系。
  信息建模法的核心概念是实体和关系, 主要工具是语义数据模型(实体关系图) , 其基本策略是找出现实世界的对象, 然后用属性来描述对象, 增添对象与对象之间的关系, 定义父类与子类, 用父类型/子类型提炼属性的共性, 用关联对象关系作细化的描述, 后进行规范化处理。 其实质是将问题空间直接映射成模型中的对象。