系统架构设计师 需求分析篇一

📘 结构化分析SA

思想

  • 自顶向下 :像剥洋葱一样,层层深入,大问题拆成小问题,再拆成更小的问题。

核心模型

  • 数据字典 📔:记录数据元素的点点滴滴,从属性到使用方式,无所不包。

外部包含模型

  • 数据模型 📊:用ER图描绘数据元素及其关系的家族树。
  • 功能模型 🔄:DFD,系统功能的流水线,数据流向的导航图。
  • 行为模型 🔄:STD,系统状态的日记本,事件的行程表。

数据流图(DFD)

主要作用

  • 理解与表达需求 🔍:需求分析的望远镜,内部逻辑的显微镜。
  • 描述系统逻辑 📝:需求分析的成果展示,开发计划的档案馆。

基本符号

  • 数据流 📈:箭头。
  • 加工 🛠️:圆圈。
  • 数据存储 💾:直线段。
  • 外部实体 🌐:带名字方框。

层次

  • 顶层图 🏢:系统的鸟瞰图,最高层的结构概览。
  • 逐层分解 🔎:顶层图的放大镜,细节的逐步展开。

如何画DFD

  1. 画输入和输出 📐:先确定系统的边界,画出信息的进出口。
  2. 画DFD内部 🔗:连接系统的输入、输出,构建内部的流程图。
  3. 命名数据流和加工 📝:为每个元素赋予名字,让它们有身份证。
  4. 检查和修改 🔍:确保图形符号和元素命名的准确性,像校对文章一样细致。

检查和修改的准则

  • 图形符号限制 📏:只使用四种基本图形元素,保持DFD的纯粹性。
  • 元素命名 🏷️:每个元素都要有名有姓,便于识别。
  • 加工的输入输出 🔄:数量守恒,每个加工至少有一个输入和一个输出。
  • 加工编号 📑:按层级编号,保持加工的秩序。
  • 子图与上层加工对应 🔗:子图与上层加工一一对应,保持数据流的一致性。
  • 数据存储的读写 📘:读写平衡,每个数据存储都要有读写的机会。
  • 物质流和控制流 🚚:物质流可以加入,帮助理解;🚫 控制流则不可混入。

状态转换图 STD

适用场景

  • 实时控制系统 🕒:事件驱动的实时反应,状态的快速转换。

状态

  • 状态 🌀:系统行为的快照,观察系统的不同面貌。
  • 初始状态 🔵:实心圆的起点,一切的开始。
  • 最终状态 🔴:同心圆的终点,旅程的结束。

数据字典 DD

条目

  • 数据元素 📘:数据的基本单位,构成数据结构的砖石。
  • 数据结构 🔗:数据元素的组合,形成数据的框架。
  • 数据流 📈:数据的流动路径,信息的传输带。
  • 数据存储 💾:数据的存储空间,信息的仓库。
  • 加工逻辑 🛠️:数据加工的规则,信息处理的逻辑。
  • 外部实体 🌐:系统与外界的接口,数据交换的桥梁。

作用

  • 工作依据 📚:确保数据的完整性和一致性,数据管理的宝典。

总结 🧐

  • 记忆口诀 🎓:SA分析,像剥洋葱,DFD画图,像搭积木,STD状态,像翻日记,DD字典,像查百科。😄
  • 辅助记忆 🧠:
    • 结构化分析SA:分析的大树,层层深入。
    • 数据流图DFD:数据的河流,流向清晰。
    • 状态转换图STD:状态的时钟,时刻转换。
    • 数据字典DD:数据的宝典,一应俱全。

参与点评
读者朋友们,如果您在阅读过程中,对文章的质量、易理解性有任何建议,欢迎在评论区指出,我会认真改进。

相关推荐
东城绝神35 分钟前
《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.14容器版副本集群》
linux·运维·mongodb·架构
北京云巴巴信息技术有限公司6 小时前
TAPD卓越版的全面评测:超强的功能与用户体验优势
产品经理·需求分析
weixin_4648381518 小时前
grep命令如何实现正则表达式搜索?
linux·运维·服务器·网络安全·系统架构
Licky1320 小时前
Centos中dnf和yum区别对比
linux·运维·架构·centos·bash
傻傻虎虎1 天前
【系统架构设计】基于中间件的开发
中间件·系统架构
车载诊断技术2 天前
电子电气架构 --- 基于ISO 26262的车载电子软件开发流程
网络·架构·汽车·autosar·电子电器架构
AmHardy2 天前
系统架构设计师 需求分析篇二
系统架构·需求分析·面向对象分析·分析模型·uml和sysml
剑海风云2 天前
Google大数据架构技术栈
大数据·google·架构·bigdata
skaiuijing2 天前
巧用二级指针
c语言·开发语言·算法·架构·操作系统
安卓机器2 天前
Android架构组件:MVVM模式的实战应用与数据绑定技巧
android·架构