通用查询器的设计与实现
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
软件复用的概念
软件复用(Software Reuse)起源于软件开发的最初阶段。当开发人员将一段代码从一段程序拷贝到另一段程序的时候,他们就开始了软件复用。
软件复用思想的正式提出是在1968年。在1968年的北大西洋公约组织(NATO)会议上,Mcllroy第一次提出了可复用库的思想,说明软件复用思想的产生。而后在1983年,Freeman又进一步拓广了软件重用的概念[5]。经过了这些年的发展,软件复用不再仅仅是代码之间的拷贝,而是形成了一整套可重用软部件的管理体系。
软件复用是指重复的使用为了重用目的而设计的软件的过程,包括为重用而进行开发和使用重用进行开发两方面[6]。这个定义说明软件的复用远远不是重复使用那样简单。
首先,这里所说的软件并不单指代码,而应包括在软件开发过程中所产生的各种产品:代码,二进制程序,设计文档,测试用例,体系架构等等。这些都可以作为可重用的软部件。
其次,软件的复用包括创建可复用软部件和使用可复用软部件两部分。创建可复用软部件就是在进行软件开发时,对于那些将来可以重用的软部件要进行特殊的设计,实现和测试,并且在开发完成后,对这些软部件要进行标识,分类,收集,存储,为将来的重用做准备。使用可复用软部件时,要对已经收集的软部件进行查找,分析,裁减,以确保软部件适应新系统的需要。
think58 [来源:http://www.think58.com]
因此,软件复用是以一个可重用软部件库为中心的管理体系,将合适的可重用软部件放入库中,并从库中选取合适的软部件构建新系统。
1.2.2 软件复用的现状
目前,软件复用在软件开发领域得到了广泛的应用。
在代码级复用方面,很多软件开发语言都编写了丰富的例程库,开发人员只需要调用这些例程库的方法,就可以完成相当多的功能,大大减轻了开发人员的开发工作量。并且这些例程库还在不断的扩大,丰富。
在组件级重用方面,目前有相当多的学者和开发人员在研究和使用。国内外很多规模较大的软件公司都建立了以公司为单位的可重用软部件库。目前,在使用的组件主要分为两大类:一种是微软公司推出的ActiveX,一种是SUN公司推出的JavaBean。ActiveX已经做到操作系统级兼容,即在Windows视窗系统下运行,支持Windows视窗系统的各类开发工具。而JavaBean在所有支持Java的平台上都可以运行[7]。在研究方向上,目前也分为两种:一种是组件模型标准化研究,主要体现为CORBA,COM/DCOM,JavaBean;另一种事基于组件的软件开发方法的研究,软件生产线是基于组件开发方法中的一个研究热点[8]。
作为对软件复用中组件级复用的尝试,目前也有些人在研究通用查询器。例如,舒红平和刘魁为管理信息系统(MIS)设计的通用查询组件[9],王红霞,石岗和蒋玉玲用ASP.Net设计的通用查询器[10],张晖和何瑞春在“哈密铁路分局机关局域网”上应用的通用查询器[11],等等。这些查询器或者是基于Java,或者是基于.Net;或者是C/S模式,或者是B/S模式。它们都应用在了实际的项目中,并且取得了很好的效果。但是纵观他们的设计,都只考虑到查询的各种可能性,要么缺少对多种数据库的支持,要么缺少可扩展性,无法进行裁减,这些都影响了其通用性。 think58 [资料来源:http://THINK58.com]
1.3 论文组织结构
[来源:http://www.think58.com]
论文全文共分六章。第一章:绪论,简要介绍软件复用的基本概念,软件复用和通用查询器目前的研究现状。第二章:组件设计目标及策略。通过提出组件设计目标及策略。根据组件分析对组件进行功能划分,并对各个功能模块的需求进行了详细分析。第三章:组件开发方案。本章通过对组件可选择的开发模型进行的分析与比较,选择基于MVC的四层构架。并确定了组件开发使用的技术方案,同时也进一步确定了组件具体的开发环境以及开发模型。第四章:组件设计与实现。详细阐述了组件自有数据类型的设计,分析、介绍了组件的各个功能模块的设计,最后简要描述了系统的实现。第五章:组件设计与实现的关键技术。论述了组件分析与设计中所使用的关键技术和方法。第六章:结束语。总结了组件开发工作并对未来的工作进行展望。
数据描述模块
数据描述模块是从用户的角度对数据库中的表和字段进行描述。由于在数据库中,表名称和字段名称都是用英文表示,不利于普通用户的理解和使用。因此设计这个模块来允许用户从自己的角度来重新定义表和字段的各种含义。
数据描述包括对表的描述和对字段的描述。在表的描述中,对于不同的表,不能有相同的描述。对字段的描述包括对字段含义的描述和字段关联性的描述。字段的关联性描述允许将某一表的某一个字段与另一个表的另一个字段相关联,对应于数据库中表的外键。正是由于表外键的存在,不同的两个列可以表示相同的数据,因此可以拥有相同的描述。 copyright think58
2.3.2 模板管理模块
模版分为条件模版和显示模版。条件模版是在用户输入查询条件时使用的,显示模版是向用户返回查询结果是使用的。通过模版的管理,用户可以方便的使用以前用过的模版,减少用户使用的工作量。
模版的信息以数据表为基础,模版的信息来自数据表,并且没有经过用户描述的数据表不能为模版提供基础。模版的标识ID要能够唯一标识模版,因此标识ID不允许有重复。同一个表为基础的模版不允许有相同的名称。不同的模版允许拥有完全相同的模版信息。显示模版和条件模版属于不同的模版类型,其标识ID统一处理,其它信息均分开处理。对同一个表的显示模版和条件模版可以分别设置和取消设置默认模版。
2.3.3 数据查询模块
数据查询模块允许用户根据条件模版添加,修改,删除查询条件。接受用户输入的查询条件后,程序根据输入,条件模版和显示模版动态的生成SQL查询语句,进行数据的查询。获取数据后,根据显示模版将结果返回给用户。
要查询的数据表必须有显示模版和条件模版,否则不能进行查询;数据表具有默认显示模版时,查询结果自动按默认显示模版显示,否则将提示用户选择显示模版。查询模块根据数据描述时字段的关联信息支持一级子查询,不支持多级子查询。用户没有输入查询条件时,将按条件模版查询表中的所有数据。 [来源:http://www.think58.com]
2.3.4 多语言接口模块
多语言接口模块主要是提供多语言支持,供用户选择适合自己的语言,并同时修改程序界面和提示,出错信息。
多语言接口模块默认提供中文支持。在没有其它语言文件时将显示中文界面。
[来源:http://www.think58.com]