需求分析技术实例:完整教程
作为业务分析师,需求分析是您工作中最重要的部分。它将帮助您确定利益相关者的实际需求。同时,使您能够使用他们理解的语言(如图表、模型、流程图等)与利益相关者进行沟通,而不是复杂的文本。
需求分析有
- 特定的目标
- 特定的输入
- 特定的输出
- 使用资源
- 需要按一定顺序执行一系列活动
- 可能会影响一个以上的组织单位
- 为客户创造某种形式的价值
需求分析技术
需求分析技术主要用于映射业务工作流,以便您可以分析、理解并对该工作流或流程进行必要的更改。
根据软件开发流程,可以使用各种需求分析技术,例如:
1. 业务流程建模符号 (BPMN)
BPMN (业务流程建模与符号) 是使用简单对象对业务流程进行的图形化表示,有助于组织以标准化的方式进行沟通。BPMN 中使用的各种对象包括:
- 流程对象
- 连接对象
- 泳道
- 工件。
一个设计良好的 BPMN 模型应能够提供流程中进行的活动的详细信息,例如:
- 谁在执行这些活动?
- 这些活动需要哪些数据元素?
使用 BPMN 的最大好处是易于共享,并且大多数建模工具都支持 BPMN。
2. UML (统一建模语言)
UML 是一种主要用于软件系统规范、开发、可视化和文档化的建模标准。为了捕捉重要的业务流程和工件,UML 提供了诸如以下的对象:
- 状态
- 对象
- 活动
- 类图
有 14 种 UML 图有助于建模,例如用例图、交互图、类图、组件图、顺序图等。UML 模型在 IT 领域很重要,因为它们成为所有利益相关者之间的沟通媒介。基于 UML 的业务模型可以直接输入到需求工具中。UML 图可以分为两种类型:行为模型和结构模型。行为模型试图提供关于系统做什么的信息,而结构模型则提供系统由什么组成的信息。
3. 流程图技术
流程图是对一组相关活动或操作的顺序流程和控制逻辑的可视化表示。流程图有不同的格式,包括线性、自上而下和跨职能(泳道)。流程图可用于各种活动,例如表示数据流、系统交互等。使用流程图的优点是,即使对于非技术团队成员来说,它也很容易阅读和编写,并且可以显示按功能划分的并行过程、流程的关键属性等。
4. 数据流图
数据流图根据输入和输出来显示数据如何被系统处理。数据流图的组成部分包括:
- 过程
- 流
- 存储
- 终止符
逻辑数据流图显示系统的活动,而物理数据流图显示系统的基础设施。数据流图可以在 SDLC(系统开发生命周期)的分析阶段早期进行设计,以定义项目范围。为了便于分析,数据流图可以钻取到其称为“级别 DFD”的子进程中。
5. 角色活动图 - (RAD)
角色活动图类似于流程图符号。在角色活动图中,角色实例是流程参与者,具有开始和结束状态。RAD 需要对流程或组织有深入的了解才能识别角色。RAD 的组成部分包括:
- 活动
- 外部事件
- 状态
角色将活动组合成责任单位,根据它们所承担的责任集。活动可以独立于角色执行,也可以需要与其他角色的活动进行协调。
外部事件是状态发生变化的点。
状态对于映射角色的活动很有用,因为它会从一个状态转移到另一个状态。当达到某个特定状态时,它表示已实现某个目标。
RAD 有助于支持沟通,因为它易于阅读和呈现流程的详细视图,并允许并行处理活动。
6. 甘特图
甘特图是日程表的一种图形表示,有助于协调、规划和跟踪项目中的特定任务。它表示对象总的时间跨度,并细分为增量。甘特图在垂直轴上显示要执行的所有任务列表,在水平轴上显示估计的活动持续时间或分配给该活动的个人姓名。一个图可以演示许多活动。
7. IDEF (集成化功能建模定义)
IDEF 或集成化功能建模定义是企业建模语言类的一种通用名称。它用于对支持系统分析、设计或集成所需的活动进行建模。IDEF 大约有 16 种方法,最有用的 IDEF 版本是 IDEF3 和 IDEF0。
8. 彩色Petri网 (CPN)
CPN 或彩色 Petri 网是用于系统规范、验证、设计和仿真的图形化语言。彩色 Petri 网是图形和文本的组合。其主要组成部分是库所、转换和弧。
Petri 网对象具有特定的标识符,例如:
- 库所:它具有 .Name、.Color Set、.Initial marking 等标识符。而
- 转换:它具有 .Name(用于标识)和 .Guard(由一些变量组成的布尔表达式)等标识符。
- 弧:它具有 .Arc 等标识符。当评估弧表达式时,它会产生一个令牌颜色的多集。
9. 工作流技术
工作流技术是一种可视化图表,它表示一个或多个业务流程,以阐明对流程的理解或提出流程改进建议。与其他图表,如流程图、UML 活动图和流程图一样,工作流技术是最古老也是最受欢迎的技术。BA 甚至可以使用它在需求收集过程中做笔记。该过程包括四个阶段:
- 信息收集
- 工作流建模
- 业务流程建模
- 实施、验证和执行
10. 面向对象的方法
面向对象建模方法使用面向对象范例和建模语言来设计系统。它侧重于在问题域中查找和描述对象。面向对象方法的目标是:
- 帮助表征系统
- 了解有哪些不同的相关对象
- 它们如何相互关联
- 如何指定或建模一个问题以创建有效的解决方案
- 分析需求及其影响
该方法适用于需求动态(经常变化)的系统。这是一个为系统推导用例、活动流程和事件流程的过程。面向对象分析可以通过文本需求、与系统利益相关者的沟通以及愿景文档来完成。
对象具有状态,并且状态变化由行为表示。因此,当对象接收到消息时,状态会通过行为发生变化。
11. 差距分析
差距分析是一种用于确定任何业务及其功能所提出的状态与当前状态之间差异的技术。它回答了诸如项目当前状态如何?我们想去哪里?等问题。差距分析的各个阶段包括:
- 审查系统
- 开发需求
- 比较
- 影响
- 建议