使用逐步细化开发 DFD

article/2025/8/21 7:46:06

数据流图(DFDS) 表示通过系统的信息流。DFD 迅速成为可视化软件系统流程中涉及的主要步骤和数据的流行方式。

数据流图 (DFD) 是表示流程或系统(通常是信息系统)的数据流的一种方式,例如:

  • 数据来自哪里
  • 它去哪里
  • 如何存储

换句话说,它显示了系统如何使用自上而下的分解技术(或称为逐步细化)在输入和输出方面处理数据。

什么是逐步细化?

其中一个有效的方式来解决一个复杂的问题是把它分解成更简单的子问题。您首先将整个任务分解为更简单的部分。

逐步细化本质上是对系统进行分解,以深入了解构成系统的子系统,称为自顶向下分解法。

例如,系统概述被开发为系统上下文图,它指定但不指定子系统的任何级别。然后将这些子系统中的每一个细化为更详细的内容(例如 DFD 中的级别 0、1、2 等),有时在许多其他子系统级别上进行细化,直到将整个规范简化为基本元素。

通常,头脑风暴产生的想法(实际上是我们待办事项列表中的事情)处于不同“细节”级别 — — 其中一些比其他的“低”,或者,我们可以说,一些包含其他。

让我们按层次排列这些。换句话说,让我们确定哪些步骤是另一个步骤的一部分。一种方法是将每个动作视为一组动作。

逐步细化示例

收拾屋子

{真空餐厅,整理客厅}

厨师

{选择食谱,购买食材,烤鸡。做蔬菜}

设置表

{找到桌布,取出盘子,取出玻璃器皿,取出银器,餐巾}

烤鸡

{烤箱预热至400 度,将鸡肉放入锅中,将鸡肉放入400 度烤箱中90分钟}

做蔬菜

{切菜,煮菜}

(*来源:自上而下的设计和逐步细化 — — 维基书籍)

一旦确定了这些基本元素,我们就可以将它们构建到计算机模块中。一旦它们建成,我们就可以把它们放在一起,用这些单独的组件组成整个系统。

DFD中的自顶向下分解技术

在 DFD 中,自顶向下分解(也称为调平或逐步细化)是一种用于在较低级别的 DFD 中显示更多细节的技术。调平是通过绘制一系列越来越详细的图表来完成的,直到达到所需的详细程度。如图所示,DFD Leveling 首先将目标系统显示为单个进程,然后显示更多细节,直到所有进程都是功能原语。

 

  • 处于较高级别的 DFD 不太详细
  • 高层次的 DFD 将分解为更详细的较低层次的 DFD
  • 上下文图是层次结构中最高的(参见 DFD 创建规则)。所谓的零级后跟 DFD 0,从流程编号(EG、流程 1、流程 2)开始。
  • 在下一步中,所谓的第一级 — DFD 1 — 编号继续。EG流程1分为DFD的前三个级别,分别编号为1.1、1.2和1.3。
  • 同样,第二级 (DFD 2) 中的进程编号为 EG 1.1.1、1.1.2、1.1.3 和 1.1.4。
  • 层数取决于模型系统的大小。级别 0 中的每个过程可能不具有相同数量的分解级别。

DFD 示例 — 客户服务系统示例

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

  1. 上下文图(概念级别为零)
  2. 一级 DFD
  3. 以及可能的 Level-2 DFD 和进一步级别的功能分解,具体取决于您系统的复杂性

上下文DFD

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

 

编辑此 Yourdon 和 Coad DFD 示例

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

1 级 DFD

下图为1级DFD,即上下文DFD所示的CS System流程的分解(即分解)。通读该图,然后我们将基于该图介绍一些关键概念。

编辑此 Yourdon 和 Coad 图示例

编辑此 Yourdon 和 Coad 图示例

 

CS 系统数据流图示例包含四个进程、两个外部实体和四个数据存储。尽管没有管理数据流图中形状定位的设计指南,但我们倾向于将流程放在中间,将数据存储和外部实体放在两侧,以便于理解。

根据该图,我们知道乘客可以从Inquiry Transport Details过程接收运输详细信息,这些详细信息由数据存储Transport DetailsRailway Live Statistic 提供。存储在Transport Details中的数据是持久数据(由标签“D”表示),而存储在Rails Live Statistic中的数据是短暂保存的数据(由标签“T”表示)。标注形状用于列出乘客可以查询的详细信息类型。

CS Assistant可以启动购买纪念品流程,这将导致将订单详细信息存储在订单数据存储中。虽然客户是购买纪念品的真实人,但访问系统存储订单详细信息的是CS助手。因此,我们让数据从CS Assistant流向Buy Souvenir流程。

CS Assistant还可以通过提供订单详细信息来启动买票流程,详细信息将再次存储在订单数据存储中。数据流图是以高度抽象的方式绘制的高级图。这里绘制的数据存储Order,并不一定意味着真正的订单数据库或数据库中的订单表。订单详细信息的物理存储方式将在稍后实施系统时决定。

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

通过示例了解更多 DFD

 

  • 证券交易平台

 

  • 点餐系统

 

 

  • 客户服务系统(铁路公司)

  • 超市应用

  • 车辆维修站

http://chatgpt.dhexx.cn/article/yOVLbLmI.shtml

相关文章

【图形设计】数据流图(DFD)简介

数据流图(DFD)简介 软件需求分析的基础:机构化分析方法。 结构化分析方法适用于数据处理类型软件的需求分析。它提供的主要建模工具包括 数据流图、数据字典、机构化英语、判定表、和判定树等。 在这里主要说明DFD图的使用和画法。 数据流图&…

对数据流图DFD的总结

什么是DFD? (1)先来个感官认识: (2)具体定义: DFD是Dateflow diagram(图表)的缩写,中文名字是数据流图。数据流图是以图形的方式描述数据在系统中流动和处理的过程。一…

软件工程——数据流图(DFD)

在《软件工程——系统流程图符号及案例》中我们知道了系统流程图描述的是物理系统,那么数据流图则是用来描述系统的逻辑模型,在数据流图中没有任何具体的物理元素,只是描绘信息在系统中的流动和处理情况。并且因为数据流图是逻辑系统的图形表…

kappa系数简介---一致性与分类准确度指标

kappa系数简介 kappa系数是什么 Kappa系数是一个用于一致性检验的指标,也可以用于衡量分类的效果。因为对于分类问题,所谓一致性就是模型预测结果和实际分类结果是否一致。kappa系数的计算是基于混淆矩阵的,取值为-1到1之间,通常大于0。 为…

(笔记)Kappa系数 混淆矩阵

遥感图像的分类解译结果往往需要一定的精度评价指标进行精度验证,只有进行精度验证,我们才能知道分类解译的结果是否准确可靠。 Kappa系数就经常被用于影像分类的空间一致性检验,是一种衡量分类精度的指标。 Section 1:Kappa系数…

利用混淆矩阵及Kappa系数评价土地利用分类精度

文章目录 一、准备工作二、处理步骤2.1 Arcmap:栅格转点多值提取到点栅格转点多值提取至点 2.2 Excel:计算混淆矩阵 三、Excel计算模板下载地址 一、准备工作 土地利用类型参考栅格和预测栅格(.tif) 需要保证两者的投影坐标系和像元大小一致 用户精度&…

Kappa(cappa)系数只需要看这一篇就够了,算法到python实现

站主近期建立了一个自己的网站来发博文,文章已经搬运到了下面的地址: 【一致性检验指标】Kappa(cappa)系数 1 定义 百度百科的定义: 它是通过把所有地表真实分类中的像元总数(N)乘以混淆矩阵对角线(Xkk&…

FLeiss Kappa系数和Kappa系数的Python实现

Kappa系数和Fleiss Kappa系数是检验实验标注结果数据一致性比较重要的两个参数,其中Kappa系数一般用于两份标注结果之间的比较,Fleiss Kappa则可以用于多份标注结果的一致性检测,我在百度上面基本上没有找到关于Fleiss Kappa系数的介绍,于是自己参照维基百科写了一个模板出…

什么是Kappa架构?

写在前面 本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100个问题搞定大数据理论体系 解答 Kappa架构和L…

机器学习中多分类模型的评估方法之--kappa系数

引言 分类是机器学习中监督学习的一种重要应用,基于统计的机器学习方法可以使用SVM进行二分类,可以使用决策书,梯度提升树等进行多分类。 对于二分类模型,我们通常可以使用ROC曲线来评估模型的预测效果。这里,我们介…

评分员间可信度与Kappa统计量 Inter-rater reliability Kappa statistics

评分员间可信度inter-rater reliability 在统计学中,评分员间可信度inter-rater reliability,评分员间吻合性inter-rater agreement,或一致性concordance 都是描述评分员之间的吻合程度。它对评判者们给出的评级有多少同质性homogeneity或共…

用混淆矩阵计算kappa系数

从一篇论文——融合注意力机制和高效网络的糖尿病视网膜病变识别与分类,看到人家除了特异性、敏感性、准确率、混淆矩阵以外,还用了加权kappa系数,所以了解一下kapp系数的知识,加权kappa还没找到更好的资料。。。 资料来源于百度百…

kappa 一致性系数计算实例

本文转载自新浪博客,网址:http://blog.sina.com.cn/s/blog_4aa4593d0100rwjd.html kappa系数在遥感分类图像的精度评估方面有重要的应用,因此学会计算kappa系数是必要的,但是从最近搜索的国内外网页和文献中都对kappa系数描述的不…

混淆矩阵(交叉表)及Kappa系数的计算

交叉分类表,是以两个不同时期的地理实体类型为横纵坐标的表格。 ①用于参照的时期的类型位于表格的上方,按照横方向排列 ②用以比较的时期的类型位于表格的左方,垂直排列 ③在横纵坐标上类型的排列顺序一致 ④位于对角线上的方格中记录…

【卡帕一致性检验(Kappa)】基于SPSS软件实现

利用WB和ELASA方法分别检测,利用Kappa系数分析2种方法的一致性。 1.SPSS操作 (1)在“数据视图”中输入数据,其中WB结果包括两类:positive和negative,即可以分别用1和2表示 (2)在“变…

kappa系数在评测中的应用

◆版权声明:本文出自胖喵~的博客,转载必须注明出处。 转载请注明出处:http://www.cnblogs.com/by-dream/p/7091315.html 前言 最近打算把翻译质量的人工评测好好的做一做。 首先废话几句,介绍下我这边翻译质量的人工评测怎么做。先…

一致性检验 -- Kappa 系数

一、Kappa 检验方法 在做数据分析时,我们经常会面临一致性检验问题,即判断不同的模型或者分析方法在预测结果上是否具有一致性、模型的结果与实际结果是否具有一致性等。另外,一致性检验在临床实验中也有着广泛的应用。对于两个或多个医务工作…

kappa系数---学习笔记

kappa系数是一个用于一致性检验的指标,也可用于衡量分类的效果对于分类问题,所谓一致性就是模型预测结果和实际分类结果是否一致。kappa系数的计算是基于混淆矩阵的,取值为-1到1之间,通常大于0。基于混淆矩阵的kappa系数计算公式如下&#xf…

总体分类精度和kappa系数计算实例详细介绍!

为啥要算总体分类精度和kappa系数呢?想必大家都知道是为了精度评价,当我们没有实测数据的时候,那么总体分类精度和kappa系数就派上用场了!我们没有实测数据,依旧能够评价自己的方法和模型的优良性。博客写的有点啰嗦~啊…

使用cohen kappa系数衡量分类精度

在诊断试验中,研究者希望考察不同诊断方法在诊断结果上是否具有一致性。如评价两个医务工作者对同一组病人的诊断结论的一致性、同一医务工作者对同一组病人前后进行两次观察作出诊断的一致性。1960年Cohen等提出用Kappa值作为评价判断的一致性程度的指标。实践证明…