用户需求和分析模型组件之间的关联
词语类型 | 示例 | 分析模型的组件 |
---|---|---|
名词 | 人员、组织机构、软件系统、数据元素或者已经存在的对象 |
|
动词 | 行为、用户或者系统所做的情况或者能够发生的事件 |
|
条件 | 条件逻辑的陈述,如if/then |
|
所表达的信息 | 表达技巧 |
---|---|
系统的外部接口 |
|
业务过程图 |
|
数据定义和数据对象关系 |
|
系统和对象状态 |
|
复杂逻辑 |
|
用户接口 |
|
用户任务描述 |
|
非功能性需求(质量特征、限制条件) |
|
data flow diagram DFD,是一种基本的结构化分析工具。
数据流图用于标识一个系统中的加工处理、系统所操作的数据集合(存储)或者物理介质以及在处理、存储和系统外部之间的数据流。
数据流图采用功能分解的方法来进行系统分析,并在不同的层级上将复杂的问题逐步分解展开。
非常适用于实物处理系统和其他偏重功能性的应用。
通过使用额外的控制流程元素来加强数据流图的功能,已扩展至对实时系统进行建模。
数据流图展示数据流经系统的全貌,这是其他视图做不到的。
作为单一的模型技术来使用,数据流图的功能还不够强大,更好的方式是使用用例图或者泳道图中的流程步骤来表示数据加工机制的细节。
可以把数据流图作为一种方法来识别被遗漏的数据需求。
在各个流程(加工)之间的数据、数据存储里面的数据以及外部实体也应该在实体-关系图(DRD)中进行建模,还要在数据字典中描述。
针对用户如何执行某个特定任务的功能性需求,比如化学品申请,数据流图还能提供环境。
数据流图能够在不同的抽象层级上描述系统。对数据和以多个步骤行为组成的处理模块,高层数据流图提供了一个整体的鸟瞰图。
![[数据流图.excalidraw]]
由加工流向存储的箭头表示正在改存储上保存数据
流出存储的箭头表示读取数据操作
在存储和圆圈之前的双向箭头表示更新操作。
在0层数据流图中,以相互独立的圆圈来表示的每一个处理都可以进一步扩展称为一个独立的数据流图,经过扩展的视图可以展示更多的工功能细节。
业务分析师可以逐步细化,指导最底层的视图里质保函基本的处理操作,这些操作可以清楚表达成一段叙述文字、一段伪代码、一个泳道图或者一个活动视图。
每层数据流图必须与其上层视图保持平衡和一致。是子视图中所有的输入流、输出流和父视图中的输入流、输出流相匹配。
在低层数据流图中,高层视图中的复杂数据结构可能分解成其各个构成元素并定义在数据字典中。
数据流图的约定:
准备申请 | 延期申请 | 通过申请 | 下订单 | 延期交货 | 完成订单 | 取消 | |
---|---|---|---|---|---|---|---|
准备申请 | 无 | 申请人保存未完成的申请 | 系统接受有效的申请 | 无 | 无 | 无 | 无 |
延期申请 | 申请人查询未完成的申请 | 无 | 无 | 无 | 无 | 无 | 无 |
批准申请 | 无 | 无 | 无 | 购买人项供应商下单 | 无 | 化学品库房完成申请 | 申请人取消申请 |
下订单 | 无 | 无 | 无 | 无 | 供应商延迟交付化学品 | 从供应商那里收到化学品 | 购买者向供应商取消订单 |
延期交付 | 无 | 无 | 无 | 无 | 无 | 从供应商那里收到化学品 | 购买人项供应商取消订单 |
完成订单 | 无 | 无 | 无 | 无 | 无 | 无 | 无 |
取消 | 无 | 无 | 无 | 无 | 无 | 无 | 无 |
需求编号 | |||||
---|---|---|---|---|---|
条件 | 1 | 2 | 3 | 4 | 5 |
用户有权限 | F | T | T | T | T |
化学品仓库或者供货商哪里有货 | – | F | T | T | T |
该化学品有毒 | – | – | F | T | T |
申请人受过培训 | – | – | – | F | T |
动作 | |||||
批准申请 | √ | √ | |||
驳回申请 | √ | √ | √ |
ID | 事件 | 事件前系统状态 | 系统响应 |
---|---|---|---|
1 | 雨刷控制设置成低速运行 | 雨刷器处于关闭状态,高速运行状态或者间隔运行状态 | 将雨刷控制设置为低俗运行 |
2 | 设置为高速运行 | 关闭、低速、间隙 | 高速 |
3 | 设置为关闭状态 | 高速、低速、间隙 |
|
4 | 设置为间隙运行 | 关闭状态 |
|
5 | 设置为间隙运行 | 低速、高速状态 |
|
6 | 自上次刮扫循环结束已经度过了一个时间间隔 | 雨刷器处于间隙运行状态 | 以低速执行一个刮扫循环 |
7 | 改变刮扫时间间隔 | 间隙运行状态 |
|
8 | 改变刮扫时间间隙 | 关闭、高速、间隙 | 没有响应 |
9 | 及时接收到刮扫信号 | 关闭 | 低速运行一个刮扫循环 |