DARTS 数据流图与数据词典

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介:  1.数据流图   数据流图也称为Bubble Chart或data Flow Graph。是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。   (1)数据流图的主要图形元素   从数据流图中可知,数据流图的基本图形元素有4种。   数据流是沿箭头方向传送数据的通道,它们大多是在加工之间传输加工数据的命名通道,也有连接数据存储

 1.数据流图

  数据流图也称为Bubble Chart或data Flow Graph。是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

  (1)数据流图的主要图形元素

  从数据流图中可知,数据流图的基本图形元素有4种。

  数据流是沿箭头方向传送数据的通道,它们大多是在加工之间传输加工数据的命名通道,也有连接数据存储文件和加工的没有命名的数据通道。这些数据流虽然没有命名,但因联接着有名加工和有名文件,所以其含意也是清楚的。同一数据流图上不能有同名的数据流。多个数据流可以指向同个加工,也可以从一个加工散发出许多数据流。

  加工是以数据结构或数据内容作为加工对象的。加工的名字通常是一个动词短语,简明扼要地表明完成的是什么加工。

  文件在数据流图中起保存数据的作用,因而称为数据存储(Data Store)。它可以是数据库文件或任何形式的数据组织。指向文件的数据流可理解为写入文件或查询文件,从文件中引出的数据流可理解为从文件读取数据或得到查询结果。

  数据流图中第4种元素是数据源点或汇点,它表示图中要处理数据的输入来源及处理结果要送往何处。由于它在图中的出现仅仅是一个符号,并不需要以软件的形式进行设计和实现,因而,它只是数据流图的外围环境中的实体,故称外部实体。在实际问题中它可能是计算机外围设备或是传感装置。

  (2)数据流与加工之间的关系

  在数据流图中,如果有两个以上的数据流指向一个加工,或是从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定的关系。

  (3)分层的数据流图

  为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。

  先把整个数据处理过程暂且看成一个加工,它的输入数据和输出数据实际上反映了系统与外界环境的接口。这就是分层数据图的顶层。但只此一图并未表明数据的加工要求,需要进一步细化。如果这个数据处理包括3个子系统,就可以画出表示这3个子系统1、2、3的加工及其相关的数据流。这是顶层下面的第一层数据流图,记为DFD/L1。继续分解这3个子系统,可得到第二层数据流图DFD/L2.1、DFD/L2.2、及DFD/L2.3,它们分别是子系统。1、2和3的细化。仅以DF/2为例,其中的4个加工的编号均可联系到其上层图中的子系统2。这样得到的多层数据流图可十分清晰地表达整个数据加工系统的真实情况。对任何一层数据流图来说,称它的上层图为父图,在它下一层的图则称为子图。

  在多层数据流图中,可以把顶层流图、底层流图和中间层流图区分开。顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统的输出数据。顶层流图的作用在于表明被开发系统的范围,以及它和周围环境的数据交换关系。底层流图是指其加工不须再做分解的数据流图,其加工称为“原子加工”。中间层流图则表示对其上层父图的细化。它的每一加工可以继续细化,形成子图。中间层次的多少视系统的复杂程度而定。

  (4)数据流图画法

  画数据流图的基本步骤概括地说,就是自外向内,自顶向下,逐层细化,完善求精。具体步骤可按如下来做。

  ①先找系统的数据源点与汇点。它们是外部实体,由它们确定系统与外界的接口。②找出外部实体的输出数据流与输入数据流。③在图的边上画出系统的外部实体。

  ④从外部实体的输出数据流(即系统的源点)出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找到外部实体所需的输入数据流(即系统的汇点),形成数据流的封闭。⑤按照下面所给的原则进行检查和修改。

  ⑥按照上述步骤,再从各加工出发,画出所需的子图。

  (5)进行检查和修改的原则

  ①数据流图上所有图形符号只限于前述四种基本图形元素。②数据流的主图必须包括前述4种基本元素,缺一不可。

  ③数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以不只一个。④每个加工至少有一个输入数据流和一个输出数据流。

  ⑤在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。

  ⑥任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。即父图与子图的平衡,它表明了在细化过程中输入与输出不能有丢失和添加。⑦图上每个元素都必须有名字。表明数据流和数据文件是什么数据,加工做什么事情。

  ⑧数据流图中不可夹带控制流。因为数据流图是实际业务流程的客观映象,说明系统“做什么”而不是要表明系统“如何做”,因此不是系统的执行顺序,不是程序流程图。⑨初画时可以忽略琐碎的细节,以集中精力于主要数据流。

  在需求分析期间,有时会要求修改系统的某些方面。使用数据流图可以很容易地把需要修改的区域分离出来。只要清楚地了解穿过要修改区域边界的数据流,就可以为将来的修改做好充分的准备,而且在修改时能够不打乱系统的其他部分。

 

数据词典的定义

  对在数据流图中每一个命名的图形元素均给予定义,其内容有图形元素的名字、别名或编号、分类、描述、定义、位置等。以下是不同词条应给出的内容。

  ①数据流词条描述

  数据流是数据结构在系统内传播的路径。一个数据流词条应有以下几项内容:

  数据流名:

  说明:简要介绍作用即它产生的原因和结果。

  数据流来源:来自何方。

  数据流去向:去向何方。数据流组成:数据结构。

  每个数据量:数据量、流通量。

  ②数据元素词条描述

  图中的每一个数据结构都是由数据元素构成的,数据元素是数据处理中最小的,不可再分的单位,它直接反映事物的某一特征。对于这些数据元素也必须在数据词典中给出描述。其描述需要以下信息:

  数据元素名

  类型:数字(离散值,连续值),文字S(编码类型)。

  长度。

  取值范围。

  相关的数据元素及数据结构。

  数据元素的取值可分数字型与文字型。数字型又有离散值与连续值之分。离散值或是枚举的,或是介于上下界的一组数;连续值一般是有取值范围的实数集。对于文字型,需给予编码类型,文字值需加以定义。③数据文件词条描述

  数据文件是数据结构保存的地方。一个数据文件词条应有以下几项内容。数据文件名。

  简述:存放的是什么数据。输入数据。输出数据。

  数据文件组成:数据结构。

  存储方式:顺序、直接、关键码。存取频率。

  ④加工逻辑词条描述

  加工比较复杂,它到后来就是一段程序。加工的表达方式有判定表、判定树和结构化英语等等,它们要全部写在一个词条中是有困难的。主要描述有:加工名。

  加工编号:反映该加工的层次。简要描述:加工逻辑及功能简述。输入数据流。输出数据流。

  加工逻辑:简述加工程序、加工顺序。⑤源点及汇(终)点词条描述

  对于一个数据处理系统来说,源点和汇点应当比较少。如果过多就缺少独立性,人—机界面太复杂,这时就要考虑减少,提高系统独立性。定义源点和汇点时,应包括:名称:外部实体名。

  简要描述:什么外部实体。有关数据流。数目。

  (2)数据词典的使用

  在结构化分析的过程中,可以通过名字,方便地查阅数据的定义:同时可按各种要求,随时列出各种表,以满足分析员的需要。还可以按描述内容(或定义)来查询数据的名字,通过检查各个加工的逻辑功能,可以实现和检查在数据与程序之间的一致性和完整性,在以后的设计与实现阶段,以至于到维护阶段。都需要参考数据词典进行设计、修改和查询。

  (3)数据结构的描述

  在数据词典的编制中,分析员最常用的描述数据结构的方式有定义式和Warnier图。①定义式

  在数据流图中,数据流和数据文件都具有一定的数据结构。因此必须以一种清晰、准确、无二义性方式来描述数据结构。

  这种定义方法是自顶向下,逐级给出定义式,直到最后给出基本数据元素为止。②Warnier图

  Warnier图是表示数据层次结构的一种图工具。它用树形结构描绘数据结构,它还能指出某一类数据或某一数据元素重复出现的次数,并能指明某一特定数据在某一类数据中是否是有条件的出现。在进行软件设计时,从Warnier图入手,能够很容易转换成软件的设计描述。

3.加工逻辑说明

 

  在数据流图中,每一个加工框只简单地写上了一个加工名,这显然不能表达加工的全部内容。随着自顶向下逐层细化,功能越来越具体,加工逻辑也越来越精细。到最底一层,加工逻辑详细到可以实现的程序,因此称为“原子加工”或“基本加工”。如果能够写出每一个基本加工的全部详细逻辑功能,再自底向上综合,就能完成全部逻辑加工。在写基本加工逻辑的说明时,应满足如下的要求:

  ·对数据流图的每一个基本加工,必须有一个加工逻辑说明;

  ·加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则;

  ·加工逻辑说明必须描述实现加工的策略而不是实现加工的细节。

  目前用于写加工逻辑说明的工具有结构化语言、判定表和判定树。下面分别介绍。

  (1)结构化语言

  结构化语言也称为PDL,是一种介于自然语言和形式化语言之间的半形式化语言。它是在自然语言基础上加了一些限制而得到的语言,是使用有限的词汇和有限的语句来描述加工逻辑。结构化语言的词汇表由英语命令动词、数据词典中定义的名字、有限的自定义词和控制结构关键词IF-THEN-ELSE、WHELE-DO、REPEAT-UNTIL、CASE-OF等组成。其动词的含义要具体,尽可能少用或不用形容词和副词。

  语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示。其基本控制结构有简单陈述句结构、判定结构和重复结构。此外在书写时,必须按层次横向向右移行,续行也同样向右移行,对齐。

  要了解基本加工逻辑的来龙去脉、在数据流图中的位置、加工的使用情况等有更清楚的了解,一般对结构化英语的描述加一些外层说明。

  (2)判定表

  在某些数据处理问题中,某数据流图的加工需要依赖于多个逻辑条件的取值,就是说完成这一加工的一组动作是由于某一组条件取值的组合而引发的。这时使用判定表来描述比较合适。下面以“检查发货单”为例,说明判定表的构成。判定表由4个部分组成,双线分割开的4部分是:

  条件桩(Condition Stub)———左上部分:列出了各种可能的条件。除去某些问题中对各个条件的先后次序有特定的要求以外,通常判定表中对各条件的先后次序不要求。条件项(Condition Entry)———右上部分:给出各个条件的条件取值的组合。

  动作桩(Action Stub):———左下部分:列出了可能采取的动作。这些动作的排列顺序没有限制,但为便于阅读也可令共按适当的顺序排列。

  动作项(Action Entry):———右下部分:是和条件项紧密相关的,它指出了在条件项的各种取值的组合情况下一步应采取什么动作。这里将任一条件取值组合及其相应要执行动作作称为规则,它在判定有中是纵贯条件项和动作项的一列。显然,判定表中列出了多少个条件取值的组合,也就有多少条规则,即条件项一动作项有多少列。

  在实际使用判定表时,常常先把它化简。如果表中有两条或更多的规则具有相同的动作,并且其条件项之间存在着某些关系,就可设法将它们合并。就是说要执行的动作与第三条件的取值无关,这样,便可将这两条规则合并,合并后的第三条件取值用“—”表示,即与取值无关。类似地,无关条件项“—”,在逻辑上又可包含其他项值,具有相同动作的规则还可以进一步合并。判定表能够把在什么条件下,系统应完成哪些操作,表达得十分清楚、准确、一目了然。这是用语言说明难以准确、清楚表达的,但是用判定表描述循环比较困难。有时,判定表可以和结构化语言结合起来使用。

  (3)判定树

  判定树也是用来表达加工逻辑的一种工具。有时候它比判定表更直观,用它来描述加工,很容易为用户接受。

  没有一种统一的方法来构造判定树,也不可能有统一的方法。因为客观存在是用结构化语言,甚至是自然语言写成的叙述文作为构造树的原始依据的,但可以从中找些规律。首先,应从文字资料中分清哪些是判定条件,哪些是判定做出的结论。

  在表达一个基本加工逻辑时,结构化语言、判定表和判定树常常交*使用,互相补充。因为这3种手段各有优缺点。

  总之,加工逻辑说明是结构化分析方法的一个组成部分,对每个加工都要加以说明。使用的手段,应当以结构化语言为主,对存在判断问题的加工逻辑,可辅之以判定表和判定树。

  4.软件需求说明

  软件需求规格说明书包括的主要内容如下:

  (1)概述

  (2)数据描述①数据流图②数据字典

  ③系统接口说明④内部接口说明

  (3)功能描述①功能②处理说明③设计的限制

  (4)性能描述①性能指标②测试种类

  ③预期的软件响应性能④其它

  (5)参考文献目录

  (6)附录

  其中概述是从系统的角度描述软件的目标和任务。软件需求文档的生成方法有以下两种。

  (1)计算机辅助生成:由于需求文档的规模较大,并且需要经常查询、维护,所以使用计算机辅助的软件需求分析工具,来实现软件需求文档的自动生成,是非常有意义的。1977年最先推出了需求陈述语言RSL(RSL中的语句是计算机可以处理的)。同年美国密执安大学开发了PSL/PSA(问题陈述语言/问题陈述分析程序)系统。它是信息系统开发自动化支持环境1SDOS的一个组成部分。其中PSL是用来描述系统的形式语言,它可以对系统需求的一致性进行检查,并可根据开发者的需要,随时生成需求文档。

  (2)手工与半手工方式:这种方法难以保证文档质量。半手工方式是利用正文编辑程序及其他实用程序辅助手工方式来生成文档,这类方法难以保证文档的正确性、一致性和完整性。

目录
相关文章
|
7月前
单细胞分析|映射和注释查询数据集
单细胞分析|映射和注释查询数据集
98 3
|
2月前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
98 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
|
2月前
|
机器学习/深度学习 自然语言处理 算法
汉字的探索性分词方式:基于字图的部首分解与图神经网络的多因素表示
本文提出一种结合传统字符嵌入与部首结构的图表示法,用于捕捉汉字的语义和组成结构,提升大模型对汉字的理解能力。方法包括将字符分解为部首,构建部首图,并利用图卷积网络生成嵌入。此方法增强了模型的泛化能力和灵活性,并提供了代码实现。未来可优化的方向包括改进图构建算法、扩展部首系统、探索更先进的图神经网络架构及多模态融合。
|
2月前
|
机器学习/深度学习 存储 自然语言处理
LangChain-22 Text Embedding 续接21节 文本切分后 对文本进行embedding向量化处理 后续可保存到向量数据库后进行检索 从而扩展大模型的能力
LangChain-22 Text Embedding 续接21节 文本切分后 对文本进行embedding向量化处理 后续可保存到向量数据库后进行检索 从而扩展大模型的能力
50 0
|
4月前
|
自然语言处理 数据可视化 搜索推荐
基于python直播平台数据的文本分析,包括LDA主题分析、分词以及网络语义分析,生成网络图
本文探讨了基于Python的直播平台数据文本分析方法,包括LDA主题分析、分词和网络语义分析,旨在揭示用户观点和需求,优化用户体验,并辅助运营方制定改进策略,同时通过生成词云图和网络图提供数据驱动的决策支持。
基于python直播平台数据的文本分析,包括LDA主题分析、分词以及网络语义分析,生成网络图
|
7月前
|
自然语言处理 Python
【Python自然语言处理】文本向量化的六种常见模型讲解(独热编码、词袋模型、词频-逆文档频率模型、N元模型、单词-向量模型、文档-向量模型)
【Python自然语言处理】文本向量化的六种常见模型讲解(独热编码、词袋模型、词频-逆文档频率模型、N元模型、单词-向量模型、文档-向量模型)
1226 0
|
7月前
|
数据可视化
cfDNAPro|cfDNA片段数据生物学表征及可视化的R包
cfDNA是指存在于血液中的游离DNA片段,来源于正常和异常细胞的死亡。这些片段长度通常为160-180碱基对,研究cfDNA在非侵入性诊断、疾病监测、早期检测和理解生理及病理状态方面有重要意义。cfDNAPro是一个工具,用于分析cfDNA的片段长度分布,提供数据表征和可视化。它能展示片段长度的整体、中位数和众数,以及峰和谷的分布,还有振荡周期性。通过上图和下图的对比,可以观察到不同队列中cfDNA片段长度的差异。此外,cfDNAPro还能展示DNA片段的模态长度,分析10bp周期性振荡模式,帮助科学家深入了解cfDNA的特征。
124 0
|
7月前
|
机器学习/深度学习 移动开发 自然语言处理
基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
bert知识库问答 实现建筑领域的问答匹配 文本相似性计算 完整代码数据
bert知识库问答 实现建筑领域的问答匹配 文本相似性计算 完整代码数据
105 0
|
算法 Linux Python
SGAT丨快捷GWAS结果显著SNP位点归类提取与变异类型转化算法,基于R语言tidyverse
SGAT丨快捷GWAS结果显著SNP位点归类提取与变异类型转化算法,基于R语言tidyverse