1、124第六章 管理信息系统的系统设计提要:在系统分析阶段,我们明确了新系统的功能结构及信息结构,也就是系统的逻辑模型,对新系统 回答了 “做什么?” 的问题。在系统设计阶段我们需要回答的中心问题是“ 如何做? ”,即通 过给出新系统物理模型的方式描述如何实现在系统分析中规定的系统功能。本章讲述管理信息系统设计的内容、实现步骤及为完成系统设计工作需要掌握的方法、设计和描述工具。例 6-1 系统设计情景案例青钢管理信息系统的系统设计北京科技大学李教授领导的课题组完成了青岛钢铁集团计算机管理信息系统的系统分析工作之后,马 上召开了课题组的内部会议。在会议上李教授明确了开发组下一阶段的工作。首先李教授
2、指派开发组中对计算机硬件及网络非常熟悉的曾教授根据系统分析报告中给出的系统功能及信息需求与若干家计算机公司一起研究设计青钢管理信息系统的计算机及其网络硬件、系统软件的选型问题。通过比较各家给出的设计方案及报价,与青钢 信息中心的傅主任、 马副主任共同选定了由北京太极计算机公司提出的计算机和网络硬件及系统软件方案。为了使开发组及青岛钢铁集团能很快地掌握相关硬件及系统软件的使用与维护方法,开发组的骨干成员请相应计算机供应商进行了专门培训。在完成系统的硬件及系统软件平台的设计工作后,开发组的总体技术负责人高博士指示各子系统的负责人带领各自的开发人员,以系统分析报告为基础,考虑到所采用的计算机硬件平台
3、、数据库管理系统及开发工具,依据现有系统的业务流程设计新系统的数据处理流程,进而对相应的数据类进行设计(如增加新数据类,去除无用数据类,改造某些数据类等)。根据得到的新系统的数据流程最后确定青钢管理信息系统的功能结构,此时的功能结构实际上就是新系统的应用软件结构。完成上述工作后,在得到了新系统的数据处理流程和系统应用软件结构的同时,我 们还得到了新系统 的数据类(由数据字典给出)。在总体技术负责人高博士的带领下,开发组依据得到的数据类的结构(即数据字典)完成了整个系统的数据库设计工作,并对其中系 统全局性应用的共享编码类数据,如:物资编码、供应商编码、 产品编码、会计科目编码进行了全系统内各子
4、系统之间的协调。开发组的设计人员对新系统的应用软件结构中的组成部分即功能模块125进行了进一步的设计工作。这些工作包括对每一模块的用户界面、处理过程、 输入输出的设计。最后各子系统开发人员将上述设计结果进行了汇总整理,形成了青钢管理信息系统的系统设计报告,并开始了下一阶段系统实施阶段的工作。通过上述系统设计过程的情景案例,我们可以看出管理信息系统设计阶段遵循自顶向下的设计原则,首先进行总体设计,逐层深入,直至完成系统每一模块的详细设计和描述工作,这也说明了系统设计阶段的工作分为两部分,即系统的总体设计(或概要设计)和详细设计。管理信息系统的总体设计是在系统分析工作的基础上,主要完成下述工作:(
5、1)设计新系统的计算机硬件结构及系统软件结构。(2)根据选定的硬件平台及系统软件(尤其是开发工具及数据库系统)的特点,设计新系统的数据处理流程及数据类。(3)由新系统的数据处理流程确定新系统的应用软件结构。(4)依据数据类完成新系统的数据库设计及共享编码的设计。详细设计又称物理模型设计,真正回答新系统如何做的问题。详细设计的对象为构成系统的每一个功能模块,其主要工作为:(1)功能模块的处理过程设计。(2)功能模块的输入、输出设计。第一节 硬件结构及系统软件结构的设计一、 硬件结构的设计计算机硬件平台的选择在很大程度上决定了整个系统的成本,也决定了整个系统的性能指标。一般来说,如果系统的数据处理
6、是集中式的,则可采用单主机多终端模式,此时要求以大型机或性能较高的小型机作为主机。对于具有一定规模的企业管理应用,按其管理功能来看,其应用本身就是分布式的,此时所选择的计算机系统的计算模式也应该是分布式的,即客户端以微机为主,服务器可采用性能一般的小型机或性能高的微机。计算机及网络的各项技术参数的选择可依据系统要处理的数据量及数据处理的功能要求来决定。126当选定计算机应用系统的计算模式之后,我们就可以确定系统的网络拓扑结构,并根据系统的逻辑功能划分(如有多少子系统)确定网络的逻辑结构(子网或网段的划分) ,这实际上也就决定了网络的主要连接设备及服务器等重要部分的构成,此时应遵循的重要原则就是
7、应尽量使信息交换量大的应用放在同一网段内。例 6-2 某企业供销公司营销计算机系统的硬件结构设计案例:某大型供销公司决定建设计算机供销管理系统,在完成了系统分析工作之后确定了整个系统由物资供应子系统、产品销售子系统及服务于公司领导的综合查询三个子系统构成。该系统涉及的主要办公部门分布在一个主办公大院内(见图 6-1)。物资管理部门集中在 A 楼,产品销售部门集中在 B 楼,C 楼是公司领导的办公地点。其中 A 楼有三层,B 楼两层,C 楼两层。A、 B、C 三楼间距离分别为:AC=300 米,CB=200 米。除了上述管理部门之外,物资管理还有 4 个物资仓库,产品销售管理还有两个货场及一个货
8、运站,这些机构离主办公大院都在 210 公里左右。根据上述情况,开发组给出了下面的硬件结构方案:(1)主办公大院内 计算机应用系统的计算模式采用 B/S 模式。(2)在主办公大院内建立 连接 A、B、C 三楼的主干光纤网。(3)从主干光纤 网在 A、B、C 三楼分别接出三个星型网络用于建立物资子系统、产品销售子系统及综合信息查询子系统。(4)对于离主办 公大院较远的物资仓库、产品货场及货运站,通过电话拨号的方式接入办公大院内的系统,考虑到拨号接入的速度较低,该部分的应用采用 C/S 计算模式。整个系统的硬件结构见图 6-2。主办公大院A 楼 C 楼B 楼图 6-1 办公部门分布图127在 A
9、楼、 B 楼的子网中各有两台服务器分别担当物资供应子系统及产品销售子系统的数据库服务器及应用服务器。图 6-2 系统硬件结构图C 楼B 楼物资仓库、货场、货送站ModemModemA 楼128二、 系统软件结构设计系统软件结构的设计工作,实际上是对确定的硬件结构中的每台计算机指定相应的计算机系统软件,包括操作系统、数据库管理系统、应用服务器系统、开发工具软件等。(一) 操作系统的选择服务器上操作系统一般选择多用户网络操作系统,如Unix、Netware、Windows NT 等。其中 Unix 的特点是稳定性及可靠性非常高,但缺点是系统维护困难、系统命令枯燥。Netware 适用于文件服务器工
10、作站工作模式,在五年前市场占有率很高,但现在应用的较少。Windows NT 安装、维护方便,具有很强的软硬件兼容能力,并且同 Windows 系列软件的集成能力也很强,一般认为是最有前途的网络操作系统。客户机上的操作系统一般是采用易于操作的图形界面的操作系统,现在多数选择 Windows 系列,如 Windows98 等。(二) 数据库服务器系统软件的选择管理信息系统中,数据库服务器是必不可少的网络组成部分。因此,数据库管理系统软件的选择对管理信息系统的建设有着举足轻重的影响。目前市场上流行的数据库管理系统有 Oracle、Sybase、SQL Server、DB2 及 Foxpro 等。其
11、中 Oracle、Sybase、SQL Server 是开发大型管理系统时数据库系统软件中的首选,而 Foxpro 在小型管理信息系统建设中选用较多。在数据库选择方面,另一个要注意的因素是数据库软件的行业占有性。如果在某一行业中企业采用Oracle 的比例很高,那么同一行业中的其他企业建设管理信息系统时一般也应采用相应的数据库系统软件,这样有利于相互的数据交换。(三) 应用服务器系统软件及开发工具的选择系统软件结构中的另一个方面是应用服务器软件及系统开发工具的选择。系统开发工具的选取首先依据的是管理信息系统应用的模式,即是 CS 模式还是 BS 模式,若你的系统确定开发的应用为 BS 模式就应
12、选择支持 B/S 模式的应用服务器软件及开发工具。如果你的网络操作系统选择的是 Windows NT,则微软公司的 Internet Information ServerIIS 是建立支持 Web 应用的首选129应用服务器软件。目前 B/S 模式应用的开发工具很多,如 Delphi、ASP、Power Builder 的较高版本都支持 B/S 模式应用的开发。当然,若管理信息系统采用BS 模式,则客户端计算机上还需安装浏览器软件,现在用得最多的是微软公司的 IE4.0 及以上版本。C/S 模式的开发工具及运行环境一般安装在客户端计算机上,用于 C/S 模式应用开发的系统工具软件用得较多的为
13、Power Builder。例 6-3 系统软件结构设计案例例 6-2 中某企业供销公司计算机管理系统的系统软件配置方案为:(1) A、B 两楼内的四台服务器均采用 Windows NT Server 4.0 网络操作系统。(2) A、B 两楼内的两台数据库服务器均采用 Oracle8.0 作为数据库服务器软件。(3) A、B 两楼内的两台应用服务器均采用 IIS3.0 作为 Web 应用服务器软件。(4) 主办公大院内的客户端应用采用 BS 模式工作,客户端操作系统采用Windows98,浏览器采用 IE4.0,应用开发工具采用 ASP 和 Delphi5.0。(5) 物资仓库、产品货场、货
14、运站的客户端采用 C/S 模式工作,这样可以减少网络上的数据传输量,操作系统采用 Windows98,应用开发及运行环境采用Power builder6.0。上述配置方案可标注在系统硬件结构图中(见图 6-2)。第二节 数据处理流程及数据类的设计在系统分析阶段我们得到了现行系统所有的数据处理流程和数据字典,这里的设计工作是将这些结果针对新系统的要求进行设计改造,进而得到新系统的数据处理流程及数据字典。例 6-4 新系统的数据处理流程及数据字典的设计例设图 6-3 是系统分析阶段得到的“手工银行对帐” 业务的数据流图。图 6-3 手工银行对帐数据流图编制余额调节表企业日记帐对帐单已达帐 未达帐余
15、额表对帐130在设计新系统的银行对帐处理流程时,考虑到计算机的应用,我们进行如下调整:(1)增加“对帐单”的录入功能。(2)增加“银行对帐数据”及“企业对帐数据”两个数据 类。(3)增加从“企业日记帐”提取并形成“企业对帐数据”的功能。(4)增加“对帐结果数据” 数据类。(5)增加对帐结 果打印(整理输出)功能。这样我们得到新系统的银行对帐数据处理流程如图 6-4 所示。新增加的“银 行对帐数据”数据字典为:表 6-1 “银行对帐数据” 数据字典 项名 例 类型 取值范围 备注科目代码 10201 数值型 37 位数字 日期票据号 可唯一确定一条记录日期 92/05/31 日期型摘要 收鞍钢欠
16、款 字符型 20 个汉字票据号 Z10006 字符型 20 个字符收/付 收 字符型 2 个字符金额 150000.00 数值型 12 位数字2位小数已达标志 已达 字符型 4 个字符提取对帐单录入 对帐整理输出企业对帐数据对帐结果数据余额调节表已达帐企业未达帐银行未达帐银行对帐数据企业日记帐图 6-4 设计得到的银行对帐数据流图131其它数据类的数据字典略。例 6-5 在例 5-3 中我们用数据流图描述了现行系统“物资采购计划制定及审批”业务的数据 处理过程。这里,我 们考虑到计算机应用后,设计并给出目标系统中该业务的数据处理过程(见图 6-5)。对于上述设计得到的目标新系统中“物资采购计划
17、制定及审批” 业务的数据流图所涉及的数据类:“ (分厂)物 资需求计划表” ,“物 资需求汇总表” ,“(分厂)产品产量计划”, “生 产用物资需用量”, “物资消耗定额” ,“库存台帐”, “物资采购计划”,我们应分别设计它们的数据字典(限于篇幅这里不再给出,用数据字典描述数据类的方式可参见第 5 章)。完成每一项业务的数据流图及数据字典设计之后,再考虑到新系统可能增加的系统维护(如编码管理、数据备份、操作员代码管理等)方面的功能,我们就可以给出新系统的应用软件结构了。例如,某物资管理系统的应用软件结构如图 6-6。生产分厂按物资汇总审批物资需求汇总表计算物资的采购计划量库存台帐量物资采购计
18、划物资需求计划表物资消耗定额录入物资需求计划表计算生产用物资需用量生产用物资需用量计划处产品产量计划物资需求汇总表技术处物资仓库审核物资需求计划表图 6-5 设计得到的 “物资采购计划制定及审批”业务的数据流图132第三节 数据库设计一、 数据库设计的技术基础(一) 数据管理的发展过程数据库技术是随着计算机技术的发展,数据处理量的不断增加而逐渐产生和发展起来的。下面回顾一下数据管理技术的发展过程。(1)数据人工管理阶段在计算机应用的初级阶段,没有专门的软件系统对数据进行管理。当时比较典型的存储介质是纸带和卡片,用于存放应用程序及数据。数据的物理存储、物资管理需求计划管理需求计划审批 采购计划制
19、定 采购执行管理 入库管理 材料帐管理 物资盘点管理出库管理 报表统计打印 各类统计分析 编码管理 数据备份需求计划管理采购计划管理仓储管理统计管理系统维护需求计划录入 需求计划汇总图 6-6 某物资管理系统的应用软件结构133存取方法和输入输出等都必须由程序员在应用程序中进行设计。在这种情况下,计算机应用程序和数据是不可分割的,也不可能在不同的应用之间实现数据共享。如果数据的物理存储设备发生变化,就必须修改程序。在人工管理阶段,数据管理的效率非常低下。(2)文件系统阶段50 年代中期至 60 年代中期,计算机技术有了很大的发展。在硬件方面,出现了磁鼓、磁盘等大容量存储设备;在软件方面,对于程
20、序和数据,操作系统都以文件形式进行管理,一个程序文件中包括的是一段程序,一个数据文件中包括的是一组数据。文件系统的应用使我们可以将程序和数据分离开来。程序文件和数据文件都存放在磁盘等存储介质上。操作系统提供了友好的界面,用户能够比较方便地运行程序文件及使用数据文件。由于程序和数据之间具备了一定的独立性,因此多个应用程序之间可以共享一个或多个数据文件。数据管理技术由人工管理阶段发展到文件系统阶段是一个质的飞跃,不仅实现了应用程序和数据的分离,也实现了数据的共享。(3)数据库系统阶段随着计算机技术的发展与应用的普及,文件系统已经不能满足人们对数据管理的要求。例如:人们希望数据的组织不仅是简单的数据
21、存储,而且要反映出数据之间的联系,并形成清晰的描述。在这些需求条件下,数据库管理系统逐渐发展起来。在数据库系统阶段,数据本身具有了便于应用程序操作的结构。数据库管理系统是管理信息系统产生与发展的重要基础,数据库设计是管理信息系统设计的重要内容。(二) 数据库的基本概念在数据库管理系统中,采用数据模型(Data Model)来对现实世界进行抽象,反映数据本身及其数据之间的联系。数据模型按照计算机系统的观点来组织数据。为了将现实世界中的事物抽象为数据库管理系统支持的数据模型,通常需要一个不依赖于计算机系统的中间层次概念模型,即首先将现实世界中的事物及其联系抽象为概念模型,再由概念模型转化为数据模型
22、。概念模型最常用的表示方法是实体-联系模型。实体-联系模型,也称为 E-R 模型,反映的是现实世界中的事物及其相互联系。实体-联系模型中涉及三个主要概念:实体、属性和联系。实体(Entity)是客观存在并可相互区分的事物。实体可以是一个具体的人或物,也可以是抽象的事物或概念。性质相同的同类实体的集合称为实体集。属性(Attribute)134是指实体具有的某种特性。例如:物资实体可以通过物资编码、物资名称、型号、规格、计量单位、物资类别、存放仓库等属性来进行描述。联系(Relation)是指实体之间的联系,A 和 B 两个实体集之间的联系可分为如下三种形式:(1)一对一联系:如果 A 中的每一
23、个实体,B 中只有一个实体与其发生联系;同时 B 中的每一个实体,A 中也只有一个实体与其发生联系,那么称A 和 B 是一对一联系。(2)一对多联系:如果对于 A 中的一个实体,B 中有一个以上实体与其发生联系;而 B 中的每一个实体只与 A 中的一个实体发生联系,那么称 A 和B 是一对多联系。(3)多对多联系:如果 A 中至少有一个实体对应于 B 中一个实体;且 B中也至少有一个实体对应于 A 中一个实体,那么称 A 和 B 是多对多联系。概念模型一般用实体-联系图(E-R 图)来描述。在 E-R 图中,用矩形表示实体,用椭圆表示实体的属性,用菱形表示实体之间的联系,用无向边将各属性连接到
24、其所属的实体,用无向边将矩形和菱形连接起来,在边上表明是一对一联系、一对多联系或多对多联系。实体、属性和联系也称为 E-R 图的三个图素。图 6-7 给出了一个 E-R 图例。在该例中的实体有物资、供应商和合同。物资的属性有物资编码、物资名称、物资规格和物资型号;供应商的属性有供应商名称、供应商地址和供应商帐号;合同的属性有合同编号、合同日期和交货日期等。在该例中,联系只有一个,即订货联系。在订货联系中涉及到的实体有物资、供应商和合同。一种物资可以由多家供应商供应,签定多笔合同;一供货商 合 同订 货LM N物 资 编码 物 资 名称 物 资 规格 物 资 型号供 货 商 编 码 供 货 商
25、名 称 供 货 商 帐 号 合 同 编 号 合 同 日 期 交 货 日 期物 资图 6-7 E-R 图举例135家供应商也可以供应多种物资,也可能签定多笔合同,这种联系在图中用L:M:N 来表示。在订货联系中的属性有供应商编码、合同编号、物资编码、订货数量和订货金额。E-R 图描述的是概念模型,是从现实世界抽象到数据库管理系统支持的数据模型的中间层。数据模型是直接面向数据库中数据的逻辑结构。数据模型主要有层次模型、网状模型和关系模型。其中,关系模型在目前的数据库系统中使用最广泛,技术上也最成熟。关系模型是用二维表结构来表示实体以及实体之间联系的数据模型。关系模型建立在严格的数学理论基础上,可以
26、通过统一的结构来表示实体以及实体之间的联系。关系模型是目前几乎所有数据库都支持的数据模型。采用关系模型的数据库称为关系数据库。下面将主要介绍关系模型。关系模型的基本结构是二维表,表 6-2 是一个二维表的例子。在该例子中有 3 个记录,每一个记录都具有 5 个属性,即供应商编码、合同编号、物资编码、订货数量和订货金额。实际上,该二维表描述了 E-R 图 6-7 中给出的订货联系。表 6-2 二维表举例供应商编码 合同编号 物资编码 订货数量 订货金额02001 Xt0001 0101003 1,000 80003020 Yk0002 0203001 300 1,80002003 Nt0002
27、0204008 900 2,700在关系模型中的主要术语有:关系:一个关系对应于一张二维表。元组:表中的一行称为一个元组。属性:表中的一列称为一个属性。为了对每列加以区别,给每列取一个名字称为属性名。域:属性的取值范围。分量:元组中的一个属性值。主码:表中的某个属性组,它能够唯一地标识一个元组。关系模式:对关系的描述,用表式结构或下面的形式表示。关系名(属性 1,属性 2,属性 n)关系名=属性 1+属性 2+属性 n136关系模型可以由实体-联系模型(E-R 模型)转换而来,转换的过程可以参照下面几个规则:(1)E-R 模型中的每一个实体集对应于一个关系,实体集名作为关系名,实体集的属性作为
28、该关系的属性。(2)E-R 模型中的联系也对应于一个关系,该联系的属性及与该联系相连的各实体集的主码作为该关系的属性。根据上述原则,图 6-7 中的 E-R 模型转换为如下的关系模型: 物资(物资编码、物资名称、物资规格和物资型号) 供应商(供应商名称、供应商地址、供应商帐号) 合同(合同编号、合同日期、交货日期) 订货(供应商编码、合同编号、物资编码、订货数量、订货金额)(三) 关系模型的规范化理论关系模型的好坏对数据的存储、操作有很大影响。因此,一般基于规范化理论进行关系模型的设计。规范化理论是 E.F.Codd 在 1971 年提出的,研究关系模型中各属性之间的关系,探讨关系模型应具备的
29、性质和设计方法。规范化体系中通过多层范式(Normal Form)结构表示关系模型的规范化程度。其结构见图 6-8。在规范化体系中,如果满足最低要求,则称为第一范式(First Normal Form, 1NF) ,在 1NF 的基础上进一步满足一定的条件则为第二范式( 2NF) ,依次类推。管理信息系统的数据库设计,通常只使用 1NF、2NF 和 3NF,因此,下面只介绍这三种范式。(1)第一范式(1NF)第一范式的关系应满足的基本条件是元组中每个分量都必须是不可分割的数据项。在表 6-3 中,由于“物资价税”这个数据项进一步可分割为“物资金额”表式结构1NF2NF3NF更高层次范式图 6-
30、8 关系型数据模型的范式结构137和“增值税额”两个数据项,因此该关系模型不满足第一范式的条件,不是第一范式。表 6-3 物资价税表物资价税物资编码 物资名称 物资金额 增值税额0101003 生铁 600.00 102.000203001 石棉 800.00 136.000204008 焦碳 500.00 85.00表 6-4 经过了规范化处理,去掉了可分割的数据项,是第一范式。表 6-4 规范化的物资价税表物资编码 物资名称 物资金额 增值税额0101003 生铁 600.00 102.000203001 石棉 800.00 136.000204008 焦碳 500.00 85.00(2)
31、第二范式(2NF)一个关系称为满足第二范式的条件是指其在满足第一范式条件的基础上,进一步要求所有非主属性完全依赖于其主码。表 6-5 的关系模式满足第一范式的要求,但不满足第二范式的要求。表 6-5 物资与供应商物资编码 物资名称 供应商编码 供应商名称0101003 生铁 0001 XX 钢铁公司0203001 石棉 0002 XXXX 商贸集团0204008 焦碳 0001 XX 钢铁公司在此关系模式中, “物资编码”和“供应商编码”共同构成此关系模式中的主码。 “物资名称”和“供应商名称”是非主属性。在这里“物资名称”这个非主属性只是部分依赖于主码(即只依赖于主码的第一个分量“物资编码”
32、 ) , “供应商名称”这个非主属性也只是部分依赖于主码(即只依赖于主码的第二个分量“供应商编码” ) ,因此该关系模式不属于第二范式。不属于第二范式的关系模式会造成数据处理的以下三种问题: 插入异常:一种新物资,由于没有确定相应的供应商,就不能在当前138的数据库中记录下来; 删除异常:要删除一种物资的数据,也不得不从数据库中删除相应的供应商数据,从而有可能丢失供应商数据。 大量数据冗余的存在。在本例中可将上述非第二范式的关系分解为如下三个满足第二范式条件的关系: 物资(物资编码、物资名称) 供应商(供应商编码、供应商名称) 物资与供应商(物资编码、供应商编码)(3)第三范式(3NF)一个关
33、系称为满足第三范式的条件是指其在满足第二范式条件的基础上,进一步要求任何一个非主属性都不传递依赖于任何主属性。例如表 6-6 的关系模式属于第二范式,但不满足第三范式。表 6-6 教师教师代码 教师姓名 院系名称 院系负责人Y0001 江涛 应用学院 李利华Y0002 张为 应用学院 李利华Y0003 何丽丽 应用学院 李利华在该关系中,主码为“教师代码” 。 “院系名称”这个非主属性依赖于主码“教师代码” ,而“院系负责人”又依赖于“院系名称” ,因此, “院系负责人”传递依赖于主码“教师代码” 。这样的关系存在着高度冗余和更新问题。消除传递依赖关系的办法是将上述关系分解为如下几个满足第三范
34、式的关系: 教师(教师代码、教师姓名、院系名称) 院系(院系名称、院系负责人)第三范式(3NF)消除了插入、删除异常及数据冗余等问题,已经是比较规范的关系了。实际应用当中,只要所设计的数据库属于第三范式一般就足够了。二、 数据库设计例例 6-6 数据库设计例我们依据例 6-5 中 “物资 采购计划制定及审批” 业务 涉及“物资需求计划表”,“物资需求汇总 表” ,“产品产 量计划” ,“生产用物资需用量” ,消耗定额”, “库存台帐”,139“物资采购计 划” 等 7 个数据 类为基础进行数据库的 设计,步骤如下:步骤 1. 根据前面设计得到的数据字典及数据流程确定数据库设计中需要规范化的数据
35、类及内容。虽然, “物资采购计划制定及审批”业务涉及“物资需求 计划表” ,“物资需求汇总表”, “产 品产量 计划” ,“生产 用物资需用量” ,“物资消耗定额”, “库存台帐”, “物资采购计划”等 7 个数据 类,但因数据类“生产用物资需用量” 是由数据类“ 产品产量计划”和数据类“ 物资消耗定额”通过简单计算得到的,即数据类“生产用物资需用量”是导出型数据,故不需要在数据库中长期保存,因此本例中需要进行规范化的数据类及其内容包括:物资需求计 划表分厂名称+物 资名称+ 型号 规格+需用量+用途物资需求汇总 表物资名称+型号 规格+ 需用量物资采购计 划物资名称+型号 规格+ 采购计 划
36、量主生产计划分厂名称+产 品名称+ 计划 产量材料消耗定额产品名称+物 资名称+ 型号 规格+消耗定额库存台帐物资名称+型号 规格+ 当前 库存量+合理库存量+期初 库存量+累计入 库量 +累计出库量步骤 2. 确定每个数据类需要存储的内容,去除多余的数据元素,并研究是否有必要增加新的数据元素,如增加必要的代码项。在本例中,物资、产品和分厂需要增加代码项,分别为 物资编码、产品编码和分厂编码。步骤 3. 列出各种表格存储的 1NF 数据元素。本例中各种表格存储的 1NF 数据元素如下:物资需求计 划表1NF:分厂编码+ 分厂名称+物资编码+ 物资名称+型号规格+需用量+用途物资需求汇总 表1N
37、F:物资编码+ 物资名称+型号规格+ 需用量物资采购计 划表1NF:物资编码+ 物资名称+型号规格+ 采购计划量140主生产计划1NF:分厂编码+ 分厂名称+产品编码+ 产品名称+计划产量材料消耗定额1NF:产品编码+ 产品名称+物资编码+ 物资名称+型号规格+消耗定额库存台帐1NF:物资编码+ 物资名称+型号规格+ 计量单位+当前库存量+合理库 存量 +期初库存量 +累计入库量+累计出库量步骤 4. 对步骤 3 得到的 1NF 关系进行规范化,得到 3NF 关系。物资需求计 划表1NF:分厂编码+ 分厂名称+物资编码+ 物资名称+型号规格+需用量+用途3NF: 1)分厂编码+ 分厂名称2)物
38、资编码+物资名称+ 型号 规格3)分厂编码+物资编码+ 需用量 +用途物资需求汇总 表1NF:物资编码+ 物资名称+型号规格+ 需用量3NF: 4)物资编码+ 物资名称+型号规格5)物资编码+需用量物资采购计 划表1NF:物资编码+ 物资名称+型号规格+ 采购计划量3NF: 6)物资编码+ 物资名称+型号规格7)物资编码+采购计划量主生产计划1NF:分厂编码+ 分厂名称+产品编码+ 产品名称+计划产量3NF: 8)分厂编码+ 分厂名称9)产品编码+产品名称10)分厂编码+产品编码+计划产量材料消耗定额1NF:产品编码+ 产品名称+物资编码+ 物资名称+型号规格+消耗定额3NF:11)产品编码+
39、 产品名称12)物资编码+物资名称+ 型号 规格13)产品编码+物资编码+ 消耗定 额库存台帐1NF:物资编码+ 物资名称+型号规格+ 当前库存量+合理库 存量 +期初库存量 +累计入库量+累计出库量1413NF: 14)物资编码+ 物资名称+型号规格15)物资编码+当前库存量+ 合理库存量+期初库存量 +累计入库量+累 计出 库量步骤 5. 针对上述得到 15 个 3NF 关系,进行关系的归纳与合并,去掉重复的关系。本例经归结与合并后得到下述内容:分厂基本信息= 分厂编码+分厂名称物资基本信息 =物资编码+物资名称+型号规格物资需求计 划= 分厂编码+物资编码+需用量+ 用途物资需求汇总 =
40、物资编码+需用量物资采购计 划= 物资编码+采购计划量产品基本信息 =产品编码+产品名称主生产计划 =分厂编码+产品编码+计划产量物资消耗定 额= 产品编码+物资编码+消耗定额库存台帐=物资编码+当前库存量+合理库存量+期初库存量+ 累计入库量+累计出 库量第四节 编码设计系统设计阶段的编码设计是未来系统数据规范化管理的基础,特别要强调的是,共享编码的设计质量直接影响到未来系统的效率。编码设计的主要工作是完成对共享数据类中的关键字段的码结构设计并形成编码库。所谓共享类数据类是指多个子系统都要用到的数据类,如“物资基本信息” , “产品基本信息”等。一、 编码要求(1)唯一性编码的唯一性要求保证
41、,通过编码可唯一地确定编码对象,这是编码在数据管理中最基本的作用。(2)规范性编码的规范性是指对编码对象的编码要遵循一定的规则,这些规则包括:编码的位数、编码的分段、每段的类型和含义等。例如某物资管理系统中数据类“物资基本信息”的关系模式为:物资基本信息(物资编码,物资名称,规格型号)该数据类中的关键字段“物资编码”就是对编码对象(即物资)的编码。142例如其编码结构为:编码位数为 7 位,整个编码由类码、品种码、流水码三段组成(见图 6-9) ,其中第 1-2 位为类别码段,字符型;第 3-4 位为品种码段,字符型。第 5-7 位为流水码段,数字型。(3)可识别性编码的可识别性要求的目的是,
42、通过编码能够比较容易地识别被编码对象。如物资编码“WJTQ002” 表示类别为“五金” ,品种为“台钳”的第 5 号物资。这样仓库保管员就比较容易地获知该编码代表的是哪种物资了。(4)可扩展性编码的此项要求是保证系统对企业管理业务变化的适应性,即要求编码规则对已有编码对象留有足够的余量。例如,在产品编码已经按其编码规则被全部占用的情况下,若企业再开发出新产品,系统就无法对其进行编码并进行管理了。二、 编码方式(1)数字顺序码这是最简单的编码形式,一般适用于被编码对象数目较少的情况。例如,某企业管理信息系统中,对 6 个物资仓库的编码可采用如下的数字顺序码。表 6-7 数字顺序编码例编码对象 仓
43、库 1 仓库 2 仓库 3 仓库 4 仓库 5 仓库 6编码 01 02 03 04 05 06(2)数字分组顺序编码当编码对象具有两层(或以上)的分类时,可采用数字分组(段)顺序码。如上述 6 个仓库中的帐本的编码可采用如下的数字分组顺序码。表 6-8 数字分组顺序编码例编码对象仓库 1的第 1本帐仓库 1的第 2本帐. 仓库 2的第 1本帐仓库 2的第 2本帐.图 6-9 物资编码结构例第 5-7 位,流水码第 3-4 位,物资品种第 1-2 位,物资类别143编码 01001 01002 . 02001 02002 .在该数字分组顺序码中,前两位标示帐本的所属仓库,后 3 位标示该仓库中
44、帐本的序号。(3)字符编码数字编码虽然结构简单,但也存在不容易识别和记忆的缺点。为了容易识别和记忆,可采用字符编码,如我们可对企业的 6 个仓库采用下面的字符编码。表 6-9 字符编码例编码对象 五金库 化工库 劳保库 备件库 机电库 工具库编码 WJ HG LB BJ JD GJ其中,我们使用了仓库汉语名称的拼音字头形成了相应仓库的字符编码,即容易识别,也容易记忆。(4)组合编码当编码对象具有两层(或以上)的分类时,我们可采用数字和字符的组合编码方式使编码对某层分类的记忆和识别更直观和容易。如前述 6 个仓库中的帐本的编码可采用如下的组合编码。表 6-10 组合编码例编码对象五金库的第 1本
45、帐五金库的第 2本帐. 化工库的第 1本帐化工库的第 2本帐.编码 WJ001 WJ002 . HG001 HG002 .三、 编码的设计和使用编码的设计和使用一般遵循“(设计时)分段设计, (使用时)用户标携带+前台输入 + 后台组合的”方法,这样能较好地解决管理人员难于使用编码的问题。下面将以某企业管理信息系统的产品编码设计与使用来说明上述原则。例 6-7 编码使用案例某钢厂产品编码为 7 段,12 位分组数字码。如 20 普沸通用大型工字钢的编码为 421032011101,其 结构为:大类码 细类码 规格码 材质码 用途码4 2 1 0 3 2 0 1 1 1 0 1144细材 型材
46、大型 工字钢 20 普沸 通用图 6-10 7 段 12 位的产品编码在实际应用中,管理人员首先通过输入自己的用户标识(用户 ID)和密码注册,从而获得相应操作(如 产品入库登记)的权利。因为用户 ID 已经携带了用户所管理产品的某些限制信息(如一般情况下,每个业务人员只负责管理某大类下某小类的若干产品,这样, 管理作人员的用户 ID 已限定了 该用户所管理产品编码的大类码段和小类码段),因此,当用户需要输入某 产品的编码时,只需 输入产品的规格码段、材质码段、用途码段,最后由 计算机在后台自 动组合形成完整的 12位产品编码。其分组组合过 程见图 6-11。第五节 功能模块的处理过程设计系统
47、的详细设计阶段,功能模块处理过程的设计和描述可以采用程序框图或过程描述语言(Procedure Description LanguagePDL)两种描述工具实现,但用 PDL 语言较程序框图更灵活、方便。PDL 语言是介于计算机结构化程序设计语言和自然语言之间的一种描述性语言,该描述语言的关键字及语法规则有:规格码 材质码 用途码用户 ID 携带: 大类码 小类码操作员注册操作员输入计算机后台组合完整的 12 位产品编码图 6-11 产品编码应用中组合过程145PROCEDURE 模块名 (指明模块名称)IFELSEENDIF (简单分支结构)DO CASEENDCASE (多重分支结构)DO
48、 WHILEENDDO (条件循环结构)利用上述语法结构及自然语言,我们可灵活的描述每一个功能模块的处理过程。例 6-8 功能模块“删除已达帐”的 PDL 语言描述PROCEDURE 删除已达帐显示:请输入要删除的已达帐的日期和票据号日期RQ1票据号PJH1显示:已达帐真要删除吗?IF 回答“Y”删除“企业对帐 数据” 中 日期 RQ1 且 票据号 PJH1 的已达记录删除“银行对帐 数据” 中 日期 RQ1 且 票据号 PJH1 的已达记录显示:“删除已达 帐工作结 束”ELSE显示:“已达帐 未被删除”ENDIF返回调用模块。第六节 输入输出设计一、 输入设计输入设计的工作是依据功能模块的
49、具体要求给出数据输入的方式、用户界面和输入校验方式。进行输入设计工作时,要注意在整个系统中统一设计风格。例如要求所有设计人员遵照图 6-12 的界面框架对输入型功能模块进行用户界面设计。模块(应用)名称数据输入区保存 退出146图 6-12 输入界面框架为了尽可能地避免错误的数据存储到系统中,在输入设计中需要考虑采用具体的检测方式对数据输入的正确性进行校验。比较常见的数据输入检测方式有二次输入校验法、静态校验法、平衡校验法、文件查询校验法、界限校验法、数据格式校验法、校验码的方法等。(1)采用二次输入校验法要求同一个数据内容输入两次,以两次输入内容一致作为正确性判断的依据。对于特别重要的数据输入,也可以要求输入两次以上。(2)静态校验法是在数据输入之后采用目测的方法检查输入数据的正确性,目测一般在屏幕前进行,在输入内容复杂的情况下也可以打印出来检测。(3)平衡校验法是根据数据之间的计算关系来检查输入数据的正确性。应用平衡校验法比较典型的例子是会计凭证数据必须满足“有借必有贷,借贷必相等” ,即会计凭证中的数据必须同时有借方金额和