软件需求
指用户对系统在功能、行为、性能、设计约束等方面的期望
需求获取
flowchart LR A(软件需求) subgraph 需求 B1[业务需求] B2[用户需求] B3[功能需求] end subgraph 功能需求 C1[功能需求] C2[性能需求] C3[设计约束] end subgraph 项目管理维度 D1[基本需求,明示] D2[期望需求,隐含] D3[兴奋需求,多余] end A --分层--> B1 B3 --> C1 A --QFD--> D2
需求分析
结构化分析过程
flowchart LR %% 中心区域 subgraph core direction TB BM([行为模型]) DD((数据<br>字典)) FM([功能模型]) DM([数据模型]) BM --- DD FM --- DD DD --- DM end %% 左侧:数据流图 DFD[数据流图] DFD_DETAIL["✓ 数据流<br>✓ 加工<br>✓ 数据存储<br>✓ 外部实体"] DFD --> DFD_DETAIL FM --- DFD %% 上方:状态转换图 STD[状态转换图] STD_DETAIL["✓ 状态(初态、终态)<br>✓ 事件"] BM --> STD STD --> STD_DETAIL %% 右下:E-R图 ER[E-R图] ER_DETAIL["✓ 实体<br>✓ 联系"] DM --> ER ER --> ER_DETAIL %% 右侧:数据字典说明 DICT_DETAIL["✓ 数据元素<br>✓ 数据结构<br>✓ 数据流<br>✓ 数据存储<br>✓ 加工逻辑<br>✓ 外部实体"] DD --> DICT_DETAIL
数据流图
| 元素 | 说明 | 图元 |
|---|---|---|
| 数据流 | 表示数据流向,含有的名词表示数据的含义 | —> |
| 加工 | 输入数据与输出数据间的变换 | O 【】 |
| 数据存储(文件) | 暂时存储的数据。流向文件的数据流表示写文件,流出表示读文件 | |
| 外部实体 |
数据流图答题技巧
数据平衡原则 补充实体:人物角色、外部系统 补充存储:“…表” 补充数据流:
- 顶层图与 0层图对比,是否有顶层图有,但 0 层没有的数据流。
- 检测图中每个加工,是否存在只有出没有入,或反之。
- 根据输入的数据流无法产生对应的输出 补充加工名:把加工涉及的数据流,在说明中标识出来,在数据流中找“动词+名词”。如:生成报告