1、管理信息系统管理信息系统内容框架内容框架12.1 12.1 组织信息系统建设的策略组织信息系统建设的策略12.2 12.2 信息系统开发方法信息系统开发方法12.3 12.3 系统分析系统分析12.4 12.4 系统设计系统设计12.5 12.5 系统实施系统实施前言前言12.1 12.1 组织信息系统建设的策略组织信息系统建设的策略 系统定制系统定制:管理软件为核心的企业信息化。:管理软件为核心的企业信息化。软件包软件包:预先编制好的、能完成一定功能的、:预先编制好的、能完成一定功能的、供出售或出租的成套软件系统。供出售或出租的成套软件系统。信息系统外包信息系统外包:将一个企业的计算中心的运
2、营、:将一个企业的计算中心的运营、远程通信网络管理和应用软件的开发交由外部远程通信网络管理和应用软件的开发交由外部专业公司或机构来完成。专业公司或机构来完成。最终用户开发最终用户开发:一些涉及面小,功能较简单的:一些涉及面小,功能较简单的系统。系统。12.2 12.2 信息系统开发方法信息系统开发方法 信息系统开发信息系统开发:针对组织的问题和机会而:针对组织的问题和机会而建立一个信息系统的全部活动。建立一个信息系统的全部活动。一般包括一般包括系统分析系统分析、系统设计系统设计、编程编程、测测试试、转换转换和和使用维护使用维护。这些活动通常是按。这些活动通常是按顺序完成的。顺序完成的。结构化方
3、法的基本思路结构化方法的基本思路 结构化结构化:用一组规范的步骤、准则和工:用一组规范的步骤、准则和工具来进行某项工作。具来进行某项工作。把整个系统开发过程分成若干阶段,每把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用一个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的产个或多个任务,形成符合给定规范的产品(成果)。品(成果)。结构化方法的主要原则结构化方法的主要原则1.1.用户参与的原则用户参与的原则2.2.严格区分工作阶段,严格区分工作阶段,“先逻辑,后物先逻辑,后物理理”的原则的原则3
4、.3.结构化、模块化、自顶向下进行开发结构化、模块化、自顶向下进行开发的原则的原则4.4.充分预料可能发生的变化充分预料可能发生的变化5.5.工作文件的标准化和文献化工作文件的标准化和文献化结构化方法的基本思路与主要原则结构化方法的基本思路与主要原则开发阶段开发阶段主要工作主要工作文档资料文档资料系统调查与规划系统调查与规划初步调查拟定开发计初步调查拟定开发计划划可行性研究报告可行性研究报告系统分析系统分析数据流程、数据及处数据流程、数据及处理分析理分析系统分析说明书系统分析说明书系统设计系统设计模块设计、数据库设模块设计、数据库设计计系统设计说明书系统设计说明书系统实施系统实施编制程序编制程
5、序流程及用户使用手册流程及用户使用手册系统测试与维护系统测试与维护测试、维护测试、维护系统测试报告系统测试报告表表12-1 12-1 信息系统开发各阶段的名称、工作及文档信息系统开发各阶段的名称、工作及文档12.2.2 12.2.2 原型法原型法 原型法:可以逐步改进成可运行系统的模型。原型法:可以逐步改进成可运行系统的模型。它与结构化开发方法的根本区别是:它与结构化开发方法的根本区别是:面向目标面向目标 四个阶段:四个阶段:(1 1)确定用户的最初要求)确定用户的最初要求(2 2)初建原型)初建原型(3 3)用户、开发人员使用并评价原型)用户、开发人员使用并评价原型(4 4)开发人员修改原型
6、)开发人员修改原型辅助活动辅助活动原型法原型法结构化生命结构化生命周期法周期法开发路径开发路径循环迭代型循环迭代型严格顺序型严格顺序型用户参与程序用户参与程序高高低低开发过程的可见性开发过程的可见性好好差差对功能需求或环境变化的适应性对功能需求或环境变化的适应性较好较好差差用户的信息反馈用户的信息反馈早早迟迟对开发环境,软件工具的要求对开发环境,软件工具的要求高高低低对开发过程的管理和控制对开发过程的管理和控制较困难较困难迟迟稳定数量稳定数量较少较少多多表表12-2 12-2 原型法与结构生命周期法的比较原型法与结构生命周期法的比较12.3 12.3 系统分析系统分析 系统分析阶段的主要活动有
7、:系统分析阶段的主要活动有:(1 1)系统初步调查)系统初步调查(2 2)可行性研究)可行性研究(3 3)系统详细调查)系统详细调查(4 4)新系统逻辑方案的提出)新系统逻辑方案的提出12.3.1 12.3.1 可行性分析可行性分析 系统分析人员对用户提出的各种问题和初始系统分析人员对用户提出的各种问题和初始要求,对问题进行识别,通过可行性分析确要求,对问题进行识别,通过可行性分析确定开发系统的必要性。定开发系统的必要性。1.1.可行性分析的任务可行性分析的任务:明确应用项目的开发:明确应用项目的开发必要性和可行性。必要性和可行性。a a)必要性必要性:来自实现开发任务的迫切性。:来自实现开发
8、任务的迫切性。b b)可行性可行性:取决于实现应用系统的资源和条:取决于实现应用系统的资源和条件。件。可行性分析的内容可行性分析的内容(1 1)管理可行性管理可行性:管理人员对开发应用:管理人员对开发应用项目的态度和管理方面的条件。项目的态度和管理方面的条件。必须有主管领导的支持:一把手工程必须有主管领导的支持:一把手工程 管理方面的条件主要是指:管理方面的条件主要是指:(a a)管理方法是否科学)管理方法是否科学(b b)相应管理制度改革的时机是否成熟)相应管理制度改革的时机是否成熟(c c)规章制度是否齐全)规章制度是否齐全(d d)原始数据是否正确)原始数据是否正确(2 2)技术可行性技
9、术可行性 分析当前的软硬件技术能否满足对系统提分析当前的软硬件技术能否满足对系统提出的要求(如增加存储能力,实现通信功出的要求(如增加存储能力,实现通信功能,提高处理速度)能,提高处理速度)开发人员的水平开发人员的水平(3 3)经济可行性经济可行性:主要是预估费用支出和:主要是预估费用支出和对项目的经济效益进行评价。对项目的经济效益进行评价。在费用支出方面,不仅要考虑主机费用,而且在费用支出方面,不仅要考虑主机费用,而且要计算外围设备费用、软件开发费用、人员培要计算外围设备费用、软件开发费用、人员培训费用、将来系统投入运行后的经常性费用(训费用、将来系统投入运行后的经常性费用(如管理、维护费用
10、等)和设备费用。如管理、维护费用等)和设备费用。经济效益从两方面考虑:经济效益从两方面考虑:(1 1)显性效益显性效益:如加快流动资金周转,减少资金:如加快流动资金周转,减少资金积压等。积压等。(2 2)隐性效益隐性效益:如提供更多高质量的信息,提高:如提供更多高质量的信息,提高获取信息的速度。获取信息的速度。可行性分析报告可行性分析报告 可行性分析的结果以报告的形式编写出来,内可行性分析的结果以报告的形式编写出来,内容包括:容包括:(1 1)系统简述)系统简述(2 2)项目目标)项目目标(3 3)所需资源、预算和期望效益)所需资源、预算和期望效益(4 4)对项目的可行性的结论)对项目的可行性
11、的结论 结论应明确以下内容之一结论应明确以下内容之一:(1 1)可以立即开发)可以立即开发(2 2)改进原系统)改进原系统(3 3)目前不可行,或者需推迟到某些条件具备后)目前不可行,或者需推迟到某些条件具备后再进行。再进行。12.3.2 12.3.2 详细调查详细调查 调查对象:现行系统(包括手工系统和已采用计算调查对象:现行系统(包括手工系统和已采用计算机的管理信息系统)机的管理信息系统)目的:目的:完全掌握现行系统的现状,发现问题和薄弱完全掌握现行系统的现状,发现问题和薄弱环节,收集资料,为下一步的系统分析和提出新系环节,收集资料,为下一步的系统分析和提出新系统的逻辑设计做好准备。统的逻
12、辑设计做好准备。遵循的原则:用户参与。遵循的原则:用户参与。即由使用部门的业务人员、即由使用部门的业务人员、主管人员和设计部门的系统分析人员、系统设计人主管人员和设计部门的系统分析人员、系统设计人员共同进行。员共同进行。调查的方法:调查的方法:召开调查会、访问、发调查表、参加召开调查会、访问、发调查表、参加业务实践等。业务实践等。为了便于分析人员和管理人员之间进行业务交流和为了便于分析人员和管理人员之间进行业务交流和分析问题,在调查过程中应尽量使用各种形象、直分析问题,在调查过程中应尽量使用各种形象、直观的图表工具。观的图表工具。通常用组织机构图描述组织的结构;通常用组织机构图描述组织的结构;
13、用业务流程图和表格分配图描述管理业务状况;用业务流程图和表格分配图描述管理业务状况;用数据流程图描述和分析数据、数据流程及各项功用数据流程图描述和分析数据、数据流程及各项功能;能;用判断树和决策表等描述处理功能和决策模型。用判断树和决策表等描述处理功能和决策模型。调查范围:调查范围:围绕组织内部信息流所涉及领域的各个围绕组织内部信息流所涉及领域的各个方面,应该包括企业的生产、经营、管理等。方面,应该包括企业的生产、经营、管理等。(1)组织机构图:)组织机构图:反映组织内部之间隶属关系的反映组织内部之间隶属关系的树状结构图。树状结构图。(2)组织)组织/业务关系图:业务关系图:反映组织各部分在承
14、担业反映组织各部分在承担业务时的关系。务时的关系。(3)业务流程图()业务流程图(Transaction Flow Diagram,TFD):):用根据系统调查表中所得到的资料和问卷调查的结用根据系统调查表中所得到的资料和问卷调查的结果,按业务实际处理过程将它们绘制在同一张图上。果,按业务实际处理过程将它们绘制在同一张图上。采用一些规定的符号及连线来表示某个具体业务处采用一些规定的符号及连线来表示某个具体业务处理过程,基本上是按照业务的实际处理步骤和过程理过程,基本上是按照业务的实际处理步骤和过程绘制。绘制。业务流程图业务流程图 业务流程图是业务流程图是直观描述现系统业务处理直观描述现系统业务
15、处理由开始到结束的整个过程的非结构化图型由开始到结束的整个过程的非结构化图型工具工具,它可以描述一个系统的业务,也可,它可以描述一个系统的业务,也可以描述一项具体业务的处理过程。以描述一项具体业务的处理过程。它是系统分析员描述现系统的最好的工它是系统分析员描述现系统的最好的工具,是系统分析员与企业管理人员交流的具,是系统分析员与企业管理人员交流的有力工具。有力工具。外部外部实体实体表示单位或个人,圈内写明单位或个表示单位或个人,圈内写明单位或个人职务的名称。人职务的名称。表格表格表示输入或输出的报表、计划、单据表示输入或输出的报表、计划、单据、报告等,框内写明其名称。、报告等,框内写明其名称。
16、存储存储表示各种帐目、规范、定额手册、报表示各种帐目、规范、定额手册、报表积累等大量存档信息。符号内部写表积累等大量存档信息。符号内部写明其名称。明其名称。业务业务处理处理框内写明处理的名称。框内写明处理的名称。流向线流向线表示信息或处理的流向。表示信息或处理的流向。业务流程图使用的符号业务流程图使用的符号例题例题 根据下列关于学生成绩管理业务的需求陈述,完成根据下列关于学生成绩管理业务的需求陈述,完成相应任务:相应任务:(1)(1)填报成绩填报成绩:各科任课教师将自己所担任的课程的各科任课教师将自己所担任的课程的考试成绩填写成考试成绩填写成“成绩报告单成绩报告单”(简称成绩单简称成绩单),报
17、,报送到教务科。教务科的管理员将成绩单的数据登记送到教务科。教务科的管理员将成绩单的数据登记到到“成绩簿成绩簿”中中(每个年级为一个成绩簿)。每个年级为一个成绩簿)。(2)(2)重修处理:重修处理:管理员根据管理员根据“成绩簿成绩簿”,确定重修,确定重修名单。其原则是:本学期的单科课程成绩名单。其原则是:本学期的单科课程成绩60=5=5(即有(即有5 5科或科或5 5科以上课程科以上课程不及格),则将该学号及姓名写入不及格),则将该学号及姓名写入“留级名单留级名单”中。例如,某一学生累计有中。例如,某一学生累计有5 5门或门或5 5门以上课门以上课程不及格,则将其学号写入程不及格,则将其学号写
18、入“留级名单留级名单”。根。根据留级名单,编制据留级名单,编制“留级通知单留级通知单”。(4)(4)成绩统计:成绩统计:管理员根据管理员根据“成绩簿成绩簿”,按班统,按班统计,编制计,编制“学生成绩统计表学生成绩统计表”。举例:学生成绩管理业务流程图举例:学生成绩管理业务流程图教师教师成绩单成绩单教务科教务科登记登记重修处理重修处理成绩簿成绩簿留级处理留级处理成绩统计成绩统计留级通知留级通知单单重 修 通 知重 修 通 知单单各院系各院系成绩统计表成绩统计表各院系各院系教务处教务处图图1212.1 1 学生成绩管理业务流程图学生成绩管理业务流程图通过这个例图,我们能找出画业务流程图的几条规律:
19、通过这个例图,我们能找出画业务流程图的几条规律:1 1)业务处理的起始是单位或个人输入报表,而结束是报表输出给单位或)业务处理的起始是单位或个人输入报表,而结束是报表输出给单位或个人。个人。2 2)报表输入给某个处理后,产生的输出应是报表或帐册。)报表输入给某个处理后,产生的输出应是报表或帐册。3 3)一般不应出现由单位到单位或由处理到处理或由报表到报表的情况。)一般不应出现由单位到单位或由处理到处理或由报表到报表的情况。12.3.3 12.3.3 数据分析数据分析数据分析的主要工具有数据分析的主要工具有数据流程图数据流程图和和数据字典数据字典。(1)数据流程图(数据流程图(Data Flow
20、 Diagram,DFD)DFD是结构化分析的一种主要工具,是是结构化分析的一种主要工具,是MISMIS开开发的主要工具,是组织中信息运动的抽象,是发的主要工具,是组织中信息运动的抽象,是M MISIS逻辑模型的主要形式。它使用一组简单的符逻辑模型的主要形式。它使用一组简单的符号,描述系统的数据由外部号,描述系统的数据由外部“流入流入”系统,经系统,经过多级的加工处理,经过不同结构的存储,最过多级的加工处理,经过不同结构的存储,最后以用户所需要的各种形式后以用户所需要的各种形式“流出流出”的全过程。的全过程。它是面向功能的。它是面向功能的。利用利用DFD,可以将系统分析员在系统分析可以将系统分
21、析员在系统分析中所设计的新系统逻辑模型描述出来,以表中所设计的新系统逻辑模型描述出来,以表达设计者的逻辑方案及新系统的设计思想达设计者的逻辑方案及新系统的设计思想。DFD是系统设计的主要依据。因为结构化是系统设计的主要依据。因为结构化系统设计方法强调系统开发的阶段性,前一系统设计方法强调系统开发的阶段性,前一阶段是后一阶段的基础,后一阶段是前一阶阶段是后一阶段的基础,后一阶段是前一阶段的继续。在进行系统的物理设计时,必须段的继续。在进行系统的物理设计时,必须依据逻辑模型。依据逻辑模型。DFD是利用有限的符号(外部实体、数据流是利用有限的符号(外部实体、数据流、数据处理和数据存储)及若干规则来描
22、述系、数据处理和数据存储)及若干规则来描述系统逻辑模型的统逻辑模型的。DFD是由顶层图(是由顶层图(TOP图)、一级细化图)、一级细化DFD、二级细化二级细化DFD等一组图所组成。等一组图所组成。应用自顶向下、逐层分解、先整体后局部的应用自顶向下、逐层分解、先整体后局部的思想进行设计的。思想进行设计的。顶层图是将系统高度抽象与概括而得到的,顶层图是将系统高度抽象与概括而得到的,它将系统视为一个整体、是由一个处理功能所它将系统视为一个整体、是由一个处理功能所构成的系统构成的系统。一级细化一级细化DFD是对顶层图的处理功能的分解是对顶层图的处理功能的分解与细化,这是从整体到部分的细化,划分的是与细
23、化,这是从整体到部分的细化,划分的是子系统。如同认识一部汽车,顶层图中所看到子系统。如同认识一部汽车,顶层图中所看到的只是整部汽车,而一级细化图看到的是汽车的只是整部汽车,而一级细化图看到的是汽车的部件,是组成汽车的几个大部分。的部件,是组成汽车的几个大部分。二级细化二级细化DFD是将一级细化图中的每个处理是将一级细化图中的每个处理功能的进一步分解与细化,对于汽车的例子,功能的进一步分解与细化,对于汽车的例子,这一步就应该认识到组成汽车部件的零件了。这一步就应该认识到组成汽车部件的零件了。一个实际系统,根据它的规模和复杂程度的不同一个实际系统,根据它的规模和复杂程度的不同,很可能还需要进行三级
24、及三级以上的细化。也可,很可能还需要进行三级及三级以上的细化。也可能某些处理需要继续细化,而另一些处理就不需再能某些处理需要继续细化,而另一些处理就不需再往下细化了。这分解与细化不是无止境的,不是越往下细化了。这分解与细化不是无止境的,不是越细越好,而是细化到细越好,而是细化到“处理具有独立功能处理具有独立功能”为止。为止。一个数据流图的每一层图都能完整地描述系统的一个数据流图的每一层图都能完整地描述系统的整个处理过程,差别在于不同层的图,其抽象与概整个处理过程,差别在于不同层的图,其抽象与概括程度不同、细化程度不同。越是上面的层图,它括程度不同、细化程度不同。越是上面的层图,它的概括与抽象程
25、度就越高,越是下层的图,它的细的概括与抽象程度就越高,越是下层的图,它的细化程度就越高。化程度就越高。DFD符号定义表符号定义表图形符号图形符号名名 称称说说 明明外部实体外部实体记述系统之外的数据提供或数据获记述系统之外的数据提供或数据获得的组织机构或个人,在方框内部得的组织机构或个人,在方框内部填入实体名称。填入实体名称。处理处理记述某种业务的手工或计算机处理,记述某种业务的手工或计算机处理,其中其中Pm区记述处理代码,区记述处理代码,C区记述区记述处理名称。处理名称。数据存储数据存储记述与处理有关的数据存储,记述与处理有关的数据存储,Dn区区记述存储的代码,记述存储的代码,S区记述存储数
26、据区记述存储数据的名称。的名称。数据流数据流记述数据流流动方向,记述数据流流动方向,Fm记述数据记述数据流的名称流的名称,Fn记述数据流的代码。记述数据流的代码。DFD图例说明图例说明(1)外部实体)外部实体指由系统之外向系统提供原始数据(输入数据)的指由系统之外向系统提供原始数据(输入数据)的实体及接受系统的结果数据(输出数据)的实体。实体及接受系统的结果数据(输出数据)的实体。向系统输入原始数据的外部实体应是具体的,接受向系统输入原始数据的外部实体应是具体的,接受系统输出数据的外部实体可以是抽象的、概括的。系统输出数据的外部实体可以是抽象的、概括的。(2)数据处理)数据处理处理是指计算机对
27、数据的加工处理。处理是指计算机对数据的加工处理。(1)处理的名称应该是处理的名称应该是动词加宾语动词加宾语,而不能,而不能只是动词或只是名词。如只是动词或只是名词。如“打印重修名单打印重修名单”是处理的名称,而是处理的名称,而“打印打印”或或“重修名单重修名单”都不符合处理名称的规定。都不符合处理名称的规定。(2)处理的代码不仅使下文的引用可以省略处理的代码不仅使下文的引用可以省略书写处理名称,而且可以直接看出处理所处书写处理名称,而且可以直接看出处理所处的的DFD的细化级别以及它与上级的细化级别以及它与上级DFD的处理的处理的对应关系(也称为子图与父图的关系),的对应关系(也称为子图与父图的
28、关系),即下级即下级DFD中的处理是由上级的中的处理是由上级的DFD的哪个的哪个处理分解而来的。处理分解而来的。为统一表示,特对处理的代码做如下规定:为统一表示,特对处理的代码做如下规定:TOP图中的处理代码用图中的处理代码用P表示。表示。一级细化一级细化DFD中的处理用中的处理用P1,P2,.表示。表示。二级二级细化细化DFD中,由中,由P1分解的处理用分解的处理用P1.1,P1.2,.表示;表示;由由P2分解的处理用分解的处理用P2.1,P2.2,.表示;表示;其余类推。其余类推。三级细化三级细化DFD中,中,P1.1分解的处理用分解的处理用P1.1.1,P1.1.2,.表示;表示;由由P
29、1.2分解的处理用分解的处理用P1.2.1,P1.2.2,.表示;表示;由由P3.1分解的用分解的用P3.1.1,P3.1.2,.表示。表示。(3)数据存储数据存储 一般经过处理的数据需要将结果存储起来以便下一般经过处理的数据需要将结果存储起来以便下次处理使用。在计算机中的存储一般是数据库文件次处理使用。在计算机中的存储一般是数据库文件,因此说,因此说,DFD中的存储是数据库设计的基础。中的存储是数据库设计的基础。关于存储的代码:关于存储的代码:对于各独立的数据存储结构可用对于各独立的数据存储结构可用D1、D2、.表示表示。有些情况,随着系统功能的细化,数据存储也可。有些情况,随着系统功能的细
30、化,数据存储也可能出现由抽象到具体的情况。也就是说,能出现由抽象到具体的情况。也就是说,数据存储数据存储也会出现细化的情况,使得父图中的某个存储在子也会出现细化的情况,使得父图中的某个存储在子图中变成多个存储。图中变成多个存储。这时存储的代码应按以下方法确定。设父图中有存这时存储的代码应按以下方法确定。设父图中有存储代码为储代码为Dn,则它在子图中分解后的代码应为则它在子图中分解后的代码应为Dn.1、Dn.2、Dn.3、。例如,在一级例如,在一级DFD中,职工档案的存储用中,职工档案的存储用D1表示,表示,在二级在二级DFD中,职工档案被细化为职工自然信息、中,职工档案被细化为职工自然信息、职
31、工学历信息、职工家庭信息、职工历史信息、职职工学历信息、职工家庭信息、职工历史信息、职工奖惩信息等数据存储,这些存储的代码可用工奖惩信息等数据存储,这些存储的代码可用D1.1,D1.2,D1.3.表示。表示。存储的名称应是唯一的,应是名词或名词词组。存储的名称应是唯一的,应是名词或名词词组。DFD中的存储第一次出现时需标明其代码和名称,中的存储第一次出现时需标明其代码和名称,而在其后的而在其后的DFD中,只标明其代码即可。中,只标明其代码即可。4)数据流)数据流 数据流是指由外部实体传送给系统的原始数据(输数据流是指由外部实体传送给系统的原始数据(输入数据流)和由系统加工后传送给外部实体的结果
32、入数据流)和由系统加工后传送给外部实体的结果数据(输出数据流),数据流的名称与现实系统的数据(输出数据流),数据流的名称与现实系统的各种票据、报表等相对应。各种票据、报表等相对应。关于数据流的表示:关于数据流的表示:数据流的名称在一个系统中应是唯一的;数据流的名称在一个系统中应是唯一的;对于流入或流出存储的数据流,当其名称与存储名对于流入或流出存储的数据流,当其名称与存储名称相同时,可以省略称相同时,可以省略Fm及及Fn;为了节省为了节省DFD绘图时间,使图面整洁,一般可在顶绘图时间,使图面整洁,一般可在顶层图中将数据流名称及其代码同时给出,而在其后层图中将数据流名称及其代码同时给出,而在其后
33、的各图中就可以只使用代码表示数据流了。的各图中就可以只使用代码表示数据流了。例如例如:这样,在其后的图中就可以使用这样,在其后的图中就可以使用F7F7表示该数据流了,而表示该数据流了,而省略汉字的书写。省略汉字的书写。有的情况下,随着有的情况下,随着DFDDFD的细化,数据流也可能被细化的细化,数据流也可能被细化。例如,一个系统的查询输出常常是多种的,这些不例如,一个系统的查询输出常常是多种的,这些不同内容的查询输出数据流为了使图简化,在顶层图中同内容的查询输出数据流为了使图简化,在顶层图中是以一个是以一个“查询信息查询信息”的输出数据流表示的,而在其的输出数据流表示的,而在其细化的细化的DF
34、DDFD中,应该将其具体化,这种情况的数据流中,应该将其具体化,这种情况的数据流代码的表示可采用与处理标号相同的办法。设顶层图代码的表示可采用与处理标号相同的办法。设顶层图中有数据流的代码为中有数据流的代码为F20F20,则细化后可为则细化后可为F20.1F20.1、F20.F20.2 2。DFD的设计规则的设计规则(1)DFD的设计过程是按照自顶向下逐层分解的思想的设计过程是按照自顶向下逐层分解的思想进行的,分解是处理功能的分解。我们称某一处理细进行的,分解是处理功能的分解。我们称某一处理细化后的图是该处理的子图。化后的图是该处理的子图。子图与父图必需保持输入与输出的一致。子图与父图必需保持
35、输入与输出的一致。例如图例如图1212.2 2为父图,图为父图,图1212.3 3为子图。图为子图。图1212.2 2的输入是的输入是数据流数据流A A、输出是数据流输出是数据流X X,处理处理P1P1细化后得到图细化后得到图1212.3 3,其输入必须是数据流,其输入必须是数据流A A,输出必须是数据流输出必须是数据流X X,这就这就是子图与父图的输入、输出必需保持一致的原则。是子图与父图的输入、输出必需保持一致的原则。P1XA图图12.2 父图父图XD1P1.1A图图12.3 子图子图P1.2(2 2)随着)随着DFDDFD的细化,图越来越复杂,为便于的细化,图越来越复杂,为便于阅读和绘图
36、,阅读和绘图,可以将某一层的细化图画在一张图可以将某一层的细化图画在一张图中,也允许将某一处理功能分解后的各处理功能中,也允许将某一处理功能分解后的各处理功能画在多张图中,作为子图之一。画在多张图中,作为子图之一。也可以将几个功也可以将几个功能分解后的各功能画在一张图中。同一层的各子能分解后的各功能画在一张图中。同一层的各子图共同组成了该层的图共同组成了该层的DFDDFD。这时,为准确表示各这时,为准确表示各功能之间的数据联系,各子图之间须通过公共的功能之间的数据联系,各子图之间须通过公共的存储联系起来。存储联系起来。P2.1P2.2B图图12.4 P2的的细细化化DFDD1D2图图12.5
37、P3的的细细化化DFDP3.2P3.1D2D3Y图图12.4是是P2的细化的细化DFD,图图12.5是是P3的细化的细化DFD,它们同属于二级细化图(由图中的处理代码可知)它们同属于二级细化图(由图中的处理代码可知),存储,存储D2是在两图中重复出现的。由此可知是在两图中重复出现的。由此可知P2.2处处理的结果写入理的结果写入D2,而而P3.1处理的输入数据就是处理的输入数据就是D2存存储的数据。通过储的数据。通过D2存储可将这两个图联系起来。存储可将这两个图联系起来。(3)为绘图方便,减少数据流向线的交叉,允许同为绘图方便,减少数据流向线的交叉,允许同一存储或同一外部实体在同一图中重复画出。
38、一存储或同一外部实体在同一图中重复画出。(4)在)在MIS中,处理与处理之间传输的数据都是成中,处理与处理之间传输的数据都是成批的。这种情况下,合理的设计应是前一处理将数据批的。这种情况下,合理的设计应是前一处理将数据写入存储,而后面的处理从存储中读取数据。这就是写入存储,而后面的处理从存储中读取数据。这就是说在说在DFD中,中,处理与处理之间通常是用存储联系起来处理与处理之间通常是用存储联系起来的。的。如上面例图中,处理与处理都是通过存储联系的如上面例图中,处理与处理都是通过存储联系的,而不能用数据流向线直接将两个处理连接起来。,而不能用数据流向线直接将两个处理连接起来。(5)在在DFDDF
39、D中,中,存储的输入来源与输出去向不能存储的输入来源与输出去向不能是外部实体,而只能是处理。是外部实体,而只能是处理。如图如图1212.6 6中的数据流中的数据流F1F1输入到存储及图输入到存储及图1212.7 7的数据流的数据流F8F8由存储输出都是错误的。由存储输出都是错误的。图图1212.7 7 错误的输出错误的输出F8F8D1D1R R图图1212.6 6 错误的输入错误的输入F1F1R RD1D1(6 6)在)在DFDDFD设计中,数据一般是不允许重设计中,数据一般是不允许重复录入的。因此,复录入的。因此,DFDDFD中的同一数据流不允中的同一数据流不允许在同一级图中重复出现。许在同
40、一级图中重复出现。(7 7)对于输入的查询条件及对话信息,不对于输入的查询条件及对话信息,不应作为数据流出现在应作为数据流出现在DFDDFD中。中。(8)对于业务处理中的非正常的错误情况处理对于业务处理中的非正常的错误情况处理,在,在DFDDFD中不予表示。中不予表示。如图如图1212.8 8所示,输入的所示,输入的F1F1就应该是正确的,就应该是正确的,P2.1P2.1应应是输入是输入F1F1的处理。应该注意,该图中的错误是不应该表的处理。应该注意,该图中的错误是不应该表示示“不正确的不正确的F1F1”,F1F1就应该是正确的,而输入过程产就应该是正确的,而输入过程产生的错误属于数据校验问题
41、,有别与此。生的错误属于数据校验问题,有别与此。不正确的不正确的F1P2.1F1D1R正确的正确的F1图图12.8 错误错误的的数数据流表示据流表示校核校核F1(9 9)如果一个数据处理对一个数据存储中如果一个数据处理对一个数据存储中的数据既读又写,则它们之间的数据流应为的数据既读又写,则它们之间的数据流应为双向箭头。双向箭头。(1010)一个处理必须要有输入和输出。一个处理必须要有输入和输出。DFD设计步骤设计步骤(1)前期工作前期工作作好详细调查,作好详细调查,明确用户真正需求明确用户真正需求及业务处理详及业务处理详细过程与方法;细过程与方法;明确系统的界限明确系统的界限,即计算机处理的业
42、务与人工处,即计算机处理的业务与人工处理的界限、本系统与其它系统的界限。理的界限、本系统与其它系统的界限。对系统中将要建立的主要存储,应作系统考虑。对系统中将要建立的主要存储,应作系统考虑。例如,图书管理中的主题应是图书,应考虑例如,图书管理中的主题应是图书,应考虑“图书图书”存储需要存储哪些数据,这些数据存储在一个数存储需要存储哪些数据,这些数据存储在一个数据存储中还是多个,据存储中还是多个,。(2)设计顶层图设计顶层图顶层图又称顶层图又称TOPTOP图,由它确定出系统的总的处理功能、所有图,由它确定出系统的总的处理功能、所有的输入的输入/输出数据流及外部输出数据流及外部 实体。此图对系统的
43、功能高实体。此图对系统的功能高度概括成为一个数据处理。它着重给出了系统与环境的关度概括成为一个数据处理。它着重给出了系统与环境的关系,可以看出系统与其它系统间的数据关联关系。该图要系,可以看出系统与其它系统间的数据关联关系。该图要标明数据流的名称及代码、外部实体的名称,系统总功能标明数据流的名称及代码、外部实体的名称,系统总功能的名称及代码。的名称及代码。(3)设计一级细化设计一级细化DFDDFD根据根据TOPTOP图,对其数据处理的功能分解为几个大的部分。注图,对其数据处理的功能分解为几个大的部分。注意,分解后的系统的输入意,分解后的系统的输入/输出数据流及外部实体都必然与输出数据流及外部实
44、体都必然与TOPTOP图中的保持一致。在该图中,外部实体可以不画、数据图中的保持一致。在该图中,外部实体可以不画、数据流的名称可以不写。该图应由一张图画出。流的名称可以不写。该图应由一张图画出。(4)设计二级细化设计二级细化DFDDFD根据一级细化根据一级细化DFDDFD,对其中包含多个功能的数据处理进对其中包含多个功能的数据处理进一步分解。一步分解。分解时也必须遵守输入分解时也必须遵守输入/输出不变的原则,输出不变的原则,即父图与子图保持一致的原则。即父图与子图保持一致的原则。该图可能由多张图组该图可能由多张图组成,各图是通过公共的存储连接起来的。成,各图是通过公共的存储连接起来的。(5)设
45、计三级及三级以下的细化设计三级及三级以下的细化DFDDFD数据处理功能的分解,是由实际业务功能决定的。各数据处理功能的分解,是由实际业务功能决定的。各处理功能的细化层次是不同的,有的需要进行三级及处理功能的细化层次是不同的,有的需要进行三级及三级以下的细化,有的可能只进行一级或二级就已经三级以下的细化,有的可能只进行一级或二级就已经是功能单一的处理了,就不需要再细化了。是功能单一的处理了,就不需要再细化了。DFD设计的几个问题的考虑设计的几个问题的考虑(1)功能分解的思路)功能分解的思路一种考虑是根据处理业务而逐步细化,就是将一个整一种考虑是根据处理业务而逐步细化,就是将一个整体业务,先分成几
46、个部分,再进一步将每个部分分解体业务,先分成几个部分,再进一步将每个部分分解成小的部分,成小的部分,。一种考虑是按处理的输入、处理。一种考虑是按处理的输入、处理、输出三部分分解,因为一个处理,总应包括有输入、输出三部分分解,因为一个处理,总应包括有输入、处理、输出三部分内容。、处理、输出三部分内容。在实际设计中,高层按功能分解,低层按输入、处理在实际设计中,高层按功能分解,低层按输入、处理、输出三部分分解。如一个物资管理系统,它的一级、输出三部分分解。如一个物资管理系统,它的一级细化细化DFD应是按业务功能分解成应是按业务功能分解成“物资计划、物资采物资计划、物资采购、合同管理、库存管理购、合
47、同管理、库存管理”等子系统,而二级或三级等子系统,而二级或三级细化时再按细化时再按“输入、处理、输出输入、处理、输出”分解好些。分解好些。(2)细化的宽度与深度的考虑)细化的宽度与深度的考虑 这个问题与模块化理论中的这个问题与模块化理论中的“系统的宽度与深度系统的宽度与深度”问题是问题是一致的。如果在一致的。如果在DFD设计时注意该问题,在系统设计时就设计时注意该问题,在系统设计时就不会在不会在“系统的宽度与深度系统的宽度与深度”上出现问题。该问题说的是上出现问题。该问题说的是,在分解功能时,既不能过细,也不应过粗,在分解功能时,既不能过细,也不应过粗,经验指出,经验指出,一般应在一般应在57
48、之间为宜。之间为宜。(3)关于查询功能的考虑)关于查询功能的考虑 一般在系统调查时,多数用户都注意到讲解他的业务处理一般在系统调查时,多数用户都注意到讲解他的业务处理过程、方法、内容等,而往往想不到提出查询的问题。这过程、方法、内容等,而往往想不到提出查询的问题。这是因为,在手工管理中,查询很不方便,所以查询的也很是因为,在手工管理中,查询很不方便,所以查询的也很少。而计算机处理就大不相同了,对计算机而言,信息查少。而计算机处理就大不相同了,对计算机而言,信息查询是它的特长,所以在信息系统中,方便的查询功能应是询是它的特长,所以在信息系统中,方便的查询功能应是不可少的。不可少的。(4)数据处理
49、功能单一)数据处理功能单一 细化不是越细越好,原则是细化不是越细越好,原则是使数据处理具有使数据处理具有单一功能单一功能。单一功能还可以说成是。单一功能还可以说成是“只做一件只做一件事事”,再具体地说,就应考虑一个程序所能完,再具体地说,就应考虑一个程序所能完成的功能。成的功能。还应考虑还应考虑一个处理与其它处理的联系尽可能一个处理与其它处理的联系尽可能地少地少。一般,输入的一个数据流应由一个具有。一般,输入的一个数据流应由一个具有输入功能的处理完成;输出的一个数据流应由输入功能的处理完成;输出的一个数据流应由一个具有输出功能的处理完成一个具有输出功能的处理完成。方案方案1 1:按业务处理功能
50、分解:按业务处理功能分解教师教师P成成绩绩管管理理 各院系各院系图图12.9 成成绩绩管理管理顶层顶层DFD重修通知重修通知 F2留留级级通知通知 F3成成绩单绩单F1教务处教务处成成绩统计绩统计表表F4 成成绩绩输输入入 重修重修处处理理 成成绩统计绩统计 留留级处级处理理D2 重修名重修名单单 F1F2F3F4图图12.10 成成绩绩管理一管理一级细级细化化DFDD1 成成绩绩簿簿 P2 P3 P4 P1 确定重修名确定重修名单单 打印重修通知打印重修通知D1 F2D2 图图12.11 P2的的细细化化DFD P2.2P2.1D3 留留级级名名单单F3 确定留确定留级级名名单单 打印留打印