一种数据库应用系统开发平台及开发方法技术方案

技术编号:8682511 阅读:198 留言:0更新日期:2013-05-09 02:34
本发明专利技术的实施例公开了一种数据库应用系统开发平台。该平台包括系统控制表存储单元、菜单构件包和代码生成器,其中:系统控制表存储单元,用于存储包含菜单构件包在运行时调用的参数的系统控制表,所述参数包括系统主控参数、系统辅助控制参数和菜单后台进程处理执行方法参数;菜单构件包为基于菜单数据处理类型的调用系统控制表中的参数完成菜单功能的执行模块,所述菜单数据处理类型包括菜单使用的数据表关联方式、菜单对数据表的使用方式、菜单使用的窗体类型;代码生成器,用于在菜单构件包运行时根据系统控制表存储单元的参数动态生成执行代码。本发明专利技术还公开了一种数据库应用系统开发方法。本发明专利技术实施例提高了开发数据库应用系统的通用性。

【技术实现步骤摘要】

本专利技术涉及一种基于功能设计的数据库应用系统开发平台。
技术介绍
为了保证软件质量,提高软件可靠性、可重用性和可维护性,在进行软件开发时,采用了面向对象、构件等技术;但随着软件系统规模的不断加大及社会运节奏的加快,伴随着企业机构重组、业务重组、规模变化等必然产生的新的用户需求,使得需求变更越来越频繁,给软件系统的开发和维护带来了一系列问题,引发了所谓的‘软件危机’。为此,创建新的软件开发方法,解决‘软件危机’,已成为软件工作者的众望所归。对数据库应用系统而言,解决‘软件危机’的理想方法是:开发一个通用的数据库应用系统开发平台,第一,开发任一应用系统时,只作用户需求分析、系统功能设计、数据表设计、用户界面设计,不作或少作程序代码设计;第二,将应用系统的功能菜单名、菜单应实现的功能、菜单使用的数据表名或数据文件名、数据处理方法、数据流程规定,即用户的业务模型全部参数化后填写于一些控制表中,即可生成应用系统;第三,应用系统运行时,自动读取这些控制表参数,并动态生成程序执行代码,完成系统功能;第四,用户的业务模型改变时,只需增加、删除控制表的功能菜单,或修改菜单使用的数据表、菜单窗体和控制表参数,而无需修改代码即可完成系统维护。经过六年努力,针对局域网网络环境、Windows操作系统和Oracle数据库,采用数据库服务器、应用服务器、客户端工作站三层结构模式的“基于功能设计的数据库应用系统开发平台”开发成功,该平台基本上达到了人们对数据库应用系统开发工具的要求。
技术实现思路
本专利技术的目的是提供一种基于功能设计的数据库应用系统开发平台,使用开发平台开发数据库应用系统时只需进行系统功能设计,而无需再编写程序代码或只对某些特殊数据处理功能编写代码,即可生成满足功能要求的应用系统。开发平台包含系统控制表、菜单构件包和代码生成器,所述菜单构件包是可重用的菜单分类执行模块;所述系统控制表是存储应用系统体系结构描述参数和菜单功能描述参数的载体,载体是关系数据库的数据表;所述代码生成器是根据系统控制表存储的参数动态生成执行代码的代码生成器。使用开发平台开发数据库应用系统时只需进行系统的功能模块设计,功能模块使用的菜单设计,菜单的功能设计,菜单使用的数据表设计,菜单窗体设计,再将菜单名、执行菜单使用的菜单构件包名、以及菜单的功能描述参数输入到系统控制表中,而无需再编写程序代码,或只对不能使用菜单构件包的菜单编写程序代码,即可生成应用系统。系统控制表的一个或多个记录对应应用系统的一个功能菜单,应用系统运行时按用户执行的功能菜单自动读取系统控制表的对应记录,根据这些记录存储的参数值确定功能菜单使用的菜单构件包名、菜单窗体名、数据表名,菜单使用的数据类型及表记录过滤条件、表记录索引和排序方法、菜单窗体数据显示与编辑规定、用户事件处理方法及后台进程处理方法;并动态生成程序执行代码,调用数据库数据或文件数据,加载菜单窗体,响应用户事件,控制菜单执行全过程,完成菜单功能。当增加或删除了系统控制表中的菜单记录,应用系统的菜单将随之增加或减少;当修改了系统控制表中的菜单功能描述参数,菜单的功能将随之改变。应用系统投入运行后,用户管理机构的变更是通过修改相关的管理机构数据表记录和使用开发平台的菜单权限设置功能实现的;应用系统功能的变更是通过修改系统控制表参数或修改菜单使用的数据表、菜单窗体实现的;即用户的业务模型变更不需要进行程序代码的修改。菜单构件包是根据数据库应用系统菜单执行数据处理的3种基本属性:‘菜单使用的数据表关联方式’、‘菜单对数据表的使用方式’、‘菜单使用的窗体类型’进行分类的可重用执行模块,开发平台共设计了 20个菜单构件包。根据数据库应用系统菜单使用的数据表之间的关联方式对菜单构件包按如下方法分类:①单一数据表,称为‘单一主表’;②两层从属关联关系表,分别称为‘主表’、‘子表’,子表的多条记录从属于主表的一条记录,子表为多个时称为‘并列子表’;③三层从属关联关系表,分别称为‘主表’、‘子表’、‘子子表’,子表的多条记录从属于主表的一条记录,子子表的多条记录从属于子表的一条记录,子子表为多个时称为‘并列子子表’;④并列关系主表:单一数据表字段较多时分为多个表,其中的一个表称为‘主表’,其余多个表称为‘并列主表’,每一个并列主表的记录条数均与主表记录条数相同,且一一对应;⑤并列关系主表和从属子表,子表多条记录从属于并列关系主表中的一条记录;⑥索引关联关系表:将一个数据表某些字段值作为另一个数据表的索引,前一个表称为‘索引表’;⑦来源关联关系表:将一个数据表记录作为另一个数据表新增记录的数据来源,前一个表称为‘来源表’。数据库应用系统任一菜单可能使用单一数据表,也可能使用多个具有关联关系的数据表。根据数据库应用系统菜单对数据表的使用方式对菜单构件包按以下9种方法进行分类:①对单一数据表、并列关系主表、并列关系主表和从属子表、两层从属关联关系表及三层从属关联关系表记录进行查询或编辑;②为简化数据录入,保证数据一致性,对单一数据表、并列关系主表、两层从属关联关系表及三层从属关联关系表新增记录时,使用来源表记录作为这些表新增记录的数据来源;③为加快表记录调用速度,对单一数据表的表记录查询或编辑时使用索引表;④单一数据表由系统控制表规定分类字段、汇总字段及字段汇总方式,对表记录进行随机分类汇总;⑤单一数据表记录由系统控制表规定分类字段,对表记录进行随机分类查询;⑥单一数据表由系统控制表规定‘按时段统计’的日期字段,对表记录进行按时段统计与汇总; ⑦单一数据表由用户根据需要选择一条或多条记录作为某种用途;⑧单一数据表由系统控制表规定‘实体定义字段’及存放‘实体状态变化的时间’字段名,查询每一实体在任一截止时间之前的实体状态及状态改变时间;⑨对单一数据表中用户随机选中的某一记录,按系统控制表规定的‘判断取值相等的字段名’和‘字段值比较条件’查找出该数据表中其它相关记录。根据数据库应用系统菜单使用的窗体类型对菜单构件包按以下方法进行分类:①窗体调用方式分为以下6种: 主菜单调用; 按钮菜单调用,即窗体功能按钮调用; 分页菜单调用,由分页菜单名调用,每一个分页菜单名使用一个窗体;^OLE调用窗体; 第三方软件嵌入式功能调用窗体; 用户自编可执行程序调用窗体。②窗体使用的数据类型分为以下4种: 只使用数据表的数值、字符、日期型字段数据; 只使用数据表的大二进制字段数据; 使用数据表的数值、字符、日期型字段数据和大二进制字段图像数据; 使用文件数据。③窗体形式分为以下6种: 单记录窗体:一个数据表的个人简历式窗体; 可选单记录窗体:同一菜单中,一个数据表的不同类记录使用不同的单记录窗体; 多记录窗体:一个数据表按行显示的多条记录窗体; 带表头多记录窗体:窗体上部放置单一主表某一级索引下的多条记录字段值相同的字段,窗体下部按行放置取不同值字段的多条记录; 上单下多窗体:窗体上部放置主表单记录,下部按行放置子表从属于该记录的多条记录;或窗体上部放置子表单记录,下部按行放置子子表从属于该记录的多条记录; 左右窗体:窗体左右各放置一个多记录窗体,用于选记录作为某种用途,左边待选记录窗体,右边选中记录窗体。对数据库应用系统的所有数据表均使用统一的主键本文档来自技高网...

【技术保护点】
一种数据库应用系统开发平台,其特征在于,所述数据库应用系统的功能由功能菜单组成,数据库应用系统运行时任一时刻使用一个功能菜单,所述开发平台包括系统控制表存储单元、菜单构件包和代码生成器,其中:所述系统控制表存储单元,用于存储包含菜单构件包在运行时调用的参数的系统控制表,所述系统控制表内的参数包括系统主控参数、系统辅助控制参数和菜单后台进程处理执行方法参数,所述系统主控参数和系统辅助控制参数为数据库应用系统的体系结构描述参数和菜单构件包中由前台进程处理实现的公用功能的执行方法的参数,所述菜单后台进程处理执行方法参数为菜单构件包中由后台进程处理实现的特殊功能的执行方法参数;所述菜单构件包中由前台进程处理实现的公用功能的执行方法参数和菜单后台进行处理执行方法参数为菜单功能描述参数;当修改系统控制表中的菜单功能描述参数时菜单的功能将随之改变;所述菜单构件包为基于菜单数据处理类型的调用系统控制表内的参数完成菜单功能的执行模块,所述菜单数据处理类型包括菜单使用的数据表关联方式、菜单对数据表的使用方式、菜单使用的窗体类型;所述代码生成器,用于在菜单构件包运行时根据系统控制表存储单元存储的系统控制表内的参数动态生成可执行代码。...

【技术特征摘要】
1.一种数据库应用系统开发平台,其特征在于,所述数据库应用系统的功能由功能菜单组成,数据库应用系统运行时任一时刻使用一个功能菜单,所述开发平台包括系统控制表存储单元、菜单构件包和代码生成器,其中: 所述系统控制表存储单元,用于存储包含菜单构件包在运行时调用的参数的系统控制表,所述系统控制表内的参数包括系统主控参数、系统辅助控制参数和菜单后台进程处理执行方法参数,所述系统主控参数和系统辅助控制参数为数据库应用系统的体系结构描述参数和菜单构件包中由前台进程处理实现的公用功能的执行方法的参数,所述菜单后台进程处理执行方法参数为菜单构件包中由后台进程处理实现的特殊功能的执行方法参数;所述菜单构件包中由前台进程处理实现的公用功能的执行方法参数和菜单后台进行处理执行方法参数为菜单功能描述参数;当修改系统控制表中的菜单功能描述参数时菜单的功能将随之改变; 所述菜单构件包为基于菜单数据处理类型的调用系统控制表内的参数完成菜单功能的执行模块,所述菜单数据处理类型包括菜单使用的数据表关联方式、菜单对数据表的使用方式、菜单使用的窗体类型; 所述代码生成器,用于在菜单构件包运行时根据系统控制表存储单元存储的系统控制表内的参数动态生成可执行代码。2.根据权利要求1所述的开发平台,其特征在于,所述数据库应用系统的体系结构描述参数和菜单功能描述参数的类型包括非枚举型参数、枚举型参数和表达式参数;在一个参数中使用多个子参数时,子参数包括非枚举型参数、枚举型参数或表达式参数,子参数之间用约定分隔符分开;所述系统控制表使用的公用的枚举型参数包括表类和公共变量,所述表类为菜单窗体使用的数据表或执行读写操作使用的数据表,所述公共变量用于在数据库应用系统运行时保存登录人员的身份,其中: 所述非枚举型参数包括整数参数和字符串参数,所述整数参数为整数或整数序列,整数序列中的整数之间使用 约定分隔符分开,所述字符串参数为字符串或字符串序列,字符串序列中的字符串之间用约定分隔符分开; 所述枚举型参数为表示枚举序号的整数; 所述表达式参数为使用数据库SQL语句时SQL语句中对应的表达式参数。3.根据权利要求1所述的开发平台,其特征在于,所述系统控制表包括系统控制主表,用于存储系统主控参数,所述系统控制主表包括一条或多条菜单记录,每条菜单记录包括如下属性:菜单类型、菜单标识、菜单执行方式、菜单使用的数据表及数据表使用方法、菜单使用的窗体和菜单的功能按钮,所述菜单标识为主关键字,当增加或删除菜单记录,数据库应用系统的菜单将随之增加或减少。4.根据权利要求3所述的开发平台,其特征在于, 所述菜单类型包括主菜单、按钮菜单和分页菜单,当菜单类型为主菜单时,所述菜单标识为菜单序号,当菜单类型为按钮菜单和分页菜单时,所述菜单标识为菜单窗体序号; 所述菜单执行方式包括调用菜单构件包、第三方软件嵌入式功能调用、自编可执行程序调用; 所述菜单使用的数据表包括主表、子表、子子表、索引表、来源表、并列子表和并列子子表,所述数据表使用方法包括表记录读取、过滤和排序,所述主表为可派生出从属关联关系表的数据表,所述子表为两层从属关联关系表中处于从属地位的数据表,所述子子表为三层从属关联关系中子表的从属数据表,所述索引表为表记录作为另一个数据表索引的数据表,所述来源表为表记录作为另一个数据表新增表记录时数据来源的数据表,所述并列子表为两层从属关联关系中表记录从属于同一个主表的两个或多个数据表,所述并列子子表为三层从属关联关系中表记录从属于同一个子表的两个或多个数据表; 所述菜单的功能按钮包括编辑按钮、后台进程调用按钮、OLE功能调用按钮、按钮菜单窗体调用按钮和菜单操作帮助按钮。5.根据权利要求1所述的开发平台,其特征在于, 所述系统控制表包括系统控制辅助表,用于存储系统辅助控制参数,该系统控制辅助表包括菜单权限设置表、选择录入方法表、管理对象表、数据表主关键字最大值表和数据表记录导出导入方法表,其中: 所述菜单权限设置表包括菜单表菜单标识、权限定义类、使用菜单操作权限的人员职责或人员编号、菜单读权限和菜单写权限; 所述选择录入方法表包括菜单标识、选择录入记录号、执行选择录入的方法,当系统控制辅助表的选择录入方法表的菜单标识和系统控制主表的菜单标识相同时,菜单构件包执行时按照关键值相等的原则调用; 所述管理对象表包括管理对象名、使用管理对象的公共变量类、使用管理对象的公共变量值、公共变量类为姓名时的人员编号、管理对象使用方法和业务管辖范围值或业务管辖范围表达式; 所述数据表记录导出导入方法表包括导出导入的数据表名、导入导出的字段名序列、导入导出的字段名标注序列; 所述数据表主关键字最大值表包括序号、数据表名和数据表主键最大值。6.根据权利要求5所述的开发平台,其特征在于, 所述系统控制辅助表还包括表记录过滤方法表,该表包括菜单标识、过滤表类、过滤记录号和表记录过滤方法,所述过滤表类用于区分执行过滤操作时菜单使用的不同数据表,所述过滤记录号用于区分不同的系统登录人员使用过滤方法表的不同记录设置...

【专利技术属性】
技术研发人员:张宽让
申请(专利权)人:西安万年科技实业有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1