数据库操作及数据处理组件研发

发布者:系统管理员发布时间:2015-01-21浏览次数:3953

课题介绍:

项目名称:数据库操作及数据处理组件研发

项目编号:JB13369

项目成员:林志荣,张金仙,谢金达,郑俊杰

一、项目简介

数据库信息系统及数据处理系统是应用软件开发的一大重点,是推进企业信息化建设的重要手段。相当多的软件应用都离不开数据库及数据处理,这一类软件种类繁多、需求量大、开发重复性大、功能需求多变,目前很多软件企业一般通过代码生成器根据预先定义的模板高效生成高质量、一致性的代码,具有很多优点,但也存在一些不足:

1.效率高,但灵活性差。代码生成器无法动态根据数据库结构调整类对象,对数据库经常修改或数据库结构未知的数据库无法适应。

2.通用性差。其根据模板生成,模板的适用范围有限。

3.功能有限。生成代码一般仅包括基本数据库操作,与目标软件存在一定差距,需要手动修改、添加功能。

4.生成代码量大,很多模板经过手工修改后无法再自动生成(自动生成会覆盖手工修改的代码),一般在软件开发后期已经不再使用自动生成了。

5.不能适应经常变化的报表功能。

6.自动生成的界面不美观,界面布局单一。

本课题前期已针对通用的数据库操作及数据处理进行了相关的功能需求分析、技术可行性分析及组件原型的初步开发,在此基础上开发了一套《普通高校招生数据辅助处理系统》,应用软件开发结果显示本课题所开发的通用数据库操作及数据处理组件具有快速开发、与目标应用软件衔接程度高、高度集成、维护方便、适应性广、扩展性强的特点,能够有效的提高软件开发进度,提高软件项目开发的成功率,降低软件开发成本,具有很好的应用前景和实用意义。

主要研究内容:

1.数据库操作及数据处理界面的自动生成技术。

2.集成的、完善的数据处理功能

3. 用户完全自定义的基于Word、Excell的通用报表功能

4.集成常规的数据库操作业务规则

二、完成的研究内容

课题组在前期研究的基础上,总计经过2年多的持续研究,围绕实现快速开发数据库操作、数据表基本维护、数据处理所需要的功能及界面开展分析和研究工作。主要研究内容包括:

1.进一步查阅了国内外有关界面自动生成、数据处理、报表、数据验证以及数据权限管理等方面的相关资料,对数据库操作及数据处理需求进行了详细的分析;确定了组件开发的数据库连接、数据表基本维护(包括添加、删除、修改、查询功能,支持多表连接操作)、数据处理(包括数据字段别名、编号、排序、勾选、过滤(筛选)、分组、分页、数据移动、数据导入导出)、报表功能(格式合同、批量打印、导出列表、统计分析等)、与数据处理有关的界面自动生成、数据权限约束、操作友好性、二次开发等方面的需求等。

2.与数据库表结构、多表连接、界面、数据前端验证、数据后台验证、数据权限约束、报表功能之间映射的数据模型研究:数据模型实现数据表结构与界面元素之间的映射与绑定,通过统一的业务名称实现与报表数据模型、前端验证数据模型、数据权限约束等之间的映射,当数据表结构发生变化后对目标软件的改动较小。

3.数据库多表连接操作的通用实现方法研究:依据数据模型及数据权限管理判断需要操作的字段,通过数据模型与界面对象之间的映射,获得对应界面对象的数据,采用构造SQL语句的方法,实现对数据库多表连接的查询、添加、修改、删除操作;分析了复杂条件(多个连接条件)下的多表连接操作的实现方法,并针对复杂多表连接查询语句超长的问题提出一种单表连接的解决办法:即数据表操作采用单表操作的形式,关联表数据利用多表连接数据模型映射到列表选择框,在界面上显示关联表数据(如男或女),实际操作中为代码(如显示男实际写入值为1,显示女实际写入值为0)。

4.界面自动生成技术的研究:首先,在需求分析的基础上,对功能进行分类,分为页内功能与页外功能两大类。页内功能直接体现在界面上,参与界面布局的自动生成;而页外功能以接口的形式提供,不参与界面布局的自动生成,由外部程序调用。其次,对页内功能依据功能相似与集中性原则进行功能分组与界面元素选择,依据用户使用习惯确定经典界面布局方案及多种布局方式,采用四段式布局方式实现,分为数据编辑面板、数据操作按钮组与搜索功能、数据显示网格、报表功能与分页功能按钮组四段。再次,通过四段式布局的设置及各功能分组内部布局的设置实现多种界面布局的自动生成。最后,根据页内布局与页外布局相配合的方式实现复杂界面的生成,提高与目标软件的衔接。生成的界面自动与数据模型实现映射与绑定,无需额外编码。

5. 数据前端验证、数据后台验证与数据权限约束的研究:针对组件开发中的复杂验证需求,详细研究分析了数据前端验证、数据后台验证与数据权限约束的需求与实现。

数据前端验证:包括验证规则(数据格式、数据长度、数值范围、是否允许空值等多规则验证)、验证方法(录入控制、非法字符过滤、域完整性检验、实体完整性检验)、触发方式(焦点触发、输入触发、值改变时触发以及离开焦点时触发、提交触发)、验证方式(字符串验证、数据输入控件单独验证、表单验证)、验证结果(可查看、丰富的验证结果信息)、验证结果的反馈(可视化反馈、格式化的反馈提示信息、悬浮信息提示反馈、弹出信息提示反馈、获得焦点反馈、事件反馈)与自定义验证等。

数据后台验证:包括与前端验证一致的实体完整性验证,以及与数据库相关的主键约束(含自动编号主键约束、用户定义主键约束、多个字段联合主键约束)、外键约束(如性别只能是男或女)、唯一性约束、关联字段约束(分父字段与子字段;作为父字段,当子字段存在时不能删除。作为子字段,当父字段不存在时不能添加、修改)等。

数据权限约束:将数据权限划分为数据查看权限(可以看到哪些数据)与字段内容权限(对哪些字段进行什么样的操作,操作分为对字段查看、添加、修改、删除的约束)。其中,数据查看权限由数据筛选条件进行筛选;字段内容权限包括:

①由数据字段本身决定的数据权限约束,包括:数据字段、操作符、值、影响字段、内容权限组合。数据字段与值通过操作符比较,从而确定影响字段的内容权限。当影响字段包含全部字段时,则该内容权限针对该条记录。

②由其他外部因素决定的数据权限,由外部计算确定,提供接口进行权限控制,接口包括影响字段、内容权限组合。

③由后台数据验证决定的数据权限约束,由系统自动处理,如自动编号主键,其不能添加、修改,而用户自定义主键,其不能修改,但在新增记录时可以添加等。

④多个字段内容权限规则之间的关系

在实际应用中,系统描述的数据权限约束规则不止一条,包括由后台数据验证决定的数据权限约束规则,这些规则所影响的字段有可能冲突,如“批准人”字段,其取决于检验员是否录入数据(第一规则)、核定员是否已核定(第二规则)、是否具有批准权限(第三规则),三者均符合之后之后才能批准。因此,在实现过程中,若以批准人权限进行登录,并且检验员已录入数据,但核定员未核定,则其第一、第三规则判断结果为不执行数据权限约束,第二规则判断结果为执行数据权限约束,在处理过程中,只要出现一次判断结果为“执行数据权限约束”,其最终结果将执行数据权限约束,当且仅当所有规则判断结果均为不执行权限约束的情况下,才不执行数据权限约束。

6.用户完全自定义的基于Word、Excell的通用报表功能研究:在对制约通用报表的主要因素(数据源、数据处理及报表样式)分析的基础上,对主要因素之间的关系进行分离,使之在报表设计过程中能够相对独立,最后根据实际用户使用习惯确定数据源所见即所得的设计思想、数据处理所需的语法规则简单、完全符合用户使用习惯的Word与Excell为报表样式编辑工具,来实现用户完全自定义的报表需求。

三、进度情况

本课题根据《立项申请书》中规定的研究内容认真组织相关研究工作,现将主要研究成果及其学术价值和社会效益介绍如下:

1.数据库操作与数据处理组件。组件核心代码约2万行,由课题组全体成员合作完成。

2.中间用户开发文档。共40页,由课题组全体成员合作完成。

3.演示系统。课题组利用研究成果“数据库操作与数据处理组件”,与湄洲湾职业技术学院招生就业处、成教部、机械系实训中心合作,并借助“猪八戒”威客平台,承接各类数据库信息软件、数据处理软件的开发任务,以具体应用驱动,不断迭代。开发了“普通高校招生数据处理辅助软件”(见图1)、“数据处理辅助软件(Excel版)”(见图2)、“实验室设备管理系统”(见图3)、“大德木门下单软件” (见图4)、“计量检定管理系统”(见图5)、“号卡销售管理系统” (见图6)、“销售分析软件”(见图7)、“股票跟踪软件”(见图8)等一批典型的数据库及数据处理应用软件,产生了一定的经济效益和社会效益。