计算机二级C++实例(数据流图的概念)

计算机二级C++实例(数据流图的概念),第1张

计算机二级C++实例(数据流图的概念),第2张

数据流图(Data Flow Diagram,DFD)是一种在s a方法中用来表示系统逻辑模型的工具。它以图形化的方式描述了系统中的数据流和处理过程。它是一个功能模型,因为它只反映了系统必须完成的逻辑功能。
数据流图是从数据的角度描述一个系统,而流程图是从数据处理的角度描述系统;数据流图中的箭头是数据流,而流程图中的箭头是控制流,表示程序执行的顺序;数据流程图适合对一个组织的业务情况进行宏观分析,而程序流程图只适合描述系统中某个流程的执行细节。
一、数据流图的基本组成部分
数据流:由一组具有固定组成部分的数据组成,表示数据流的方向。值得注意的是,数据流图描述的是数据流,而不是控制流。除了流入或流出数据存储的数据不需要命名之外,每个数据流都必须有一个适当的名称来反映数据流的含义。
处理:处理描述的是输入数据流和输出数据之间的转换,即输入数据流经过什么处理就成为输出数据。每个进程都有一个名称和编号。数字可以反映出该流程位于层次数据流图的哪一级和哪一个图,从哪一个流程可以看出是子流程。
数据存储:数据存储是指临时存储的数据。每个数据存储都有一个名称。
外部实体:外部实体是指存在于软件系统之外的个人或组织。它指出了数据的来源或系统生成的数据的属性。
二。层次数据流图的设计方法
1。画出子系统的输入输出
把整个系统想成一个大流程,然后根据数据系统从哪些外部实体接收数据流,系统向哪些外部实体发送数据流,画出输入输出图。这张图叫顶级图。
2。在绘图子系统
内部,顶层图的处理分为几个流程,这些流程之间通过数据流连接,使得顶层图的输入数据经过几个流程后成为顶层图的输出数据流。这张图叫做0层图。从流程中绘制数据流图的过程就是流程的分解。
确定处理的方法:当数据流的组成或值发生变化时,应进行处理。这个处理的作用就是实现这个变化,也可以根据系统的功能来决定。
确定数据流的方法:当用户将一些数据作为一个单元(这些数据到达并一起处理)时,可以将这些数据视为一个数据流。
关于数据存储:以后要使用的一些数据可以组织到一个数据存储中来表示。
3。绘制处理的内部
。将每个处理看作一个小系统,将处理的输入输出数据流看作小系统的iostream。因此,每个小系统的DFD图可以像0层图一样绘制。
4。子加工的分解图
对于第三步分解的DFD图中的每一个加工,重复第三步的分解过程,直到图中没有分解的加工足够简单(即不能再分解)。至此,得到了一组层次化的数据流图。
5。数据流图和处理号
对于一个软件系统,它的数据流图可能有很多层,每层又有很多图。为了区分不同DFD子图的不同流程,每张图纸都应编号,以便于管理。
●顶层图只有一个,图中只有一个加工,不需要编号。
●图层图只有一个,图中的加工数分别为0.1,0.2,…,或1,2。
●子图是母图中分解的加工号。
●子图中的加工号由图号、点号和序号组成,如:1.12、1.3等。
三。注意事项:
1。命名。数据流、处理、数据存储和外部实体的命名要恰当,名称要反映该组件的实际含义,避免空孔的名称。
2。画一个数据流图,而不是控制流。它反映了数据流系统做什么,但不反映如何做。因此,箭头上的数据流名称只能是名词或名词短语,整个图形并不反映处理执行顺序。
3。一般不画物流。数据流反映了计算机可以处理的数据,但它不是物理的,所以一般不需要为目标系统的数据流图绘制物质流。
4。已处理的输出数据流不应与输入数据流同名,即使它们的组成是相同的。
5。允许一个进程有多个数据流流向另一个进程,也允许一个进程有两个相同的输出数据流流向不同的进程。
6。号码。如果将数据流图中的流程分解为另一个数据流图,上面的图是父图,下面的图是子图。子图及其所有加工应编号。
7。保持父图和子图之间的平衡。也就是说,父图中一个进程的iostream必须与其子图的输入输出数据流在数量和名称上相同。值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中构成这些数据流的所有数据项在父图中只是这一个数据流,那么它们仍然是平衡的。
8。在自上而下的分解流程中,如果一个数据存储在第一次出现时只与一个流程相关,那么这个数据存储应该作为这个流程的内部文件,而不需要绘图。
9。保持数据守恒,即一个流程的所有输出数据流中的数据必须直接从流程的输出流中获取,或者可以通过流程生成的数据。
10。每个进程都必须有输入数据流和输出数据流。
11。在整个数据流图中,每个数据存储必须同时具有读数据流和写数据流。但在某一个子画面里,可能只有读没有写,或者只有写没有读。
12。提高数据流图的可理解性。注意合理分解。一个流程要分解成若干个功能相对独立的子流程,这样可以减少流程之间输入输出数据流的数量,增加数据流图的可理解性。
基本图形符号
数据流图有四种基本图形符号:
:箭头,表示数据流;
χ:圆形或椭圆形,表示加工;
=:双杠(一开一关),表示数据存储;
□:框,表示数据的来源或终点。
(1)数据流。数据流是数据在系统中传播的路径,因此它是由一组具有固定成分的数据组成的。例如,预订表单由乘客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。因为数据流是流动的数据,必然有流向。除了有数据存储的数据流,数据流要用名词或名词短语命名。
(2)处理(也称数据处理)。对数据流执行一些操作或转换。每个过程还应该有一个名称,通常是一个动词短语,它简明地描述了完成了什么过程。在分层数据流图中,处理过程也应该被编号。
(3)数据存储(又称文件)是指临时存储的数据,可以是数据库文件,也可以是任何形式的数据组织。
(4)数据源点或端点是本软件系统外部环境中的一个实体(包括人员、组织或其他软件系统),统称为外部实体。一般只出现在数据流图的顶层图中。
绘制数据流图的步骤
(1)先画系统的输入输出,即先画顶层数据流图。顶层流程图只包含一个流程来表示开发的系统,然后考虑系统有哪些输入数据和输出数据流程。顶层图的作用是显示所开发系统的范围及其与周围环境的数据交换关系。下图是机票预订系统的顶层示意图。
(2)画系统内部,即画下层数据流图。不再分解的处理称为基本处理。层数一般从0开始编号,采用自上而下、由外向内的原则。在绘制0层数据流图时,将顶层数据流图分解的系统划分为若干个子系统,确定各子系统之间的数据接口和活动关系。比如上面的机票预订系统,按照功能可以分为两个部分,一个是为旅行社预订机票,一个是为旅客取票,两个部分通过机票档案的数据存储联系起来。第0层的数据流图如图3-4所示。
(3)注意事项。
①命名。无论是数据流、数据存储还是处理,恰当的命名容易让人理解其含义。
②画数据流,不画控制流。它反映了数据流系统做什么,但不反映如何做。因此,箭头上的数据流名称只能是名词或名词短语,整个图形并不反映处理执行顺序。
③一般不画物流。数据流反映了计算机可以处理的数据,但它不是物理的,所以一般不需要为目标系统的数据流图绘制物质流。
④每个处理至少有一个输入数据流和一个输出数据流,反映处理数据的来源和处理结果。
⑤号。如果将数据流图表中的流程分解为另一个数据流图表,则上面的图表是父图表,直接下面的图表是子图表。子图及其所有加工应编号。
⑥父图与子图之间的平衡。子图的输入输出数据流必须与父图一致,这是父图与子图之间的平衡。
⑦本地数据存储。当一层数据流图中的数据存储不是父图中对应流程的外部接口,而只是该图中某些流程之间的数据接口时,称为本地数据存储。
⑧提高数据流图的可理解性。注意合理分解。一个流程要分解成若干个功能相对独立的子流程,这样可以减少流程之间输入输出数据流的数量,增加数据流图的可理解性。转动

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 计算机二级C++实例(数据流图的概念)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情