第六章 管理信息系统分析.doc_第1页
第六章 管理信息系统分析.doc_第2页
第六章 管理信息系统分析.doc_第3页
第六章 管理信息系统分析.doc_第4页
第六章 管理信息系统分析.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章 管理信息系统分析The system analysis is in the essential link of management information system performance history, also is a decisive step.This chapter mainly introduces the content, methods and tools in system analysis, including organization chart, operation flow char and the major principle, method and step to draw data flow diagram, data dictionary; it also includes the basic knowledge of structure language, decision tree and decision table; partition system by U/C matrix, finally writes the system analysis report, lays the foundation for the system design. The chapter emphasizes on how to draw organization chart, operation flow chart, data flow diagram and data dictionary. 第一节 需求调查一、需求调查的内容需求调查是管理信息系统开发的一个重要步骤,其内容主要包括用户需求、现行系统的组织结构、现行系统运行状况等几个方面。用户需求的调查用户需求是指用户对新系统应具有的全部功能和特性的要求。主要包括:功能要求。确定新系统要做什么,这是最主要的需求。性能要求。给出所开发新系统的技术性能指标,包括存储容量限制、运行时间限制、安全保密等。环境需求。系统运行以及所处环境的要求。用户需求既包括了用户明确表达出来的需求,也包括了用户没有明确提出的需求。用户虽然对自己的业务工作非常熟悉,但要清楚地表达需求非常困难。系统分析员虽然是系统开发方面的专家,却由于缺乏专门领域的业务知识,使得系统分析员和用户之间由于缺乏共同语言而无法进行良好的沟通。这就要求系统分析员在调查时要认真、仔细地确认用户的要求,这样才能保证开发的管理信息系统的与用户提出的要求相吻合。现行系统组织结构的调查要了解现行系统的整个活动状况,首先应从组织结构调查入手,了解现行系统概况。现行系统组织结构调查的主要目的是了解现行系统组织机构的划分及其相互关系。调查结果可用组织结构图的形式表示,具体内容在第二节组织结构和功能分析中讲述。对组织结构的调查要掌握现行系统中信息处理的具体情况和系统内部的功能结构,以便设计出一个结构合理的新系统逻辑模型,为新系统的设计工作打好基础,保证整个系统开发的质量。现行系统运行状况的调查新系统的开发是在现行系统的基础上进行的,因此必须对现行系统运行情况进行详细的调查。系统运行现状调查主要包括以下几点:收集并整理各部门使用的票据、表格;调查这些部门信息的产生过程和处理过程(处理方式,涉及人员)及归档;调查各部门的要求意见;将调查结果绘制成业务流程图;整理收集的信息,为数据文件产生提供条件;对业务流程进行某些改动,使业务流向更趋于合理。通过系统运行现状的调查分析,可以发现系统中存在的主要问题和薄弱环节,并提出解决问题的初步设想,使新系统设计功能更强,效率更高。二、需求调查的方法调查表格法对于那些结构性强、指标含义明确并且有具体内容的调查,适合使用表格来调查。一般可使用以下六种表格来进行调查:了解机构的目标、实现目标的关键成功因素以及存在问题的目标调查表;了解机构的设置和职责、人员配备等基本情况的组织机构调查表;了解业务部门的业务内容、业务处理相关流程的业务调查表;收集和了解与本部门有关的上级、同级、本部门、下属单位各类文件的数量和信息量的文件类信息调查表;了解报表的种类、用于何种任务、特性、保留期限以及信息量的报表数据调查表;了解计算机应用情况和水平的计算机应用项目调查表。调查表格法中重要的是问题的设计,设计合理的表格不仅可以收集到所需要的资料,而且便于统计分析。谈话调查法谈话调查法是一种通过调查人员与被调查人员面对面的有目的的谈话获取资料的方法。谈话应从上而下,从概括到细微,先从领导开始,然后经中层至下层管理人员,甚至还可以扩大到全体职工。这样不仅能了解战略信息需要,而且能了解具体任务的信息需要。这种方法的成功与否主要取决于系统分析员的提问水平。查阅档案资料法该方法通过查阅组织的各种文件和档案资料,例如通过查阅组织的年度计划、年度工作总结、销售和生产经营报告等可以了解组织的发展目标和经营情况。业务实践法业务实践法是一种了解当前系统最有效的调查方式,即系统分析员深入到调查环境中去,对调查对象在现行系统中的作业流程和方式进行观察和记录,可以较深入地了解现行系统中数据的产生、传递、加工、存储和输出等环节的工作内容。通过业务实践,可以增加系统开发人员的感性认识,有助于加快对业务流程和业务活动的理解。在实际的调查活动中,可以根据需要选择某种方法,也可以互相结合,取长补短,以获取最全面最可靠的调查资料,为新系统的设计提供准确的基础资料。第二节 组织结构和功能分析系统组织结构与系统功能分析通过组织结构图和功能体系图来进行描述。一、组织结构分析组织结构分析的目的是了解组织的主要功能、管理模式、层次关系、管理职能分配,以及不同部门之间信息的应用、处理和传递关系,为确定信息系统的宏观结构提供依据,也为进一步详细了解业务流程信息提供线索。对一个组织作调查研究,首先接触到的具体情况就是系统的组织结构状况,也就是一个组织内部的部门划分以及它们的相互关系。将组织内部的部分划分以及这些部门之间的相互关系用图形表示出来,就构成了一个系统的组织结构图。调查中应详细了解各部门人员的业务分工情况和有关人员的姓名、工作职责、决策内容、存在问题和对新系统的要求等。某眼科医院的组织结构如图6-1所示。图6-1 某眼科医院组织结构图二、功能分析在一个组织中,经常会有组织的各个部分并不能完整地反映该部分所包含的所有业务的情况。在实际工作中,组织的划分或组织名称的确定一般是根据最初同类业务人员的集合而定的。随着生产的发展,生产规模的扩大和管理水平的提高,组织的某些部分业务范围越来越大,功能也越分越细,由原来单一的业务派生出许多业务。这些业务在同一个组织中由不同的业务人员分管,其工作性质已经逐步有了变化。当这种变化发展到一定的程度时,就会引起组织本身的变化,裂变出个新的、专业化的组织,由它来完成某一类特定的业务功能。如最早的质量检验工作就是由生产科、成品库和生产车间各自交叉分管的,后来出于产品激烈的市场竞争和管理的需要,原有的那种各自交叉分管体系已经远远不能适应组织的发展和统一管理的需要,这时质量检验科产生了。对于这类变化,虽然人们事先无法全部考虑的到,但是对其功能则是可以发现的。如果人们都以功能为基准去分析和设计系统,那么系统将会对组织结构的变化有一定的独立性,将获得较强的生命力,所以在分析组织情况时还应该对其业务功能进行调查与分析。这样做一来可以使我们在了解组织结构的同时,对于依附于组织结构的各项业务功能也有一个概貌性的了解;二来对于各项交叉管理、交叉部分各层次的深度以及各种不合理的现象有一个总体的了解,在后面的系统分析和设计时进行改进。系统有一个总的目标,为了达到这个目标,必须完成各子系统的功能,而各子系统功能的完成,又依赖于下面各项更具体的功能来执行。功能结构调查的任务,就是要了解并确定系统的这种功能构造,因此,在掌握系统组织体系的基础上,以组织结构为线索,层层了解各个部门的职责、工作内容和内部分工,就可以掌握系统的功能体系,并用功能体系图来表示。功能体系图是一个完全以业务功能为主体的树形图,其目的是描述组织内部各部分的业务和功能。三、组织与功能关系分析通过绘制组织功能关系图分析组织与功能之间的关系,如图6-2所示。图6-2组织功能关系图第三节 业务流程分析组织机构图描述了系统边界之内的部门划分以及这些部门之间的关系,而功能分析图则反映了这些部门所具有的管理功能,这些都是有关信息系统工作背景的一个综合性的描述,它们只反映系统的总体情况而不能反映系统的细节情况。但是,从这两张图上,我们可以看出信息处理工作集中在哪些部门以及这些部门的主要职责是什么,因此,下一步的任务就是要弄清这些职能是如何在有关部门具体完成的,以及在完成这些职能时信息处理工作的一些细节情况,这项工作称为业务流程分析。在对系统的组织结构和功能进行分析时,需要从一个实际业务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。业务流程分析可以帮助我们了解该业务的具体处理过程,发现和处理系统调查工作中的错误和疏漏,修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。恰当的业务流程分析结果将会给后续工作以及系统设计工作带来很多便利。业务流程分析的具体内容包括以下五个方面:详细了解各个业务管理环节的任务、工作对象、工作方式、工作的内容(需要的信息、数量和处理过程);与其他机构和部门之间的信息关联(输入报表、产生的单证及其格式、输出报表等);异常情况的处理(如临时性的需求以及发现错误、紧急情况的处理 等);有无冗余和无用的处理过程;哪些处理环节适合使用计算机代替人工处理。业务流程分析则是在业务功能的基础上将其细化,利用系统调查的资料将业务处理过程中的每一个步骤用一个完整的图形串起来,在绘制业务流程图的过程中发现问题,分析不足,优化业务处理过程。所以说绘制业务流程图表是分析业务流程的重要步骤。一、业务流程图业务流程图的定义业务流程图(transaction flow diagram,TFD)就是用一些规定的符号及连线来表示某个具体业务处理过程,即是一种表明系统内各单位和人员之间的现实的业务关系、作业顺序和管理系统流动的流程图。现实业务活动中的一些弊病很难凭空指出,而利用业务流程图可以细致地分析其业务流程的合理性、存在的问题及从何处入手进行修改。业务流程可能在一个部门或一个单位中,也可能是跨部门的,要视具体情况而定。现状业务流程图可以自底向上归并,即把下层图作为上层图的一步作业来画更粗的业务流程图。有关业务流程图的画法,目前尚不太统一,但也只是一些具体规定和所使用的图形符号有些不同,而在准确明了地反映业务流程方面是非常一致的。业务流程图的基本组成及符号业务流程图的符号如图6-3所示。图6-3 业务流程图的符号二、表格分配图为了传递信息,管理部门经常将某种单据或报告复印多份分发到其他多个部门,在这种情况下,可以采用表格分配图来描述有关业务。表格分配图表达清楚,可以帮助系统分析员描述系统中复制多份的报告或单据的数量以及这些报告或单据都与哪些部门发生业务联系。如图6-5。三、业务流程图实例顾客将订货单交给某企业的销售部门,经业务员检验后,不合格的订单要由顾客重填;合格的订单交给发货员确定发货量并产生发货单,发货单交给仓库员,该仓库员查阅库存明细帐,如果有货则出库给发货员,发货员根据订货单发货给顾客;如果缺货,则用缺货通知单通知采购部门采购。销售及库存业务流程如图64所示。图6-4 销售及库存业务流程图某饭店餐饮服务流程如下:为了便于管理,顾客点菜的单据一式四联;第一联送到吧台,用于为顾客准备酒水。顾客用完餐后,用于统计顾客的总消费;第二联送厨房传菜员,用于为顾客送菜,送一道菜后,在这项上画勾;第三联送厨房配菜员,用于配菜;第四联顾客保留。服务员上完一道菜后,在该项上画一对勾,以免发生上错菜、漏菜的情况,同时可以方便用户检查结算结果是否正确。餐厅服务的表格分配图如图6-5所示。图6-5 餐厅服务表格分配图第四节 数据流程分析数据流程图就是组织中信息运动的抽象,是信息系统逻辑模型的主要形式。这个模型不涉及硬件、软件、数据结构与文件组织,它与系统的物理描述无关,用一种图形及与此相关的注释来表示系统的逻辑功能。由于图形描述简明、清晰,不涉及到技术细节,所描述的内容是面向用户的,即使完全不懂信息技术的用户也容易理解。因此,数据流程图是系统分析人员与用户交流的有效手段,也是系统设计(即建立开发的系统的物理模型)的主要依据之一。一、数据流程分析的内容收集分析原系统的所有单据、报表、账册等样本,了解有关制作、格式和报送情况,并进行分析。了解系统各个环节的处理方法,绘制原系统的数据流程图。对原始业务流程进行分析重组。二、数据流程图数据流程图的定义数据流程图(data flow diagram,DFD)是便于用户理解的系统数据流程的图形表示,它能精确地在逻辑上描述系统的功能、输入、输出和数据存储等,而摆脱了其物理内容,是描述管理信息系统逻辑模型的最主要的工具。它不仅可以用来描述现行系统,而且可以用来描述新系统,是结构化系统最基本、最重要的工具。数据流程图的基本成分数据流程图由四种基本符号组成,分别如下:外部实体,如图a表示;数据流,如图b表示;数据处理(或称数据加工),如图c表示;数据存储(或称存储文件),如图d表示。图6-6 数据流程图的符号下面分别讨论各个成分:外部实体外部实体是指在所研究系统外独立于系统而存在的,但又和系统有联系的实体,它表示数据的外部来源和去向,它可以是某个人员、组织、某一信息系统或某种事物,它是系统的数据来源或数据终点。确定了系统的外部实体,也就是确定了系统与外界的分界线,从而确定系统的范围。数据流数据流是数据载体的一种表现形式,用来说明数据流动方向的符号。数据流用带有名字的箭头表示,名字表示流经的数据,箭头则表示流向。数据处理(加工)数据处理是对输入数据流进行的操作,数据处理也称为加工。数据处理包括两方面的内容:一是变换数据的组成,即改变数据结构;二是在原有的数据内容基础上增加新的内容,形成新的数据。数据存储(存储文件)数据存储用来表明数据保存的地方。这里所说的“地方”,并不是指保存数据的物理地点或物理介质,而是数据存储的逻辑描述。数据存储符号由两部分组成:标识和数据存储名称。为了区别于其他的数据存储,加了标识部分。标识部分一般由字母D和数字组成。数据存储名称就是存储数据时起的名字。将上述四种符号连接起来,就可以表达一个管理信息系统的信息处理流程、逻辑功能以及系统各部分之间的复杂关系,这就是该系统的数据流程图。数据流程图的特点数据流程图是描述管理信息系统逻辑模型的主要工具,它主要有两个特点:抽象性数据流程图不考虑具体的物理因素,如具体的组织机构、工作场所、物流、存储介质、具体的处理方法和技术手段等内容,只是抽象地反映数据的流向、自然的逻辑过程和必要的逻辑数据存储。数据流程图既不反映起始点,也不反映终止点,所有与计算机有关的专业技术都不在数据流程图中反映。我们只是能抽象地总结出管理信息系统的任务,以及各项任务之间的顺序和关系,从信息处理的角度将一个复杂的实际系统抽象成一个逻辑模型。概括性数据流程图把系统对各种业务的处理过程联系起来,形成一个综合的数据流程整体,具有很强的概括性。画法数据流程图不仅要反映现行系统的逻辑功能,更重要的是应该反映将要建立的新系统的逻辑功能,熟练地掌握数据流程图的画法,对系统分析员来说是至关重要的。概括地说,画流程图应当遵循以下原则:找出数据流程图的起点和终点,也就是确定系统的外部实体。确定这个系统与外部环境的分界线的关键要领就是首先要识别不能受系统控制的,但是影响系统运行的外部因素有哪些,系统的数据输入来源和输出对象是什么。确定系统在正常运行时的输入和输出。画图时,先从左侧开始,标出外部实体。左侧的外部实体,通常是系统主要的数据输入来源。然后画出由该外部实体产生的数据流和相应的处理逻辑。如果需要将数据保存,则标出其数据存储。接收系统数据的外部实体一般画在数据流程图的右侧。从外部实体的输出数据流出发,按照系统的逻辑需求,逐步画出一系列逻辑处理,直到找到外部实体所需的输入数据流,形成数据流的封闭。第一张草图只是集中反映系统中主要的、正常的逻辑功能和与之有关的数据变换,不反映出错和例外处理。出错和例外处理应该留在以后比较低层的数据流程图里反映。数据流程图绘制应用实例绘制数据流程图采用自顶向下,逐层分解的方法。即先将整个系统按总的处理功能画出顶层的流程图,然后逐层细分,画出下一层的数据流程图。图6-7和图6-8是一个订货处理的数据流程图。顶层图如图6-7是对订货处理的第一次分解,目的是构造订货处理的总体数据流程图,描述系统的主要数据处理功能和系统数据库之间的联系。图6-7就表示系统从顾客那里接受订货单,然后系统进行订货处理后发货给顾客。但是该图没有反映订货处理的详细过程,只是高度概括地反映了订货处理的业务。图6-7 订货处理顶层数据流程图在顶层图中,每一个数据处理可能包含复杂的处理功能,因此第一层数据流程图是对顶层图中各个数据处理的进一步分解。分解的过程实际上是对数据处理的逐渐细化的分析过程。图6-8 订货处理第一层数据流程图整个订货处理被分解为以下五个“处理”:验收订货单。将填写不清的订货单和无法供应的订货单退回顾客,将合格的订货单送到下一“处理”;确定发货量。查库存账,根据库存情况将订货单分为两类,分别送至下一步处理;开发货单、修改库存、记应收账和将订货单存档;填写暂存订货单。对未满足的订货填写暂存订货单(即等有货后发货的发货单);对照暂存订货单。接到采购部门到货通知后应对照暂存订货单,如可发货,则执行“开发货单和修改库存”处理功能。某学校排课业务的数据流程图图6-9 排课业务第一层DFD绘制数据流程图要避免的情况绘制完成数据流程图后除了要检查流程及信息是否正确外,还应仔细检查是否存在下列情况,如果有就说明数据流程图有问题,需要修改。黑洞(black hole):数据处理或数据存储只有输入没有输出;空洞(blank hole):数据处理活动或数据存储只有输出没有输入,也称为“奇事”(miracle);灰洞(gray hole):数据处理或数据存储的输入不足以产生输出;不平衡(unbalance):各层流图之间的信息不一致;不相关(unrelated):每一个数据流必须有一个数据处理与之相关。数据流不能起于数据存储止于一个外部实体或另一个数据存储;也不能起于某个实体止于另一个外部实体或数据存储。存在上述问题的数据流图可称为病态DFD图。病态数据流图产生可能是由于前面的工作不完整,DFD绘制有问题,也可能是原来的业务流程本身有问题等原因。图6-10中的DFD图就是部分病态数据流图的例子,在设计时应避免。图6-10 部分病态数据流程图实例三、数据字典数据字典概述数据流程图是系统划分行之有效的工具,它抽象地描述了系统数据处理的情况,但无法描述系统中各个处理的详细内容。例如,在我们前面的排课数据流程图例子中(见图6-9),数据处理框P1.2“排课”如何处理,在数据流程图中表达不够具体,图上也看不大出来。只有当数据流程图中出现的每一个成分都给出说明以后,才能完整、准确地描述一个系统。因此,还需要其他的工具对数据流程图加以补充说明。数据字典就是这样的工具,它对数据流程图中出现的数据流和处理等做进一步的补充说明,弥补数据流程图对数据的具体内容不能详细说明的不足。数据字典的建立能帮助系统分析员全面地确定用户的要求,而且为以后的系统设计提供参考依据。数据字典(data dictionary)的含义所谓数据字典是指以特定格式记录下来的、对系统数据流程图中各个基本要素(数据流、文件、加工等)的具体内容和特征所作的完整的定义和说明。它是结构化系统分析的另一重要工具,是对数据流程图的重要补充和注释。数据字典的内容一个数据字典所包括的项目有:l 数据项;l 数据结构;l 数据流;l 处理逻辑(加工);l 数据存储文件;l 外部实体。下面我们加以详细地讨论。数据项数据项也称为数据元素,数据流程图中的每一个数据结构都是由数据项组成的,它是数据处理中具有独立逻辑含义的最小数据单位。在数据字典中,对数据项的定义包括以下内容:数据项的名称、编号、别名和简述;数据项的类型,说明取值的是数字型还是字符型;数据项的取值范围,如“年龄”从18岁60岁;数据项的长度,如“名称”可以由四个汉字,即八个字节组成。例: 数据项定义数据项编号:I01-04数据项名称:数量别 名:销售量简 述:某种商品的销售数量类 型:数字型长 度:6个字节取值范围:0999999数据结构由若干个数据项构成的数据组合称为数据结构,它描述了某些数据项之间的关系。一个数据结构可以由若干个数据项组成;也可以由若干个数据结构组成;还可以由若干个数据项和数据结构组成。例如,“产品”这个数据结构可表示为:产品产品编号产品名称产品规格供应商单价在上述例子中,数据结构全部由数据项组成,称为简单的数据结构。在管理信息系统中,由于管理对象的复杂性,嵌套的数据结构是经常出现的。例如,“订货单”这个数据结构可以表示为:订货单订货单编号订货日期顾客产品订货数量交货日期在定货单这个数据结构中,除了定货单编号、订货日期、订货数量、交货日期这些数据项外,还包含了“产品”和“顾客”两个数据结构。因此,定货单是一个嵌套的数据结构。在数据字典中,对数据结构的定义包括以下几项内容:数据结构的名称和编号;简要描述;数据结构的组成。如果一个简单的数据结构,只要列出它所包含的数据项就可以了;如果是一个嵌套的数据结构(即数据结构中包含了数据结构),只需列出它所包含的数据结构名称,因为这些数据结构同样在数据字典中有定义。例 数据结构定义数据结构编号:DS01-06数据结构名称:定货单简述:顾客的定书目录数据结构组成:订货单标识顾客情况产品资料数据流数据流是表明系统中数据的逻辑流向,该数据可以是数据项或数据结构。在数据字典中,对数据流的定义包括以下内容:数据流的名称及编号;简述;数据流的来源;数据流的去向;数据流的组成:数据流所包含的数据结构;数据流的流通量:单位时间里的数据传输次数。例 数据流定义编 号:F01-08数据流名称:发货单简 述:销售部为顾客开出的发货单数据流来源:发货单处理功能数据流去向:顾客数据流组成:发货单数据结构流通量:100份/天高峰流通量:120份/每天上午9:3011:30处理逻辑(加工)处理逻辑的定义为仅对流程图中最底层的处理逻辑加以说明。处理逻辑比较复杂,内容包括:处理逻辑名称及编号、简述、输入、处理过程、输出。例 处理逻辑定义处理逻辑编号:P03-06处理逻辑名称:验收订货单简 述:确定顾客的订货单是否填写正确输入的数据流:订货单,来源是外部实体“顾客”处理过程:检验订货单数据,查明是否符合供货范围输出的数据流:合格的订货单,去向是处理逻辑“确定发货量”;不合格的订货单,去向是外部实体“顾客”应该特别指出的是,系统分析阶段的任务是理解和表达用户的要求,而不是考虑系统怎么做和怎样实现。所以对一个处理过程的说明,是说明根据用户的要求,这个处理应该“做什么”,而不是用编程语言来具体描述加工处理的过程,例如用什么工作单元、如何控制执行等,这些是系统设计和编程阶段的任务。如果现阶段这么做,一是限制了设计人员的自由,另一方面也不便于与用户交流,用户不懂得你的描述。理想的基本说明,在对处理功能做严格、精确描述的同时,还应该容易被软件人员和用户所理解。目前常用结构化语言、决策表和决策树这三种半形式化的方式来编写处理过程的说明,有关这部分内容我们会在第四部分数据处理中详细讨论。数据存储文件数据存储文件是数据流动的暂停或永久保存的地方。在数据字典中,数据存储的内容通常由数据存储的编号、名称、简述、组成、关键字和相关的处理等组成。例 数据存储定义数据存储编号:D01-08数据存储名称:仓库帐简 述:存放产品的仓库数据存储组成:产品编号产品名称产品规格供应商单价库存量备注关键字:图书编号相关联的处理:P2(“确定发货量”),P3(“开发货单、修改库存”)外部实体在数据字典中,外部实体的定义包括:外部实体名称、编号、简述以及有关数据流的输入和输出。例 外部实体的定义外部实体编号:S01-03外部实体名称:顾客简 述:购买本公司产品的顾客输入的数据流:“订货单”,“发货单”输出的数据流:“订货单”数据字典的要求由于数据字典要对信息系统中所有的数据进行定义,所以对数据字典中的数据应严格要求,以避免出现使用的混乱。具体要求包括:唯一性,即不能有多次定义;一致性,即所有的数据项应保持应用上的一致;完整性,即必须包括模型中的所有数据项的定义;规范性,即数据项的定义应是严格、规范的;简单性,即表达和描述应尽量简单。数据字典的应用实例以图6-9排班数据流程图为例,编写其各个部分的数据字典。数据项。每门课都有总学时数,其描述内容如下:数据项名称:总学时数简 述:每门课每学期总的上课节数 类 型:数值长 度:3位取值范围:0120 数据结构。“教师”这个数据结构可以表示为:数据结构名称:教师简 述:教师的基本资料数据结构组成:教师编号姓名性别出生日期参加工作日期职称联系电话家庭住址数据流。数据流“教师课表”条目如下:数据流名称:教师课表简 述:下学期老师上课时间安排表数据流来源:排课数据流去向:任课老师、督导室、D1教师课表数据流组成:教师姓名课程名星期节次流通量:350份/学期 数据处理(加工)。数据处理“确定下学期各班课程”条目如下:数据处理名称:确定下学期各班课程 数据处理编号:P1.1简要描述:根据各年级、各专业教学计划,确定下学期各班所学课程输入数据流:教学计划处理逻辑:根据班级所属年级、专业检索相应的教学计划;确定下学期是该班的总第几学期;输出相应学期所对应的所有课程名、总学时数等。输出数据流:各班课程安排数据存储。数据存储“各班课表”条目如下:数据存储名称:各班课表简述:存放的是每个班下学期课程表输入数据:各班课表数据存储组成:班级星期节次课程名称任课教师存储方式:按班级名称升序排列 外部实体。外部实体“任课老师”条目如下:外部实体名称:任课老师输入数据流:教师课表输出数据流:时间要求数目:300个 四、处理逻辑说明数据流程图中的处理逻辑说明已经在数据字典中作了定义,描述了它的特征和所具有的处理功能。但是这种描述是比较粗略的,不能作为系统设计员工作的依据,因而需要采用一定的方法对其进行更详细的描述。数据流程图、数据字典和处理逻辑说明三者构成了系统的逻辑模型。对数据流程图中各个数据处理的精确描述称为处理逻辑说明,它包含以下三种内容:算术运算;逻辑判断,并根据判断的结果执行不同的功能;与数据存储或外部实体进行信息交换。算术运算可以用数学工具来描述;对信息交换也很容易表达,比较困难的是逻辑判断功能的描述。目前,常用的表达逻辑判断功能的工具有三个:结构化语言、决策树和决策表。下面分别加以讨论。结构化语言结构化语言是专门用来描述一个功能单元逻辑功能的一种规范化语言。它介于自然语言和高级语言两者之间。结构化语言和自然语言的不同之处,在于它只用了极其有限的词汇和语句,同高级语言的不同在于它没有严格的语法规定。结构化语言有以下四种语句:祈使语句;判断语句;循环语句;上述三种语句的复合语句。祈使语句。祈使语句是指要做什么,它由动词名词组成,明确指出要执行的动作,这些名词在数据字典中已经进行了定义。比如:“核对数量”、“计算工资”等。祈使语句应该尽量简单、明白。判断语句。判断语句的用法类似于程序设计中的条件语句,它可以使用汉语也可以使用英语,如if,then,else等关键字。它的一般形式如下:如果 条件A IF condition则 语句1 或 THEN statements 否则 语句2 ELSE statements在判断语句中,其中的语句1和2可以是祈使语句,也可以是判断语句或循环语句,从而形成各种嵌套结构,也允许出现多重嵌套。在多重嵌套的情况下,相应层次的保留字应上下对齐,而下一层次应后退两格,以使层次清楚,便于阅读。例如:用汉语来描述某商店在销售衣服时的折扣政策。折扣政策条件有三个:顾客是否为VIP,消费是否大于1000,最近三个月无欠账记录。如果顾客是VIP则 如果该顾客在最近三个月内无欠账记录 则折扣为8折 否则 如果该顾客消费满1000 则折扣为8.5折 否则 折扣为9.5折否则 折扣为0循环语句。循环语句是指在某种条件下连续执行相同的动作,直到这个条件不成立为止。例如,计算单位里发给每位员工的工资,不仅要计算每位员工的工资,而且还要计算所有员工的工资总和,循环语句如下:对每位员工计算该员工的工资将该员工的工资加到工资总和中在上述循环语句中,“计算员工的工资”已经定义。决策树(decision tree)决策树是用来描述一个功能模块的逻辑处理过程,其基本思路与结构化语言是一样的,是结构化语言的另一种表现形式,但是如果仍然用结构化语言表达,可能要使用多个判断语句,就会比较复杂,不能一目了然。在这种情况下,用决策树会更加合适。决策树是用“二叉树”来表达不同条件下的不同处理,比用语言的方式更加直观。它的左边为树根,从左向右一次排列各种条件,左边的条件比右边的优先考虑。根据每个条件的取值不同,树可以产生很多分支,各分支的最右端(即树梢)即为不同的条件取值状态下采取的措施。下面用决策树方法来描述录取新生的数据处理过程,如图6-11。图6-11 决策树由上可知,决策树的优点是直观和明确,可以清楚地看出各种条件下的不同取值状态下应当采取的措施。决策表(decision table)决策表也是一种表达判断逻辑的工具。在许多软件应用场合,需要用一个模块去计算多种条件的复合组合,并根据这么多条件选择适当的结果。决策表能够把所有的条件组合充分地表达出来。当条件的个数比较多,每个条件的取值有若干个、相应的动作也很多的情况下,使用决策表比决策树更加有效和清晰。但其缺点是决策表的建立过程较为繁杂,且表达方式不如前面方法简便。构造决策表的方法如下:列出所有可能的条件及方案;按全部方案列出所选择的行动;缩小表的列数。即在相同的行动列中,寻找不必要存在的条件所列出的方案,并将这些方案从表中删除。决策表分为四大部分,左上角为条件说明,左下角为行动说明,右上角为各种条件的全部组合,右下角为各种条件组合下采用的行动。例如,根据前面提到的学校录取新生时的数据处理,可设计如表所示的决策表。在图6-12的条件样栏中输入各种可能发生的情况,在结果栏中填入对应上面情况可能产生的结果,一张决策表就完成了。图6-12 决策表五、几种表达工具的比较前面所介绍的三种用于逻辑判断的表达工具,即结构化语言、决策树和决策表,各自有不同的特点,它们之间的比较如表所示:图6-13 几种表达工具的比较从表格中我们可以得出以下的结论:结构化语言比较适用于表达既有顺序过程、又有判断过程或循环过程的综合组合。决策表较适用于含有56个条件的复杂组合。决策树适用于行动数在1015之间的一般复杂程度的决策。由于结构化语言、决策表、决策树这三种工具都是用于逻辑判断的工具,因此它们之间是互相联系的,是可以相互转换的。第五节 功能/数据分析把系统划分为子系统可以大大简化设计工作,因为划分之后,只要子系统之间的接口关系明确,每一子系统的设计、调试,基本上可以互不干扰地各自相对独立地进行,而且如果将来要修改或扩充系统,可以在有关子系统范围内进行而不至于牵动全局。为了从整体上考虑新系统的功能子系统和数据资源的合理分布,必须进行系统化的分析,进行这种分析的有利工具之一就是功能/数据分析法,它是IBM公司于20世纪70年代初在企业系统计划法(business system planning,BSP)中提出的一种系统化的聚类分析方法。它们的基本要点是参考现行系统的功能,根据新系统的目标,自顶向下将目标划分为若干主要任务,再把各任务分解为若干过程。然后,分别找出各过程需要的数据类别,进行数据类别分析、调整,并进行完备性、一致性和无冗余性检验。最后,将分析后的过程和数据类关系进行综合,绘制出过程/数据类表(U/C矩阵)。通过表上作业(U/C矩阵的求解),达到对新系统进行逻辑功能划分(即划分子系统)的目的。U/C矩阵是根据过程与数据类之间的关系来确定过程之间关系的。这里所说的过程,是指与一定数据相联系的,具有输入、输出和处理功能的模块。其关键就是确定过程与数据类之间的3种关系:使用关系,该过程使用相应的数据类,用U(use)表示。生成关系,该过程生成出数据类,用C(create)表示。没有关系,过程与数据类之间无关系,用空格表示。一、U/C矩阵建立的前提已有业务流程分析的结果,即业务及流程已经优化;已有数据分析的结果,即现有数据已经经过筛选;已有建立的数据字典,即数据与业务的关系已经确定。二、U/C矩阵的主要功能通过U/C矩阵的正确性检验及时发现前段分析和调查工作的疏漏和错误;通过U/C矩阵的正确性检验分析数据的正确性和完整性;通过对U/C矩阵的求解过程最终得到子系统的划分;通过对子系统之间的联系(“U”)可以确定子系统之间的共享数据。三、U/C矩阵的建立现在以工资核算子系统为例来说明U/C矩阵的建立过程和求解过程,即对系统结构划分的优化过程。U/C矩阵是通过使用一个普通的二维表来汇总数据的。将数据与业务过程之间的关系用使用(U,use)和建立(C,create)来表示,将由系统调查得来的数据汇总填入表内就构成了所谓的U/C矩阵,来揭示过程与数据类之间的关系。以工资核算为例构造原始的U/C矩阵,见图6-14图6-14 工资核算矩阵初始图四、数据正确性的检验在建立了U/C矩阵之后就要对数据进行检验,其基本原则就是“数据守恒原理”(principle of data conservation),即数据必定有一个产生的源,而且必定有一个或多个用途。具体落实到对图6-14的检验中则可概括为如下几点:完备性检验原则上每一个列只能有一个C。如果没有C,则可能是数据收集时有错;如果有多个C,则有两种可能性:其一是数据汇总有错,误将其他几处引用数据的地方错认为是数据源;其二数据栏是一大类数据的总称,如果是这样应将其再划分。一致性检验每一列至少有一个U。如果没有U,则一定是调查数据或建立U/C矩阵时有误。无冗余检验U/C矩阵中不能出现空行或空列。如果出现空行或空列,则可能是下列两种情况:其一,数据项或业务过程的划分是多余的;其二,在调查或建立U/C矩阵过程中漏掉了它们之间的数据联系。五、U/C矩阵的求解U/C矩阵的求解过程是通过表上作业法来完成的。总的原则是使表中的“C”元素尽量地靠近U/C矩阵的对角线,然后再以“C”元素为标准,划分为子系统。这样划分的子系统独立性和凝聚性都比较好,因为它可以不受干扰地独立运行。具体的操作方法是:重调换表中的行变量使之从上到下反映处理功能的先后顺序,再从第1行开始调列变量,把本行中遇到的C所在列调到未定位的列之前(左边)。把只有U的列调到行最左边,使得“C”元素尽量地朝对角线靠近。检查C,若有远离对角线的C,则表明相应行功能的顺序没有排对,上、下调换行,使C元素尽量地靠近对角线(但不可能全在对角线上)。沿对角线,用相邻接而又不相交的多个矩形框一个接一个地围住所有的C,划分出任务。图6-14变为图6-15。通常只有U的列数据是输入,只有C的列数据是输出。图6-15调整好的工资核算矩阵图划分后的矩形框即为系统划分的基础。每一个矩形框就表示一个子系统的范围。值得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论