建立主题数据库的意义和方法
 

2009-07-10 作者:曹林贵 常建国 来源:ccw.com.cn

 

管理信息系统(MIS)是为企业领导层提供市场环境、企业状况、生产过程、经营活动和办公自动化等多方位信息,服务于现代化管理,提高企业工作效率和经济效益的计算机网络系统。10年来开发建设MIS的实践表明,因其涉及企业管理体制、运作机制、技术业务和外部环境等各个方面,而且企业的目标、决策和管理存在着不少半定型、半结构化和非定型、非结构化的活动,所以,期求在改革开放年代,根据企业的开发目标和管理现状,有效地建设好MI,实是艰难。

多年来,应用结构化分析、设计、编程等先进的软件工程及其相应的生命周期法和快速原型法开发MIS,皆因结构化技术在MIS建设中难以得心应手而屡遭挫折。尽管人们花费了大量的人力和财力用以建设MIS,但成功的不多。例如,随着时间的推移,系统变得非常脆弱;个体的、分散的、相互独立和面向过程的快速开发,仅仅着眼于具体的应用项目,"只见树木,不见森林",产生了大量的应用数据库(如图1所示),难以维护、修改和集成;重新组织数据,改进原有软件,所耗费的人力和资金比新建一个系统还要多。原有的开发方法不能满足MIS的易变性,也不能解决数据结构及其应用模式的时变性。尤其用第四代编程语言或程序生成器生成应用系统时,开发越快,产生混乱也越快,导致MIS建设陷于困境。因此,人们转向信息工程理论、面向数据方法和建立主题数据库,为MIS创造稳定的数据环境。

信息工程(Information Engineering)是一门新兴学科,它是在20多年的数据处理发展过程中,在总结了成功和失败的经验教训、进行了一系列实际考察后,在理论分析与多种方法综合的基础上,于80年代初创立的。信息工程的目标是建立计算机化的管理信息系统,其基本论题之一是总体数据规划(Strategic Data Planning)。信息工程作为一门学科要比软件工程的范围更为广泛,其基础是当代数据库系统,是多种技术、多种学科的综合。信息工程理论有三条基本原理:

·数据位于现代MIS的中心;

·数据是稳定的,处理是多变的;

·最终用户必须自始至终、真正参加MIS的开发建设。

信息工程指出,MIS可能存在于以下4类数据环境之中:

1.数据文件

无数据库管理系统,仅使用由程序员设计的数据文件。结构简单,易于实现,但维护修改困难。

2.应用数据库

使用数据库管理系统,根据具体的应用项目设计并建立与之相对应的小型、分散、相互独立的应用数据库,随心所欲,立竿见影。但在应用项目扩充时,数据库的数量剧增至数以千计,因未作数据规划,而使系统无法维护修改。

3.主题数据库

亦称集约化的数据环境。需要在对企业信息需求进行全面分析和总体数据规划的基础上,建立其数据库模型,对各类应用数据进行综合管理,设计出良好的数据库,其数据结构和存储方式完全独立于各种职能区域和业务过程使用数据的应用,整个组织中的数据都是集约化的和共享的。

主题数据库的优点是:

·数据库的数量很少(仅为应用数据库系统的几百分之一)。

·数据库的数量随应用项目的增加而增加的速度缓慢,当应用项目相当多时,其数量不再增加,如图2所示。

·数据库结构在应用系统发生变化时不需要修改,仅需修改数据元素库的代码。

·操作主题数据库(由4GL产生)的应用程序在应用系统发生变化时,只需修改若干程序操作的代码,而不必修改应用程序本身。所以,采用主题数据库的MIS在应用系统不断变化的过程中能够以不变应万变,保持相对稳定运行。

4.信息检索系统

在实现高度共享的主题数据库的基础上进一步优化,将满足某方面较专业的应用数据集中到更高层次的第四类数据环境"信息检索系统"之中,以保证此类应用的快速查询和计算机辅助决策系统的运行。它与仅满足于大量事务管理的应用数据库系统不同;其数据库数量不多,但很专一;它的软件设计常常采用转换文件、倒排表或辅关键字查询技术,新的字段可随时动态地加入到数据结构之中,有良好的最终用户查询和报表生成软件工具,比主题数据库有更大的灵活性、专业性和动态可变性。

笔者从1994年开始在河北省电力公司信息中心采用信息工程理论、面向数据方法和MIATS计算机辅助工具软件,进行省公司机关MIS的总体数据规划,并分析、组织和建立了指标体系的主题数据库,在NetWare4.10、Windows3.1和Oracle7数据库环境下,用Uniface工具软件(兼运行环境)开发的指标体系应用软件系统,收到了较好的效果,即在指标体系主题范围内应用项目和内容发生变化时,只需维护代码系统,其数据库数量、结构和操作数据库的程序都不需变动,系统仍能照常运行。

我们按照电力部"电力行业计算机管理信息系统总体设计规范"的要求重新进行了总体数据规划,即依照信息工程原理,采用面向数据的方法,从企业现代化管理目标出发,做好全局信息需求调研,描述好企业模型、功能模型和概念数据库模型;详尽收集、分析用户视图,找出共享数据元素指标项,设计数据元素库,划分好子系统;结合公司机关MIS综合信息查询系统的要求,建立指标体系主题数据库,同时进行信息分类编码和程序代码的编制工作,从而确保系统的成功建造。

具体做法是:首先成立一个在企业高层领导直接管理下的、责权明确的工作班子,派一名掌握规划技术、精通企业业务并具有丰富实践经验的负责人主持全面工作,选配合适且足够的人员,组织各业务部门的技术骨干担任信息员,协同工作,并邀请适当的合作伙伴(如华北电力大学)共同开发。其次是加强培训,如组织学习信息工程原理、面向数据方法和Sond/MISATS开发工具的使用方法,使班子成员和用户信息员学会识别企业职能,分析业务活动和数据库规范化等工作方法,为顺利开发总体数据规划工作做好准备。

1.建立企业模型和功能模型

从企业现状出发,进行业务分析,是对企业结构和业务活动本质的、概括的、复杂细致的认识过程,可以用"职能区域-业务过程-业务活动"的层次结构来描述。要依靠企业高层领导和各级管理人员,分析企业的现行业务和长远目标,按照企业内部各种业务的逻辑关系,将它们划分为若干职能区域/部门,搞清楚各职能区域中所包含的全部业务过程和功能,再将各个业务过程细分为一些业务活动。这些是在MISATS软件的企业模型管理模块支持下进行的。在企业建模过程中,一般可获得800~1000张用户视图,我们总结出约800个业务活动、150个业务过程和9±2个职能区域/部门。

2.建立概念数据库模型、数据元素库和数据流

在建立企业模型和功能模型的基础上,从各部门的用户视图入手,建立企业的概念数据库模型和数据元素库。在MISATS软件的数据管理模块下,对所有用户视图进行录入和数据分析,以便设计出符合三范式要求的概念数据库。同时,确定每个概念数据库的结构和主关键字、用户视图的数据采集周期及其容量(字节数)。在此过程中,将近千张用户视图中所涉及到的数以万计的数据指标项(字段)汇总、归并,剔除数据的物理属性(如何时、何地),浓缩为没有冗余的2000~3000个数据元素,建立数据元素库。该库给出每个数据元素的指标标识符(编码)、中文含义、重用次数和它们被用于各种概念数据库中的重复使用情况。

接着要对数据进行OSI分析,即分析和定义各职能区域/部门的输出(O)、存储(S)和输入(I)数据,确定系统的数据流,并输入到计算机内。这里约定,将跨职能区域/部门的数据流称为一级数据流, 在同一职能区域/部门内的称为二级数据流。由于数据是从一个部门流向另一个部门的,有一个输出,便对应有另一个输入,所以,只需定义数据的输出,而无需定义输入,这样既使工作量减半,同时又保持了数据流的一致性。

概念数据库、数据元素库和数据流的建立,为MIS建设提供了稳定的数据基础,完成了总体数据规划的初步工作。

3.建立逻辑数据库和划分子系统

完成了企业模型、功能模型、概念数据库及其数据流的设计以后,在MISATS工具软件的体系结构管理模块支持下,定义了逻辑数据库的库名、标识、生存期和记录数,设计出每个逻辑数据库的库结构,从而建立起系统的数据模型。根据用户视图和业务功能而设计的概念数据库,经过恰当的筛选增删后,可自动转换为逻辑数据库及其库结构。MISATS工具软件能自动生成逻辑数据库系统的数据元素库,并提供系统的数据元素总表和数据元素在逻辑数据库中的重复使用情况。由于使用了该工具软件,总体数据规划工作可以以不同的职能区域/部门为单位,有计划地分阶段进行,同样能保持数据元素库的唯一性和一致性,保持数据库概念设计和逻辑设计的正确性。

接下来是分析数据和功能关联。利用该工具软件中的C-U矩阵法子模块,通过人机交互由计算机按C-U矩阵法生成子系统的划分方案。由于我们的总体数据规划工作有非常熟悉电力企业生产和经营管理的专家支持,因此,不需要完全依赖C-U矩阵来划分子系统,就能较好地确定子系统。从结果上看,子系统的划分与职能区域的划分相一致。

4.设计指标体系主题数据库

历时半年,我们完成了公司MIS的总体数据规划。1995年开始从指标体系出发开展主题数据库的研制开发工作。依据部颁《电力企业关键指标体系》的要求,结合总体数据规划中得出的企业模型、功能模型和数据元素库,面对所有涉及企业经营管理和生产管理的技术、经济指标,详尽分析各数据项的逻辑属性和物理属性,将不含物理属性的数据项归纳为指标类并逐项给予严格的名称、代码、标识、定义、量纲、值域、频度、类型、长度、小数位和若干项程序标记位,形成指标代码库。它涵盖了调度、计划、生产技术、劳动人事等13个部门的153种指标,对于省公司的生产、经营管理所涉及的数据可谓无所不包。以上工作只有在完成了企业总体数据规划之后才能做到,为建立主题数据库奠定了基础。

把所有指标项的物理属性经归纳、整理,抽象为"企事业"、"区域"和"技术"三种口径,并给予编码,形成企事业口径、区域口径和技术口径三种口径代码的对照表,将指标项和指标的不同口径进行各种有效的组合,结合实际报表、经济活动分析表,以及用户的习惯,制订出指标体系主题数据库每月所需采集的数据清单,成指标全口径项目清单"库。

与应用数据库不同的是,主题数据库的数量少,增长缓慢,甚至不变,结构稳定且应用程序也不变。对于设计主题数据库,我们的做法是,将指标体系的所有应用数据库(二维表)的两个方向(维)的内容,通过编码的办法,全部放在主题数据库的记录里。这样,主题数据库的数量必然大大减少。例如,我公司的系统只有一个指标体系的主题数据库。主题数据库的结构则是包涵所有具有不同逻辑属性和物理属性的指标项的一个总体框架,其字段数量很少,记录条数则数以万计。于是,应用数据库的库结构修改工作变成了主题数据库中的记录修改,又因指标体系已经代码化,所以,进一步变成了指标代码库中的记录修改工作,因此,主题数据库的库结构稳定不变。

如前所述,我们采用属于第四代编程语言的Uniface工具软件(兼运行环境)来开发指标体系的应用软件,取消了手工编程。所以,在指标体系主题数据库的设计中,还为程序操作设计了一套程序标记代码,保证由Uniface自动产生的应用程序能按设计的预定功能进行正确操作。当应用项目变化时,仅仅修改指标体系的指标代码库、口径对照表和程序标记代码,并不需要修改由4GL产生的应用程序本身。因此,操作主题数据库的应用程序也无需修改。

上述指标体系主题数据库已在我公司成功运行一年半多,情况良好。它包括153种指标每月500个数据分别由13个部门按规定权限进行维护,已积累了5年以上的指标信息。在系统中,除了6个代码对照表以外,仅有一个指标数据主文件可做综合查询,由此得到所有现行报表中的各种指标数据和图表显示,并能进行预定的统计工作,从而消除了数据冗余,确保了数据的唯一性,在辅以行政管理手段后做到了数据的准确、及时、全面。由于系统建筑在总体数据规划的坚实基础之上,所以,能做到在应用项目发生变化时(如字段变化、报表变化、数据的责任单位变化等),主题数据库的数量不变、结构不变、应用程序也不变,我们尝到了建立主题数据库的甜头。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织