通用外挂式辅助数据库设计程序

2009-04-21 09:45钟润阳戴青云戴鑫波
计算机辅助工程 2009年1期
关键词:字段可视化辅助

钟润阳 戴青云 周 科 戴鑫波 王 进

摘 要:针对目前数据库设计中可视化程度不高、数据库表字段难以管理以及数据库更改会导致程序改动较大的问题,以离散制造执行系统(Discrete Manufacturing Execution System,DMES)为软件设计背景,结合软件设计的通用性原则及目标,采用Delphi 6.0进行开发,并以ini文件方式保存系统配置,从而增加数据库链接的灵活性、统一各应用程序链接数据库的模式,实现通用外挂式辅助数据库设计程序. 在DMES中的应用实例表明,利用此程序可提高数据库设计过程中的可视化程度,灵活管理数据库资源,缩短软件开发周期,提高软件开发效率.

关键词:外挂式辅助数据库设计程序;可视化数据库设计;离散制造执行系统

中图分类号:TP311.13;TP311.56

文献标志码:A

Universal external database design program

ZHONG Runyang,DAI Qingyun,ZHOU Ke,DAI Xinbo,WANG Jing

(Faculty of Info. Eng.,Guangdong Univ. of Tech.,Guangzhou 510006,China)

Abstract:As to the issues of the lack of visualization,the management difficulty of database table fields,and the big program modification with database change,an universal external database design program is implemented under the software design background of Discrete Manufacturing Execution System(DMES) which is combined with the universal principle and object of software design. The development uses Delphi 6.0 and an ini file that save the configurations to increase the flexibility of database link and unify all link model for all application programs. The application example in DMES shows that the program can improve database visualization level,manage database resources flexibly,shorten software development cycle and improve software development efficiency.

Key words:external database design program;visual database design;discrete manufacturing execution system

0 引 言

软件技术和方法的不断推陈出新,都必须以适应现有数据库为前提;与此同时,软件开发过程中,数据库设计与实际业务流程及软件性能要求密切相关;数据库设计的好坏、性能的高低直接关系着整个软件系统的生命周期长短.所以,辅助数据库设计程序是最有力的辅助设计工具之一.

当前,数据库设计采用SDE中间件技术的数据引擎处理,但是SDE是位于客户端及RDBMS之间的空间服务器,与RDBMS集成于服务器端.[1]目前,软件设计过程中通常使用基于中间件的思想设计数据库辅助工具.[2]另外,一些大型软件系统用本身自带的数据库辅助工具配合软件设计,但这些程序缺乏通用性,只能针对某一具体数据库及其相应软件进行数据库设计,如SAP等大型的ERP软件等.

目前,产品化数据库辅助软件的数据库管理程序只是单纯的数据管理系统,缺乏辅助软件设计、数据库表及字段管理、其他数据库资源管理的基本功能,及对数据库个性化设计功能.而全方位、自定义的辅助数据库设计工具是软件设计人员梦寐以求的,所以集数据库辅助设计程序和软件系统开发本身于一体的辅助程序越来越被人们研究和探讨,通用外挂式辅助数据库设计程序(以下简称设计程序)是软件开发人员研究的热点.

1 设计程序

该设计程序是不脱离数据库设计和软件设计、以程序外挂形式呈现出来的软件系统设计辅助工具,为提高软件开发效率、减少软件开发周期而设计.软件开发人员用其管理数据库、协助软件开发,使数据库设计可视化并具有灵活性.

1.1 概念提出

外挂式就是以用户界面形式呈现出来,用以完成对数据库内容进行灵活管理,同时结合所开发的软件系统,实现软件开发与数据库设计无代码开发、自定义设计.

1.2 参数传递定义

设计程序不仅辅助数据库设计,而且还通过模块化参数传递实现软件模块化设计.该设计采用通用函数完成模块功能,通过不同参数代号完成不同操作,达到满足不同程序模块功能需求的目的.以下为具体实现方式.

(1)Q|另一个表的字段名称.将另外一个表的记录自动赋给该字段,且该字段在新增窗体中为隐藏字段.

(2)B|ListName|Caption,ID|ID|caption|Condition|caption|Related Key.本字段则可省略最后1项,含义为:类型|表名|Select语句|读写字段|显示名称|Where条件|Order排序|本表关联过来的字段.

(3)R|MainID|ID.取值为主表传入字段值,含义为:类型|本表字段名称|父表字段名称.

(4)R|t-BatchMain|BatchNo,ID|ID|BatchNo|BatchMainID.含义为:类型|表名|Select语句|读写字段|显示名称|本表关联字段名称.

(5)S|10,T,R|UserID:通用模块中的用户自定义字段.

(6)W:表明是不存在的表的字段.

1.3 语法定义

(1)Q|j-bug-part|BugPart,BugPartCode|BugPartCode|BugPart|ID>0|BugPartCode|PartCode|QW1|Main|j-bug-partToitem|PartCode|ProcCode|@@ProcCode:写在关联字段BugPart的列规则上,|QW1|Main表明存在其他字段的变化依存本字段的值,其中序号的存在可以完成多个这样的触发功能.在该规则中:j-bug-partToitem为依存表,PartCode为条件列名,ProcCode为关联条件字段,@@ProcCode表明为外联记录集条件字段.

(2)Q|j-bug-item|ItemName,ItemCode|ItemCode|ItemName|ID>0|ItemCode|ItemCode|QW1|Sub|j-bug-partToitem|ItemCode|PartCode|@PartCode|ProcCode|@@ProcCode:写在关联字段ItemName的列规则上,|QW1|Sub表明该字段的变化与该字段的依存字段有关.在该规则中:j-bug-partToitem为依存表,ItemCode为条件列名,PartCode为级联触发字段,@PartCode为级联触发字段值,ProcCode为关联条件字段,@@ProcCode表明为关联条件字段值.

通过定义规则,利用设计程序辅助软件程序的开发,在此基础上对关联表进行操作,无须增加源代码开发量和数据库语句的书写量,节约开发时的语句成本,增加通用性,修改也较方便.

1.4 解析定义

通过以上参数定义及语法定义,将传入的参数转换成字符串,通过解析表(见表1)进行统一解析.

2 设计程序特点

设计程序具有如下特点:

(1)面向数据库管理的全方位详细设计,包括视图和存储过程等数据库设计中常用的技术及方法;(2)支持无代码开发,自定义设计功能较强,通过模块化的设计思想,把模块功能以参数形式输入,无须重复开发源码;(3)流程化处理,对建立的数据库表格在外挂式辅助数据库设计程序中统一管理;(4)开放式数据管理,支持各种数据库格式,支持网络数据库开发,轻松设计服务端与客户端应用程序;(5)信息分类方便,支持数据表模糊查询、排序;(6)支持可视化数据库表、字段备注.

以离散制造执行系统(Discrete Manufacturing Execution System,DMES)在离散制造业中的软件设计为背景,结合DMES系统中管理程序、通信服务程序、计划服务程序和接口服务程序来阐述设计程序的实现.

3 实现方法

设计程序以界面形式管理软件开发过程中的数据库资源.在DMES系统中,数据库表较多、关系复杂,视图、存储过程和事务等较难管理,这是在离散制造业中生产场景较多、流程复杂的实际背景下,DMES系统较难实现的最重要原因之一.如何管理离散制造业中相关的软、硬件数据是数据库设计人员必须面对的重大问题.结合软件系统开发,整合有效数据库实现方法是目前DMES软件开发亟待解决的问题

3.1 程序框架结构

基于离散制造业系统背景下的DMES系统主要由以下几部分构成:管理程序,主要负责车间内部生产执行的管理、基本资料的管理以及生产过程中各种资源的协调;计划服务程序,主要对车间任务布置、计划调度、车间排产进行有效整合,达到自动排产的目的;通信程序,主要对生产过程现场作业的实时数据进行采集,实现软硬件系统的实时数据交互,是系统数据交互的桥梁;接口程序,用来整合DMES系统与其他系统的数据,给生产车间上层的系统提供服务,为管理层提供车间作业真实数据,是数据传递的主通道.设计程序是在软件系统开发时,整合以上所有系统的数据库设计辅助工具,当软件成型后,在测试阶段对数据库的数据一致性和完整性等提供有效检测.系统框架结构见图1.

图 1 系统框架结构

3.2 主要解决的问题

在DMES软件开发过程中,以上几个程序部分为并行开发,使用共用数据库,所以统一管理数据库资源,使数据库保持数据的一致性、完整性、流畅性显得更为重要.[3]而设计程序最主要的就是根据软件系统的需要,针对各个程序进行辅助数据库及程序模块设计,使用不同的参数传递方式,实现各模块间数据的传递及模块功能自定义设计.具体体现在以下几个方面:

(1)在协助数据库资源管理的同时,辅助软件系统的开发.设计程序对数据库所有资源进行管理的同时,用无代码开发技术开发软件模块,通过模块代码及参数的输入方式实现软件开发,从单纯的软件代码开发变为可配置式的软件模块开发模式,以此提高软件开发效率,缩短开发周期.

(2)通过可视化管理数据库表字段的方式,提高数据库表及字段的可视化程度.通过设计程序界面对数据库内用户表、视图和存储过程等进行全面管理,控制这些字段在软件系统中的显示方式、关联性及其他相应属性,如空值、只读、外部赋值和默认值等.

(3)通过通用的输入条件函数,对所有数据库表格进行关联性操作,利用字母代码表示不同模块和不同操作.

(4)携带的查询分析器功能可以测试相应的数据库程序,还可以方便地进行数据库语言编程,把一些不用的数据库表从数据库中删除.

(5)可以对需要管理的数据库进行配置,同时支持本地和远程数据库,可管理多数据库类型.

3.3 程序实现

设计程序的实现采用面向对象的开发工具Delphi 6.0进行开发[4],采用ini文件方式保存系统配置,增加数据库链接的灵活性并对整个软件系统起作用,并统一各程序链接数据库模式.设计程序界面见图2.设计程序可以协助软件模块的开发,以模块配置的形式开发软件,只需与该程序中的数据库表、视图、存储过程名称一致,把相应字段作为参数输入到条件表达式中,即可完成相应模块的软件开发.在软件功能模块修改时无须更改源程序代码,只需更改输入条件参数,为以后的软件测试及软件维护提供方便.

图 2 设计程序界面

设计程序可以对用户指定链接的数据库资源进行管理,通过对数据库选择进行配置,该配置与DMES软件系统的其他配置一致,达到统一管理软件所涉及数据库资源的目的.

4 结束语

利用设计程序协助软件的开发思想近年来比较流行,正是因为通过外挂式辅助程序可以大幅度提高软件开发效率,而协同式软件设计模式正符合当前软件设计过程中可视化、同步性的要求.通过实践证明,应用该设计程序可以大大缩短软件开发周期,通过模块化、配置式的软件开发模式,可以大大减少软件开发过程中源码的书写量及错误的发生;当软件测试阶段出现问题时,无须改动较大程序代码,只需调整输入的条件参数,对特殊业务下的模块功能只需增加相应的通用性函数,通过数据参数输入实现功能,大大方便程序开发人员,尤其是那些没有相关软件开发经验的程序员,通过这种“黑盒”式软件开发环境,可以更快融入开发团队.

参考文献:

[1] 吴孟泉,崔伟宏,梅新. 基于空间数据引擎的数据库设计与构建[J]. 计算机工程,2007,33(6):54-56.

[2] 蔡瑞强,程浩忠. 基于中间件技术的电力市场辅助服务实时数据库设计[J]. 继电器,2007,35(12):22-24.

[3] 谷震离. 数据库设计对SQL Server数据库性能优化分析[J]. 计算机与网络,2007(8):46-47.

[4] 王志新,金寿松. 制造执行系统MES及应用[M] .北京:中国电力出版社,2006:34-57.

[5] 钟润阳,戴青云,周科,等. 基于RFID的Web实时系统构建与实现[J]. 现代计算机,2008(9):7-9.

[6] 周科,钟润阳,戴青云,等. 基于RFID技术的离散制造业MES系统设计与实现[J]. 中国制造业信息化,2008(19),5-11.

[7] 汤国华,叶丹,徐罡,等. 基于设计模式的通用数据库视图生成方法[J]. 计算机辅助工程,2008,17(1):78-82.

[8] 王安保,蒋文蓉,朱彬. 基于扩展无共享结构的并行数据库数据一致性[J]. 计算机辅助工程,2007,16(4):64-67.

[9] 刘卫宁,黄文雷,孙棣华,等. 基于射频识别的离散制造业制造执行系统设计与实现[J]. 计算机集成制造系统,2007,13(10):16-20.

[10] (美)MANNINO M V. 数据库设计、应用开发和管理[M]. 韩宏志,译. 3版. 北京:清华大学出版社,2007:56-67.

[11] ZHONG Runyang,DAI Qingyun,ZHOU Ke,et al. Design and implementation of DMES based on RFID[C]// Anti-counterfeiting,Security and Identification,USA:IEEE,2008:475-477.

[12] 王珊,萨师煊. 数据库系统概论[M]. 4版. 北京:高等教育出版社,2006:17-38.

[13] 桑顿. 无线射频识别系统安全指南[M]. 游战清,戴青云,陈涛,等,译. 北京:电子工业出版社,2005:7-13.

(编辑 廖粤新)

猜你喜欢
字段可视化辅助
数据可视化设计在美妆类APP中的应用
构造辅助函数妙解压轴小题
思维可视化
带钩或不带钩选择方框批量自动换
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
复变函数共形映射的可视化实验教学
复变函数共形映射的可视化实验教学
例谈何时构造辅助圆解题
探讨CNMARC格式中200字段题名的规范著录