「数据架构」5分钟学会数据流程图:客户服务系统示例

简介: 「数据架构」5分钟学会数据流程图:客户服务系统示例

数据流图(DFD)提供了系统内信息流(即数据流)的可视化表示。通过创建一个数据流图,您可以告诉参与系统流程的人员所提供和交付的信息、完成流程所需的信息以及需要存储和访问的信息。数据流图在软件工程中得到了广泛的应用。您可以在信息系统建模中使用DFD。本文以客户服务系统为例,对数据流图(DFD)进行了描述和说明。

CS系统示例

数据流图是一个层次图,包括:

  • 上下文关系图(概念上为零级)
  • 第1层的过程
  • 以及可能的第2级DFD和功能分解的进一步级别,这取决于系统的复杂性

上下文

下图显示了为铁路公司的客户服务系统绘制的上下文数据流程图。它包含一个表示要建模的系统的流程(形状),在本例中是“CS系统”。它还显示将与系统交互的参与者(称为外部实体)。在本例中,CS Assistant和Passenger是将与系统交互的两个实体。在流程和外部实体之间有数据流(连接器),表明实体和系统之间存在信息交换。


上下文DFD是数据流模型的入口。它只包含一个进程,并且不显示任何数据存储。

1级过程

下图显示了第一级DFD,它是在DFD上下文中显示的CS系统过程的分解(即分解)。通读这张图,然后我们将介绍一些基于这张图的关键概念。


CS系统数据流图示例包含四个流程、两个外部实体和四个数据存储。虽然没有控制数据流图中形状位置的设计指导原则,但我们倾向于将流程放在中间,将数据存储和外部实体放在两侧,以便于理解。

由图可知,乘客可以通过查询运输明细流程接收运输明细,具体由数据存储、运输明细和铁路实时统计提供。存储在运输明细中的数据是持久性数据(由标签“D”表示),而存储在铁路实时统计中的数据是短暂保存的瞬态数据(由标签“T”表示)。标注形状用于列出乘客可以查询的详细信息。

CS Assistant可以启动购买纪念品流程,将订单细节存储在订单数据存储中。虽然购买纪念品的是顾客本人,但是进入系统存储订单细节的是CS助理。因此,我们使数据流从CS助理到购买纪念品流程。

CS Assistant还可以通过提供订单细节来启动购买过程,这些细节将再次存储在订单数据存储中。数据流图是一个高度抽象的高级图。这里所绘制的数据存储顺序并不一定意味着数据库中的实际订单数据库或订单表。订单细节的物理存储方式将在以后实现系统时决定。

最后,CS Assistant可以通过提供事件和物品细节来启动报告丢失过程,并将信息存储在物品丢失数据库中。

数据流程图提示和注意事项

用D、M和T表示数据类型

在数据流图中绘制的每个数据存储都以字母为前缀,默认情况下为'D'。字母表示数据存储所保存的数据的类型。字母“D”用于表示持久的计算机化数据,这可能是典型信息系统中最常见的数据类型。除了计算机化的数据,数据还可以被暂时保存一小段时间。我们称这种数据为暂态数据,用字母“T”表示。有时,数据是不用计算机来存储的。我们称这种数据为人工数据,用字母M表示。最后,如果数据在不使用计算机的情况下存储,并且保存时间很短,则称为手动暂态数据,用T(M)表示。

注意细节的层次

在这个数据流图示例中,在标记数据时多次使用了单词“details”。我们有“运输详情”和“订单详情”。如果我们把它们明确地写为“路线信息、列车时间和延误”、“纪念品名称、数量和数量”、“票款类型和数量”会怎样?这是正确的吗?这个问题没有明确的答案,但在做决定时试着问自己一个问题。你为什么要画DFD?

在大多数情况下,数据流程图是在系统开发的早期阶段绘制的,其中许多细节还有待确认。一般术语如“细节”、“信息”、“证书”的使用当然会留下讨论的空间。然而,使用通用术语可能会缺乏细节,使设计失去其实用性。所以这取决于你设计的目的。

不要透支

在数据流图中,我们关注的是系统和外部方之间的交互,而不是接口之间的内部通信。因此,接口和使用的数据存储之间的数据流被认为超出了范围,不应该显示在图中。

不要混淆数据流和进程流

当遇到从数据存储连接到流程的连接器时,如果没有在关系图上显示指定的数据请求步骤,一些设计人员可能会感到不舒服。有些设计人员会尝试将请求附加到流程和数据存储之间的连接器上,并将其标记为“请求”或“对某些东西的请求”,这当然是不必要的。

请记住,数据流图是为表示信息交换而设计的。数据流图中的连接器用于表示数据,而不是表示流程流、步骤或其他任何东西。当我们将以数据存储为结尾的数据流标记为“请求”时,这实际上意味着我们将请求作为数据传递到数据存储。虽然这可能是在实现级别的DBMS做支持的使用功能,而摄入一些值作为参数并返回一个结果,然而,在数据流图中,我们倾向于把数据存储作为一个唯一的数据夹,并不拥有任何处理能力。如果希望对系统流或流程流建模,则可以使用活动图或BPMN业务流程图。如果要对数据存储的内部结构建模,可以使用实体关系图。

资源

  • Customer-Service-System.vpp

本教程的读者也可以阅读

  • 什么是数据流程图(DFD)?如何绘制DFD?
  • 如何编写有效的用例?
  • 数据流程图:实例-订餐系统
  • 如何使用ERD对关系数据库设计建模?
  • 如何开发现有的和将来的业务流程?
相关文章
|
3月前
|
SQL 前端开发 关系型数据库
如何开发一套研发项目管理系统?(附架构图+流程图+代码参考)
研发项目管理系统助力企业实现需求、缺陷与变更的全流程管理,支持看板可视化、数据化决策与成本优化。系统以MVP模式快速上线,核心功能包括需求看板、缺陷闭环、自动日报及关键指标分析,助力中小企业提升交付效率与协作质量。
|
2月前
|
数据采集 机器学习/深度学习 运维
量化合约系统开发架构入门
量化合约系统核心在于数据、策略、风控与执行四大模块的协同,构建从数据到决策再到执行的闭环工作流。强调可追溯、可复现与可观测性,避免常见误区如重回测轻验证、忽视数据质量或滞后风控。初学者应以MVP为起点,结合回测框架与实时风控实践,逐步迭代。详见相关入门与实战资料。
|
2月前
|
前端开发 JavaScript BI
如何开发车辆管理系统中的车务管理板块(附架构图+流程图+代码参考)
本文介绍了中小企业如何通过车务管理模块提升车辆管理效率。许多企业在管理车辆时仍依赖人工流程,导致违章处理延误、年检过期、维修费用虚高等问题频发。将这些流程数字化,可显著降低合规风险、提升维修追溯性、优化调度与资产利用率。文章详细介绍了车务管理模块的功能清单、数据模型、系统架构、API与前端设计、开发技巧与落地建议,以及实现效果与验收标准。同时提供了数据库建表SQL、后端Node.js/TypeScript代码示例与前端React表单设计参考,帮助企业快速搭建并上线系统,实现合规与成本控制的双重优化。
|
3月前
|
人工智能 监控 测试技术
告别只会写提示词:构建生产级LLM系统的完整架构图​
本文系统梳理了从提示词到生产级LLM产品的八大核心能力:提示词工程、上下文工程、微调、RAG、智能体开发、部署、优化与可观测性,助你构建可落地、可迭代的AI产品体系。
612 51
|
2月前
|
消息中间件 运维 监控
交易所开发核心架构拆解与流程图
本文系统解析交易所架构核心要素,从接入层到清算结算,结合系统流程图拆解各模块职责与协作机制。深入剖析撮合引擎、账本设计与风控逻辑,建立性能、可用性、安全性等多维评估标准,并提供可落地的流程图绘制、压测优化与进阶学习路径,助力构建高效、安全、可扩展的交易系统。(238字)
|
2月前
|
机器学习/深度学习 人工智能 缓存
面向边缘通用智能的多大语言模型系统:架构、信任与编排——论文阅读
本文提出面向边缘通用智能的多大语言模型(Multi-LLM)系统,通过协同架构、信任机制与动态编排,突破传统边缘AI的局限。融合合作、竞争与集成三种范式,结合模型压缩、分布式推理与上下文优化技术,实现高效、可靠、低延迟的边缘智能,推动复杂场景下的泛化与自主决策能力。
302 3
面向边缘通用智能的多大语言模型系统:架构、信任与编排——论文阅读
|
2月前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
|
3月前
|
消息中间件 数据采集 NoSQL
秒级行情推送系统实战:从触发、采集到入库的端到端架构
本文设计了一套秒级实时行情推送系统,涵盖触发、采集、缓冲、入库与推送五层架构,结合动态代理IP、Kafka/Redis缓冲及WebSocket推送,实现金融数据低延迟、高并发处理,适用于股票、数字货币等实时行情场景。
421 3
秒级行情推送系统实战:从触发、采集到入库的端到端架构
|
3月前
|
供应链 监控 JavaScript
如何开发ERP(离散制造-MTO)系统中的库存管理板块(附架构图+流程图+代码参考)
本文详解MTO模式下ERP库存管理的关键作用,涵盖核心模块、业务流程、开发技巧与代码示例,助力制造企业提升库存周转率、降低缺货风险,实现高效精准的库存管控。
|
3月前
|
前端开发 API 定位技术
如何开发车辆管理系统中的用车申请板块(附架构图+流程图+代码参考)
本文详细解析了如何将传统纸质车辆管理流程数字化,涵盖业务规则、审批流、调度决策及数据留痕等核心环节。内容包括用车申请模块的价值定位、系统架构设计、数据模型构建、前端表单实现及后端开发技巧,助力企业打造可落地、易扩展的车辆管理系统。