架构需求要素

133 阅读5分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第26天,点击查看活动详情

角色、场景

一般来说每个业务活动是对用户使用场景的抽象(例如电商购物活动),每个业务活动可能包含多个场景(例如商品浏览、购物车、下单、支付),分析使用场景时应按照业务活动为主线逐个进行分析,每个业务活动分析时应包含如下内容:

1.明确活动执行角色

2.明确活动执行的前置条件

3.明确不同场景:

一个业务活动可能包含正常的使用场景、备选使用场景和异常使用场景

4.明确每个场景的执行步骤

5.业务规则和约束:

明确在每个业务活动下应遵循的业务规则和约束,这里一般是与业务流程相关的行为规则,或与数据实体相关的数据规则(比如某个字段的长度)

业务流程

针对流程类需求必须进行业务流程分析。需求人员进行流程分析应遵循如下方法:

(1)业务流程确认

一个流程为一个业务事件,一般是外部角色发起或系统内部主动发起(比如时间事件或状态事件),发起后会触发一系列业务活动。

(2)角色及业务活动确认

流程图中的每个泳道都必须对应到角色,每个角色对应多个业务活动。需求人员在确认业务活动时一定要保证活动的粒度,一个业务活动一定是由一个角色完成且每个业务活动都是有价值的。

(3)业务活动间关系及数据确认

确定所有业务活动的前后关系,并明确流程间传递的数据实体。

(4)流程整体瓶颈分析

一般若某个角色业务活动工作量较大,或流程涉及高级领导,一般都会造成瓶颈,这种情况需求人员应想办法分散工作量提出流程优化建议。

image.png

数据实体

针对流程类需求需要分析各业务活动传递的数据实体,统计分析类需求需要分析统计查询条件数据实体和展现数据实体,接口类需求需要分析接口传递数据实体,具体分析包含如下内容:

1.明确数据实体

确认需要分析的所有数据实体,明确哪些为系统原有实体、哪些为新增实体、哪些为改造实体。

2.明确所有数据实体间关系

实体间关系包含(1对1、1对多、多对多),另外需要分析数据实体变更是否需要保留版本,实体删除(逻辑删除、物理删除)是否影响其它数据实体。

3.明确数据实体字段

针对新增数据或改造数据实体需要明确新增字段的名称、字段类型、是否必填、字段取值方式(人工输入、系统自动继承自其它数据实体、系统自动计算需要明确计算公式)。

4.数据权限分析

需要分析不同角色在数据权限方面的差异,若涉及纵向多级用户,要说明对于集团/省/地市用户的数据隔离。

功能性需求

系统功能分析是结合系统现状和上述分析进一步明确实现相应用户场景的系统功能,主要还包含内容如下:

1.功能列表

分析得出实现上述业务活动对应的功能/接口列表,并明确新增功能、改造功能;

2.功能/接口关联影响分析

实现某个业务活动需要新增或改造的功能对其它关联功能/接口的影响分析。比如改造请购池受理功能,可能会影响采购项目创建功能;采购项目创建功能修改一个字段取值范围,会影响项目统计分析和同步ES系统接口。

3.系统交互原型分析

需求人员应遵循界面规范,并与研发沟通确定系统交互原型,帮助研发或用户更好的理解需求场景。

在交互原型中应包含如下内容:

  • 原型界面的名称、入口,原型间关联关系和使用角色
  • 页面内容、格式及排序方法
  • 操作要点:比如交互的信息提示、界面规则和约束(比如界面以不同颜色显示不同的校验结果)。

4.算法分析:

在系统功能交互时涉及比较复杂的算法,需要单独对算法进行分析。

非功能性需求

包含需求的可行性分析、健壮性分析、可扩展性分析、执行效率分析,可行性分析从以下几个方面进行:

1.技术可行性 系统交互实现方式与研发确认是否可行,需求人员在与研发沟通过程中需要不断积累哪些功能实现在技术层面很难支撑。

2.时间可行性 根据用户的上线时间要求分析是否可满足要求。

3.合法合规可行性 分析用户需求是否满足国家法规或公司法规要求。

4.数据安全性分析 用户需求是否满足信息系统安全要求。