目标
- 尽可能全面准确、全面、深入理解业务(5W2H)
- 识别重难点业务
- 理清业务流程和功能点
- 识别非功能需求和质量约束
一.需求调研
派什么人:
- 懂业务
- 头脑灵活
- 懂技术
- 擅长沟通
- 业务经验多
- 情商高
调研之前:
- 做功课
- 假想系统
调研中:
- 认真听、记和想
- 问问题:确认疑问,或者向下追问
- 可视化:草图、流程图、界面等
- 原型化并确认
- 多要资料
调研后:
- 调研说明书、原型、业务蓝图、业务架构图、实物资料
二.理解业务
基本思维方式:要做什么,不考虑具体如何做
业务背景(业务知识)
流程:
- 需求分析人员讲业务
- 理解业务架构图
- 思考理解业务
- 明确一级功能
- 用户管理
- 商品管理
- 订单管理
- 梳理使用系统的角色
- 梳理系统需要使用的其他资源
三.发现功能点和业务流程
潜在、补充、多余、超过范围、遗漏、非功能的需求
功能发现方法:
- 换位思考
- 逐字逐句审读法(迭代思维明确业务功能和流程)
-
业务流程走查法(完整性、加深业务理解、检查业务可行性)
- 问题挖掘法(全方位、多角度理解业务,前 - 中 - 后)
- 功能本身描述
- 谁操作
- 如何操作
- 前置条件
- 涉及的数据
- 数据的来源、功能数据的处理、数据的去向
- 关联的业务
四.业务功能点分析
- 功能点准确描述:细化到不可分割CRUD
- 操作人\角色(谁来操作、谁能操作)
- 触发方式(人工、功能连带、系统自动等)
- 执行周期(一次、循环等)
- 操作的前置条件(满足什么条件才执行,已支付、已审核等)
- 操作数据的准备描述(分字段描述)
- 数据的属性:类型、长度、能否为空
- 数据的来源(从哪个模块产生)
- 功能对数据的操作(修改、设置的值)
- 产生的数据去向(新增、修改了什么数据,是否存储,是否返回数据)
- 涉及界面的表现形式(后台先不考虑)
- 连带的处理功能(下单:发积分、发优惠券)
- 连带功能操作需要的数据
六.业务流程分析
- 业务流程背景,整体功能的详细描述
- 通过流程图加深对流程的理解
- 针对每个节点分析
- 节点具体功能具体描述
- 前置条件,包括:前置逻辑、前置数据
- 参与角色
- 操作页面
- 操作数据:数据来源、操作权限、怎样操作、数据操作后去向
- 节点功能后的连带功能
- 节点后续的转向控制
- 节点的转向控制,逻辑、条件、数据
持续分解:
- 从小到大,从粗到精,逐层推进,理解系统业务、边界、流程;
- 分解到CRUD不能再分解
- 先广度再深度
原型图、流程图:加深业务理解,方便业务走查;
非功能性需求:质量(性能、并发、伸缩性、响应时间)、约束(版本、环境、语言等)
七.需求分析成果
- 功能点列表
- 需求分析说明文档
- 功能点详细描述文档
- 非功能质量要求和约束
- 业务流程详细描述
- 交互界面