1 / 42

第四章 数据流图 新系统的逻辑模型主要是 DFD 和 DD 1 、 DFD 如何建立? 2 、出发点: O = P(I) 。 P 就是目标系统。 3 、方法:分解。

第四章 数据流图 新系统的逻辑模型主要是 DFD 和 DD 1 、 DFD 如何建立? 2 、出发点: O = P(I) 。 P 就是目标系统。 3 、方法:分解。. 方法:分解 / 层层分解。展示系统内部对信息加工的具体过程。当数据流的每一次改变都清清楚楚了,模型也就建成了。所以 SA&D 建模的方法是: 从系统的抽象模型出发,对功能做层层分解,并用图形、表格把这一过程表达出来。出发点 : 系统基本模型;方法 : 分解 。. 4.1 数据流图的构成.

marla
Download Presentation

第四章 数据流图 新系统的逻辑模型主要是 DFD 和 DD 1 、 DFD 如何建立? 2 、出发点: O = P(I) 。 P 就是目标系统。 3 、方法:分解。

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 数据流图 新系统的逻辑模型主要是DFD和DD 1、DFD如何建立? 2、出发点:O=P(I)。P就是目标系统。 3、方法:分解。

  2. 方法:分解/层层分解。展示系统内部对信息加工的具体过程。当数据流的每一次改变都清清楚楚了,模型也就建成了。所以SA&D建模的方法是:从系统的抽象模型出发,对功能做层层分解,并用图形、表格把这一过程表达出来。出发点:系统基本模型;方法:分解。方法:分解/层层分解。展示系统内部对信息加工的具体过程。当数据流的每一次改变都清清楚楚了,模型也就建成了。所以SA&D建模的方法是:从系统的抽象模型出发,对功能做层层分解,并用图形、表格把这一过程表达出来。出发点:系统基本模型;方法:分解。

  3. 4.1 数据流图的构成 数据流图脱离系统中的物理因素(如计算机等),表达出系统对信息的加工情况。DFD可以描述原系统/新系统/子系统。 DFD是SA的主要工具,它简单、直观,用图形、文字描述系统。它便于使用、便于交流、便于讨论、便于形成共识,是计算机专业人员和用户单位业务人员的共同语言。

  4. 4.1.1 DFD使用的符号 DFD中共有四种实体:加工、数据流、文件和外部项。分别用四种符号表示

  5. 4.1.2 加工 • 加工又称处理亦称变换,它是对数据流的操作。 • 加工的符号由标识部分、功能描述部分和功能执行部分组成。 • 标识部分用于标注加工编号。所有的加工都必须统一编号,编号应具有唯一性。编号要与数据字典一致。

  6. 功能描述部分用来标注加工名。为使DFD清晰易读,加工名应简单,又能概括地说明对数据的加工行为,其详细描述在数据字典中做出。功能描述部分用来标注加工名。为使DFD清晰易读,加工名应简单,又能概括地说明对数据的加工行为,其详细描述在数据字典中做出。 • 功能执行部分用来做必要的说明。如该加工由谁来执行。可选。 • 顶层加工就是系统,建模时要对它逐层分解,以展示其内部结构。

  7. 基本加工:对数据的处理功能简单、加工逻辑清楚的加工称基本加工。例如:打印工资表、合计工时等。分解加工到基本加工为止。为了区别基本加工,在编号前打“*”号标志。基本加工:对数据的处理功能简单、加工逻辑清楚的加工称基本加工。例如:打印工资表、合计工时等。分解加工到基本加工为止。为了区别基本加工,在编号前打“*”号标志。 • 加工符号说明如下: 1;顶层加工名可以是系统的名字。如红星厂信息系统等。

  8. 2.加工名要简捷易懂,由动词或动宾词组组成。未分解的加工本身具有抽象性,所以加工名必然具有抽象性。如帐务处理、成本核算等。每一个加工都必须:2.加工名要简捷易懂,由动词或动宾词组组成。未分解的加工本身具有抽象性,所以加工名必然具有抽象性。如帐务处理、成本核算等。每一个加工都必须: • 有输入数据流, • 有输出数据流, • 输人数据流与输出数据流要有所变化。

  9. 4.1.3 数据流(Data Flow) 数据流由一个或一组确定的数据项组成。 “领料单’’由:领料单位名、材料名称、数量、单价、日期等数据项组成。数据流用标名箭头表示,箭头的指向表示数据流的流向。

  10. 对数据流符号的说明 1.数据流名应能直观地反映数据流的含义。如产量日报表、汇款单、录取通知书、课程表等。也可以用一组数据中的主要数据为数据流命名。例如“考生成绩单’’由考生姓名、成绩、通讯地址等数据组成,但成绩是主要的,所以可用“考生成绩”作为数据流的名字。

  11. 对数据流符号的说明 2.数据流应统一编号,编号要与数据字典一致。 3.数据流的流向,有以下五种情况: P→P,S→P, P→D ,P→F, F→P 其中前三种情况应注明数据流名。后两种情况,因文件的结构可以说明数据流,可不标注。

  12. 对数据流符号的说明 4.数据流经过一个加工后其数据结构/数据含义/数据的顺序一定要有所变化,否则这个加工就没有意义了。 5.两个实体间可以有多个数据流存在,但DFD并不表明它们之间的任何关系,诸如次序、主次等。

  13. 4.1.4 文件 文件是用来存贮数据的。在分层DFD中,文件一般仅属于某一层或某几层,故又称局部文件。 1. 文件名应概要地说明文件中的主要数据。 2. 文件上一定要有数据流。表示写/读/修改文件。 3.文件统一编号。编号应与DD中的编号一致。 4.为避免DFD中出现交叉线,同一文件可在多处画出,用符号表示重复的文件。

  14. 4.1.4 文件 5. 虚文件文件符号代表多个文件,它本身并不是系统中的文件,所以不需要在数据字典中定义,只在它出现处做出说明就可以了。

  15. 4.1.5 外部项 外部项是存在于环境之中,与系统有直接的信息联系实体。外部项可以是人、设备或其它系统。引入外部项是为了划定系统的边界,不需严格定义。但也要统一编号,而且要与数据字典中的编号相一致。源点和终点可以在多处出现,用特定符号表示重复的外部项。

  16. 操作员 操作员 外部项 重复的外部项 4.1.5 外部项 为了使DFD清楚易懂,我们对加工、数据流、文件的命名都力求简单。至于加工的加工逻辑、数据流的数据结构等,将在数据字典中定义。数据字典和DFD一起来描述系统。

  17. 4.2 DFD设计 4.2.1 DFD设计步骤 1.先画出顶层DFD; 2.逐步分解,画出中间各层DFD; 3.装配平面数据流图。

  18. 第一步,把系统基本模型加上外部项作为顶层DFD。第一步,把系统基本模型加上外部项作为顶层DFD。 1、外部项支持现在顶层;2、可能有多个外部项。

  19. 顶层DFD说明系统的功能(包括用户需求和系统责任),指出I/O数据流。由外部项划定系统的边界。要画出所有的外部项,其它各层无需再画出。 第二步,分解加工,画出以下各层DFD。对加工逐层分解下去,产生一层层子图。当分解产生的加工全部变成基本加工时停止分解。基本加工不再产生子图。

  20. 逐层画出DFD的过程就是自顶向下,逐层对加工分解的过程。每一层DFD是一张或多张平面图,全部DFD是一个立体构.对DFD统一编号.逐层画出DFD的过程就是自顶向下,逐层对加工分解的过程。每一层DFD是一张或多张平面图,全部DFD是一个立体构.对DFD统一编号. • 层号:顶层:DFD/0,一层:DFD/1,二层:DFD/2。以此类推。通常顶层只含有一个加工,顶层和一层只有一张图。以下各层可能有多张图.上层DFD称父图,下层称子图。

  21. 图号;分层DFD中每一张图要有一个图号.子图的图号就是其父加工的编号.顶层和一层只有一张图不必编号.二层以下都要编号。图号;分层DFD中每一张图要有一个图号.子图的图号就是其父加工的编号.顶层和一层只有一张图不必编号.二层以下都要编号。 • 加工编号:每一个加工要有加工编号,加工编号由田号加上加工的顺序号组成,图号和加工的顺序号之间用圆点隔开。基本加工的加工编号前要打一个星号。

  22. 第三步,装配平面数据流图. 定义:平面数据流图(Plane DFD:PDFD)是一种图形工具,它用不同抽象度的加工及加工间的家族关系描述系统的功能。它是一张平面图,多分支倒置树(树根在上)结构. 相应的,称立体构造的DFD为多层数据流图(Multi DFD:MDFD)。

  23. 装配PDFD可以在系统的不同抽象层次上进行。小型系统可以把全部加工装配起来;大型系统,装配全部加工会使得PDFD过于庞大,可读性差。可以考虑装配多个局部PDFD。局部PDFD从不同的抽象层次或不同的局部来描述系统。局部PDFD的规模以清晰易读为准,一般包括4、5层DFD或能在一页纸上画出为准。装配PDFD可以在系统的不同抽象层次上进行。小型系统可以把全部加工装配起来;大型系统,装配全部加工会使得PDFD过于庞大,可读性差。可以考虑装配多个局部PDFD。局部PDFD从不同的抽象层次或不同的局部来描述系统。局部PDFD的规模以清晰易读为准,一般包括4、5层DFD或能在一页纸上画出为准。

  24. 4.2.2 DFD的设计六原则 一、分解加工应当是自然的 加工的分解应当是自然的,即不能硬行分割,也不能平均分开。因为系统是分层的,总是可以分解的,关键是找到分解界面。应当找到各子加工间的自然界面将其分割开来。

  25. 二、减少加工间联系 尽量减少加工之间的联系(数据流),提高加工的独立性。把加工间绝大部分的数据流剥离下来通过文件转达,这样做不但提高了加工的独立性,也使每一加工的数据处理都记录在案,便于查错。局部文件同时起到了隔离错误的作用,所以又称之为隔离文件。

  26. 隔离文件的例子

  27. 文件的作用 • 减少加工间直接的数据传输量,提高加工的独立性; • 隔离错误; • 减小加工间的耦合作用。

  28. 三、数据守恒 随着加工的分解,数据流也被分解。但数据流的分解必须是无损的,即数据守恒。数据守恒加工的分解才是正确的。 判断数据守恒的方法:子图所有外部输入(输出)数据流的合成是其父加工的所有输入(输出)数据流。如果在数据字典中有定义:考生信息’考生姓名十准考证号十考试成绩+通讯地址,则两图肯定是平衡的.

  29. 判断数据守恒

  30. 四、关于文件 局部文件不影响数据守恒。在DFD中,下列情况应当设置文件。 1.原始数据一定要设置文件保存. 2.重要的、常用的数据。 3.剥离加工间的数据流时要设置文件。 一般地文件只与基本加工相联系。

  31. 4 .在分析阶段只解决“做什么”的问题,所以DFD中的文件设计不能考虑得过细。只要指出存储、读、写哪些数据就可以了。系统内数据存储的统筹规划和各文件的数据结构的严格定义,将在系统设计阶段统一安排。

  32. 五、分解的深度与宽度 逐层分解的终结点是基本加工。但深度和宽度间互相影响,若每一层分解出的子加工多,则可能在较少的层次内到达基本加工;反之亦然。深度与宽度的关系可以考虑以下因素: ⑴一个父加工分解产生的子加工,一般在7土2个左右。 思考:既然子加工的个数是客观存在,为什么又可以调整分解的宽度?

  33. ⑵上层的分解可以适当快些,即分解出的子加工可以适当多些,因为上层是综合性描述,对可读性影响小,下层分解要慢些。⑵上层的分解可以适当快些,即分解出的子加工可以适当多些,因为上层是综合性描述,对可读性影响小,下层分解要慢些。 六、均衡分解原则 尽量避免出现一些加工早巳分解成为基本加工,而另一些加工还需要好多层的分解才能到达基本加工。

  34. 4.2.3 分解加工的策略 DFD设计的关键是分解加工。但分解加工没有规律可循,这给设计带来困难。初学者可以参考以下分解策略: 一是根据系统的功能项目分解。在详细调查后,经分析、总结,归纳出系统的若干功能项目,每个功能项目又有若干个子项目,如此形成功能项目树。分解加工时参照功能项目树逐级分解即可。

  35. 二是参考现行系统的组织机构图、功能体系图及业务流程图进行分解。在对现系统详细调查时,我们总结了五图二表。在设计新系统时要经常查阅这些资料,仔细研究、启发思路。不但是在思路受阻时,即便设计顺利也要经常用这些资料来校正自己的设计,必要时再回用户中深入调查。二是参考现行系统的组织机构图、功能体系图及业务流程图进行分解。在对现系统详细调查时,我们总结了五图二表。在设计新系统时要经常查阅这些资料,仔细研究、启发思路。不但是在思路受阻时,即便设计顺利也要经常用这些资料来校正自己的设计,必要时再回用户中深入调查。

  36. 例4.1. 做学籍管理的DFD设计 功能需求:完成新生注册。包括检验入学手续,缴费,分班,分配宿舍等;对于在校生,要完成成绩登陆,奖惩记载,调整班级等;对于毕业生要妥善保存所有资料。系统应提供方便的资料查询功能。

  37. 功能项目数 DFD/0 录入成绩 新生注册 第一步,画出顶层DFD 录入奖惩 日常管理 操作要求 0 学籍管理 学籍管理 学籍变动 操作员 管理信息 毕业处理 查询统计 DFD/0 查询管理

  38. 档案库 宿舍库 学籍库 学籍库 新生名单 档案库 宿舍库 系统库 学籍库 宿舍库 档案库 F4 F2 F0 F3 F1 F3 F4 F4 F3 F2 F2 L1新生信息 *P1 新生注册 P2 在校生管理 L2在校生信息 L3毕业生名单 *P3 毕业处理 L4查询要求 *P4 查询统计 DFD/1 L5查询结果

  39. MDFD的设计 • MDFD有多少层,每层有几个加工与功能项目树完全对应; • 每个加工应该如何设置数据流和文件?先列出其各项操作,分析每一项操作需要的数据流和文件。例如加工:新生注册要完成: • 注册,要求输入新生信息与新生名单对照; • 分配班级:写学籍库、档案库; • 分配宿舍:写宿舍库

  40. 处于系统责任,增加对系统文件的维护功能。 • 设计五个数据文件:录入名单、档案库、课程库、成绩库、毕业生库 DFD/2

  41. 第三步,装配PDFD

More Related