版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 建立数据流模型的方法建立数据流模型的方法编制:项目与质量管理部审核: 日期:批准: 日期:文件变化记录单版本编号变化状态简要说明变更人变更日期批准人批准日期*变化状态:A增加,M修改,D删除文件批准单职务签字日期目录1.数据流图41.1DFD的表示方法41.2数据流与加工之间的关系61.3分层的数据流图61.4数据流图画法71.5进行检查和修改的原则81.6使用数据流图的好处81.7DFD的其他表示方法91.8关联图92.数据词典102.1数据词典的定义102.2数据流词条描述102.3数据元素词条描述102.4数据文件词条描述112.5加工逻辑词条描述112.6数据词典的使用112.7数据
2、结构的描述123.加工逻辑说明133.1结构化英语133.2判定表173.3判定树184.评估DFD质量194.1复杂性最小化194.2接口最小化194.3数据流一致性20结构化分析是面向数据流进行需求分析的方法,所以我们要求按照结构化分析方法建立数据流模型。70年代末经Yourdon E.,Constantaine L.,DeMarco T.等人提出和发展,至今已得到广泛应用。结构化分析方法的一些重要概念也渗透在其他开发方法中,如结构化分析与设计技术、面向对象技术等。结构化分析方法适合于数据处理类型软件的需求分析。由于利用图形来表达需求,显得清晰、简明,易于学习和掌握。具体说,结构化分析方法
3、就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。根据DeMacro的论述,结构化分析方法使用了以下几个工具:数据流图、数据词典、结构化英语、判定表和判定树。1. 数据流图数据流图(Data Flow Diagram,DFD)是一种图形化的系统模型,它在一张图上展示信息系统的主要需求:输入、输出、过程和数据存储。数据流图是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。1.1 DFD的表示方法以大家熟悉的事务处理去银行取款为例,说明数据流图描述数据处理的过程。下图表示储
4、户到银行用存折取款的手续。他把存折和取款单一并交给银行出纳员检验,出纳员核对,一旦发现存折有效性问题、取款单填写问题或是存折、账卡与取款单不符等问题时均应报告储户。检验通过后,出纳员将取款信息登记在存折和账卡上,并通知付款,根据付款通知给储户存款,从而完成这一简单的数据处理活动。储户检验出的问题取款单存折现款付款信息取款信息检验登录付款账卡存折日历年月日从数据流图中可知,数据流图的基本图形元素有4种,分别是加工。输入数据在此进行变换产生输出数据,其中要注明加工的名字。数据输入的源点或数据输出的汇点。其中要注明源点或汇点的名字。数据流。被加工的数据与流向,箭头边应给出数据流名字。数据存储文件。也
5、必须加以命名。数据流是沿箭头方向传送数据的通道,它们大多是在加工之间传输加工数据的命名通道,也有连接数据存储文件和加工的没有命名的数据通道。这些数据流虽然没有命名,但因连接的是有名加工和有名文件,所以其含义也是清楚的。同一数据流图上不能有同名的数据流。多个数据流可以指向同一个加工,也可以从一个加工散发出许多数据流。加工是以数据结构或数据内容作为加工对象的。加工的名字通常是一个动词短语,简明扼要地表明完成的是什么加工。文件在数据流图中起保存数据的作用,它可以是数据库文件或者任何形式的数据组织。指向文件的数据流可以理解为写入文件或查询文件,从文件中引出的数据流可以理解为从文件读取数据或得到查询结果
6、。数据源点或汇点,表示要处理数据的输入来源或处理结果要送往何处。由于它在图中的出现仅仅是一个符号,并不需要以软件的形式进行设计和实现,因而它只是数据流图的外围环境中的实体,故称外部实体。在实际问题中,它可能是人员、计算机外围设备等。1.2 数据流与加工之间的关系在数据流图中,如果有两个以上数据流指向一个加工,或是从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定的关系。按照OFFICE中“自选图形”“流程图”的约定,这些关系的表示方法为:ABC有A则有B或C,或者两者都有ABC有A则有B与C,两者同时有ABC有A则有B或C,但两者不会同时有1.3 分层的数据流图为了表达数据处理过程的
7、数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。先把整个系统的数据处理过程看成一个加工,它的输入数据和输出数据实际上反映了系统与外界的接口。这就是分层数据流图的顶层。但仅此一图并未表明数据的加工要求,需要进一步细化。如果这个数据处理包括3个子系统,就可以画出表示这3个子系统1、2、3的加工及其相关的数据流。参加下图。顶层下面的第一层数据流图,记为DFD/L1。继续分解这3个子系统,可得到第2层数据流图DFD/L2.1、DFD/L2.2、DFD/L2.3,它们分别是子系统1、2和3的细化。SystemFFDF
8、D/L0123FFDFD/L11.11.21.32.22.32.12.413.23.1FFDFD/L2DFD/L2.1DFD/L2.3DFD/L2.2在多层数据流图中,可以把顶层流图、底层流图和中间层流图区分开来。顶层流图仅包含一个加工,它代表被开发的系统。它的输入流是该系统的输入数据,输出流是系统的输出数据。顶层流图的作用在于表明被开发系统的范围,以及它和周围环境的数据交换关系。底层流图是指其加工不须再做分解的数据流图,其加工称为“原子加工”。中间层流图则表示对其上层父图的细化。它的每一加工可以继续细化,形成子图。中间层次的多少视系统的复杂程度而定。有些文献中把数据流图子图称为DFD片段。1
9、.4 数据流图画法画数据流图的基本步骤概括地说就是自外向内,自顶向下,逐层细化,完善求精。具体步骤为:(1) 先找系统的源点与汇点。它们是外部实体,由它们确定系统与外界的接口。(2) 找出外部实体的输入数据流与输出数据流;(3) 在图的边上画出系统的外部实体;(4) 从外部实体的输出数据流出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找到外部实体所需的输入数据流,形成数据流的封闭;(5) 按照下面所给的原则进行检查和修改:(6) 按照上述步骤,再从各加工出发,画出所需的子图。1.5 进行检查和修改的原则(1) 数据流图上所有图形符号只限于前述四种基本图形元素;(2) 数据流图的主图必须
10、包含前述四种基本元素,缺一不可;(3) 数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以不止一个;(4) 每个加工至少有一个输入数据流和一个输出数据流(5) 在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系(6) 任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。这就是父图与子图的平衡,表明在细化过程中,输入与输出不能有丢失和添加。(7) 图上每个元素都必须有名字。(8) 数据流图中不可夹带控制流。因为数据流图是实际业务流程的可观反映,说明系统做什么而不是表明系统“如何做”,因此不是系统内的执行顺序,不
11、是程序流程图。(9) 初画时可以忽略琐碎的细节,以集中精力于主要数据流。数据流图的符号我们不做硬性规定,大家可以根据所选用的工具决定图形符号,但是一定在文档中说明。常用的工具有OFFICE和VISIO。1.6 使用数据流图的好处在需求分析期间,有时会修改系统的某些方面。使用数据流图可以很容易地把需要修改的区域分离出来(如下图所示,虚线表明了需要修改的区域)。只要清楚地了解要修改区域边界的数据流,就可以为将来的修改做好充分的准备,而且在修改时不打乱系统的其他部分。1.7 DFD的其他表示方法前面介绍过的符号适合于用OFFICE,如果用VISIO,可以使用下述符号:1.7.1 过程(加工)过程编号
12、过程名称1.7.2 数据流1.7.3 外部实体实体名称1.7.4 数据存储1.8 关联图关联图是DFD的最高层表示,所有的外部实体和进出系统的数据流都画在一张图中,并且整个系统被表示成一个过程。关联图在表达系统边界时很有用。系统的范围是通过单过程和外部实体所表示的事物来定义的。提供和接收数据的外部实体在系统范围以外,其他任何事情都属于系统的范围。数据存储不画在关联图中,因为数据存储本身被认为是属于系统内部的。2. 数据词典数据词典的任务是对于数据流图中出现的所有被命名的图形元素在数据词典中作为一个词条加以定义,使得每个图形元素的名字都有一个确切的解释。数据词典中所有的定义应是严密的、精确的,不
13、能有半点含糊,不能有二义性。2.1 数据词典的定义对在数据流图中每个命名的图形元素均给予定义,其内容有图形元素的名字、别名或编号、分类、描述、定义、位置等。以下是不同词条应给出的内容:2.2 数据流词条描述数据流是数据结构在系统内传播的路径。一个数据流词条应有以下几项内容:数据流名称: 说明:简要介绍作用即它所产生的原因和结果; 数据流来源:来自何方; 数据流去向:去向何方; 数据流组成:数据结构; 每个数据量流通量:数据量、流通量。2.3 数据元素词条描述每个数据结构都是由数据元素构成的,数据元素是数据处理中最小的不可再分的单位,它直接反映事物的某一特征。对于这些数据元素也必须在数据词典中给
14、出描述。需要以下信息:数据元素名: 类型:数字(离散值、连续值)、文字(编码类型); 长度; 取值范围; 相关的数据元素及数据结构。2.4 数据文件词条描述数据文件是数据结构保存的地方。一个数据文件词条应有以下几项内容:数据文件名: 简述:存放的是什么数据; 输入数据: 输出数据: 数据文件组成:数据结构; 存储方式:顺序、直接、关键码; 存取频率。2.5 加工逻辑词条描述加工比较复杂,它到后来就是一段程序。加工的表达方式有判定树、判定表等等,它们要写在一个词条中是有困难的。主要描述有:加工名: 加工编号:反映该加工的层次; 简要描述:加工逻辑及功能简述; 输入数据流; 输出数据流; 加工逻辑
15、:简述加工程序,加工顺序。源点及汇点(终点)词条描述:对于一个数据处理系统来说,源点和汇点应该比较少。如果过多就缺少独立性,人机界面太复杂,这时就要考虑减少,提高系统独立性。定义源点和汇点时应包括:名称:外部实体名; 简要描述:什么外部实体; 有关数据流;2.6 数据词典的使用在结构化分析的过程中,可以通过名字,方便地查阅数据的定义;同时可按各种要求,随时列出各种表,以满足分析员的要求。还可以按描述内容或定义来查询数据的名字。通过检查各个加工的逻辑功能,可用实现和检查在数据与程序之间的一致性和完整性。2.7 数据结构的描述在数据词典的编制中,分析员最常用的描述数据结构的方式有定义式或Warni
16、er图,我们只介绍定义式。在数据流图中,数据流和数据文件都具有一定的数据结构。因此必须以一种清晰、准确、无二义性的方式来描述数据结构。下表给出的定义方式是一种严格的描述方式。在数据词典的定义式中出现的符号符号含义解释被定义为与例如,x=a+b,表示x由a和b组成。,或例如,x=a,b,x=a|b,表示x由a或b组成。|重复例如,x=a,表示x由0个或多个a组成;mn重复例如,x=3a8,表示x中至少出现3次a,至多出现8次a;()可选例如,x=(a),表示a可在x中出现,也可不出现。“”基本数据元素例如,x=“a”,表示x为取值为a的数据元素.连接符例如,x=1.9,表示x可取1到9中的任一值
17、。比如,数据文件“存折”在数据词典中的定义格式为:存折户名所号账号开户日性质(印密)1存取行50户名2字母24;所号“001”.“999”;注:储蓄所编码,规定三位数字账号“00000001”.“99999999”;注:账号由八位数字组成开户日年月日;性质“1”.“6”注:1表示普通户,5表示工资户等印密“0”注:印密在存折上不显示;存取行日期(摘要)支出存入余额操作复核日期年月日年“00”.“99”月“01”.“12”日“01”.“31”摘要1字母4注:表明该存取是存?取?还是换?支出金额注:金额不超过9999999.99元金额“00000000.01”.“9999999.99”操作“000
18、01”.“99999”这种定义方法是自顶向下,逐级给出定义式,直到最后给出数据元素为止。3. 加工逻辑说明在数据流图中,每个加工框中只简单地写上了一个加工名,这显然不能表达加工的全部内容。随着自顶向下逐层细化,功能越来越具体,加工逻辑也越来越精细。到最底一层,加工逻辑详细到可以实现的程度,因此称为“原子加工”或“基本加工”。如果能够写出每个基本加工的全部详细逻辑功能,再自底向上综合,就能完成全部逻辑加工。在写基本加工逻辑的说明时,应满足如下的要求: 对数据流图的每个基本加工,必须有一个加工逻辑说明; 加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则; 加工逻辑说明必须描述
19、实现加工的策略而不是实现加工的细节。目前用于写加工逻辑说明的工具有结构化英语、判定表和判定树。3.1 结构化英语结构化英语也称为PDL(Program Design Language)。PDL是一种用于描述功能模块的算法设计和加工细节的语言,称为设计程序用语言。它是一种伪码。一般地,伪码的语法规则分为“外语法”和“内语法”。外语法应符合一般程序设计语言常用语句的语法规则;内语法可以用英语中一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。PDL就是这样一种伪码。它具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法又是灵活自由的,可使用自然语言的词
20、汇。下面举一个PDL的例子,它是一个查找错拼的单词的程序。PROCEDURE spellcheck ISBEGINSplit document into single wordsLook up words in dictionaryDisplay words which are not in dictionaryCreate a new dictionaryEND spellcheck从上面的例子可以看到,PDL语言具有正文格式,很像一个高级语言。人们可以很方便地使用计算机完成PDL的书写和编辑工作。PDL作为一种用于描述程序逻辑设计的语言,具有以下特点:(1) 有固定的关键字外语法,提供全部
21、结构化控制结构、数据说明和模块特征。属于外语法的关键字是有限的词汇集,它们能对PDL正文进行结构分解,使之变得易于理解。为了区别关键字,规定关键字一律大写,其它单词一律小写。(2) 内语法使用自然语言描述处理特性,易写易读。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。(3) 有数据说明机制,包括简单的与复杂的数据结构。(4) 有子程序定义与调用机制,用以表达各种方式的接口说明。使用PDL语言,可以做到逐步求精:从比较概括和抽象的PDL程序起,逐步写出更详细更精确的描述。在用PDL书写的正文中,可以用“*”或“/”打头的注释行对语句进行注解,起到
22、提高可读性的目的。3.1.1 数据说明它的功能是定义数据的类型和作用域,一般形式是:TYPE IS 其中,是一个模块内部使用的变量或模块间共用的全局变量名。指明数据类型,计有SCALE(纯量),LIST(链表),ARRAY(数组),CHAR(字符),STRUCT(层次结构)等,而指明该变量的作用域,即在模块或程序环境中该变量如何使用。3.1.2 程序块PDL的过程成分是块结构的,也就是说,伪码可以定义为许多块,而块将作为一个单个的实体来执行。块可以按照如下的方式划分:BEGIN END ()以后就可以使用引用该块。而则是由所有其他的PDL结构组成。例如:BEGIN Get end-points
23、 from display listScale physical end-points to screen coordinatesDRAW a line using screen coordinatesEND在上面的块定义中使用了一个专门的关键字DRAW,这说明PDL还可以扩充用户的功能以满足某一特定的应用。3.1.3 子程序结构把PDL中的过程称为子程序,它可以用如下的PDL结构来定义:PROCEDURE INTERFACE 程序块和/或一组伪码语句END其中,子程序的描述了该子程序的引用特性(例如表明是一个INTERNAL模块还是一个EXTERNAL模块)以及其他一些有关实现的特性(例如使
24、用什么程序设计语言)。INTERFACE用于定义模块的参数表,包括所有输入和输出信息的标志符。对子程序的调用使用关键字PERFORM。如果子程序带有参数,则调用语句为:PERFORM USING 否则,调用语句形式为PERFORM 3.1.4 基本控制结构(1) 顺序型结构,语句按排列的先后次序执行;(2) 选择型结构,这类结构采用了传统的if-then-else形式IF THEN ELSE ENDIF(3) 重复型结构这类结构包括后判断型、先判断型、下标型三种循环。后判断型循环的一般形式为:REPEAT UNTIL ENDREP或DO LOOPEXIT WHEN END LOOP先判断型循环
25、的一般形式为:DO WHILE ENDDO作为对标准循环结构的补充,PDL支持两个关键字NEXT和EXIT,让设计人员能指定循环的受限出口。EXIT使得控制转向EXIT所在循环后面的第一个语句,NEXT使控制转移到NEXT所在循环的最后,并将开始下一个循环周期。(4) 多路选择型结构CASE OF :WHEN SELECT WHEN SELECT WHEN SELECT DEFAULT:ENDCASE3.1.5 输入/输出结构在PDL中,输入/输出语句的规定是非常灵活的。典型的方式是:READ/WRITE TO 或者ASK ANSWER例如:ASK “select processing opt
26、ion” ANSWER “COST”,“SCHDULE”I/O的规定常常需要扩展,以包括一些专门的特征,如声音或图形显示等等。需要注意的是,PDL能够扩充。通过增加关键字,可以表达多任务处理、并发处理、中断处。3.2 判定表在某些数据处理问题中,某数据流图的加工需要依赖于多个逻辑条件的取值,就是说完成这一加工的一组动作是由于某一组条件取值的组合而引发的。这时使用判定表比较合适。下面以“检查发货单”为例,说明判定表的构成。1234条件发货单金额$500$500=$50060天60天$500金额60天欠款60天欠款60天发出批准书、发货单及赊欠报告发出批准书、发货单没有一种统一的方法来构造判定树,
27、因为它以是用结构化英语甚至是自然语言写成的叙述文作为构造依据的。但可以从中找些规律。首先,应从文字资料中分清哪些是判定条件,哪些是判定做出的结论。然后,从资料叙述中的一些连接词(如除非、然而、但、并且、和、或等)中,找出判定条件的从属关系、并列关系、选择关系等等。在表达一个逻辑时,结构化英语、判定表和判定书常常交叉使用,互相补充。因为这三种手段各有优缺点。4. 评估DFD质量高质量的DFD是可读的、内部一致的以及能准确表示用户需求的。表示的准确性主要取决于是否咨询了用户或其他有经验的系统相关者。通过在DFD结构上应用一些简单的规则,一个项目组可以保证DFD的可读性和内部一致性。分析员应该在开发DFD时或者准备好草图后的质量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西藏山南地区第二高级中学2025届高三考前热身数学试卷含解析
- 浙江省宁波市鄞州区2025届高三3月份第一次模拟考试数学试卷含解析
- 2024年度旅游服务合同:高端定制旅行服务2篇
- 2024年展架租赁合同范本3篇
- 2024年二手车交易合同新规定3篇
- 2024年新能源车辆租赁与运营合同
- 2024年度文具采购标准协议范例版B版
- 2024年度粮食批量采购与销售合作合同版
- 2024年国际物流运输服务协议模板版A版
- 2024年度股权转让合同(优先购买权)
- 基于PDCA循环的EHS持续改进管理方法
- 交通事故谅解书参考模板
- 项目六 新一代信息技术概述
- 竣工结算范本
- GB/T 27921-2023风险管理风险评估技术
- 零缺陷质量管理手册
- 门诊病历书写模板全
- 加密控制测量作业指导书
- 2022《中华人民共和国体育法》全文解读(带法律全文)
- 医学护理查体课件
- 物质的量说课公开课一等奖市优质课赛课获奖课件
评论
0/150
提交评论