您好,欢迎访问三七文档
第五章数据字典DataDictionary:DD数据字典的作用:对DFD的定义在设计DFD时,为提高可读性,要求数据流名、加工名、文件名及外部项名都要简单明了。这使得难以从数据流名字、文件的名字中看出它们的数据结构,也无法从加工名字中看出加工的加工逻辑,给后面的设计带来困难。•DD就是对DFD中加工(处理逻辑)、数据流、文件和外部项逐个做出定义的一部文件。DFD和DD结合起来定义系统。•手工DD是把字典条目逐一填写到卡片或表格中,再把它们按一定顺序排好、装订成册以便查阅。(适合小型系统)•也可以编写电子DD。用计算机对字典实施管理。(适合大、中型系统)建立DD需要大量细致的工作,但这一工作是必须的。因为不仅系统分析阶段需要它,整个开发过程乃至系统交付后的长期运行,维护过程中都要依据它、维护它。5.1数据字典的条目•数据字典是数据流程图中所有元素的定义和说明的集合。这些元素是:数据项、数据结构、数据流、数据存储、处理逻辑和外部实体。定义数据流、数据元素、数据结构和文件采用如下规定符号:=表示定义为。例如:学生情况=学号+姓名+成绩+地址;+表示“与”。I表示“或”。如:性别=男I女;()表示整体,与数学中用法相同;m..n表示值域。如:星期几=1..7,月份=1..12;{}表示重复若干次。例如,通讯录文件:{姓名+电话+邮码}[]表示可选。例如:存款单=储户帐号+存款额+日期+[密码],表示存款时可以/不带密码。建议:数据流编号用字母“DF”打头,数据结构用“DS”打头,数据元素用“D”打头,文件“F”打头,加工“P”打头,外部项“E”打头。1、数据项数据项又称数据元素,是系统中不可再分解的数据单元,是系统处理的基本数据单元,是数据流、数据存储的基本组成元素。在数据字典中,数据项条目包括数据项名称、别名、类型、长度和值域等属性。数据项定义一般包括以下内容:编号:数据元素在DD中的统一编码。编号应具有唯一性,以便检索。名称:数据元素的名字;[内部名]:系统内使用的名字(别名);[值域]:数据元素可能的取值范围;[值义]:对值意的解释。[类型和长度]:[备注]必要的说明。•数据项编号:D02–01•数据项名称:材料编号•别名:材料代号•简述:某种材料的代码•类型及宽度:字符型,4位•取值范围:0001-9999数据项条目2、数据结构数据结构描述数据项间的关系。若干数据项数据结构组成:若干数据结构若干数据项和数据结构混合数据字典中,数据结构条目包括数据结构的名称、编号、简单描述及其组成等。数据结构编号:DS03-01数据结构名称:用户订货单简述:用户填的用户情况及订货信息数据结构组成:DS03-02+DS03-03+DS03-04数据结构定义:3、数据流数据流描述数据项或数据结构在系统中的传输路径。数据流条目包括数据流来源、去向、组成和流量等属性。数据流的编号:DF03–08数据流的名称:领料单简述:车间开出的领料单数据流的来源:车间数据流的去向:发料处理模块数据流的组成:材料编号+材料名称+需用数量+日期+领用单位数据流量:10份/每小时高峰流量:20份/小时(上午9:00—11:00)数据流定义4、数据存储数据存储指数据暂存或永久保存的地方。数据存储条目包括:名称、编号、流入/流出的数据流、组成、存取分析和关键字说明等。数据存储编号:F03-08数据存储名称:库存账简述:存放配件的库存量和单价数据存储组成:配件编号+配件名称+单价+库存量+备注关键字:配件编号相关联的处理:P02,P03数据存储5、处理逻辑处理逻辑条目是对数据流程图中最底层的处理逻辑加以说明。处理逻辑条目包括:在数据流程图中的名称、编号、对处理过程的简单描述、处理过程的输入/输出、数据流及其来源和去向、主要功能的描述等。处理逻辑处理逻辑编号:P02–03处理逻辑名称:检查库存情况简述:根据合格订单零件号检查零件库存,决定是否供货输入的数据流:合格订单处理:若库存量=订货量,则供货,否则不供货输出的数据流:缺货通知单,供货单处理过程六、定义外部项系统的外部项(源点和终点)是系统环境中的实体。因为它们与系统有信息联系。所以在DD中应对它们统一定义。定义的内容包括;编号:外部项在DFD中的编号,编号应具有唯一性以便检索;名称:外部项在DFD中的名称;输出数据流:外部项到系统的数据流;输入数据流:系统到外部项的数据流;[备注]必要的说明。如果外部项是一个计算机系统应当说明其数据处理情况,特别是数据量、数据格式、载体形式、数据精度等。外部项用外部项定义表定义。外部项外部实体编号:E03–01外部实体名称:用户简述:购置本单位配件的用户输入的数据流:F03-06,F03-08输出的数据流:F03-015.2定义加工定义加工要定义它的编号、名字、加工逻辑,必要时应定义加工的执行条件、执行频率等有关信息。所谓加工逻辑是指加工都做了些什么事情?说明加工把输入数据流变换成输出数据流的过程。5.2定义加工要定义加工逻辑,应选择适当的表达工具。人们熟悉自然语言,使用方便,但由于语言自身的随意性,常常造成加工逻辑的二义性。1.动作不确定。例如:“优惠销售”中的优惠标准没确定。2.动作执行条件不确定。例如:“对老顾客优惠”,老顾客的标准没指明。3.执行动作的条件组合有二义性。如“三好学生、英语过四级且总分在600分以上的学生可获奖金500元”。这里三个条件有四种组合,到底取哪种组合不清楚。目前,常用的加工逻辑表达工具有结构化语言、判定树和判定表。5.2.1结构化语言(StructuredLanguage)结构化语言是一种介于自然语言与程序设计语言之间的人造语言。它有一定的结构,因而较严谨;不太死板,便于理解和交流。一、结构化语言使用的词汇和语句陈述句中的动词;已在DD中定义的名词。如数据流名、文件名等;一些逻辑表达式中的保留字。结构化语言使用的语句只有以下三类:简单的陈述句;判断语句;循环语句。一个陈述句说明要做的一件事情,它至少要包含一个动词来说明要执行的功能;还应该包含至少一个名词,用以指明动作的对象。如计算工资、打印资产负债表等。陈述句应尽量简短。结构化语言有三种结构,即顺序结构、选择结构和循环结构以及它们的嵌套。二、顺序结构顺序结构由一组有序的陈述句组成。下面是一顺序结构的加工逻辑:输入用电量;计算电费,输出电费.三、选择结构与程序设计语言类似1.IF条件动作AENDIF2.IF条件动作AELSE动作BENDlF3.DOCASECASE条件动作ACASE条件动作B…….ENDCASE四、循环结构DOwhile条件动作ENDOO例如:DOwhile全班每个学生计算总分;ENDDO计算平均分输出总分和平均分五、使用结构化语言的注意事项用结构化语言定义加工所形成的数据字典具有较强的可读性和易修改性,便于与用户交流。但由于它的语法规则比较自由,也给使用带来一定困难。在使用时必须注意:1.语句力求准确、简练,不使用形容词和副词作修饰。2.在整个DD中,不能使用意义相同的多个动词,而要自始至终使用同一个动词。例如修改、改变、修正是同义词。在DD中要自始至终使用其中的一个,不能随便使用。3.选择结构、循环结构用缩格书写,以提高可读性。5.2.2判定树有些加工逻辑选择条件较多,用结构化语言描述不容易表达清楚。判定树(DecisionTree)是用图形方式描述加工逻辑,具有直观、容易理解等特点。判定树的图形是一棵横向树,左端树根是加工的名字,中间是条件及条件的组合,右端是相应的动作。订货数量≤100订货数量100决策树信誉差不处理暂缓处理信誉好新顾客老顾客常规处理新顾客优先处理老顾客暂缓处理不处理常规处理信誉差信誉好老顾客新顾客库存量——不发货=库存量——先付款,再发货库存量——先将库存发货,进货后再补发=库存量——立即发货=30天——需求量30天且=100天100天——————————————通知先付欠款欠款时间处理方案(树干树叉树枝树叶)——需求量例:某商业公司的销售策略规定:不同的购货量、不同的顾客可以享受不同的优惠。具体办法是:年购货额在5万元(含)以上且最近三个月无欠款的顾客可享受8.5折;若近三个月有欠款,若是本公司十年以上的老顾客,可享受9折;若不是老顾客,只有9.5折。年购货额不足5万元者无折扣。5.2.2判定树判定树5.2.3判定表(DecisionTable)判定表是用表格的形式表达加工逻辑。判定表分为四部分:左上角为各种条件,左下角为各种动作,右上角为条件的组合,右下角为相应条件下的执行动作。一、初始判定表5.2.3判定表(DecisionTable)5.2.3判定表(DecisionTable)12345678二、判定表的优化初始判定表中若有相互矛盾的条件组合应予删除;有些条件组合可以合并。例如,表右栏第1、2列的两种条件组合所采取的动作是一样的(只要C1、C2成立,可以不考虑C3)可以合并。同理,第5、6、7、8栏也可以合并。优化的判定表例:某厂职工调配的政策如下:1、若年龄不满18岁,文化程度是小学的,脱产学习;是中学的当电工。2、若年龄满18岁但不满40岁,若文化程度是小学或中学,若是男性,则当钳工,若是女性,则当车工。3、若年龄满40岁及以上者,文化程度是小学或中学的,则当材料员。4、凡大学毕业生,都当技术员。:年龄:学历二、判定表的优化第716列合并,817列合并,优化的判定表如下:注意:表中第4、5列是不能合并的。我们不能说:当C1=1和C2=2时可以不考虑C3,因为C3有三个取值(此时只有两个)。第6、7列,8、9列的情况类似。合并的原则:取相同动作的n列,若有某个条件在此n列的所有取值正好是该条件的全集,而其他条件在此n列都取相同的值,则此n列可以合并。库存量——不发货=库存量——先付款,再发货库存量——先将库存发货,进货后补发=库存量——立即发货=30天—需求量30天且=100天--需求量100天———————————通知先付欠款欠款时间处理方案(树干树叉树枝树叶)二、判断表(又称决策表)决策规则号123456条件欠款时间≤30天YYNNNN欠款时间100天NNYYNN需求量≤库存量YNYNYN应采取的行动立即发货╳先按库存量发货,进货后再补发╳先付款,再发货╳不发货╳要求先付欠款╳╳•例如:某校关于学生升留级的规定:一学期有3门考试课程不及格者,直接留级;一学期考试和考查4门课程不及格者,不予补考,直接留级。没有补考科目的直接升级。•这里实际上涉及三种可能的行动:直接留级、补考、升级。•请思考如何设计判定表?条件取值含义C1:考试科目01不及格门数<3不及格门数≥3C2:全部科目012全部及格0<不及格门数<4不及格门数≥4条件取值分析123456C1:考试科目000111C2:全部科目012012直接留级××××补考×升级×学生升留级判定表注意:请同学们考虑本表可否优化,如何优化?5.2.4三种描述工具的比较各具特色,现就七项指标列表比较如下:注意:在定义加工逻辑时,如果条件过多,应当考虑加工的分界是否到位?分解加工可以简化加工逻辑。4.7新系统逻辑模型分析•系统分析阶段的根本目的在于建立新系统的逻辑模型,新系统的逻辑模型包括新系统的业务流程图、数据流程图、系统的功能结构及子系统初步确立、数据资源的分布和系统所使用的管理模型。•4.7.1新系统的业务流程建立•新系统的业务流程建立工作包括:原系统业务流程分析、新系统业务流程设计和确定新系统的人机界面。①原系统业务流程分析。原系统业务流程分析的目的在于建立适合新系统的业务流程。②新系统业务流程设计。经过对原系统业务流程的分析,已经了解到旧系统业务流程的弊端,在新系统的业务流程设计中就需要克服这些弊端,建立一个优化的新系统业务流程。③新系统的人机界面确定。完成新系统的业务流程设计后,还需要进一步确定新系统的人机界面,也就是确定所设计的新系统范围。•4.7.2新系统的数据资源分析•数据的属性
本文标题:第五章-数据字典
链接地址:https://www.777doc.com/doc-5518436 .html