DB编辑界面的自动生成Word文档格式.docx
- 文档编号:16200820
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:57
- 大小:1.03MB
DB编辑界面的自动生成Word文档格式.docx
《DB编辑界面的自动生成Word文档格式.docx》由会员分享,可在线阅读,更多相关《DB编辑界面的自动生成Word文档格式.docx(57页珍藏版)》请在冰豆网上搜索。
4.5本章小结65
第5章总结和展望67
5.1总结67
5.2展望68
参考文献69
摘要
界面设计是软件开发的重要环节之一,研究界面自动生成工具可以大大降低系统开发工作量、节约开发成本、加快开发进度、提高软件的可维护性。
本文针对MIS(管理信息系统)中的大量较为稳定的数据表,研究了界面自动生成工具中的三个主要问题:
数据库本身的约束条件的前端处理;
用户自定义约束条件的解析与处理;
潜在约束规则的发现与应用。
重点研究了关联规则的数据挖掘算法,并将其成功地应用到潜在约束规则的发现,使得界面自动生成工具具有了智能化处理的机制。
系统采用XML来存放数据库的定义信息,实现了对数据表的添加、删除、修改、查询等基本功能。
系统已经应用于公司开发的一个工厂管理系统,并且取得很好的效果。
同时给开发和维护带来了很多方便,客户给予了很高的评价。
关键词:
自动生成,编辑界面,关联规则,关系数据库
Abstract
Interfacedesignisanimportantpartofsoftwaredevelopment,theresearchofautomaticgenerationofuserinterfacetoolcangreatlyreducetheworkloadofsystemdevelopment,savedevelopmentcost,speedupdevelopmentprogressandimprovesoftwaremaintainability.
Inthispaper,astherearealargenumberofrelativelystabletablesinMIS(ManagemetInformationSystem),wehaveresearchedthreemainissuesintheautomaticgenerationofuserinterfacetool:
thefront-endprocessingofconstraintsdefinedbydatabaseitself;
theanalysisandprocessingofuser-definedconstraints;
thediscoveryandapplicationsofpotentialconstraintrules.
Wefocusonthestudyofthedataminingalgorithmsaboutassociationrules,andapplyittothediscoveryofpotentialconstraintrules,whichmakestheautomaticgenerationofuserinterfacetoolshaveintelligentprocessingmechanism.
Inthissystemweusexmltostoretheinformationofdatabasedefinition,andachievethebasicfunctions:
add、delete、search、updateandsoon.
Thissystemhasbeenappliedinthefactorymanagementsystemdevelopedbyourcompanyandachievesgoodresults.Inthemeanwhileitbringsalotofconvenienceinthedevelopmentandmaintenance,andthecustomershavegivenahighappraisal.
Keywords:
automaticgeneration,userinterface,associationrules,relationaldatabase
第1章概述
1.1研究背景
软件产品的基本要求是友好的、好用的,要做到这些关键是解决人机交互的问题,要解决人机交互的问题首先要解决用户界面(UserInterface)的问题。
在软件工程中界面的设计和开发占了很大的工作量,一般情况下界面的设计和开发的工作量占了整个模块开发工作的70%左右,而且界面的开发工作通常都是繁杂和重复性的[16]。
为了减轻开发人员开发界面的工作量我们需要一个界面自动生成的工具来解放我们的工作。
界面的自动生成不但提高了软件的可理解性和可维护性,而且降低了手动开发可能带来的错误的几率。
在很多情况下我们可以利用自动生成技术来生成界面,而不需要为每一种情况专门去开发一套界面。
本文研究的是数据库编辑界面的自动生成。
目前大部分系统都是基于数据库,这些系统中的处理都是基于数据库里的数据,但是一个系统的数据库可能会包含很多的数据表,有一些在业务上不能直接处理的数据表我们也需要通过界面来进行存取操作,通常情况下这些数据表数目比较多而且表里的数据相对比较稳定。
如果针对每个不同的系统去开发相应的界面显然很不现实,这就要求我们有这么一个工具,能够根据这些数据表的定义信息自动生成相应的编辑界面,并且这些编辑界面在生成的时候是充分考虑了数据库的各种约束以及用户自己想要定义的各种约束,同时还能根据这些数据表里面已有的数据发现有用的知识来指导用户进行数据的插入、更新等操作,使得系统更加智能化。
公司目前开发的工厂管理系统项目的第一期在交付使用阶段客户提出了一些维护要求。
其中包括对那些用来存储基本信息的数据表的维护,这些数据表里的数据变动相对比较少,表的结构也相对比较稳定,而且这些数据表里的数据一般只能由管理员进行维护。
在编辑数据库的时候一般是不允许用户直接面对数据库的,必须通过界面进行数据库方面的修改等操作,基于上面提到这些数据表的数目比较多而且不能在业务上进行处理,需要一个能自动生成针对这些数据表的编辑界面的工具。
比如一个工厂里的可能有成千上万个数据表用来存储设备、权限等信息,如果我们为每个数据表开发至少一个界面的话就需要千以万计个界面,从工程预算的角度上来讲,这些所花费的开发成本完全可能超过了工程本身的报价。
从工程技术角度来说,如果我们为每一个系统都开发这么多的界面很容易出现bug(缺陷),如果不开发界面的话那么这些数据表中数据的维护就很麻烦,不管怎样都会给系统的使用带来不便。
如果自动生成这些数据表的编辑界面,那么就会解决这个问题,这样做可以大大节省开发和维护的成本,也提高了系统的稳定性和可靠性。
基于这样的背景,在项目进行第二期开发的过程中我提出了开发一个数据库编辑界面自动生成这样一个题目,公司研究讨论以后认为这个题目的研究很有意义,在老师的支持和指导下开始了这方面的研究。
1.2目前状况
在界面自动生成方面的研究很多,比如有很多系统会根据用户的权限不同表现出不同的用户界面;
或者有些系统根据上一步不同的处理结果会自动生成不同的下一步操作的用户界面等。
界面自动生成技术在界面工程设计和自动化中具有一定的研究价值。
很多系统中用户都可以根据自己的需要选择个性化的界面,这样可以方便用户的操作。
比如航天总公司研究的通用人机界面自动生成软件[17],该软件是运行于SUN工作站上OPENWINDOWS环境下的通用人机界面自动生成工具,能为开发者提供图形化、汉化直接操纵自动生成界面的功能,开发者无需编写任何语句就可定义和生成自己所希望的界面。
该软件具有界面编辑和保存功能,可提供14种界面元素的属性使之满足需要,能给出生成界面的C语言源程序,用户通过修改其中的接口函数,即可将应用程序与界面连成一体,开发出观感一致,界面友好的软件。
关于数据库的编辑界面自动生成方面的研究还不是很多,有一个网友开发了一个名字叫做“Form”的工具(参照:
Mining,简记DM)方面的知识,在数据库编辑界面自动生成中结合这些技术的研究是很有新意的。
数据挖掘可以帮助完成那些DBMS(DatabaseManagementSystem数据库管理系统)本身不能完成的功能,传统的DBMS只是组织和存储数据,并没有对数据进行分析。
1.3选题意义
在数据库应用系统中,都需要开发基于数据库的操作界面,这里开发的都是一些基于主要业务的用户界面,但是数据库中有这么一类数据表,比如下面这个工厂管理系统中有很多数据表用来存储一些基本信息(如图1-1数据库一览图所示,这些是工厂管理系统中的一些比较稳定的表,它们的名字都是以“mst”结尾的),这样的数据表数目非常多,但是里面的数据相对很少变动,并且涉及的基本都是单表操作(包括部分有外键引用),在工程上如果为这些数据表专门开发相应的操作界面,就会浪费大量的人力和财力。
另外这些数据表一般只是涉及增、删、改等基本操作,很容易自动生成用户界面,从而数据库用户界面自动生成的研究才是可行的并且有应用价值的。
在这个研究中还融合了很多其他方面的知识,比如数据挖掘方面的,这些数据表都是存储一些基本信息的数据表,用户在插入数据的时候采用根据数据表里已有的数据发现的一些数据模式来指导用户进行数据插入等操作。
这里主要指多维关联规则方面的研究,比如对已有的数据进行分析发现字段1和字段2的某一对或几对数据(X,Y)同时出现的频率非常高,我们有理由相信在字段1的值为X的情况下字段2的值为Y,这样在插入数据时如果字段1的值设置为X,那么字段2的值默认设置为Y。
其次XML技术的研究和应用提高了系统的可扩充性。
从工程角度来说,数据库编辑界面的自动生成大大的提高了工程的效率,节省资源的同时还提高了系统的可靠性。
从研究的角度来说,数据挖掘技术在工程中的使用推动了其本身的研究的深入。
图1-1数据库一览图
1.4研究内容
系统研究和实现了关于数据表智能化编辑界面的自动生成,其中包括很多细节的问题:
多种类型数据库的连接、数据表的基本维护功能、界面和数据表定义的映射、各种数据库约束的前端处理、系统智能化的实现等。
通过检索和分析大量的关于数据挖掘方面的资料,提出在系统中应用数据挖掘的知识来提高系统的智能性的设计思想,系统中实现了基于关系数据库的多维关联规则在数据表智能化编辑界面中的应用。
通过数据挖掘我们把发现的有用的规则存放在规则库里面,用户在编辑数据表的时候可以自动触发这些规则,从而使系统具有了智能化的特性。
系统采用知识库管理用户界面的相关知识:
首先,通过数据挖掘,把发现的有用的规则存放在规则库里面,用户在编辑数据表的时候可以自动触发这些规则,从而使系统具有了智能化的特性;
其次,把一些常用的、预先能够确定的知识存放到知识库中,在系统的运行中根据具体的情况可以利用知识库里面的相关知识;
此外,用户还可以自己扩充这个知识库,分享经验知识。
在以后系统不断升级过程中可以引入专家系统,使系统变得更加智能化。
系统还能正确解析数据表之间的关系,从而在自动生成界面的过程中限制用户所编辑的数据都是满足这些数据表之间的关系;
系统提供给用户的界面显示的都是数据表相关的业务名字(一般指数据表和字段的中文名字),方便用户从业务角度去维护;
用户还可以根据实际系统的需要利用已建立的模板,重写某些函数,这些都是比较简单的语句,使得系统能够处理的更多的约束情况等。
1.5论文构成
第1章:
主要是一些相关方面的概述,包括研究背景、意义、目前状况和研究内容等方面的阐述。
第2章:
知识准备和技术简介,知识准备主要介绍一些本文中要用到的相关知识的概念:
用户界面设计、数据库定义语言、数据挖掘等;
技术简介部分介绍了多维关联规则的挖掘过程、算法等相关知识。
第3章:
系统需求和系统设计,系统需求主要阐述了系统需要实现的主要功能等方面;
系统设计主要是对系统结构、界面、功能进行设计。
第4章:
系统实现和系统测试,系统实现主要介绍能预先确定的约束和不能预先确定的约束的处理。
能预先确定的约束主要包括两个方面:
数据库本身的约束和用户自己定义的约束;
不能预先确定的规则的发现和应用,主要介绍基于关系数据库的多维关联规则的数据挖掘,利用数据挖掘技术根据数据库中已有的数据来挖掘字段之间隐含的关联规则,用于指导用户进行数据库的编辑,同时数据库经过编辑以后已经发现的这些规则需要重新刷新再用来继续指导用户编辑数据库,反复循环;
系统测试主要介绍了系统的测试过程和测试结果等方面。
第5章:
总结和展望,主要是对于已经研究并实现部分的总结和系统有待于扩充部分的展望。
第2章知识准备和技术简介
2.1知识准备
在本文中用到了用户界面设计、XML的应用、数据库定义、关联规则分析等相关知识,下面简单介绍一下这些相关知识。
一、用户界面设计简介:
在人和机器的互动过程(HumanMachineInteraction)中,有一个层面,即我们所说的界面(interface)。
用户界面设计是屏幕产品的重要组成部分。
界面设计是一个复杂的有不同学科参与的工程,其中包括认知心理学、设计学、语言学等。
从心理学意义来分,界面可分为感觉(视觉、触觉、听觉等)和情感两个层次。
用户界面设计的三大原则是:
1.置界面于用户的控制之下。
2.减少用户的记忆负担。
3.保持界面的一致性。
用户界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分:
1.结构设计(StructureDesign)
结构设计也称概念设计(ConceptualDesign),是界面设计的骨架。
通过对用户研究和任务分析,制定出产品的整体架构。
在结构设计中,目录体系的逻辑分类和语词定义是用户易于理解和操作的重要前提。
基于纸质的的低保真原型(PaperPrototype)可提供用户测试并进行完善。
结构设计是用户界面设计的第一步,它决定了整个设计的整体走向,结构设计应该基于用户的需求,为下一步交互设计做好准备。
2.交互设计(InteractiveDesign)
所谓交互是指人和机器的交互,人和机器的交互是产品功能实现的唯一手段,怎样让产品对于用户来说简单易用才是设计的关键。
因此,人的因素应作为设计的核心被体现出来。
交互设计的原则如下:
1) 有意义的错误提示:
误操作后,系统提供有针对性的提示。
2)用户可以控制界面:
“下一步”、“选择”、“完成”,面对不同层次提供多种选择,给不同层次的用户提供多种可能性。
3)鼠标和键盘兼用:
除了要输入内容必须使用键盘外,其他的功能比如光标移动等,同时可以用鼠标和键盘,提供多种可能性。
4)工作中断后仍然能恢复到断点处:
例如用手机写新短信的时候,收到短信或电话,完成后回来仍能找到刚才正写的新短信。
5)使用用户的语言即自然语言,而非技术的语言。
6)提供快速反馈:
给用户心理上的暗示和如何操作的提示,防止用户焦急无助。
7)方便退出:
如手机的退出,是按一个键完全退出,还是一层一层的退出,提供两种可能性。
8)导航功能:
随时转移功能,很容易从一个功能跳到另外一个功能。
9)让用户知道自己当前的位置,以便于其做出下一步行动的决定。
10)Enter键按下时一般触发一些提交事物,符合用户的使用习惯。
11)光标的移动顺序的制定要符合正常的使用习惯,这样方便使用。
3.视觉设计(VisualDesign)
在结构设计的基础上,参照目标群体的心理模型和任务达成进行视觉设计。
包括色彩、字体、页面等。
视觉设计要达到用户愉悦使用的目的。
视觉设计的原则如下:
1)界面清晰明了,允许用户定制界面。
2)减少短期记忆的负担,让计算机帮助记忆,例:
UserName、Password、IE进入界面地址等可以让机器记住。
3)依赖认知而非记忆:
如打印图标的记忆、下拉菜单列表中的选择。
4)提供视觉线索:
图形符号的视觉的刺激,GUI(图形界面设计):
Where、What、NextStep。
5)提供默认(default)、撤销(undo)、恢复(redo)的功能。
6)提供界面的快捷方式。
7)尽量使用真实世界的比喻,如:
电话、打印机的图标设计,尊重用户以往的使用经验。
8)完善视觉的清晰度:
条理清晰,图片、文字的布局和隐喻不要让用户去猜。
9)界面的协调一致:
如手机界面按钮排放,左键肯定、右键否定或按内容摆放。
10)同样功能用同样的图形。
11)色彩与内容:
整体软件不超过5个色系,尽量少用红色、绿色,近似的颜色表示近似的意思。
用户界面设计构筑了产品设计的基础。
如只有首先确定了手机菜单的交互形式,才能在造型设计上决定是采用五项键或上下键。
在国外,用户界面设计人员有了一个新的称谓:
InformationArchitecture,信息建筑师。
它不仅仅是指美工,而是具有心理学、软件工程学、设计学等综合知识的人。
二、数据库定义语言:
数据库模式是通过一系列定义来说明的[18],这些定义由称作数据库定义语言DDL(DatabaseDefineLanguage)的一种特殊语言来表达。
SQL(StructuredQueryLanguage)DDL不仅允许定义一组关系,也可以说明各关系的信息,包括:
1)各关系的模式
2)各属性的值域
3)完整性约束
4)各关系要维护的索引的集合
5)各关系的安全性和权限信息
6)各关系在磁盘上的物理存储结构
sQL中域类型:
1)char(n)为固定长度的字符串,用户指定长度n。
也可以用全称character。
2)varchar(n)为可变长度的字符串,用户指定长度n。
等价于全称charactervarying。
3)int为整数类型。
4)smallint为小整数类型。
5)numeric(p,d)为一个定点数,精度由用户指定。
6)real、doubleprecision为浮点数与双精度浮点数,精度与机器相关。
7)float(n)为一个浮点数,其中用户指定至少n数字的精度。
8)date为日期,包括年(四位)、月和日。
9)time为时间,包括小时、分和秒。
10)interval类型。
11)用户定义类型。
SQL的模式定义:
CreatTableR(A1d1,A2d2…Andn,
<
integrity-constraint1>
…,
integrity-constraintm>
)
其中R是关系名,A是关系模式的一个属性名,d是属性A域值的域类型。
允许的完整性约束包括:
primarykey(A1,A2…An)
check(p)
check子句说明关系中每个元组必须满足谓词p。
通常使用check子句是为了保证属性值满足某些前提条件,相当于建立一个强有力的类型系统。
一般check语句会包含指向其他关系的子查询。
DropTableR和DeleteFromR:
前者删除关系,后者删除的只是记录。
三、XML简介:
XML是一种基于Unicode的纯文本元语言,即一种用于定义标记语言的语言。
它不依赖于任何编程语言、操作系统或软件供应商。
XML可以提供对各种数据处理、构建、转换和查询技术的访问。
XML是一种元标记语言,所谓“元标记”就是开发者可以根据自己的需要定义自己的标记,比如开发者可以定义如下标记<
book>
name>
,任何满足XML命名规则的名称都可以标记,这就为不同的应用程序打开了大门。
XML是一种通用的数据格式,从低级的角度看,XML是一种简单的数据格式,是纯100%的ASCII文本,而ASCII的抗破坏能力是很强的。
不像压缩数据和JAVA对象,只要破坏一个数据文件数据就不可阅读。
从高级的角度看,是一种自描述语言。
XML可以用于数据交换,主要是因为XML表示的信息独立于平台的,这里的平台即可以理解为不同的应用程序也可以理解为不同的操作系统。
本文中关于数据库定义的信息都是以XML文件的形式来储存的。
四、数据挖掘:
数据挖掘,又称为数据采掘、数据开采等。
一般认为数据挖掘是数据库中知识发现(KnowledgeDiscoveryinDatabase,简记KDD)的一个环节,是KDD中采用具体的数据挖掘算法从数据中自动高效地提取有用模式的最重要的步骤[19]。
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据集中识别有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡过程。
它是一门涉及面很广的交叉学科,包括机器学习、数理统计、神经网络、数据库、模式识别、粗糙集、模糊数学等相关技术[15]。
数据挖掘是一门交叉性学科,有很多不同的术语名称。
其中,最常用的是"
知识发现"
和"
数据挖掘"
。
相对来讲,数据挖掘主要流行于统计界(最早出现于统计文献中)、数据分析、数据库和管理信息系统界;
而知识发现则主要流行于人工智能和机器学习界。
数据挖掘可粗略地理解为三部曲:
数据准备(datapreparation)、数据挖掘以及结果的解释评估(interpretationandevaluation)。
根据数据挖掘的任务分,有如下几种:
分类或预测模型数据挖掘、数据总结、数据聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等等。
根据数据挖掘的对象分,有如下若干种数据源:
关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据、异质数据库、遗产(legacy)数据库、Web数据源。
根据数据挖掘的方法分,可粗分为:
统计方法、机器学习方法、神经网络方法和数据库方法。
统计方法中,可细分为:
回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)、以及模糊集、粗糙集、支持向量机等。
机器学习中,可细分为:
归纳学习方法(决策树、规则归纳等)、基于范例的推理CBR、遗传算法、贝叶斯信念网络等。
神经网络方法,可细分为:
前向神经网络(BP算法等)、自组织神经网络(自组织特征映射、竞争学习等)等。
数据库方法主要是基于可视化的多维数据分析或OLAP方法,另外还有面向属性的归纳方法。
数据库能有效地存储数据和查询数据,但
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DB 编辑 界面 自动 生成