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