1、信息系统分析与设计1教学内容教学内容需求分析的任务、步骤;需求分析必须遵循的基需求分析的任务、步骤;需求分析必须遵循的基本原则;需求分析的方法;数据流图和数据字典的运本原则;需求分析的方法;数据流图和数据字典的运用;结构化语言、判定表和判定树的使用;用;结构化语言、判定表和判定树的使用;E-RE-R模型、模型、层次方框图、层次方框图、IPOIPO图和图和WarnierWarnier图的使用;需求分析文图的使用;需求分析文档和需求分析评审等。档和需求分析评审等。教学要求教学要求1 1熟练掌握:数据流图和数据字典的运用;结构熟练掌握:数据流图和数据字典的运用;结构化语言、判定表和判定树的使用。化语
2、言、判定表和判定树的使用。2 2一般掌握:需求分析的任务、步骤;需求分析一般掌握:需求分析的任务、步骤;需求分析必须遵循的基本原则;需求分析的方法;必须遵循的基本原则;需求分析的方法;E-RE-R模型、模型、层次方框图、层次方框图、IPOIPO图和图和WarnierWarnier图的使用。图的使用。了解:需求分析文档和需求分析评审。了解:需求分析文档和需求分析评审。 信息系统分析与设计25.1 需求分析概述需求分析概述 5.1.1 需求分析的任务和目的需求分析的任务和目的 需求分析的基本任务是要准确回答需求分析的基本任务是要准确回答“系统必须做什么?系统必须做什么?”这这个问题。个问题。 需求
3、分析的具体任务包括:需求分析的具体任务包括: 1.1.确定对系统的综合要求确定对系统的综合要求 对系统的综合要求主要包括功能要求、性能要求、运行要求对系统的综合要求主要包括功能要求、性能要求、运行要求和其他要求等四个方面。和其他要求等四个方面。 2.2.分析系统的数据要求分析系统的数据要求 由系统的信息流归纳抽象出系统要求的数据以及数据的逻辑由系统的信息流归纳抽象出系统要求的数据以及数据的逻辑关系。关系。 3.3.导出目标系统的详细逻辑模型导出目标系统的详细逻辑模型 通过以上二项分析的结果导出目标系统的详细逻辑模型。通过以上二项分析的结果导出目标系统的详细逻辑模型。 4.4.修正项目开发计划,
4、编写用户手册概要。修正项目开发计划,编写用户手册概要。 5.5.编写系统需求规格说明书,并提交审查。编写系统需求规格说明书,并提交审查。信息系统分析与设计3 5.1.2 需求分析的难点需求分析的难点 需求分析的难点主要体现在以下几个方面需求分析的难点主要体现在以下几个方面: : (1 1)问题的复杂性)问题的复杂性 (2 2)交流障碍)交流障碍 (3 3)不完备性和不一致性)不完备性和不一致性 (4 4)需求易变性)需求易变性信息系统分析与设计4 通过以下做法可以大大克服上述困难:通过以下做法可以大大克服上述困难: (1 1)项目的参与者(包括软件设计开发人员和用户等)项目的参与者(包括软件设
5、计开发人员和用户等)必须在需求分析过程中加强沟通和协调。一方面,软件设必须在需求分析过程中加强沟通和协调。一方面,软件设计人员应尽量使用通俗的语言与用户进行交流;另一方面,计人员应尽量使用通俗的语言与用户进行交流;另一方面,用户应积极主动地配合软件设计人员的工作。用户应积极主动地配合软件设计人员的工作。 (2 2)为了保证需求分析阶段能够提出完整、准确的系)为了保证需求分析阶段能够提出完整、准确的系统逻辑模型,开发人员必须花费足够的时间,全面了解用统逻辑模型,开发人员必须花费足够的时间,全面了解用户的需要,绝不能在需求模糊的情况下仓促进行系统的设户的需要,绝不能在需求模糊的情况下仓促进行系统的
6、设计和编程。根据国外的统计资料表明,在典型环境下开发计和编程。根据国外的统计资料表明,在典型环境下开发系统,需求分析阶段的工作量大约要占到整个系统开发工系统,需求分析阶段的工作量大约要占到整个系统开发工作量的作量的20%20%左右。左右。 (3 3)使用一些有效的需求分析方法(如结构化分析方)使用一些有效的需求分析方法(如结构化分析方法等)及自动化工具法等)及自动化工具( (如如CASECASE工具工具) )来进行需求分析。来进行需求分析。信息系统分析与设计5 5.1.3 需求分析的步骤需求分析的步骤 需求分析阶段的工作,大致可分为以下几个步骤:需求分析阶段的工作,大致可分为以下几个步骤: (
7、1) (1) 通过调查研究,获取用户的需求通过调查研究,获取用户的需求 可以采取以下一些调查方式:可以采取以下一些调查方式: l l 发调查表;发调查表; l l 召开调查会;召开调查会; l l 向用户领域的专家个别咨询;向用户领域的专家个别咨询; l l 实地考察;实地考察; l l 跟踪现场业务流程;跟踪现场业务流程; l l 查阅与待开发系统有关的资料;查阅与待开发系统有关的资料; l l 使用各种调查工具等。使用各种调查工具等。 (2) (2) 去除非本质因素,确定系统的真正需求。去除非本质因素,确定系统的真正需求。 (3) (3) 描述需求,建立系统的逻辑模型。描述需求,建立系统的
8、逻辑模型。 (4) (4) 书写需求规格说明书,进行需求复审。书写需求规格说明书,进行需求复审。信息系统分析与设计6 5.1.4 需求分析的原则需求分析的原则 目前存在着许多需求分析的方法,虽然各种方法都目前存在着许多需求分析的方法,虽然各种方法都有其独特的描述方式,但不论采用何种方法,需求分有其独特的描述方式,但不论采用何种方法,需求分析都必须遵循以下的基本原则:析都必须遵循以下的基本原则: (1) 能够表达和理解问题的数据域和功能域能够表达和理解问题的数据域和功能域 (2) 能够将复杂问题分解化简能够将复杂问题分解化简 (3) 能够给出系统的逻辑视图和物理视图能够给出系统的逻辑视图和物理视
9、图信息系统分析与设计7 5.1.5 需求分析方法需求分析方法 目前常见的需求分析方法有:目前常见的需求分析方法有: 1.1.功能分解方法功能分解方法 2.2.结构化分析方法结构化分析方法 3.3.信息建模方法信息建模方法 4.4.面向对象的分析面向对象的分析 信息系统分析与设计8 5.2.1 数据流图数据流图 在需求分析阶段,数据流在需求分析阶段,数据流( (也称信息流也称信息流) )是系统分是系统分析的基础。所谓数据流,形象地说就是系统中析的基础。所谓数据流,形象地说就是系统中“流动流动的数据结构的数据结构”。数据流图。数据流图(DFD(DFD,Data Flow Diagram)Data
10、Flow Diagram)是描述软件系统中数据处理过程的一种有力的图形工是描述软件系统中数据处理过程的一种有力的图形工具。数据流图从数据传递和加工的角度出发,刻画数具。数据流图从数据传递和加工的角度出发,刻画数据流从输入到输出的移动和变换过程。由于它能够清据流从输入到输出的移动和变换过程。由于它能够清晰地反映系统必须完成的逻辑功能,所以它已经成为晰地反映系统必须完成的逻辑功能,所以它已经成为需求分析阶段最常用的工具。需求分析阶段最常用的工具。 1 1数据流图的用途数据流图的用途 画数据流图的基本目的是利用它作为交流信息的画数据流图的基本目的是利用它作为交流信息的工具。数据流图的另一个主要用途是
11、作为分析和设计工具。数据流图的另一个主要用途是作为分析和设计的工具。的工具。信息系统分析与设计9 2数据流图的组成符号数据流图的组成符号 1)基本符号)基本符号 表表5-1 数据流图中的基本符号数据流图中的基本符号信息系统分析与设计10图图5-1 学生档案管理系统数据流图学生档案管理系统数据流图信息系统分析与设计11 2 2)附加符号)附加符号表表5-2 5-2 数据流图的附加表示符号数据流图的附加表示符号 信息系统分析与设计12 3数据流图的绘制数据流图的绘制 1)数据流图绘制的主要步骤)数据流图绘制的主要步骤 (1)确定系统的输入输出)确定系统的输入输出 (2)由外向里画系统的顶层数据流图
12、)由外向里画系统的顶层数据流图 (3)自顶向下逐层分解,绘出分层数据流图)自顶向下逐层分解,绘出分层数据流图图图5-2 “自顶向下,逐步分解自顶向下,逐步分解”过程示意图过程示意图 信息系统分析与设计13 2)绘制数据流图的实例)绘制数据流图的实例 假设一家工厂的采购部每天需要一张定货报表,报假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应者和编号、零件名称、定
13、货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库次要供应者。零件入库或出库称为事务,通过放在仓库中的中的CRT终端把事务报告给定货系统。当某种零件的库终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。存数量少于库存量临界值时就应该再次定货。 信息系统分析与设计14 数据流图有数据流图有4种成分:源点或终点、加工、数据存储种成分:源点或终点、加工、数据存储和数据流。因此,第一步可以从问题描述中提取数据流和数据流。因此,第一步可以从问题描述中提取数据流图的图的4种成分。种成分。信息系统分析与设计15 对于上述的定货系统可以画出如图对于上述
14、的定货系统可以画出如图5-35-3所示的基本所示的基本系统模型。系统模型。图图5-3 5-3 定货系统的顶层(定货系统的顶层(0 0层)数据流图层)数据流图信息系统分析与设计16 图图5-35-3毕竟太抽象了,从这张图上对定货系统所能毕竟太抽象了,从这张图上对定货系统所能了解到的信息非常有限。下一步应该把基本系统模型了解到的信息非常有限。下一步应该把基本系统模型细化,描绘系统的主要功能。从表细化,描绘系统的主要功能。从表5-35-3可知,可知,“产生产生报表报表”和和“处理事务处理事务”是系统必须完成的两个主要功是系统必须完成的两个主要功能,它们将代替图能,它们将代替图5-35-3中的中的“定
15、货系统定货系统”,如图,如图5-45-4所所示。示。 图5-4 定货系统的功能级第1层数据流图 信息系统分析与设计17 接下来应该对功能级数据流图中描绘的系统主要接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。功能进一步细化。图图5-5 5-5 把处理事务的功能进一步分解后的第把处理事务的功能进一步分解后的第2 2层数据流图层数据流图信息系统分析与设计18 3 3)细化数据流图的实例)细化数据流图的实例 可以看得出来在绘制可以看得出来在绘制数据流图时,分层细化数据数据流图时,分层细化数据流图最为关键,下面再以某单位工资管理系统为例,流图最为关键,下面再以某单位工资管理系统为例,来强化
16、一下如何细化数据流图的过程。某单位财务部来强化一下如何细化数据流图的过程。某单位财务部门要求人事部门在每月月初提供所有职工上个月的出门要求人事部门在每月月初提供所有职工上个月的出勤情况和业绩情况,要求后勤部门提供所有职工上个勤情况和业绩情况,要求后勤部门提供所有职工上个月的水电使用及扣款情况,再将所有数据交给工资计月的水电使用及扣款情况,再将所有数据交给工资计算系统去处理,得到所有职工上个月的工资情况,并算系统去处理,得到所有职工上个月的工资情况,并将工资转给相应的银行进行发放。请根据上述情况画将工资转给相应的银行进行发放。请根据上述情况画出对应的数据流图。出对应的数据流图。 信息系统分析与设
17、计191 1)建立顶层数据流图)建立顶层数据流图图图5-6 5-6 工资计算系统的顶层工资计算系统的顶层(0(0层层) )数据流图数据流图信息系统分析与设计20 2)数据流图的分层细化)数据流图的分层细化图图5-7 工资计算系统第一层数据流图工资计算系统第一层数据流图信息系统分析与设计21 对第一层数据流图中的加工继续分解,则可得到对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图第二层数据流图,如图5-85-8所示。所示。 (a) (a) “计算工资计算工资”子数据流图子数据流图 图图5-8 5-8 工资计算系统的第二层数据流图工资计算系统的第二层数据流图 信息系统分析与设计22
18、 对第一层数据流图中的加工继续分解,则可得到对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图第二层数据流图,如图5-85-8所示。所示。 (b) (b)“工资转存工资转存”子数据流图子数据流图 图图5-8 5-8 工资计算系统的第二层数据流图工资计算系统的第二层数据流图 信息系统分析与设计23 若数据流图中的加工还可继续细化,则重复以上分解过程,直到获若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数据流图如图得系统的底层数据流图。工资计算系统的第三层数据流图如图5-95-9所示。所示。 图图5-9 5-9 工资计算系统的第三层
19、数据流图工资计算系统的第三层数据流图 信息系统分析与设计24 4 4绘制数据流图的原则绘制数据流图的原则 (1) (1) 任何一个数据流至少有一端是处理框。任何一个数据流至少有一端是处理框。 (2) (2) 数据流图中各构成元素的名称必须具有明确的含义且能数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。具体来说,命名时要注意:够代表对应元素的内容或功能。具体来说,命名时要注意: 名称要反映被命名的成分的真实和全部的意义,避免使名称要反映被命名的成分的真实和全部的意义,避免使用不反映实际内容的空洞词汇。用不反映实际内容的空洞词汇。 名称要意义明确、易理解、无歧义,加工
20、的名称一般以名称要意义明确、易理解、无歧义,加工的名称一般以动词动词+ +宾语或名词性定语宾语或名词性定语+ +动名词为宜。动名词为宜。 进出数据存储环节的数据流如内容和存贮者的数据相同,进出数据存储环节的数据流如内容和存贮者的数据相同,可采用同一名称。可采用同一名称。 (3) (3) 对数据流图中某个加工进行细化生成的下层数据流图,对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的子图。应保证分层数据流图中任意对应的父图和称为其上层图的子图。应保证分层数据流图中任意对应的父图和子图的输入子图的输入/ /输出数据保持一致。输出数据保持一致。 (4) (4) 在数据流图中,应按照层次
21、给每个加工编号,用于表明在数据流图中,应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。编号的规则该加工所处的层次及上、下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第一层加工的编号为为:顶层加工不用编号;第一层加工的编号为1 1,2 2,n n;第;第二层加工的编号为二层加工的编号为1.11.1,1.21.2,2.12.1,n.1n.1,n.2n.2,等,等,依次类推。依次类推。信息系统分析与设计25 4 4绘制数据流图的原则绘制数据流图的原则 (4) (4) 在数据流图中,应按照层次给每个加工编号,用于表明在数据流图中,应按照层次给每个加工编号,用于
22、表明该加工所处的层次及上、下层的父图与子图的关系。编号的规则该加工所处的层次及上、下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第一层加工的编号为为:顶层加工不用编号;第一层加工的编号为1 1,2 2,n n;第;第二层加工的编号为二层加工的编号为1.11.1,1.21.2,2.12.1,n.1n.1,n.2n.2,等,等,依次类推。依次类推。 (5) (5) 在一套数据流图中的任何一个数据存储,必定有流入的在一套数据流图中的任何一个数据存储,必定有流入的数据流和流出的数据流,即写文件和读文件,缺少任何一种都意数据流和流出的数据流,即写文件和读文件,缺少任何一种都意味着遗漏某些加工。
23、味着遗漏某些加工。 (6) (6) 数据流图只能由四种基本符号组成,是实际业务流程的数据流图只能由四种基本符号组成,是实际业务流程的客观映象,用于说明系统应该客观映象,用于说明系统应该“做什么做什么”,而不需要指明系统,而不需要指明系统“如何做如何做”。 (7) (7) 数据流图的分解速度应保持适中。通常一个加工每次可数据流图的分解速度应保持适中。通常一个加工每次可分解为分解为2 24 4个子加工,最多不要超过七个,因为过快的分解会增个子加工,最多不要超过七个,因为过快的分解会增加用户对系统模型理解的难度。加用户对系统模型理解的难度。 (8) (8) 数据流图绘制过程,就是系统的逻辑模型的形成
24、过程,数据流图绘制过程,就是系统的逻辑模型的形成过程,必须始终与用户密切接触,详细讨论,不断修改;另还要和其他必须始终与用户密切接触,详细讨论,不断修改;另还要和其他系统建设者共同商讨以求一致意见。系统建设者共同商讨以求一致意见。 信息系统分析与设计26 5 5数据流图的局限性数据流图的局限性 (1 1)难以在数据流图上标识出数据流、数据存储,)难以在数据流图上标识出数据流、数据存储,加工和外部项的具体内容。加工和外部项的具体内容。 (2 2)不能反映系统中的决策与控制过程。)不能反映系统中的决策与控制过程。 (3 3)难以对系统中人)难以对系统中人- -机交互过程以及信息的反馈机交互过程以及
25、信息的反馈与循环处理进行描述。与循环处理进行描述。信息系统分析与设计27 5.2.2 数据字典数据字典 没有数据字典准确地描述数据流图中使用的数据,数据流图没有数据字典准确地描述数据流图中使用的数据,数据流图就不严格。反之,没有数据流图,数据字典也难于发挥作用。只就不严格。反之,没有数据流图,数据字典也难于发挥作用。只有把数据流图和对数据流图中每个数据的精确定义放在一起,才有把数据流图和对数据流图中每个数据的精确定义放在一起,才能共同构成系统的规格说明。能共同构成系统的规格说明。 1数据字典的作用数据字典的作用 数据字典最重要的用途是作为分析阶段的工具。在结构化分数据字典最重要的用途是作为分析
26、阶段的工具。在结构化分析中,数据词典的作用是给数据流图上每个成分给以定义和说明。析中,数据词典的作用是给数据流图上每个成分给以定义和说明。换句话说,数据流图上所有成分的定义和解释的文字集合就是数换句话说,数据流图上所有成分的定义和解释的文字集合就是数据词典,而且在数据字典中建立的一组严密一致的定义很有助于据词典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信。如果要求所有开发人员都根据公改进分析员和用户之间的通信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免很多麻烦的接口问共的数据字典描述数据和设计模块,则能避免很多麻烦的接口问题;数据字典中
27、包含的每个数据元素的控制信息是有价值的,因题;数据字典中包含的每个数据元素的控制信息是有价值的,因为列出了使用一个给定的数据元素的所有程序(或模块),所以为列出了使用一个给定的数据元素的所有程序(或模块),所以很容易估计改变一个数据将产生的影响,并且能对所有受影响的很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块做出相应的改变;最后,数据字典是开发数据库的第程序或模块做出相应的改变;最后,数据字典是开发数据库的第一步,而且是非常有价值的一步。一步,而且是非常有价值的一步。 信息系统分析与设计28 2数据字典的基本符号数据字典的基本符号 如表如表5-4所示给出了数据字典中的基本
28、符号和其含所示给出了数据字典中的基本符号和其含义。义。表表5-4 数据字典中的基本符号及其含义数据字典中的基本符号及其含义信息系统分析与设计29 3数据字典中的条目及说明格式数据字典中的条目及说明格式 数据字典是关于数据流图中各种成分详细定义的数据字典是关于数据流图中各种成分详细定义的信息集合,可将其按照说明对象的类型划分为四类条信息集合,可将其按照说明对象的类型划分为四类条目,分别为数据流条目、数据项条目、数据文件条目目,分别为数据流条目、数据项条目、数据文件条目和数据加工条目。和数据加工条目。 1)数据流条目)数据流条目表表5-5 数据流条目例子数据流条目例子出勤表出勤表信息系统分析与设计
29、30 2)数据项条目)数据项条目 表表5-6 数据项条目例子数据项条目例子职工号职工号信息系统分析与设计31 3)数据文件条目)数据文件条目 表表5-7 数据文件条目数据文件条目职工工资档案文件职工工资档案文件信息系统分析与设计32 4)数据加工条目)数据加工条目 表表5-8 数据加工条目数据加工条目计算应发工资计算应发工资 信息系统分析与设计33 4. 建立数据字典的原则建立数据字典的原则 建立数据字典时应遵守的原则有:建立数据字典时应遵守的原则有: (1) 对数据流图上各种成分的定义必须严密、精确、对数据流图上各种成分的定义必须严密、精确、易理解、唯一,不能存在二义性。易理解、唯一,不能存
30、在二义性。 (2) 书写格式应简洁且严格,风格统一、文字精炼,书写格式应简洁且严格,风格统一、文字精炼,数字与符号正确。数字与符号正确。 (3) 命名、编号与数据流图一致。命名、编号与数据流图一致。 (4) 符合一致性与完整性的要求,对数据流图上的符合一致性与完整性的要求,对数据流图上的成分定义与说明无遗漏项。成分定义与说明无遗漏项。 (5) 应可方便地实现对所需条目的按名查阅。应可方便地实现对所需条目的按名查阅。 (6) 应便于修改和更新。应便于修改和更新。 (7) 没有冗余。没有冗余。信息系统分析与设计34 5建立数据字典的方法建立数据字典的方法 建立数据字典的常用方法有建立数据字典的常用
31、方法有2种:手工建立和自动种:手工建立和自动建立。建立。 1)手工建立)手工建立 手工建立数据字典的内容并用卡片形式存放,其步手工建立数据字典的内容并用卡片形式存放,其步骤如下:骤如下: (1) 按按 4 类条目规范的格式印制卡片;类条目规范的格式印制卡片; (2) 在卡片上分别填写各类条目的内容;在卡片上分别填写各类条目的内容; (3) 先按图号顺序排列,同一图号的所有条目按数先按图号顺序排列,同一图号的所有条目按数据流、据流、 数据项、数据文件和数据加工的顺序排列;数据项、数据文件和数据加工的顺序排列; (4) 同一图号中的同一类条目(如数据流卡片)可同一图号中的同一类条目(如数据流卡片)
32、可按名字的字典顺序存放,加工一般按编号顺序存放;按名字的字典顺序存放,加工一般按编号顺序存放; (5) 同一成分在父图和子图都出现时,则只在父图同一成分在父图和子图都出现时,则只在父图上定义;上定义; (6) 建立索引目录。建立索引目录。 信息系统分析与设计35 2)自动建立)自动建立 自动建立主要是指利用计算机辅助建立并维护数据字典,其方法自动建立主要是指利用计算机辅助建立并维护数据字典,其方法有有2种:种: (1) 编制一个编制一个“数据字典生成与管理程序数据字典生成与管理程序”,可以按规定的格式,可以按规定的格式输入各类条目,能对字典条目增、删、改,能打印出各类查询报告输入各类条目,能对
33、字典条目增、删、改,能打印出各类查询报告和清单,能进行完整性、一致性检查等。美国密执安大学研究的和清单,能进行完整性、一致性检查等。美国密执安大学研究的PSL/PSA就是这样一个系统。就是这样一个系统。 (2) 利用已有的数据库开发工具,针对数据字典建立一个数据库利用已有的数据库开发工具,针对数据字典建立一个数据库文件,可将数据流、数据项、数据文件和加工分别以矩阵表的形式文件,可将数据流、数据项、数据文件和加工分别以矩阵表的形式来描述各个表项的内容,如表来描述各个表项的内容,如表5-9所示。所示。 表表5-9 数据流的矩阵表数据流的矩阵表 然后使用开发工具建成数据库文件,便于修改、查询,并可随
34、然后使用开发工具建成数据库文件,便于修改、查询,并可随时打印出来。另外,时打印出来。另外, 有的数据库管理系统本身包含一个数据字典子有的数据库管理系统本身包含一个数据字典子系统,建库时能自动生成数据字典。系统,建库时能自动生成数据字典。 自动建立比手工建立数据字典有更多的优点,能保证数据的一自动建立比手工建立数据字典有更多的优点,能保证数据的一致性和完整性,使用也方便,但增加了技术难度与机器开销。致性和完整性,使用也方便,但增加了技术难度与机器开销。 信息系统分析与设计36 6数据词典的编写实例数据词典的编写实例 1)用数据字典来表达下列的存折格式,存折格式)用数据字典来表达下列的存折格式,存
35、折格式如图如图5-10所示,对应的数据字典所示,对应的数据字典如表如表5-10所示。所示。图图5-10 存折格式存折格式信息系统分析与设计37 表表5-10 数据字典实例数据字典实例存折格式的表达存折格式的表达 信息系统分析与设计38 2)用数据字典简单表达前面定货系统中的)用数据字典简单表达前面定货系统中的“定货定货报表报表”数据流,如表数据流,如表5-11所示。所示。 表表5-11数据字典实例数据字典实例定货报表定货报表的表达的表达 信息系统分析与设计39 5.2.3 加工逻辑的描述加工逻辑的描述 对数据流图的每一个基本加工,必须有一个基本对数据流图的每一个基本加工,必须有一个基本加工逻辑
36、说明。基本加工逻辑说明必须描述基本加工加工逻辑说明。基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则;加如何把输入数据流变换为输出数据流的加工规则;加工逻辑说明必须描述实现加工的策略而不是实现加工工逻辑说明必须描述实现加工的策略而不是实现加工的细节;加工逻辑说明中包含的信息应是充足的、完的细节;加工逻辑说明中包含的信息应是充足的、完备的、有用的和无冗余的。用于写加工逻辑说明的工备的、有用的和无冗余的。用于写加工逻辑说明的工具有结构化语言、判定表及判定树三种。具有结构化语言、判定表及判定树三种。信息系统分析与设计40 1. 结构化语言结构化语言 结构化语言是一种介于自然
37、语言(英语或汉语)和结构化语言是一种介于自然语言(英语或汉语)和形式化语言之间的半形式化语言,形式化语言精确,但形式化语言之间的半形式化语言,形式化语言精确,但不易被理解,自然语言易理解,但它不精确,可能产生不易被理解,自然语言易理解,但它不精确,可能产生二义性。结构化语言取二义性。结构化语言取“长长”补补“短短”,它是在自然语,它是在自然语言基础上加了一些限定,使用有限的词汇和有限的语句言基础上加了一些限定,使用有限的词汇和有限的语句来描述加工逻辑,即具有结构化程序的清晰易读的优点,来描述加工逻辑,即具有结构化程序的清晰易读的优点,又具有自然语言的灵活性,不受程序语言那么严格的语又具有自然语
38、言的灵活性,不受程序语言那么严格的语法约束。结构化语言的结构可分成外层和内层两层。法约束。结构化语言的结构可分成外层和内层两层。 例如,一个商店业务处理系统中对例如,一个商店业务处理系统中对“检查发货单检查发货单”这个功能有如下要求:如果发货单金额超过这个功能有如下要求:如果发货单金额超过$500,且以,且以往有欠款,欠款日期超过了往有欠款,欠款日期超过了60天,则在偿还欠款前不予天,则在偿还欠款前不予批准发货;如果发货单金额未超过批准发货;如果发货单金额未超过$500,且以往有欠款,且以往有欠款,欠款日期超过了欠款日期超过了60天,则批准发货,打印批准书、发货天,则批准发货,打印批准书、发货
39、单和一份赊欠报告;不论发货单金额是否超过单和一份赊欠报告;不论发货单金额是否超过$500,如,如果欠款日期未超过果欠款日期未超过60天,都批准发货,打印批准书和发天,都批准发货,打印批准书和发货单。货单。 信息系统分析与设计41用结构化语言描述如下:用结构化语言描述如下:if 发货单金额超过发货单金额超过$500 then if 欠款超过了欠款超过了60天天 then 在偿还欠款前不予批准在偿还欠款前不予批准 else (欠款未超期)(欠款未超期) 发批准书,发货单发批准书,发货单 else (发货单金额未超过(发货单金额未超过$500) if 欠款超过欠款超过60天天 then 发批准书,发
40、货单及赊欠报告发批准书,发货单及赊欠报告 else (欠款未超期)(欠款未超期) 发批准书,发货单发批准书,发货单 信息系统分析与设计42 2. 判定表判定表 当某一加工的实现需要同时依赖多个逻辑条件的取值时,对加当某一加工的实现需要同时依赖多个逻辑条件的取值时,对加工逻辑的描述就会变得较为复杂,很难采用结构化语言清楚地将其工逻辑的描述就会变得较为复杂,很难采用结构化语言清楚地将其描述出来,而采用判定表则能够完整且清晰地表达复杂的条件组合描述出来,而采用判定表则能够完整且清晰地表达复杂的条件组合与由此产生的动作之间的对应关系。与由此产生的动作之间的对应关系。 1)判定表的组成)判定表的组成 判
41、定表的一般格式如表判定表的一般格式如表5-12所示,通常一张判定表由四部分组所示,通常一张判定表由四部分组成。成。 (1)左上部列出所有条件;)左上部列出所有条件; (2)左下部是所有可能做的动作;)左下部是所有可能做的动作; (3)右上部为各种可能组合条件,其中每一列表示一种可能组)右上部为各种可能组合条件,其中每一列表示一种可能组合;合; (4)右下部的每一列是和每一种条件组合所对应的应做的动作。)右下部的每一列是和每一种条件组合所对应的应做的动作。表表5-12 判定表的一般格式判定表的一般格式信息系统分析与设计43 2)绘制判定表的实例)绘制判定表的实例 某数据流图中有一个某数据流图中有
42、一个“确定保险类别确定保险类别”的加工,的加工,指的是申请汽车驾驶保险时,要根据申请者的情况确指的是申请汽车驾驶保险时,要根据申请者的情况确定不同的保险类别。加工逻辑为:如果申请者的年龄定不同的保险类别。加工逻辑为:如果申请者的年龄在在21岁以下,要额外收费;如果申请者是岁以下,要额外收费;如果申请者是21岁以上岁以上并是并是26岁以下的女性,适用于岁以下的女性,适用于A类保险;如果申请者类保险;如果申请者是是26岁以下的已婚男性,或者是岁以下的已婚男性,或者是26岁以上的男性,岁以上的男性,适用于适用于B类保险;如果申请者是类保险;如果申请者是21岁以下的女性或是岁以下的女性或是26岁以下的
43、单身男性,适用于岁以下的单身男性,适用于C类保险。除此之外的类保险。除此之外的其他申请者都适用于其他申请者都适用于A类保险。类保险。 信息系统分析与设计44 构造一张判定表可采取以下步骤:构造一张判定表可采取以下步骤: (1)提取问题中的条件:条件是年龄、性别及婚)提取问题中的条件:条件是年龄、性别及婚姻。姻。 (2)标出条件的取值:为绘制判定表方便,用符)标出条件的取值:为绘制判定表方便,用符号代替条件的取值,如表号代替条件的取值,如表5-13所示。所示。 (3) 计算所有条件的组合数计算所有条件的组合数N:N=mi=322=12。 (4)提取可能采取的动作或措施:适用于)提取可能采取的动作
44、或措施:适用于A类保类保险、险、B类保险、类保险、C类保险和额外收费。类保险和额外收费。 (5)制作判定表:如)制作判定表:如表表5-14所示。所示。 (6)完善判定表。)完善判定表。信息系统分析与设计45表表5-13 条件取值表条件取值表表表5-14 判定表判定表信息系统分析与设计46 3)判定表的优缺点)判定表的优缺点 判定表的优点:采用表格化的形式,适于表达含判定表的优点:采用表格化的形式,适于表达含有复杂判断的加工逻辑;能够简洁,无二异性的描述有复杂判断的加工逻辑;能够简洁,无二异性的描述所有的处理规则。所有的处理规则。 判定表的缺点:只能表示静态逻辑,不能作为通判定表的缺点:只能表示
45、静态逻辑,不能作为通用的设计工具;判定表虽然能清晰地表示复杂的条件用的设计工具;判定表虽然能清晰地表示复杂的条件组合与应做的动作之间的对应关系,但其含义却不是组合与应做的动作之间的对应关系,但其含义却不是一眼就能看出来的,初次接触这种工具的人要理解它一眼就能看出来的,初次接触这种工具的人要理解它需要有一个简短的学习过程;此外,当数据元素的值需要有一个简短的学习过程;此外,当数据元素的值多于两个时,判定表的简洁程度也将下降。多于两个时,判定表的简洁程度也将下降。信息系统分析与设计47 3. 判定树判定树 判定树是判定表的变种,也能清晰地表示复杂的判定树是判定表的变种,也能清晰地表示复杂的条件组合
46、与应做的动作之间的对应关系。条件组合与应做的动作之间的对应关系。 1)判定树的实例)判定树的实例图图5-12 描述描述“确定保险类别确定保险类别”功能的判定树功能的判定树信息系统分析与设计48 2)判定树的优缺点)判定树的优缺点 判定树的优点是形式简单、直观,不需要任何说判定树的优点是形式简单、直观,不需要任何说明,一眼就可以看出其含义,因此易于掌握和使用。明,一眼就可以看出其含义,因此易于掌握和使用。 判定树的缺点是判定树虽然形式上比判定表直观,判定树的缺点是判定树虽然形式上比判定表直观,但逻辑上没有判定表严格,用户在使用判定树时容易但逻辑上没有判定表严格,用户在使用判定树时容易造成个别条件
47、的遗漏;与判定表一样判定树只能表示造成个别条件的遗漏;与判定表一样判定树只能表示静态逻辑,不能作为通用的设计工具。静态逻辑,不能作为通用的设计工具。信息系统分析与设计49 4对加工逻辑描述工具的选择对加工逻辑描述工具的选择 加工逻辑说明是结构化分析方法的一个组成部分,加工逻辑说明是结构化分析方法的一个组成部分,上述三种描述加工逻辑的工具各有优缺点,对于顺序上述三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用结构化语言描述;对于存执行和循环执行的动作,用结构化语言描述;对于存在多个条件复杂组合的判断问题,用判定表和判定树在多个条件复杂组合的判断问题,用判定表和判定树描述。判定树
48、较判定表直观易读,判定表进行逻辑验描述。判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到,可将两证较严格,能把所有的可能性全部都考虑到,可将两种工具结合起来,先用判定表作底稿,在此基础上产种工具结合起来,先用判定表作底稿,在此基础上产生判定树。生判定树。字典是开发数据库的第一步,而且是非常字典是开发数据库的第一步,而且是非常有价值的一步。有价值的一步。 信息系统分析与设计50 5.2.4 需求分析的其他工具需求分析的其他工具 除了上述工具之外,需求分析阶段还可能用到其除了上述工具之外,需求分析阶段还可能用到其他一些分析工具,包括他一些分析工具,包括E-R模型、层次
49、方框图、模型、层次方框图、IPO图图和和Warnier图等。图等。 1E-R模型模型 1)E-R模型的组成模型的组成 E-R模型由实体、联系和属性三个基本成分组成模型由实体、联系和属性三个基本成分组成 。 2)E-R模型中的基本符号模型中的基本符号 E-R模型中的基本符号及含义如表模型中的基本符号及含义如表5-15所示。所示。 信息系统分析与设计51 表表5-15 E-R模型中的基本符号模型中的基本符号信息系统分析与设计52 3)E-R模型的实例模型的实例 图图5-13 某校教学管理的某校教学管理的E-R模型模型信息系统分析与设计53 2层次方框图层次方框图 层次方框图通过树型结构的一系列多层
50、次的矩形层次方框图通过树型结构的一系列多层次的矩形框描述复杂数据的层次结构。例如,某单位职工的实框描述复杂数据的层次结构。例如,某单位职工的实发工资由应发工资和扣款两部分组成,每部分又可进发工资由应发工资和扣款两部分组成,每部分又可进一步细分。如应发工资又可分为基本工资和奖金;基一步细分。如应发工资又可分为基本工资和奖金;基本工资又可分为国家工资、津贴、补贴;奖金也可分本工资又可分为国家工资、津贴、补贴;奖金也可分为出勤奖和业绩奖;津贴和补贴还可以再进一步地细为出勤奖和业绩奖;津贴和补贴还可以再进一步地细分。用层次方框图表达的实发工资概念如图分。用层次方框图表达的实发工资概念如图5-14所示。