《软件工程》- 面向数据流的分析与设计方法.ppt

上传人:wuy****n92 文档编号:74442243 上传时间:2023-02-26 格式:PPT 页数:174 大小:1.45MB
返回 下载 相关 举报
《软件工程》- 面向数据流的分析与设计方法.ppt_第1页
第1页 / 共174页
《软件工程》- 面向数据流的分析与设计方法.ppt_第2页
第2页 / 共174页
点击查看更多>>
资源描述

《《软件工程》- 面向数据流的分析与设计方法.ppt》由会员分享,可在线阅读,更多相关《《软件工程》- 面向数据流的分析与设计方法.ppt(174页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、讲讲 课课 人:人:刘刘 伟伟电子邮件:电子邮件:电电话:话:办办 公公 室:室:教二南楼教二南楼328328室室软件工程软件工程面向数据流的分析与设计方法面向数据流的分析与设计方法结构化结构化的软件分析与设计方法的软件分析与设计方法(面向数据流的分析与设计方法,(面向数据流的分析与设计方法,etc.)面向对象面向对象的软件分析与设计方法的软件分析与设计方法n面向数据流的分析方法(面向数据流的分析方法(dataflow-oriented analysis method)与面向对象的分析方法,都是需求建模方)与面向对象的分析方法,都是需求建模方法。它们均有一组法。它们均有一组规范的语言表达机制规

2、范的语言表达机制,用于需求,用于需求分析人员分析人员表达用户需求表达用户需求、构造软件系统模型构造软件系统模型。n面向数据流的分析方法是结构化分析方法系列中的面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的一支,具有明显的结构化特征结构化特征。n结构化开发方法分为如下几个步骤:n结构化分析(软件分析)结构化分析(软件分析)SAn结构化设计(总体设计、概要设计)结构化设计(总体设计、概要设计)SDn详细设计n面向过程的编码n结构化分析方法是一种基于功能分解的需求分析方法。n结构化分析方法是一种建模技术n模型的核心是数据词典数据词典,它描述了所有的在目标系统中使用的和生成的数据对象。并

3、用数据流图数据流图表达需求。方法特点n核心思想:自顶向下和逐步求精。n基本手段:分解和抽象。n分解分解:把大问题分割成若干小问题,然后分别解决。n抽象抽象:略去细节,先考虑问题最本质的属性。n使用了描述需求说明书的几个规范工具。即数据流图、数据词典、小说明(加工逻辑的描述)等,使文档规范化文档规范化。自顶向下,逐步求精方法的优点自顶向下,逐步求精方法的优点n符合人们解决复杂问题的普遍规律符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产率n用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序具有清晰的层次结构清晰的层次结构,程序容易阅读和理解n程序自顶向下,逐步细

4、化,分解成一个树形结构。在同一层的节点上的细化工作相互独立。有利于编码、测试有利于编码、测试和集成和集成n每一步工作仅在上层节点的基础上做不多的设计扩展,便于检查便于检查n有利于设计的分工分工和组织工作组织工作。数据流图与数据字典数据流图与数据字典一个基于计算机的信息处理系统由数据流和一一个基于计算机的信息处理系统由数据流和一系列的转换构成,而这些转换将系列的转换构成,而这些转换将输入数据流输入数据流变变换为换为输出数据流输出数据流。数据流图是一种图形化技术,数据流图是一种图形化技术,它描绘信息流和它描绘信息流和数据从输入移动到输出的过程中所经受的变换数据从输入移动到输出的过程中所经受的变换。

5、在数据流图中没有任何具体的物理部件,它只在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的是描绘数据在软件中流动和被处理的逻辑过程逻辑过程。在需求分析阶段,数据流(也称信息流)是系统分析的基础。所谓数据流,形象地说就是系统中“流动的数据结构流动的数据结构”。数据流图(DFD,DataFlowDiagram)是描述软件系统中数据处理过程的一种有力的图形工具。是用来描述系统逻辑模型的一种图形工具。是用来描述系统逻辑模型的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。刻画数据流从输入到

6、输出的移动变换过程。DFD数据流图的图形记号数据流图的图形记号外部实体外部实体位于软件系统边界之外的信息生产者或消费者位于软件系统边界之外的信息生产者或消费者转换转换转换数据流的处理过程,又称泡(转换数据流的处理过程,又称泡(bubble)数据流数据流为为一一个个或或多多个个转转换换提提供供数数据据源源或或数数据据存存储储服服务务的的缓缓冲冲区、文件或数据库区、文件或数据库数据源数据源在转换之间有向流动的数据项或数据项集合在转换之间有向流动的数据项或数据项集合 “与与”,即同时输入,即同时输入/出;出;+“或或”,即至少一项输入,即至少一项输入/出;出;“异或异或”,即非同时输入,即非同时输入

7、/出。出。*“家庭保安系统家庭保安系统”顶级数据流图顶级数据流图传感器传感器警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板显示器显示器电话机电话机警报器警报器数据流图中的基本符号(另外的表示方法)数据流图中的基本符号(另外的表示方法)或或或符号含义数据的源点或终点数据流数据存储加工1.数据的源点或终点数据的源点或终点数据的源点或终点用于反映数据流图与外部实体数据流图与外部实体之间的联系,表示图中的输入数据来自哪里或处理结果送向何处。如下图中的人事部门、后勤部门是工资系统中数据的源点,而职工和银行则是工资系统中数据

8、的终点。工资计算系统的顶层顶层(0层层)数据流图2.数据流数据流数据流是数据在系统中(包括数据处理之间、数据处理和数据存储之间以及数据处理和数据的源点或终点之间)的传传送通道送通道,数据流符号的箭头指明了数据的流动方向。如上图中的出勤表、业绩表、水电扣款表、工资条及工资存款清单等均为数据流。3.加工加工加工也称为数据处理数据处理,是对系统中的数据流进行的某些操作或变换。图中每个加工都要有对应的名称,最常见的名称是由一个表明具体动作具体动作的动词和一个表明处理对象的名词构成的动词和一个表明处理对象的名词构成的,如计算应发工资、打印工资清单等。4.数据存储数据存储在数据流图中用于保存数据的数据文件

9、保存数据的数据文件被称为数据存储,它可以是数据库文件或任何其他形式的数据组织。流向数据存储流向数据存储的数据流可理解为向文件写入数据或对文件进行查询,流出数据存储流出数据存储的数据流可理解为从文件中读取数据或得到查询结果。在数据流图中,可以有两个以上的数据流进入同一个加工,也可以有两个以上的数据流从同一个加工中流出,这样的多多个数据流之间往往存在一定的关系个数据流之间往往存在一定的关系。为了表示这些数据流之间的关系,需要在数据流图中给这些数据流对应的加工加上一定的标记符号。在下表中列出了加工中常见的几种关系的表示方法。(表中以从加工流入或流出两个数据流为例)。数据流与加工之间的关系数据流与加工

10、之间的关系表表 加工中常见关系的符号表示加工中常见关系的符号表示符号含义由数据A和B共同变换为数据C由数据A变换为数据B和数据C由数据A或B,或者数据A和B共同变换为数据C由数据A变换为数据B或C,或者同时变换为数据B和C由数据A或B其中之一变换为数据C由数据A变换为数据B或C其中之一数据流与加工之间的关系数据流与加工之间的关系按照结构化分析方法中“自顶向下,逐步分解自顶向下,逐步分解”的思想,可以先将整个系统看作是一个加工,它的输入数据和输出数据表明了系统和外部环境的接口,从而首先画出系统的首先画出系统的顶层数据流图顶层数据流图。为了能够清楚地表明系统加工的详细过程,接着从顶层数据流图出发,

11、逐层地对系统进行分解逐层地对系统进行分解。每分解一次,系统中加工的数量就随之增加,每个加工的功能描述也越来越具体。重复这种分解,直至得到系统的底层直至得到系统的底层数据流图数据流图。底层数据流图中的所有加工都应是不可再分解的、最简单的“原子加工原子加工”。数据流模型的建立方法数据流模型的建立方法数据流图数据流图数据流图提供了数据流图提供了层次结构层次结构,让分析人员,让分析人员能够方便地表示任意抽象级别上的信息能够方便地表示任意抽象级别上的信息系统或其子系统,并支持问题分解、逐系统或其子系统,并支持问题分解、逐步求精的分析方法。步求精的分析方法。初始时,整个信息处理系统可以用下图初始时,整个信

12、息处理系统可以用下图所示的顶级(第所示的顶级(第0级)数据流图表示。级)数据流图表示。“家庭保安系统家庭保安系统”顶级数据流图顶级数据流图1传感器传感器警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板显示器显示器电话机电话机警报器警报器 随着需求分析活动的逐渐深入,较高抽象级别上的复杂转换可随着需求分析活动的逐渐深入,较高抽象级别上的复杂转换可以精化为一系列相互关联的数据流和子转换,如下图所示。在以精化为一系列相互关联的数据流和子转换,如下图所示。在数据流方法中,对数据(数据流)的精化是伴随着对转换的逐数据流方法中

13、,对数据(数据流)的精化是伴随着对转换的逐步精化而同步进行的。步精化而同步进行的。A0Z2Y2X2N1M1D1D1C1C1E1E1B0A0F1F3FF2F4F5F41F42F43F44B0第第0级级第第1级级第第2级级数据流图的精化与层间平衡数据流图的精化与层间平衡下面以某单位工资管理系统某单位工资管理系统为例,来介绍一下分层数据流模型的建立方法。1.建立顶层数据流图建立顶层数据流图任何系统的顶层数据流图都只有一个,用于反映目标系统反映目标系统所要实现的功能及与外部环境的接口所要实现的功能及与外部环境的接口。顶层数据流图中只有一个代表整个系统的加工,数据的源点和终点对应着系统的外部实体,表明了

14、系统输入数据的来源和输出数据的去向。工资管理系统的顶层数据流图如下图如下图所示。数据流图例子数据流图例子订票员订票员订票员订票员预定预定机票机票准备准备机票机票记帐记帐订票单订票单航班目录航班目录航班号航班号航班航班费用费用帐单帐单机票机票记帐数据库记帐数据库帐目帐目图工资计算系统的顶层(0层)数据流图按照系统的功能,对顶层数据流图进行分解,生成第一层数据流图。如例子中的工资计算系统可划分为计算工资、打工资计算系统可划分为计算工资、打印工资清单和工资转存三个加工印工资清单和工资转存三个加工。其中,计算工资完成单位职工工资计算,生成工资清单的功能;打印工资清单完成工资条的打印功能;工资转存完成生

15、成职工工资存款清单并将其发送到银行的功能。对划分得到的加工应进行编号对划分得到的加工应进行编号,如下下图图。2.数据流图的分层细化数据流图的分层细化工资计算系统第一层第一层数据流图对第一层数据流图中的加工继续分解,则可得到第二层数第二层数据流图据流图,如图图 A 所示。对分解得到的加工进行编号,以反映出它与上层数据流图之间的关系,如对第一层数据流图中的计算工资分解得到的数据流图中的加工的编号分别为1.11.4。若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第第三层数据流图如图三层数据流图如图 B 所示所示。图A工资计算系统的第第二二层层数据流图(

16、a)“计算工资”子数据流图;(b)“工资转存”子数据流图图B工资计算系统的第三层第三层数据流图建立数据流模型要遵循以下的原则建立数据流模型要遵循以下的原则1每每个个加加工工至至少少应应有有一一个个输输入入数数据据流流(反反映映被被处处理理数数据据的的来来源)和源)和一个输出数据流一个输出数据流(反映加工的结果)。(反映加工的结果)。2数数据据流流图图中中各各构构成成元元素素的的名名称称必必须须具具有有明明确确的的含含义义且且能能够够代表对应元素的内容或功能。代表对应元素的内容或功能。3对对某某个个加加工工进进行行细细化化生生成成的的下下层层数数据据流流图图,称称为为其其上上层层图图的的子子图图

17、。应应保保证证分分层层数数据据流流图图中中任任意意对对应应的的父父图图和和子子图图的的输入输入/输出数据流保持一致输出数据流保持一致。4应应按按照照层层次次给给每每个个加加工工编编号号,用用于于表表明明该该加加工工所所处处的的层层次次及及上上、下下层层的的父父图图与与子子图图的的关关系系。编编号号的的规规则则为为:顶顶层层加加工工不不用用编编号号;第第一一层层加加工工的的编编号号为为1,2,n。第第二二层层加加工工的的编号为编号为11,12,21,22,n1,n2,等,以此类推。等,以此类推。建立数据流模型要遵循以下的原则建立数据流模型要遵循以下的原则5在在父父图图中中不不要要出出现现子子图图

18、中中涉涉及及的的局局部部数数据据存存储储文文件件。通通常常除除底底层层数数据据流流图图中中需需表表明明所所有有数数据据存存储储外外,为为保保持持画画面面整整洁洁,各各中中间间层层数数据据流流图图只只需需显显示示处处于于加加工工之之间间的的接接口口文文件即可。件即可。6数数据据流流图图只只能能由由四四种种基基本本符符号号组组成成,是是实实际际业业务务流流程程的的客客观观映映象象,用用于于说说明明系系统统应应该该“做做什什么么”,而而不不需需要要指指明明系统系统“如何做如何做”。7数数据据流流图图的的分分解解速速度度应应保保持持适适中中。通通常常一一个个加加工工每每次次可可分分解解为为24个个子子

19、加加工工,最最多多不不要要超超过过七七个个,否否则则会会增增加加用用户的理解难度。户的理解难度。同时要注意,逐层精化必须适可而止同时要注意,逐层精化必须适可而止。8为了便于数据流图在计算机上的输入和输出,免去画斜为了便于数据流图在计算机上的输入和输出,免去画斜线、弧线、圆等符号的麻烦,数据流图还有另一套表示符线、弧线、圆等符号的麻烦,数据流图还有另一套表示符号,如下表所示。号,如下表所示。表表 数据流图的另一套表示符号数据流图的另一套表示符号编号编号符号含义数据流,只能为水平或垂直的带箭头直线加工数据存储数据的源点或终点 数据字典数据字典F面向数据流分析需要引进面向数据流分析需要引进数据字典数

20、据字典(DD)FDD以以一一种种准准确确、简简洁洁的的方方式式对对DFD中中数数据据流流、外部实体外部实体、数据存储数据存储作说明作说明FDD对对DFD中中的的六六类类元元素素进进行行定定义义说说明明,按按照元素不同,其中的照元素不同,其中的数据条目数据条目内容也不相同内容也不相同-数据流数据流-数据项(数据元素)数据项(数据元素)-数据结构数据结构-数据存储数据存储-处理逻辑(基本加工)处理逻辑(基本加工)-外部实体外部实体数据字典数据字典数据字典的提出背景:虽然数据流图能够形象、清晰地描述数据在系统中流动、加工、存储的情况,但数据流图中的许多构成元素,如数据流、数据存储、加工,仅依靠名称并

21、不能反映其本质含义仅依靠名称并不能反映其本质含义,因此必须对这些构成元素进行严格的定义。作为对数据流图的补充,数据字典数据字典(DD,Data Dictionary)能够准确地定义数据流图中各组成成分的具体含义,二者共同构成了系统的逻二者共同构成了系统的逻辑模型辑模型。数据字典中的基本符号及其含义数据字典中的基本符号及其含义符号含义说明=表示定义为用于对=左边的条目进行确切的定义+表示与关系X=a+b表示X由a和b共同构成|,表示或关系X=a|b与X=a,b等价,表示X由a或b组成()表示可选项X=(a)表示a可以在X中出现,也可以不出现表示重复大括号中的内容重复0到多次mn表示规定次数的重复

22、重复的次数最少m次,最多n次“”表示基本数据元素“”中的内容是基本数据元素,不可再分.连接符month=1.12表示month可取112中的任意值*表示注释两个星号之间的内容为注释信息示例n n12n()n()n任何长度为3的数字串nn444552n=任何长度为4的数字串数据字典是关于数据流图中各种成分详细定义的信息集合,可将其按照说明对象的类型划分为四类条目,分别为数据流条目、数据项条目、数据流条目、数据项条目、数据文件条目和数据加工条目数据文件条目和数据加工条目。数据字典中的条目及说明格式数据字典中的条目及说明格式 数据字典的任务是数据字典的任务是:对于数据流图中出现的所有被对于数据流图中

23、出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。每一个图形元素的名字都有一个确切的解释。DD1.1.数据流条目数据流条目 数据流在数据流图中主要用于说明数据结构在系统中的作用和流动方向,因此数据流也被称作“流动的数据结构”。数据字典中数据流条目应包括以下几项主要内容:数据流名应包括以下几项主要内容:数据流名称、数据流别名、说明、数据流来源、数据流流向、数据流称、数据流别名、说明、数据流来源、数据流流向、数据流组成和数据流量组成和数据流量等。数据流名:数据流名:数据流名:数据流名:数据流别名:数据

24、流别名:数据流别名:数据流别名:说明:简要介绍作用即它产生的原因和结果。说明:简要介绍作用即它产生的原因和结果。说明:简要介绍作用即它产生的原因和结果。说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流来源:即该数据流来自何方。数据流来源:即该数据流来自何方。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流去向:去向何处。数据流去向:去向何处。数据流去向:去向何处。数据流组成:数据结构。数据流组成:数据结构。数据流组成:数据结构。数据流组成:数据结构。数据量流量:数据量、流通量。数据量流量:数据量、流通量。数据量流量:数据量、流通量。数据量流量:数据量、

25、流通量。数据流词条的描述示例:数据流词条的描述示例:数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计审查并审查并审查并审查并开发票开发票开发票开发票发票发票发票发票购书单购书单购书单购书单 数据流名称:出勤表数据流别名:无说明:由人事部门每月月底上报的职工考勤统计数字数据流来源:人事部门数据流流向:加工1.1.1(统计出勤、请假及旷工时数)数据流组成:出勤表=年份+月份+职工号+出勤时数+病假时数+事假时数+旷工时数数据流量:1份/月工资系统中的出勤表数据流出勤表数据流在数据字典中的

26、条目描述为 数据流词条的描述示例数据流词条的描述示例2:2.数据项条目数据项条目数据流图中每个数据结构都是由若干个数据项构成的,数据项是加工中的最小单位,不可再分。数据字典的数据项条目中应包含的主要内容有:数据项名称、数据项别名、说明、类型、长度、取值范围及含义数据项名称、数据项别名、说明、类型、长度、取值范围及含义等。例如例如:出勤表中的职工号数据项在数据字典中的条目描述为数据项名称:职工号数据项别名:employee_no说明:本单位职工的惟一标识类型:字符串长度:6取值范围及含义:12位(00.99)为部门编号:36位(XX0001.XX9999)为人员编号3.数据文件条目数据文件条目数

27、据文件是数据流图中数据结构的载体数据结构的载体。数据字典的数据文件条目中应包含的主要内容有:数据文件名称、说明、数据文件组成、组织方式、数据文件名称、说明、数据文件组成、组织方式、存取方式、存取频率存取方式、存取频率等。例如例如:工资系统中的职工工资档案文件在数据字典中的条目描述为数据文件名称:工资档案说明:单位职工的基本工资、各项津贴及补贴信息数据文件组成:职工号+国家工资+国家津贴+职务津贴+职龄津贴+交通补贴+部门补贴+其他补贴组织方式:按职工号从小到大排列存取方式:顺序存取频率:1次/月4.数据加工条目数据加工条目在数据流图中只简单给出了每个加工的名称,在数据字典中通过数据加工条目主要

28、是要说明每个加工是用来“做什么”的。数据字典的数据数据加工条目中应包含的主要内容有加工条目中应包含的主要内容有:数据加工名称、加工编号、说明、输入数据流、输出数据流、加工逻辑等。例如:工资系统中的计算应发工资这个加工在数据字典中的条目描述为数据加工名称:计算应发工资加工编号:1.2说明:根据职工的工资档案及本月奖金发放表数据计算每个职工的应发工资输入数据流输入数据流:奖金发放表及工资档案输出数据流输出数据流:应发工资表加工逻辑加工逻辑:DOWHILE工资档案文件指针未指向文件尾从工资档案中取出当前职工工资的各项基本数据进行累加在奖金发放表中按职工号查找到该职工的奖金数对奖金数与工资基本数据的累

29、加和进行求和得到该职工的应发工资数ENDDO为了能够直观、明确地表达加工逻辑,经常采用结构化语言、判定结构化语言、判定树及判定表树及判定表等三种描述方法。1.1.结构化语言结构化语言 结构化语言是一种介于自然语言和形式化语言之间的半形式化语言,结构化语言是一种介于自然语言和形式化语言之间的半形式化语言,例如,上面对计算应发工资条目中加工逻辑的描述就是采用的结构化语言。它是在自然语言的基础上加入了一定的限制,通过使用有限的词汇和有限的语句来较为严格地描述加工逻辑。描述时可以使用的词汇包括描述时可以使用的词汇包括:数据字典中定义的名字、基本控制结构中的关键词、自然语言中具有明确意义的动词和少量的自

30、定义词汇等。尽量不使用形容词或副词,可以使用一些简单的算术或逻辑运算符。结构化语言中的三种基本结构的描述方法如下:加工逻辑的描述加工逻辑的描述自然语言自然语言+结构化形式结构化形式结构化语言结构化语言 -学生购买教材的学生购买教材的学生购买教材的学生购买教材的 系统逻辑模型系统逻辑模型系统逻辑模型系统逻辑模型 审查并审查并审查并审查并开发票开发票开发票开发票学学学学生生生生发票发票发票发票购书单购书单购书单购书单 各班学生用书表各班学生用书表各班学生用书表各班学生用书表教材存量表教材存量表教材存量表教材存量表无效书单无效书单无效书单无效书单开领开领开领开领书单书单书单书单领书单领书单领书单领书

31、单学学学学生生生生 例例2:2:请为下列请为下列DFDDFD中的中的“审查并开发票审查并开发票”加工点写加工点写 加工说明加工说明 把学生学号和姓名写到发票上把学生学号和姓名写到发票上按购书单上学生的年级和系、专业与班号按购书单上学生的年级和系、专业与班号 检索检索“各班学生用书表各班学生用书表”文件,获得该生当年的书单文件,获得该生当年的书单 对对 购书单上的每一书号购书单上的每一书号 如果如果 书单上无此书号书单上无此书号 则则 把书号写到出错通知单上把书号写到出错通知单上 否则否则 按书号检索按书号检索“教材存量表教材存量表”文件,文件,从而获得该书的单价与库存量从而获得该书的单价与库存

32、量 如果如果 库存量库存量 购书单的数量购书单的数量 则则 将书号写到出错通知单上将书号写到出错通知单上 否则否则 将书号、单价、数量、总价等项写入到发票上;将书号、单价、数量、总价等项写入到发票上;更新存书量,并写回更新存书量,并写回“教材存量表教材存量表”文件;文件;累计书费合计累计书费合计 把书费合计写到发票上把书费合计写到发票上对对每张购书单每张购书单2.2.判定表判定表提出背景:提出背景:当某一加工的实现需要同时依赖多个逻辑条件需要同时依赖多个逻辑条件的取值时,对加工逻辑的描述就会变得较为复杂,很难采用结构化语言清楚很难采用结构化语言清楚地将其描述出来,而采用判定表则能够完整且清晰地

33、表达复杂的条件组合与由此产生的动作之间的对应关系。通常把表中任意一个条件组合的特定取值及其相应要执行的动作称为规则。采用表格的形式来表达采用表格的形式来表达具复杂判断的加工逻辑具复杂判断的加工逻辑判定表 下面以描述某单位工资档案管理系统中“职务津贴计算”加工逻辑为例说明判定表的写法。对应的判定表见下表。条件列表条件组合动作列表对应的动作“职务津贴计算职务津贴计算”判定表判定表要生成上面的判定表,具体的步骤判定表,具体的步骤如下:(1)确定规则的个数。例子中有两个条件,每个条件有三种取值,条件条件1,职务:助工、工程师、高工,职务:助工、工程师、高工条件条件2,工龄:,工龄:20故规则个数为33

34、=9。(2)列出所有的条件和动作。(3)列出所有的条件组合。(4)填写每种条件组合下对应的动作。(5)若表中存在不同规则对应相同动作且其条件组合存在某种关系时,需要对表进行必要的化简。“基本奖金计算基本奖金计算”判定树判定树3、判断树、判断树判断树是判断表的图形形式,其适用场合与判断表相同,判断树是判断表的图形形式,其适用场合与判断表相同,它它与判定表的作用大致相同,但比判定表更加直观,更易于理与判定表的作用大致相同,但比判定表更加直观,更易于理解和掌握。解和掌握。比较:判定树虽然形式上比判定表直观,但逻辑上没有判定但逻辑上没有判定表严格表严格,用户在使用判定树时容易造成个别条件的遗漏个别条件

35、的遗漏。实际工作中:实际工作中:、对于顺序结构和循环结构采用结构化语言进行描述;、对于存在多个条件组合的复杂判定问题采用判定表判定表或判判定树定树进行描述。1.建立数据字典的方法建立数据字典的方法数据字典的建立数据字典的建立数据字典的实现数据字典的实现数据字典的实现数据字典的实现 人工方法人工方法人工方法人工方法 自动方法自动方法自动方法自动方法将每一字典中的词条将每一字典中的词条将每一字典中的词条将每一字典中的词条写在一张卡片上,由写在一张卡片上,由写在一张卡片上,由写在一张卡片上,由专人管理和维护专人管理和维护专人管理和维护专人管理和维护利用利用利用利用“字典管理程序字典管理程序字典管理程

36、序字典管理程序”在计算机中对字典进在计算机中对字典进在计算机中对字典进在计算机中对字典进行管理和维护。行管理和维护。行管理和维护。行管理和维护。2.建立数据字典的原则建立数据字典的原则(1)所有定义必须严密、精确,不能存在二义性。(2)书写格式应简洁且严格。(3)应可方便地实现对所需条目的按名查阅。(4)应便于修改和更新。数据流图与数据字典数据流图与数据字典综上所述,综上所述,利用数据字典可以对数据流图中的数据流、数利用数据字典可以对数据流图中的数据流、数据源以及外部实体进行描述、组织和管理。据源以及外部实体进行描述、组织和管理。对于转换,也需要一种比图形记号更为详尽的对于转换,也需要一种比图

37、形记号更为详尽的表示机制,这就是结构化的文字描述。分析人表示机制,这就是结构化的文字描述。分析人员可以在数据流图的任一转换上附加一段文字,员可以在数据流图的任一转换上附加一段文字,用以说明转换的功能、性能要求及设计约束等,用以说明转换的功能、性能要求及设计约束等,这种说明应尽可能简洁、清晰、易于理解。这种说明应尽可能简洁、清晰、易于理解。数据字典例子数据字典例子:(数据流数据流)数据流名称:数据流名称:订票单订票单 -别名别名:无无 -来源来源:订票员订票员-去向去向:定票定票 -数据流量数据流量:200200份份/天天-组成组成:编号姓名编号姓名+年龄身份证号电话年龄身份证号电话号码订票日期

38、号码订票日期 目的地目的地订票员订票员订票员订票员预定预定机票机票准备准备机票机票记帐记帐订票单订票单航班目录航班目录航班号航班号航班航班费用费用帐单帐单机票机票记帐数据库记帐数据库帐目帐目数据字典例子数据字典例子:(数据项数据项)数据项名称:数据项名称:航班号航班号 -别名别名:HBH HBH -数据类型数据类型:字符串字符串-长度长度:1616位位 -取值范围及含义取值范围及含义:第第1 1位位:进口进口/国产国产 第第2 24 4位:类别位:类别 第第5 57 7位:规格位:规格 第第8 81111位:位:源机场编号源机场编号 第第12121515位:位:目的机场编号目的机场编号订票员订

39、票员订票员订票员预定预定机票机票准备准备机票机票记帐记帐订票单订票单航班目录航班目录航班号航班号航班航班费用费用帐单帐单机票机票记帐数据库记帐数据库帐目帐目数据字典例子数据字典例子:(数据存储数据存储)数据存储名称:数据存储名称:航班目录航班目录 -别名别名:无无 -来源来源:无无-去向去向:定票定票 -组成组成:航班号飞行日期载客量出发航班号飞行日期载客量出发地目的地票价地目的地票价-组织方式:组织方式:索引文件,以航班号为关键字索引文件,以航班号为关键字订票员订票员订票员订票员预定预定机票机票准备准备机票机票记帐记帐订票单订票单航班目录航班目录航班号航班号航班航班费用费用帐单帐单机票机票记

40、帐数据库记帐数据库帐目帐目数据字典例子数据字典例子:(处理逻辑处理逻辑)数据加工名称:数据加工名称:定票定票 -别名别名:无无 -输入输入:订票单订票单-输出输出:航班、费用航班、费用 -激发条件:激发条件:接受到订票单接受到订票单-处理逻辑:处理逻辑:if if 单据订票单单据订票单then if then if 单据是否过期单据是否过期 then then 是否有该航班,是否有机票是否有该航班,是否有机票订票员订票员订票员订票员预定预定机票机票准备准备机票机票记帐记帐订票单订票单航班目录航班目录航班号航班号航班航班费用费用帐单帐单机票机票记帐数据库记帐数据库帐目帐目实例实例医院病房监护系统

41、医院病房监护系统监视监视病情病情产产生生 病情病情报报告告更新病更新病历历经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:1、监视病员的病症(血压、体温、脉搏等)、监视病员的病症(血压、体温、脉搏等)2、定时更新病历、定时更新病历 3、病员出现异常情况时报警。、病员出现异常情况时报警。4、产生某一病员的病情报告。、产生某一病员的病情报告。医院病房监护系统分层医院病房监护系统分层DFDDFD图图 顶级顶级DFD病员病员护士护士病员病员监护监护系统系统病症病症需求报告需求报告病症报告病症报告报警报警 采采用用通通常常的的功功能能分分解解方方法法,按按照照“强强内内聚聚、

42、松松耦耦合合”的的原原则则逐逐个个对对处处理理功功能能进进行行精精化化;与与此此同同时时逐逐步步完完成成对对数数据据流流的的精精化化,并并针针对对被精化的处理功能生成下一级数据流图。被精化的处理功能生成下一级数据流图。医院病房监护系统分层医院病房监护系统分层DFDDFD图图 一级一级DFD生理信号极限值生理信号极限值护士护士3生成报告生成报告4更新日志更新日志病员病员2中央监视中央监视1局部监视局部监视病症信号病症信号病员极限病员极限病员日志病员日志报警报警病员数据病员数据格式化病员数据格式化病员数据日志数据日志数据日志数据日志数据病症报告病症报告需求报告需求报告医院病房监护系统分层医院病房监

43、护系统分层DFDDFD图图 二级二级DFD:对加工:对加工“中央监视中央监视”进行分解进行分解病员数据病员数据2.1开解信号开解信号2.2计算超过计算超过极限值否极限值否2.4格式化格式化病员数据病员数据2.3产生报产生报 警信息警信息病员极限病员极限体温体温脉搏脉搏血压血压超过极限值超过极限值血压、体温、脉搏血压、体温、脉搏生理信号极限值生理信号极限值报警报警格式化病员数据格式化病员数据 精化过程中必须维持各级数据流图之间的数据流精化过程中必须维持各级数据流图之间的数据流平衡。平衡。精精化化过过程程应应适适可可而而止止,避避免免涉涉及及软软件件设设计计细细节节。一一般般说说来来,如如果果某某

44、子子功功能能可可以以用用一一段段简简洁洁、精精确确的的文文字描述清楚,就无需进一步分解。字描述清楚,就无需进一步分解。创创建建用用户户需需求求的的数数据据流流模模型型应应遵遵循循以下以下五条规则五条规则:对对于于数数据据流流图图中中不不再再分分解解的的处处理理功功能能,分分析析人人员员要要借借助助结结构构化化自自然然语语言言对对其其功功能进行精确、简洁的描述。能进行精确、简洁的描述。图图中中“中中央央监监视视”子子功功能能分分解解出出来来的的“计计算算超超过过极极限限值值否否”子子功功能能可可描描述述如如下下页:页:过程规格说明举例过程规格说明举例“计算超过极限值否计算超过极限值否”子功能子功

45、能1参数:血压、体温、脉搏;类别:字符串参数:血压、体温、脉搏;类别:字符串2处理步骤:处理步骤:1)检检查查系系统统是是否否有有参参数数值值输输入入。若若有有,则则验验证证输输入入值值的的有有效效性性。如如果果有有效效,则则从从病病员员极极限限数数据据存存储储中中取取出出相相应应的的待待比比较值;否则无操作。较值;否则无操作。2)检检查查输输入入参参数数值值与与待待比比较较值值的的大大小小。如如果果超超过过极极限限值值,则则产产生生报报警警信信息息,并并且且更更新新病病员员的的记记录录;如如果果没没有有超超过过极极限限值,则只更新病员记录。值,则只更新病员记录。3约约束束条条件件:在在上上述

46、述1)、2)步步骤骤中中,通通过过时时间间控控制制参参数数的的采集。采集。实体实体-关系图关系图为了把用户的数据要求清楚、准确地描述出来,系统分为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型。概念性数据模型析员通常建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户观点对数据建是一种面向问题的数据模型,是按照用户观点对数据建立的模型。立的模型。数据模型中包含数据模型中包含3种相互关联的信息:数据对象、数据种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。对象的属性及数据对象彼此间相互连接的关系。数据对象、属性与关

47、系数据对象、属性与关系 数据对象:是现实世界中实体的数据表现;数据对象:是现实世界中实体的数据表现;是省略了功能和行为的实体。是省略了功能和行为的实体。数据源数据源;数据对象包括:数据对象包括:外部实体的数据部分外部实体的数据部分;数据流的内容。数据流的内容。数据对象、属性与关系数据对象、属性与关系数数据据对对象象由由其其属属性性刻刻画画。一一般般而而言言,现现实实世世界界中中任任何何给给定定实实体体都都具具有有许许多多属属性性,分分析析人人员员应应当当并并且且只只能能考考虑虑与与应应用用问问题题有有关关的的属属性性。例例如如,在在汽汽车车销销售售管管理理问问题题中中,汽汽车车的的属属性性可可

48、能能有有:制制造造商商、型型号号、标识码、车体类型、颜色和买主。标识码、车体类型、颜色和买主。实体实体-关系图关系图实实体体-关关系系(Entity-Relation)图图简简称称E-R图图,是是表表示示数据对象及其之间关系的图形语言机制。数据对象及其之间关系的图形语言机制。数数据据对对象象(实实体体)用用长长方方形形、关关系系用用菱菱形形、属属性性用用椭椭圆圆表表示示。数数据据对对象象之之间间数数量量上上的的对对应应关关系系的的表表示示如如下下图所示:图所示:0:1 1:1 0:多多 1:多多为了便于区分,在为了便于区分,在E-R模型中的实体、关系和属模型中的实体、关系和属 性都应在对应的框

49、中写上各自的名字。性都应在对应的框中写上各自的名字。实体实体-关系图实例关系图实例制造商制造商生产生产经销商经销商汽车汽车经销经销存储存储标识码标识码颜色颜色型号型号制造商制造商车体类型车体类型买主买主面向数据流的设计方法面向数据流的设计方法又称为结构化设计,即SD方法。该方法与结构化分析(SA)相衔接,构成完整的结构化分析与设计技术,是目前使用最广泛的方法之一。SD通常与DFD衔接起来使用。用DFD方法得到数据流图和数据字典描述的需求规格说明书。SD方法则以数据流图为基础,按照一定的步骤将其映射为软件的模块结构。u软件设计的基本概念和原则软件设计的重要作用:软件设计处于软件工程过程中的技术核

50、心位置,它将完成待建造软件的有意义的工程表示。软件设计阶段的目标:使用很多设计方法,产生数据设计、体系结构设计、接口设计和构件设计。为软件的编程阶段提供依据。软件设计的依据:系统分析 系统设计数据字典实体关系图数据流图状态变迁图数据对象描述加工规约控制规约构件设计接口设计体系结构设计数据设计软件设计原则 设计视点不要局限在局部范围 设计是来源于分析模型的,是分析模型可跟踪的 设计应该尽量使用已有的模式,不应该总是从头开始 设计应尽可能模拟问题域的结构,缩短与现实问题的距离 设计应表现风格一致,应该有统一的规则和接口形式 设计应考虑可构造性 设计应考虑最恶略情况下的适应性,即健壮性 设计应避免考

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com