第五章数据字典Data Dictionary: DD数据字典的作用:对DFD的定义在设计DFD时,为提高可读性, 要求数据流名、加工名、文件名及外上上」部项名都要简单明了这使得难以从 数据流名字、文件的名字中看出它们 的数据结构,也无法从加工名字中看 出加工的加工逻辑,给后面的设计带 来困难• DD就是对DFD中加工、数据流、文件和外 部项逐个做出定义的一部文件DFD和DD 结合起来定义系统•手工DD是把字典条目逐一填写到卡片或表 格中,再把它们按一定顺序排好、装订成册 以便查阅适合小型系统)3d•也可以编写电子DD用计算机对字典实施 管理适合大、中型系统)建立D D需要大量细致的工作, 但这一工作是必须的因为不仅系 统分析阶段需要它,整个开发过程 乃至系统交付后的长期运行, 过程中都要依据它、维护它5. 1数据字典的条目•数据字典是数据流程图中所有元素的 定义和说明的集合这些元素是:数 据项、数据结构、数据流、数据存储、处理逻辑和外部实体定义数据流、数据元素、数据结构和文件采用如下规定符号:=表示定义为例如,学生情况=学号+ 姓名■成绩+地址;+表示"与”:I表示“或”如,性别=男|女;()表示整体,与数学中用法相同;m..n表示值域。
如,星期几=1-7,月份{}表示重复若干次例如,通讯录文件:{姓名++邮码(》表示重复自m次至n次;[]表示可选例如,存款单=储户帐号+存款额+日期+[密码],表示存款时可以/ 不带密码建议:数据流编号用字母” DF"打头,数 据结构用” DS芍丁头,数据元素用 打头,文件”产打头,加工” P"打头, 外部项” E"打头1>数据项数据项又称数据元素,是系统中不可再分 解的数据单元,是系统处理的基本数据单元,是 数据流、数据存储的基本组成元素在数据字典 中,数据项条目包括数据项名称、别名、类型、 长度和值域等属性数据项定义一般包括以下内容:A编号:数据元素在DD中的统一编码编号应具有唯一性,以便检索A名称:数据元素的名字;»[内部名]:系统内使用的名字(别名)A [值域]:数据元素可能的取值范围;A [值义]:对值意的解释A[类型和长度]:咯注]必要的说明.数据项条目数据项编号:D02 - 01 数据项名称:材料编号 别 名:材料代号述:某种材料的代码类型及宽度:字符型,4位取值范围:0001 -99992、数据结构数据结构描述数据项间的关系°数据结构组成:若干数据项若干数据结构若干数据项和数据结构混合数据字典中,数据结构条目包括数据结 构的名称、编号、简单描述及其组成等。
数据结构定义:数据结构编号:DS03-01数据结构名称:用户订货单简述:用户填的用户情况及订货信息数据结构组成:DS03-02+DS03-03+DS03-043、数据流数据流描述数据项或数据结构 在系统中的传输路径数据流条目 包括数据流来源、去向、组成和流 量等属性数据流定义数据流的编号: 数据流的名称:简 述:数据流的来源:数据流的去向:数据流的组成:DF03 - 08领料单 车间开出的领料单 车间发料处理模块 材料编号+材料名称+需用数量十日期+领用单位数据流量:10份/每小时——二二 I高峰 流量:20份/小时(上午9:00—11:00)4、数据存储数据存储指数据暂存或永久保存的地方数据存储条目包括:名称、编号、流入/流出的数据流、组成、存 取分析和关键字说明等数据存储数据存储编号:F03-08数据存储名称:库存账简 述:存放配件的库存量和单价数据存储组成:配件编号十配件名称+单价+库存量+备注关键字:配件编号相关联的处理:P02, P035、处理逻辑处理逻辑条目是对数据流程图中最底层的处理逻辑加以说明处理逻辑条目包括=在数据流程图中的名称、编号、对处理过程的简单描述、处理过程的输入/输出、数据流及其来源和去向、主要功能的描述等。
处理逻辑处理逻辑编号:处理逻辑名称:简 述:P02 - 03检查库存情况 根据合格订单零件号检查零件库存,决定是否供货输入的数据流: 处 理:合格订单若库存量 >=订货量,输出的数据流:则供货,否则不供货 缺货通知单,供货单六、定义外部项系统的外部项(源点和终点)是系统 环境中的实体.因为它们与系统有信 息联系所以在DD中应对它们统一定 义定义的内容包括;•编号:外部项在DFD中的编号,编号 应具有唯一性以便检索;•名称:外部项在DFD中的名称;•输出数据流:外部项到系统的数据流;•输入数据流:系统到外部项的数据流;•[备注]必要的说明如果外部项是一个计 算机系统应当说明其数据处理情况,特别 是数据量、数据格式、载体形式、数据精•外部项用外部项定义表定义O外部项外部实体编号: 外部实体名称: 简 述: 输入的数据流: 输出的数据流:E03 - 01用户购置本单位配件的用户F03-06, F03-08F03-015.2定义加工定义加工要定义它的编号、名字、加工逻辑,必要时应定义加工的执行条件、执行频率等有关信息所谓加工逻辑是指加工都作了些什么事情?说明加工把输人数据流变换成输出数据流的过程。
要定义加工逻辑,应选择适当的 表达工具人们熟悉自然语言,使用 方便,但由于语言自身的随意性,常 常造成加工逻辑的二义性1 ■动作不确定例如:“优惠销售” 中的优惠标准没确定2•动作执行条件不确定例如:“对 老顾客优惠”,老顾客的标准没指明3•执行动作的条件组合有二义性如“三好学生、英语过四级且总分在600分以上的学生可获奖金500元”这里三个条件有四种组合,到底取哪种组合不清楚目前,常用的加工逻辑表达工具有 结构化语言、判定树和判定表加工逻辑的定义不能太严格、 太专业化因为这是逻辑设计, 不是定义模块内部的算法当然, 这里的加工逻辑应当是将来模块 内部算法定义的基础5.2.1 结构化语言 (Structured Language)结构化语言是一种介于自然语言与程序设计 语言之间的人造语言它有一定的结构,因而较 严谨;不太死板,便于理解和交流一、结构化语言使用的词汇和语句• 陈述句中的动词;已在DD中定义的名词如数据流名、文件名等; • 一些逻辑表达式中的保留字•结构化语言使用的语句只有以下三类:•简单的陈述句;•判断语句; •循环语句一个陈述句说明要做的一件事情,它至少要包含一个动词来说明要执行的功能;还应该包含至少一个名词,用以指明动作的对象。
如计算工资、打印资产负债表等陈述句应尽量简短结构化语言有三种结构,即顺序结构、选择结构和循环结构以及它们的嵌套二、顺序结构顺序结构由一组有序的陈述句组成O下面是一顺序结构的加工逻辑:输人用电量;计算电费,输出电费.三、选择结构与程序设计语言类似1. IF<条件〉动作AENDIF2. IF<条件〉动作AELSE动作BENDIF3. DO CASECASE<条件〉 动作ACASE<条件〉动作BENDCASEOaaNH韦秦2莺垂寿9|!MM oaOOON3<#>> 9|!MM oa五、使用结构化语言的注意事项用结构化语言定义加工所形成的数据字典具有较强的可读性和易修改性,也便于与用户交流.但由于它的语法规则比较自由,也给使用带来定困难.在使用时必须注意:1 ■语句力求准确、简练,不使用形容词 和副词作修饰.2■在整个DD中,不能使用意义相同的多个 动词,而要自始至终使用同一个动词.例如修改、改变、修正是同义词在DD中要自始至终使用其中的一个,不能随便使用3•选择结构、循环结构用缩格书写,以提高 可读性5.2.2判定树有些加工逻辑选择条件较多,用结构化语言描述不容易表达清楚判定树(Decision Tree)是用图形方式描述加工逻辑,具有直观、容易理解等特点。
判定树的图形是一棵横向树,左端树根是加工的名字,中间是条件及条件的组合,右端是相应的动作例:某商业公司的销售策略规定:不同的购 货量、不同的顾客可以享受不同的优惠 具体办法是:年购货额在5万元以上且最近 三个月无欠款的顾客可享受8・5折;若近三 个月有欠款,若是本公司十年以上的老顾 客,可享受9折;若不是老顾客,只有9・5 折年购货额不足5万元者无折扣一XT—T-霊韋露廉 丄£T S 兰医S霆樂苦曇858^琵霊命逞 --舉披rCXIZ.9优先处理老顾客决策树处理方案V=库存量——立即发货v=30天一需求量JI >库存量欠款时间>30 天且 v=100 天需求量v=库存量>库存量先将库存发货, 进货后补发先付款,再发货不发货> 100 天 (树干 树叉通知先付欠款树枝树叶)5・ 2.3 判定表(Decision Table)判定表是用表格的形式表达加工逻辑判定表分为四部分:左上角为各种条件,左下角为各种动作,右上角 为条件的组合,右下角为相应条件下 的执行动作.一、初始判定表5・ 2・3 判定表(Decision Table)表5J判定表条件动作条件组合 相应动作5・ 2.3«5-2初始判定表111 2 3 4 5 6 7 8C1:购货5万元以上C2:«近三个月无欠款C3:10年以上的老顾客YYYYNNNN YYNNY YNN YNYNY NYNA1:折扣率15%A2:折扣車10%A3:折扣率5%A4:无折扣"d J \1 d二、判定表的优化初始判定表中若有相互矛盾的条件组合 应予删除;有些条件组合可以合并.例如, 表右栏第1、2列的两种条件组合所采取的动作是一样的(只要C1、C2成立,可以不考虑C3)可以合并.同理,第5、6、7、8栏也可以合并.♦优化的判定表表5-3 优化判定表123 4C1YYY NC2YNN —C3YN —AiVA2A3A4-7例 某厂职工调配的政策如下:1若年龄不。