毕业设计基于java相亲交友系统的设计与实现论文

摘 要

计算机技术在信息科学领域中高速的发展着,并且随着时间的越来越长,计算机技术也变得越来越成熟,已经被各行各业广泛的使用。其为各个领域都带来了巨大的便捷,融入到这些领域的骨髓中。为了配合相亲交友行业的各个环节,实现相亲交友行业自动化,减少人工开销,本文设计和开发了基于Java的相亲交友系统的设计与实现。
本文从基于Java的相亲交友系统的设计与实现的研究内容、研究意义、开发所用的相关技术、系统的具体设计框架和实现过程、系统的整体调试等方面进行说明。主要目的是让读者了解此系统的主要结构、框架,是此系统发挥出应有的作用。文中对基于Java的相亲交友系统的设计与实现的系统的主人认证、相亲用户认证、系统登录进行了详细的设计和优化。对系统的流程、实现图以及相关代码对进行了详细的介绍。在数据库方面,本文采用了MySQL数据库,结合ssm框架,采用Java语言进行系统的开发,能够实现基于Java的相亲交友系统的各项基本功能。
开发的基于Java的相亲交友系统界面友好、操作简单快捷,满足用户的各方面的需求,对相亲交友行业的管理带来很大的便利性。
关键词:Java语言;MySQL数据库;ssm框架;

Design and implementation of pet dating system
Abstract
Computer technology has developed at high speed in the field of information science, and as time goes on, computer technology has become more and more mature and has been widely used by various industries. It brings great convenience to all fields and integrates into the bone marrow of these fields. In order to match the various links in pet industry, to realize the automation of pet dating industry and reduce the labor cost, this paper designs and develops the design and implementation of pet-based dating system based on Java.
This article describes the research content, research significance, related technologies used in the design and implementation of the pet-based dating system based on Java, the specific design framework and implementation process of the system, and the overall debugging of the system. The main purpose is to let the reader understand the main structure and framework of this system, and this system is ssming its due role. In this paper, a detailed design and optimization of the master authentication, pet certification, and system login of the system based on Java-based pet dating system were designed and implemented. The system flow, implementation diagram and related code pairs are described in detail. In terms of database, this article uses the MySQL database, combined with the ssm framework, the use of Java language for system development, to achieve the basic functions of the Java-based pet dating system.
The developed Java-based pet dating system has a friendly interface and is simple and quick to operate. It satisfies the needs of users in all aspects and brings great convenience to the pet dating industry.
Keywords: Java language; MySQL database; ssm framework;

目 录

1 绪论 1
1.1 项目背景 1
1.2 项目目的和意义 2
1.3 国内外研究现状 2
1.4 论文工作内容及结构安排 3
1.4.1 论文工作内容 3
1.4.2 论文结构安排 3
2 可行性分析和关键技术介绍 5
2.1 可行性分析 5
2.1.1 技术可行性 5
2.1.2 操作可行性 5
2.1.3 经济可行性 5
2.2 开发语言 5
2.3 开发平台 7
2.4 ssm框架 8
2.5 MySQL数据库 9
2.5.1 MySQL简介 9
2.5.2 MySQL应用环境 10
2.5.3 MySQL存储引擎 10
2.5.4 MySQL索引功能 11
3 系统需求分析 13
3.1 系统业务流程分析 13
3.2 系统功能性需求分析 13
3.3 系统非功能需求 14
3.3.1 系统数据安全 14
3.3.2 系统运行状态 14
4 系统设计与实现 16
4.1 系统设计目标与原则 16
4.2 系统总体设计 16
4.3 功能模块设计 16
4.4 数据库设计 17
5 系统功能模块实现 19
5.1 用户登录模块 19
5.2 用户管理模块 22
5.2.1 个人认证 22
5.2.2 基本信息 23
5.2.3 相亲用户管理 25
5.2.4 相亲用户信息 27
6 系统测试 37
6.1 测试原则 37
6.2 测试方法和环境 38
6.3 测试流程 38
6.4 用户登录模块测试 38
6.5 用户管理模块测 39
6.6 相亲用户认证模块测试 40
6.7 相亲用户查询模块测试 40
7 结束语 41
致 谢 42
参考文献 43
外文原文 44
中文翻译 48

1 绪论

1.1项目背景
1997年第一届亚洲相亲用户展在香港成功进行举办,从此开启了中国相亲用户行业的新天地。中国有将近14亿的人口,并且,自古以来,我们大中国就已经有了圈养相亲用户的传统习惯,根据保守估计,我们中国最少有1亿只相亲用户,相亲用户经济的市场潜力最少可达到150亿人民币。18年间,中国“相亲用户大军”正在蓬勃壮大,并且在未来十年,中国的相亲用户人数将会显现爆发性增长,相亲用户的行业开始悄然兴起,并在国民经济增长上占有了一定的比例。
相亲用户和我们人类一样、也需要伴侣。以往,相亲用户主人为相亲用户找对象总是很着急,不断到处张贴征婚启事,请求务必为自己的爱宠找到”另一半”。目前,专门从事相亲用户 相亲的中介机构为数不多,不少的相亲交友只能依托相亲网站,效率效果双低。值得庆幸的是计算机技术的发展为相亲交友带来了新的机遇。它的发展冲击和挑战着传统的相亲交友模式,巨大的市场潜力和用户规模,凸显了相亲交友网站的商业价值,形成了一类具有良好发展前景的新兴产业。因此,设计和研发一个相亲交友网站具有非常好的开发与应用前景。
计算机技术在信息科学领域中高速的发展着,并且随着时间的越来越长,计算机技术也变得越来越成熟,已经被各行各业广泛的使用。其为各个领域都带来了巨大的便捷,融入到这些领域的骨髓中。
目前,国内的市场大部分是各种各样的相亲交友行业管理,他们的竞争水平低落,和大型相亲交友行业管理相比还需要不断的进步,尤其是在对相亲交友行业的一些资源的管理方面,更是需要不断的往信息化的方向发展,才能和时代与时俱进。因此,为了满足市场上相亲交友行业管理的需求,本篇论文打算设计和实现一种适用于小型行业的基于Java的相亲交友系统,方便用户者的使用。在系统的开发过程中,我们尽量做到结构简单,操作方便,满足大部分相亲交友行业管理的需求。首先,在功能技术方面,论文会依照用户的各种不同的需求情况进行改善,做到精益求精,做到尽量的完美。
本篇论文设计的小型的基于Java的相亲交友系统的开发项目,一方面可以完美的实现相亲交友行业的智能化的各种各样的业务的管理,减少投入的人工成本,推进相亲交友行业的发展,带来巨大的效益。
1.2项目目的和意义
我国现在是一个信息发展比较迅速的国家,在信息科学技术方面,我国的发展还是比较高速的,各个行业的发现都融入的新的元素,尤其是一些行业借助计算机技术,产生了飞速的进步。相亲交友行业作为国内必不可少的一份子,也应该紧跟时代的步伐,适应时代的发展,因此,开发和实现一个基于Java的相亲交友系统,满足相亲交友行业的需求和提高业务效率方面是一件非常有意义的事情。
传统的相亲交友行业管理主要是利用手工的方式,这种传统的相亲交友行业业务管理的运行方式其实在生活中是存在许许多多的弊端,不利于相亲交友行业业务的发展,而且人工管理的方式容易出现错误,造成管理效率的低下等等。因此,借助计算机技术将相亲交友行业的一些重要数据进行信息化管理是一件非常有意义的一件事情。计算机技术目前已经基本成熟,能构建各类功能强大的管理系统,会不断的推动相亲交友行业的发展。总的来说,相亲交友行业管理是国内市场上比较劣势的一部分,开发基于Java的相亲交友系统对于相亲交友行业的发展具有重要的意义。
1.3国内外研究现状
相亲交友行业交易早在20世纪90年代就已经发展起来,到目前为止,各种各样以相亲交友行业运输的形式已经非常的深入到我们生活的各个方面,便于我们日常的生活,促进生活的发展。在中国,目前相亲用户产业的规模化道路仅处于起步阶段,相亲用户的作用还没有得到广泛的开发,即使在相亲用户市场,也是刚开始发展,但我国养相亲用户已经成为一种潮流,在数量上也有一定的规模,相亲用户行业潜移默化的影响人们的生活和社会的发展。但是,中国的相亲用户目前发展还没有真正意义上的与世界接轨,我国的相亲用户行业的发展还没有建立一个比较国际化的平台支撑。在国外,”相亲用户行业“是一个巨大的产业。2001年,相亲用户为美国经济创造了276亿美元的消费,美国每年相亲用户保险业收入总额高达40亿美元
随着生活的不断的发展,小型相亲交友行业公司在我们的生活中也渐渐存在,并且不断的增多,但是小型相亲交友行业公司存在发展缓慢、管理方式落后的特点,所以,本文设计的基于Java的相亲交友系统,专门为小型相亲交友行业公司进行设计和实现,帮助小型相亲交友行业公司在管理方面带来巨大的便利性,推动小型相亲交友行业公司的发展。
1.4论文工作内容及结构安排
1.4.1 论文工作内容
本毕业设计的题目是基于Java的相亲交友系统的设计与实现,应用于小型相亲交友行业公司的管理系统,由于小型相亲交友行业公司的人员管理一般采取传统的纸质登记手册,管理起来比较繁琐,因此使用管理系统可以进行便捷的查询、管理、分类。设计主要分为系统登录、主人认证、相亲用户认证和相亲用户搜索四个模块。
1.4.2 论文结构安排
本文对基于Java的相亲交友系统的设计与实现做了简单的描述。论文比较具体的工作内容以及系统的功能各方面的实现的情况也将会在接下来的各个章节中予以介绍:
第1章绪论,绪论部分主要介绍的是课题的研究背景以及研究意义,并从国内外的研究现状说明了课题的可行性和必要性。
第2章可行性分析和关键技术的介绍,主要包括Java语言、ssm框架、MySQL数据库等,让读者了解系统的相关技术。
第3章系统的需求分析设计,包括系统的总体需求以及功能需求和非功能的需求,帮助读者了解系统的整体框架。
第4章系统的设计和实现,包括总体的设计思想、功能模块设计思想、数据库设计,以及系统登录的实现、首页、主人认证等等,全面的向读者介绍整个系统;
第5章系统功能模块的实现,主要包括用户登录注册模块、修改密码、用户管理模块,用户管理模块主要包括两部分个人认证和信息管理,还包括相亲用户管理,相亲用户管理包括三部分内容相亲用户认证、相亲用户信息和相亲用户搜索,具体介绍了本系统的功能模块;
第6章系统的测试,包括修改密码的测试、主人认证测试等等,验证系统的可行性;
第7章结束语。

2 可行性分析和关键技术介绍

2.1 可行性分析
本篇论文主要是分别从技术可行性、经济行性、操作行性三个方面对基于Java的相亲交友系统的设计与实现进行整体的分析和研究。
2.1.1 技术可行性
基于Java的相亲交友系统的设计与实现主要采用的是基于Java技术进行开发的,到目前为止,Java技术的发展已经非常的成熟了。同时,它也受到了许多开发者的青睐。并且,在技术的层面上idea平台是决定可以完成该基于Java的相亲交友系统的开发任务的。因此系统开发在技术上是可行的。
2.1.2 操作可行性
自从我们开发出基于Java的相亲交友系统的设计与实现之后,该系统的操作难度、受益程度以及复杂程度就完全的决定了该系统是不是能够受到推广,这同时也是开发人员必须要考虑的关键问题,基于Java的相亲交友系统易于操作,方便快捷。在操作上,不需要任何的指导就可以自己学会如何去使用,在操作层面上来看,该系统是完全没有任何复杂性的。因此,基于Java的相亲交友系统操作非常简单,易于上手。
2.1.3 经济可行性
基于Java的相亲交友系统在经济上花销很少,它的设计内容非常的简单,设计过程也是比较简单,一般的设计人员都可以完成,复杂性不高。其次,基于Java的相亲交友系统具有可观的价值,方便消费者的操作,提高管理的效率。另外,管理系统的设计成本相对较低,但其带来的收益却远高于设计的成本。因此,本课题具有经济可行性。
2.2 开发语言
我们通常情况下称Java是一种面向对象的并且是一种跨平台编程的语言,这种语言具有简单、方便、多线程以及安全的特点。我们都知道,Java语言其实是所有的计算机语言中非常关键的一门语言,它同时也是一种面向对象的比较简单且高级的编程语言,开发者在整体设计的过程中,能自由灵活的构建类,还能进行各种方法的重载,对不同的条件进行智能的选择运行。作为一种跨平台的语言,Java编写的代码无需经过修改,即可在Windows、Linux等不同的操作系统下运行。
Java 始于 1991 年 SUN 的一个研究项目,1994 年成为面向 Internet 的开发技 术,利用 Java 开发 Web 应用系统,如电子商务系统、协同办公系统、客户关系管 理系统等。
Java 语言的主要优势和特性如下:
1.面向对象
Java 语言是非常纯粹的面向对象的程序设计开发语言,它提供接口、类和继承等 原语,而且它支持类之间单继承、接口之间多继承和使用接口来全面支持动态绑定和实现类等。
2. 健壮
Java 提供的异常处理、垃圾的自动收集、强类型的机制等都是 Java这门语言健壮性的有力保证。Java 语言的安全检查机制可以使 Java 更加的具备健壮性。
3. 安全
Java 常常是被应用到网络环境中,为了防止代码遭受到恶意的攻击,Java 便提特意供了一种比较安全管理机制为通过网络下载的类,例如能够分配不相同的名字空间用来防止替代字节代码的检查、本地的同名类等等。
4. 系统结构中立
Java 程序代码可以在 Java 平台上被编译成为能够在部署了 Java 环境的任意系统中运行的体系结构中立的字节码文件,这也能够说明 Java 程序是可移植的。这种 特性适合于软件分发和异构网络环境。
5. 性能优越
Java 程序语言代码执行效率是较优与许多解释型的高级脚本语言的。且JIT 编译器技术的发展与程序,使得 Java 程序代码开发的程序在执行效率上越来越接近于 C++开发的程序的执行效率。Java 语言的许多优点特性使得 Java 具有无与伦比的健壮性和可靠性等优势。 很多的企业级应用对系统复杂度的要求越来越高,对系统的性能与安全方面的要 求也越来越高,使得软件开发商的研发成本和服务响应时间成倍的上升。比如邮 件服务、数据库连接和事务处理等都是一些常用的企业级应用需求模块,如果这些应用模块在每次开发中都得有开发人员完成,必然会出现类似开发周期过长和 代码质量和可靠性差的诸多问题。于是一些中大型软件公司都开发了自己专用的 应用模块,帮助降低企业研发成本和缩短服务响应时间。此类服务性的软件模块 我们统称为中间件。中间件位于操作系统与上一级的应用程序之间。中间件的功 能是隔离应用程序的圆形环境和操作系统,从而实现开发人员专注应用程序自身 方面的问题而不需要躲过的考虑和涉及操作系统方面的相关问题。
HTML语言,超文本标记语言,该语言是在网络开发的应用中最为广泛的一种语言,同时也是网页编写文档的主要语言。是网页开发系统的基础语言,为了让数据能够在网络上传输显示,该语言是通过结构化的语义来标记的。超文本标记语言命令可以说明表格、图片、链接、文字等。HTML文本主要是通过HTML命令组成的,是一种描述性文本。它的结构主要包括两大部分:头部(描述浏览器所需要的信息)和主体(包含这个网页所要说明的具体的内容)。
CSS层叠样式表,也是一种专门被用来定义样式结构的样式表语言,该语言可以定义网页字体、颜色、位置等等,是可以将网页的内容与表现形式相分离的语言。CSS样式还能够直接地储存一个单独的样式单文件。CSS为HTML超文本标记语言提供了一种一定的样式描述,特别准确的定义了其中元素在该开发网页中的显现样式。CSS在Web网页开发领域是一个突破。利用CSS层叠样式语言能够实现修改一个小小的样式更新和与之相关联的全部的页面元素。
2.3 开发平台
一般情况下,我们称Java是一种开源的、方便的、快捷的代码。到目前为止,我们可以说它只是一种比较便捷的框架,该技术主要是通过计算机插件组件进而来构建计算机的开发环境的。idea的用途并不仅是局限于Java技术的 ,可以用来作为和软件开发的无关的其他的一些程序类型的基础工作部分进而来作为开发工作。
在结构上,我们主要讲idea的主要的特征类型:
  1. Java模型
  2. JSP开发工具
  3. EJB开发工具
  4. 应用程序服务器的连接器
  5. Java项目部署服务
  6. 数据库服务
  7.idea整合帮助
2.4 ssm框架
系统架构采用J2EE三层开发体系架构,使用SpringMVc+Spring+
mybatis三大技术框架,以及结合ajax的异步刷新和校验使得系统的效率以及体现性更好。
Spring MVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,实现了对Struts 2的超越。现在越来越多的开发团队选择了Spring MVC。
Spring3 MVC的优点:
1、Spring3 MVC使用简单,学习成本低。学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。
2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)
3、Spring3 MVC的灵活是你无法想像的,Spring框架的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。
Spring是一个java领域内的一个开源框架是在2003年流行的一个轻量级的开发框架,主要也是为了解决现在很多企业中应用程序开发的过于复杂性而创建的。主要的思想就是工厂模式,实现了工厂模式的工厂类。Spring强大和流行起来主要就是两个较为强大的模块,一个是面向切面编程(AOP)和控制反转(IOC)
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。现在的web系统都是和不同类型的数据库打交道所以框架的引入使得程序员的操作更加的面向对象和简便。
2.5 MySQL数据库
2.5.1 MySQL简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境[9]。
2.5.2 MySQL应用环境
与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQ L是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。它的特性包括:
1、使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
2、支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。
3、为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4、支持多线程,充分利用CPU资源。
5、能够运用优化过的SQL查询算法,高效率的进行查询。
6、提供支持多种语言,最最常见的编码就如:GB2312等等都可以用来作为数据库表名和列名。
7、可以支持大型的数据库。能够处理拥有千千万万条数据记录的大型数据库。
8、提供了多种数据库连接途径,其中包括ODBC、JDBC和TCP/IP。
9、MySQL数据库采用了GPL协议,是能够定制的,可以通过修改源码来开发自己的MySQL项目。
2.5.3 MySQL存储引擎
MySQL5.0之前的最为常用的是默认的数据库引擎。它不支持事物InnoDB的事务型数据库的第一选引擎,但是支持ACID事务,并且拥有特别高效的插入和查询速度,也支持行级锁定,MySQL之后就成为了默认数据库引擎。BDB来源于Berkeley DB,作为事务型的数据库的另一种选择,可以支持Rollback和Commit等其他事务特性。Memory会将所有的数据置于内存中的存储引擎中,可以拥有特别高效率的插入、更新和查询。但是它会占用和数据量成正比例的内存存储空间,而且不足之处是内容会在MySQL重启的时候丢失。Merge会将一定的数量的MyISAM表联合成为一个大的整体,在遇到特别大型的数据规模存储时会很有用。Archive特别适合用来存储大量的独立的,用于历史纪录的数据。它们不经常被读取到。Archive还拥有很高的插入速度,但是不太支持数据的查询。Federated可以把不同的MySQL的服务器给聚合在一起,从逻辑上看就成为了一个完整的数据库。它非常适合分布式应用。EXAMOLE存储引擎,这是一个不用做任何事情的存根引擎。它的目的在于作为MySQL的源代码中的一个举例,可以演示怎么开始编写一个新型的存储引擎。它主要是针对于开发者,而且也不支持编索引。另外,MySQL的存储引擎的接口的定义是非常良好的。
2.5.4 MySQL索引功能
索引是一种比较特殊的文件,它们一般都包含了数据库的所有数据表中所有记录的引用的指针。但是索引也不是万能的,它可以加快数据的检索操作,但是可能会减慢数据的修改操作。因为每修改一次数据的记录之后,索引就必须要刷新一次。因此,为了这一缺陷,许多的SQL命令,都要加一个DELAY_KEY_WRITE项。这个DELAY_KEY_WRITE项的作用就是每插入或修改一条记录后要阻止对索引的立刻刷新,把对索引的刷新动作延缓到所有的记录都修改和插入完毕后在进行刷新。除此之外,索引要在硬盘上占用特别大的空间。所以,在数据库中要谨慎建立索引,一般只为要经常查询和排序的数据建立索引就可以。不要为包含多个重复项的数据列建立索引,即使建立也索引也没有太实际的效果。索引的类别包括以下5种:
1、普通索引
加快对数据的访问速度是普通索引所要实现的唯一的任务。所以,为数据列创建建索引的条件是经常出现的排序条件或查询条件。尽可能的选择最紧凑、最整齐的数据列去创建索引。
2、唯一索引
普通索引可以被允许数据列中有重复值。但是,如果某个数据列中包含的是数据相互之间不相同的值,那么,当数据列在创建索引的时候一定要用关键字UNIQUE来将这个索引定义为唯一索引。这么做有两大好处:
1)简化和数据库管理索引的工作,索引的执行也变得更加有效率;
2)当有新的记录要插入到数据表中时,MySQL会自动检查在某个记录的字段中这个新插入的新纪录是否已经出现过了,如果已经出现过,那么数据库将会不执行插入这个新纪录;
这样做,唯一索引就能够保障了所有数据记录的唯一特性。实际上,人们创建唯一索引的目的也不光光是为了提高数据的访问速率,更多的是为了避免出现重复的数据。
3、主索引
在数据库表中,主键字段必须被创建一个索引,为主键字段创建的索引就是“主索引”。主索引在定义使用时使用的关键字是:PRIMARY,这是区别与唯一索引定义时使用的关键字的。
4、外键索引
如果要为某一个外键字段定义上一个外键的约束条件,MySQL数据库会通过定义内部的索引,这样MySQL能够以最高效率的方式使用和管理外键约束条件。
5、复合索引
索引一般都可以覆盖许多个的数据列。复合索引的特点是MySQL能够选择性的使用一个这样的复合索引。但是这种用法仅仅适合于排列在复合索引中位置比较靠前的数据列的组合。

3 系统需求分析

需求分析是介绍我们对于一件事情是如何解决的,我们需要对这件事情进行详细的分析。首先,我们应该清楚这件事情的的目标是什么,就是相亲交友系统所有的功能需求有哪些,用户通过这个系统可以做那些事情,它主要是包括我们解决这件事情想要得到一种什么样的结果以及我们需要付出多少的努力,然后,我们需要弄清楚我们该怎样的去解决这件事情,最后,我们需要整体的对这件事情做一个完整的计划,这个计划是可以完成这个系统的。
3.1 系统业务流程分析
用户通过登录界面登录基于Java的相亲交友系统,如果密码不正确则需要重新进行登录;
当用户成功登录系统之后,则可以在系统中对基本功能和系统管理等功能进行新增、修改、删除、查询等操作;
当用户想要查询相亲用户时,可以点击“搜索”按钮进行操作;
等用户处理完所有的事情,即可退出系统。
3.2 系统功能性需求分析
众所周知,系统的功能性需求是一个非常重要的组成成分,针对于整个系统来说也是比较核心的部分,是整个系统分析过程中的一个相对比较关键的环节。下面介绍的几点内容是本系统的主要分析情况:
(1)当用户打开系统之后,用户就会进入系统的登录注册页面。若是已经注册过的用户,可以通过在登录页面中,用户可以输入相应的用户名以及密码,然后就可以成功的登录到系统中。若是新用户并没有注册过,则要先切换到注册页面,进行注册,注册成功后,会直接进入登录成功的页面。
(2)当用户成功的登陆到系统之后,用户可以根据自己的需要选择进入系统管理模块。进行相关操作,例如用户可以进行首页管理、主人认证和相亲用户认证等等操作。
(3)进入信息索搜界面,用户可以根据自己的需求信息,通过点击“搜索”就可以进入搜索页面,例如:用户家在北京,可以通过输入地区找到离自己家比较近的相亲用户,然后通过查看具体的信息,就可以为自己家的爱宠进行配对。
(4)当用户处理完所有的事件之后就可以点击页面右上角的注销按钮,然后用户就可以直接的退出系统并跳转到主页面。
3.3 系统非功能需求
3.3.1 系统数据安全
系统用户在进行数据相关操作时(如新增、删除、修改、审核等),系统为了保证数据的安全可靠性,必须具备以下功能特点:
(1)征求询问确认操作:特别是在删除数据的操作上要再次向用户确认,避免不小心失误操作造成的数据损失。
(2)数据准确性校验:在填写信息时,特别重要的必填信息确保无误、无漏、合法操作等。避免不合法数据存入数据库。
(3)重复数据的冗余性和缺省赋值性:对于一些公用的人员基本信息数据,在是数据库设计上不应该出现数据重复保存的现象。一些常用而且必须显示和输入的数据能够自动附带显示就不必要用户每次都填写,提高数据的缺省赋值性。
3.3.2 系统运行状态
为了保证相亲交友系统能够可靠的服务于相亲交友行业管理工作。必须做到系统能够承受长时间的运行、稳定的操作、并能够特别高效完成的系统性能需求,因此,必须满足以下要求:
(1)系统结构设计合理系统是使用ssm框架开发的项目,其采用了高内聚松耦合开发模式,各个模块之间不相互依赖,可满足不断更新的需求,具备了良好的系统扩展性和维护性。
(2)系统具备良好的维护性、开放性、可靠性、高效性。考虑到相亲交友系统在实际工作中的需求会时时更新,系统根据市场阶段性需求,依靠常规的经验评估可以满足系统开发所需要的硬件需求,能够根据性能需求展现出优化设计,同时也能通过优化提高系统的性能,系统也做好了应对这方面的准备,会提供对外开放的规范接口,以便日后进行完善系统功能。
(3)系统的安全性高,系统在商业范围内使用,其中的数据涉及到许多相亲交友行业人员的重要信息,如身份证号、手机号、家庭地址等私密信息。因此,在数据库设计上必须考虑到其重要性。建立起一套安全级别较高的机制是不可或缺的。
(4)系统的信息提示及时、处理准确性高。本系统中的任务提示信息,在一定时间内提醒用户有任务可处理,做到了消息及时提醒。系统考虑到以后会出现的数据量超大的问题,在数据的加载上使用了懒加载方式,减轻系统的压力,提高系统的响应速度,以更好的满足用户体验效果。
(5)系统的网页设计的简洁性,系统的网页总体页面一定要做到简介大方,用户一看可以很清楚的知道自己该如何操作该系统,这样,用户对于网站的应用体验也比较好。
(6)系统的可升级性系统也会考虑到未来的功能需求可能会发生某种改变、功能需求变得更加完善、齐全、多种多样,内容可能会变得更加丰富多彩,所以系统必须具备一定的可扩展性、升级性,这样才能保证系统的不断发展,相亲交友系统才能变得更加完善,才能更好的服务于相亲交友行业的用户。

4 系统设计与实现

4.1 系统设计目标与原则
本系统的设计目标构建适应于中等规模的基于Java的相亲交友系统,同时,设计出的系统应该要求系统安全性高、可靠性高、运行相对稳定、性能相对平稳。同时,基于Java的相亲交友系统需要具备一定的可扩展性,这样才能够适应各种各样的小型相亲交友行业的进一步发展需要。
系统稳定性:开发时能够保证系统具有良好的稳定性,同时,采用的数据库也能够长期有效的进行运行;
易操作性:系统操作界面友好,用户易使用;
数据安全性:系统要求保证数据的完整性和一致性。同时,系统也需要分配给不同用户的系统权限,这样才能够限制用户对数据库的一些相关的操作,保证系统的安全性;
实用性:系统需要预留可扩展的接口,这样才能方便软、硬件的扩充。
4.2 系统总体设计
本系统总体设计图4-1。当用户成功的通过用户名和密码登录到系统之后,就可以进入到系统的主页,用户在主页中就可以进行各种各样的选择的操作。
在这里插入图片描述

图4-1 系统登陆流程图
4.3 功能模块设计
通过分析系统需求的功能、系统运行过程中的各类数据结构。本课题设计了一种管理系统的软件结构。设计的思想为自顶向下的方式,顶层模块根据需求给不同的下层模块发送不同的指令,各个模块相互协作,完成程序的所有功能,即将整体功能划分为几大功能模块,每个功能模块向下细分为若干子模块,每一个子模块完成一个对应的子功能,如果功能仍复杂则可继续向下划分,通过这种方式把模块组织成良好的层次系统。下面分别给予详细的分析,并结合分析的情况给出合理的功能模块设计。如图4-2所示,是系统的功能模块图。
在这里插入图片描述

图4-2 系统功能模块图
根据图4-2可以看出系统主要划分为用户管理模块、相亲用户管理模块两大模块,而每一模块的具体
功能如下:
(1)用户管理模块:该模块主要实现的是用户对基本信息的新增、修改、删除和查询操作,大大提高了相亲交友行业的管理水平和运维速率;
(2)相亲用户管理模块:该模块主要是对网站的一个管理作用,是管理人员对网站的相亲用户的相关信息进行合理的操作,方便用户的操作。
4.4 数据库设计
数据库设计主要是我们需要根据系统的需求,设计出安全的、方便的、有效的、便捷的数据库。基于Java的相亲交友系统是采用的MySQL数据库进行开发的。
我们根据需求可以对数据结构进行详细的分析,我们按数据额输入输出的要求进行分析,从而确定表何表之间的关系结构,同时我们可以进行验证、调整、完善、查询以及浏览等流程,这样可以使数据库能够实现用户对数据和功能的更多的要求。

5 系统功能模块实现

5.1 用户登录模块
图5-1位用户登录模块的流程图,主要顺序为:
1)用户输入用户名和密码进行登录;
2)系统对比数据库中的账号和密码进行用户登录的验证;
3)如果密码正确,用户登录成功,如果密码错误,用户需要重新输入密码。登录成功之后用户就可进入基于Java的相亲交友系统的主界面进行相关的操作。
如图5-1是用户的登陆注册模块实现图和基于Java的相亲交友系统的主界面图,我们可以看出登录注册模块界面简单、快捷。已经注册过的用户,可以直接方便快速登录,若是新用户,则需要点击左上角的注册将页面切换到注册页面,新用户可以先进行注册,注册成功之后,用户会直接跳转到登录成功的用个人空间管理界面。主界面主要包括了相亲交友系统的一些相关功能,如基本功能、首页和退出、注册或登录等等,主界面非常的简洁、大方,用户一看,一目了然,用户操作起来也是非常的简单、快捷。
在这里插入图片描述

图5-1 用户登录注册界面

5.2 用户管理模块
如5-4是查询相亲用户界面,我们可以发现,这两个界面设计是非常的简洁的,但是又能够完美的实现需要查询的用户的基本信息。
在这里插入图片描述

图5-4 相亲用户界面
5.2.2 基本信息
如图5-5是基本信息模块的实现图,主要流程有:当用户点击基本信息时,系统就会显示主人的相关信息,主要展示的信息如姓名、地址、电话等等,同时管理员还可以对基本信息进行新增、修改、删除、查询等操作。

图5-5 基本信息实现界面
5.2.3 相亲用户管理
如图5-6是相亲用户认证实现图,用户可以将相亲用户的基本信息如用户名、编号、邮箱等输入到系统内,进行注册,方便快捷。
在这里插入图片描述

图5-6 相亲用户管理证实现界面
5.2.4 相亲用户信息
如图5-7是相亲用户信息模块的流程图,主要流程有:当用户点击相亲用户信息时,系统就会显示相亲用户信息的相关信息,主要展示的信息如相亲用户名称、品种等等,同时用户还可以对相亲用户进行新增、修改、删除、查询等操作。
在这里插入图片描述

图5-7 相亲用户管理流程图
如图5-8所示,用户在登录或注册成功之后,可以对相亲用户的信息进行认证,一下就是用户对相亲用户信息进行认证后,认证成功的界面图。
在这里插入图片描述

图5-8 用户管理相亲用户界面

6 系统测试

据研究者报道,一个完整的模型是需要进行详细的测试的,同时,一个友好的软件开发是伴随着测试这道程序的。系统测试的主要目的是为了保证该系统的所有功能都可以被正常的使用,一般倾向于测试业务规则和业务功能的需求,通过测试对交互的结果和输出进行具体分析,以此来检验系统内部进程,以及数据的处理,接受和检索是否能够达到正确的标准,整个系统的运行是否能够顺利进行。因此,测试的重要性也就显而易见了,模型测试是检验我们设计这款软件是否合理,是否满足大部分人的需求的一个非常重要要的流程,一般情况下的模型测试主要包括登录测试和主界面的测试。在软件测试过程中,我们首先需要对整个软件的开发过程进行仔细的检验,例如,需求分析是否合理,概要设计说明书是否详细,源程序是否合格等等,这些细节都需要注意到,总而言之,模型测试的最主要的目的还是检验整个软件模型是否符合要求,是否满足规格的定义。
6.1 测试原则
(1)在测试的过程中,测试程序员需要注意的是,应该时刻避免检测自己所编写的程序,这样,才能正确合格的检测出此程序的合格性。同时,还需要测试工作邀请比较独立的专业的测试机构人员来完成相应测测试工作。
(2)当测试人员在设计测试用例的时候,测试人员需要时刻应该考虑设计的测试用例是否合法,如果不合法要及时做到修正,同时,测试人员也需要考虑一些软件的边界条件。
(3)测试人员在测试的过程中不仅需要检验程序是否做的合理,还需要检验这个程序在哪些部分做的不合理,以及不合理在什么地方,最好测试人员提出相应的修改建议,这样可以方便编写者进行合理的修改。
(4)测试人员在测试完相应的软件程序之后,一定要妥善的保存好在测试的过程中的一些相应的文档,这些文档编写者在后续的修改过程中需要查阅,同时这些文档也是软件文档的一个重要的组成部分。
(5)测试要积极的显示缺陷的存在,通过测试可以显示出系统存在的缺陷,但是并不能证明系统是不存在缺陷的。同时,测试也可以减少开发的系统中存在的缺陷,因为通过测试并不能完完全全的发现系统的所有缺陷,通过测试的系统也并不能证明是完全正确的。
(6)测试要今早,根据以往的开发经验数据表明,在软件开发过程中出现的所有错误中软件开发生命周期早期的错误占据了一半,而且缺陷若不早做处理,在以后的开发过程中就会被放大。例如:在需求阶段的设计中出现了一个缺陷,随后在设计开发中就会出现许多个错误,那么为了修复缺陷所要付出的代价就会变得越来越大。所以在系统的开发过程中,要尽早不断的进行测试,这样既可以提高软件的开发质量,也能够节省软件开发成本。
(7)不存在缺陷的谬论,系统的质量特征包括了很多其他方面的要求,例如兼容性、稳定性、可用性等等,系统质量并不仅仅是功能性的要求。如果系统不能够完成一开始所设定和期望的需求功能,那么可以认定,该系统的开发是一个失败的开发,同时所有在系统中的修改缺陷都是没有意义的行为。
6.2 测试方法和环境
本篇论文,我们主要采用的是黑盒测试法进行模型的测试,黑盒测试也被相关人士称为功能测试。据调查,黑盒测试和白盒测试相比较,两者有一些不同之处,黑盒测试是不需要测试人员拥有相关的专业的测试知识的,它也可以要求测试人员不需要了解被测试软件的系统内部的详细运行的细节。测试人员在测试的过程中只需要找到所有的输出的功能以及输入的集合就可以完成相应的测试,测试人员需要对对每个模块分别进行详细的测试分析。于此不同的是,白盒测试就需要比较专业的测试人员进行详细的测试,同时,测试人员在测试的工作中还需要对系统的内部工作过程了解的比较清楚。
测试之前,给数据库中装入有效的数据,以便可以更真实地反应该系统的情况。由于该系统所涉及的功能模块比较多,在此我们只给出修改密码测试点的测试过程及测试用例。
6.3 测试流程
(1)用户成功登入系统以后,点击修改密码的按钮,进入密码修改的界面。
(2)在该页面中分别输入正确和错误的信息。
(3)点击确定按钮。
(4)系统返回修改的结果。
6.4 用户登录模块测试
用户名为admin,密码为admin的系统管理员成功登录到该系统。如下表6-1所示是测试用例的结果表。

表6-1 相亲交友系统注册登录用例1
用例编号 测试用例 预期结果 实际结果 是否通过
ep_01 用户名:admin
密码:admin 登录成功 登录成功 通过
ep_02 用户名:admin
密码:123 在该页面弹出“密码错误”的提示 在该页面弹出“密码错误”的提示 通过
ep_03 用户名:admin123
新密码:admin 在该页面弹出“该用户名不存在”的提示 在该页面弹出“该用户名不存在”的提示 通过
ep_04 用户名:null
密码:admin123 在该页面弹出“用户名不能为空”的提示 在该页面弹出“用户名不能为空”的提示 通过
ep_05 用户名:admin
新密码:null 在该页面弹出“密码不能为空”的提示 在该页面弹出“密码不能为空”的提示 通过

6.5 用户管理模块测
用户登录成功后,可以进入到用户的个人空间和相亲用户空间,对个人信息和相亲用户信息进行管理。如下表6-2所示是测试用例的结果表。

表6-2 会员管理模块测试
测试用例2
功能模块 用户管理模块
测试类型 测试单元
1、测试目的:用户登录用户管理界面后,可对会员管理成功的进行操作。
2、步骤:首先用户进入管理界面,然后用户管理进行查看、新增。修改、删除。
3、期望:用户成功的登录用户管理界面,成功的对相关人员的权限进行相关操作。
6.6 相亲用户认证模块测试
用户注册成功之后,可以进入个人空间,对自己的相亲用户进行信息认证和管理。如下表6-3所示是测试用例的结果表。

表6-3 相亲用户认证模块测试
测试用例3
功能模块 相亲用户认证模块
测试类型 测试单元
4、测试目的:用户登录相亲用户认证界面后,可对会员管理成功的进行操作。
5、步骤:首先用户点击“相亲用户认证”按钮,然后相亲用户认证进行查看、新增。修改、删除。
6、期望:用户成功的登录相亲用户认证界面,成功的对相关相亲用户的权限进行相关操作。
6.7 相亲用户查询模块测试
表6-4 相亲用户查询模块测试
测试用例4
功能模块 相亲用户查询模块
测试类型 测试单元
7、测试目的:用户根据搜索到的信息,可以查看相亲用户以及相亲用户主人信息
8、步骤:首先进入搜索页面,在文本框输入地区或相亲用户品种,对搜索结果进行操作
9、期望:用户可以顺利的查看相亲用户信息和相亲用户主人信息。

7 结束语

计算机技术在信息科学领域中高速的发展着,并且随着时间的越来越长,计算机技术也变得越来越成熟,已经被各行各业广泛的使用。其为各个领域都带来了巨大的便捷,融入到这些领域的骨髓中。目前,国内的市场大部分是各种各样的小型相亲交友行业公司,他们和大型相亲交友行业公司相比还需要不断的进步,尤其是在对相亲交友行业的一些资源的管理方面,更是需要不断的往信息化的方向发展,才能和时代与时俱进。因此,为了配合相亲交友行业运输的各个环节,实现相亲交友行业自动化,减少人工开销,本文设计和开发了基于Java的相亲交友系统的设计与实现。
在一个学期的毕业设计中,我收获良多,受益匪浅。本次毕设主要是搭建了一个基于Java的相亲交友系统的设计与实现,借助idea集成开发工具,联合MySQL数据库,完成了系统的设计。虽然这个系统实现了一些比较基本的功能,但是总体来说,这个相亲交友系统并不完善,本网站的功能性需求也不完善,相亲交友网站,还可以在继续填加实现好友管理这个模块。相亲用户可以拥有自己的好友。这个网站可以实现的地方还有很多。在后续完善的工作中,除了添加好友管理这个模块,还可以实现对用户登录密码管理的功能。用户忘记密码时,可以找回密码,用户也可以修改密码等等。总之,相亲交友网站的后续工作还有很多,不论是在技术方面,还是功能方面,都需要我再接再厉,而且相亲交友网站能够为那些需要为自己家的爱宠寻找伴侣的用户提供特别方便的服务,也有很大的潜力,所以需要我继续努力,以后能更好的完善这个系统。最后,我通过系统调试结果最终显示是本系统基本能够满足功能需求。基于Java的相亲交友系统的开发对我大学期间学习的提高具有非常大的帮助作用,他让我学到了个方面的计算机知识,让我认识到无论做什么事情都需要坚持不懈,不断克服困难,就能收获成功。

致 谢

本次毕业设计是在我考研完毕之后开始的,在考研和毕业设计二者都需要时间协调的情况下,父母大力支持我考研,老师悉心指导我该如何做毕业计,在曾经的计算机课堂上,杨老师就给我留下了细心、办事效率高、和蔼可敬的非常好的印象,在此时毕业设计中,我和杨老师、张老师积极交流,在大的方面让杨老师和张老师一起为我把关,和杨老师、张老师非常融洽,毕业设计非常愉快,在此,非常郑重的感谢杨老师和张老师对我的帮助!
本次毕业设计我是在大学完成的,期间和同学合作完成了一些项目,在大学这边杨老师是我这次毕业设计的具体指导老师,他是一位总结能力非常强、教导学生非常认真和细致的老师,在上海杰普基地这边张老师是我技术上的具体指导老师,张老师是一位特别认真负责的老师,老师特别耐心的对我们每一位学生负责,这次毕业设计我非常感谢杨老师和张老师的指导和帮助,我学到了不少的能力与技术!
在太原理工大学的四年时光里,我学到了很多方面的知识,不仅仅是书本上的知识,还有社交上的等等多方面的能力,思想上也相比大一刚来学校的时候成熟了很多,明白自己哪些能力是需要学习和培养的,也明白了自己将来应该朝着哪个方向发展,最后我想对在大学4年里给我学习带来帮助的所有老师表示最诚挚的谢意!!!
感谢所有给与过我帮助和关心的老师和同学,与你们一起度过大学生活是充实和精彩的,祝各位老师们能够身体健康,工作顺利!

参考文献

1Bruceb Eckle,Java编程思想(第4版)[M].(陈吴鹏)北京:机械工业出版社,2007.
[2]聂常红.Web前端开发技术------HTML、CSS、JavaScript[M].北京:人民邮电出版社,2013.
[3]廖勇,陈亚辉.JSP网络开发[M].北京:北京清华大学出版社,2010.
4萨默维尔.软件工程(第9版)[M].(卢涛) 北京:机械工业出版社,2013.
[5]崔尚森,张白一,张辰.Web应用开发技术:JSP(第二版)[M].西安电子科技大学出版社,2014.6
6戴特.数据库设计与关系理论[M].(程成) 北京:机械工业出版社,2011.
[7]王珊,萨师煊.数据库系统概论[M[.北京:高等教育出版社,2014.9
[8]李俊青.JavaEE WEB开发与项目实战[D].华中理工大学出版社,2011:55-58
[9]陈俊杰,相洁.Java语言程序设计[M].北京:高等教育出版社,2015.8
10John W.Satzinger、Robert B.Jackson、Stephen D.Burd . 系统分析与设计[M].机械工业出版社,2012
[11]朱少民.全程软件测试(第2版)[M].北京:电子工业出版社,2014.

外文原文
Exploitation of Java libraries as accessing points to the repositories was atfirst applied in the domain of traditional databases, e.g. relational database. These libraries provide object-centric view on the data in form of Java beans and users can easily connect their DAO’s (Data Access Object) to respective resources stored in the repository. Hibernate [1] dominates the open-source field of object-relational mapping libraries for the Java language.
As knowledge repositories are much younger in comparison with relationadatabases, persistence frameworks are scarce. In fact,there are few Java frameworks which support semantic data at all:
JRDF [3] (Java RDF) is an attempt to create a standard set of API’s and base implementations to RDF.A key aspect is to ensure a high degree of modularity and to follow standard Java conventions.In this case wediscussed several open questions with relevant JRDF authors and this collaboration resulted in the many similar characteristics of the both solutions, especially JRDF uses P-API memory model.
Sesame [4] is an open-source framework for querying and analyzing RDF data. It was created, and is still being maintained, by the Dutch software company Aduna. Only Sesame provides usable RDF to Java object API, similar to Persistence API, called Elmo. Elmo [5] is a Java bean poolimplementation for the Sesame RDF repository,providing static Java bean interfaces to RDF resources. One ofthe main differences between Elmo and Persistence API is the use of underlying repository and query/update languages. Persistence API uses SWKM/RQL/RUL and Elmo uses Sesame RDF repository.
Jena [2] represents an open source Semantic Web framework forJava. It provides an API to extract data from and write to RDF graphs.Jena is similar to Sesame; though, unlike Sesame, Jena provides support for OWL (Web Ontology Language). However,Jena doesn’t supportJava bean persistence.
The Resource Description Framework(RDF) enables the creation andexchange of resource metadata as any other web data.To interpret metadatawithin or across user communities, RDF allows the definition of appropriateschema vocabularies (using RDFS).RDF is intended for situations in whichthis information needs to be processed applications, rather than being only disssmed to people. RDF provides a common framework for expressing this information so it can be exchanged between applications without loss ofmeaning. Since it is a common framework, application designers can leverage the availability of common RDF parsers and processing tools.The abilityto exchange information between different applications means that the information maybe made available to applications other than those for which it wasoriginally created.
The RDF data model is based upon the idea of making statements aboutweb resources in the form of subject-predicate-object expressions, called triples. In RDF, resources are identified using Uniform Resource Identifiers or URI’s and describing resources in terms of simple properties and property values.
The semantic repository provides scalable persistence services for large volumes of knowledge objects descriptions and ontologies.Typical representative of open-source solution in this case is RDFSuite that is developed at FORTH-ICS in Greece. RDFSuite covers a suite of high level scalable tools
•The Validating RDF Parser (VRP) a tool for analyzing, validating and processing RDF schemas and resource description
•The Schema-Specific Data Base (RSSDB) a persistent RDF Store for loading resource descriptions in an object-relational DBMS by exploiting the available RDF Schema knowledge
•Interpreter for the RDF Query Language (RQL) - the declarative language for uniformly querying RDF schemas and resource descriptions
•Interpreter for RDF Update Language (RUL) - the declarative language for uniformly updating resource descriptions.
The RDFSuite can be used by academics and software developers to produce scalable applications that rely on validating RDF/S compatible datafor the Semantic Web.
The objective of the knowledge repositories is to provide generic management services for capturing and archiving; discovering and accessing; combining, modifying and tracking [8] of formal forms of explicit knowledge (i.e. declarative,
procedural and causal).
Knowledge repository relies on ontologies in order to support interactions among learners and knowledge artefacts involved in learning processes. Ontology-based interactions include but are not limited to the ones that deal with organizing or annotating shared objects created byan individual or a group as well as sorting, classifying and retrieving all objects relevant to the problem at hand. Several ontologies are used to capture declarative (about), procedural (how), causal (why) or temporal (when) knowledge regarding a problem addressed by a group. Moreoverontologies themselves might be possibly formed collaboratively based on the individual conceptualizations, if a consensus on the concepts and relations that are relevant to the task at hand can be reached.
In the case of KP-Lab project, the purpose of the Semantic Web Knowledge Middleware is to provide a set of services for manipulation with RDF data, e.g.: The Knowledge Repository services provide a basic set of services for the remote manipulation of an RDF Knowledge Base (query, update, import, export). Via the use of these services the finaluser can import RDF Schemas or RDF files containing instances in the database, export schemas or instances, query upon the already stored material via the use of RQL queries or update the stored instances via RUL queries.
The Knowledge Mediator services (change, comparison,versioning and
registry) aim at providing functionalities to support evolving ontologies and RDF Knowledge Bases (KB’s). Upon a change request, the changeservice will automatically determine the effects and side-effects of the request and present it to the caller for validation. A comparison serviceis necessary to allow one to compare two versions of an ontology or RDF KB and identify their differences. The above functionalities are coupled with a versioning system, which is used to make different versions of the same ontology(or RDF KB) persistent, and with the registryservice, which allows the user to classify the stored ontologies,using some related metadata for easy access and manipulation.
Last version of the SKWM services introduces concept of graph space,which serves as a grouping mechanism of statements, where the group is identified with an URI.
This opens up new possibilities of RDF data query, manipulation and optimization.

中文翻译
Java库作为访问点的开发存储库最初是在域中应用的传统数据库,例如关系型数据库。这些库以数据形式提供以对象为中心的视图Java bean和用户可以轻松连接他们的DAO(数据访问对象)respective资源存储在库。 Hibernate [1]占主导地位ates开源领域用于Java的对象关系映射库语言。
由于知识库在英国年轻得多与关系数据库比较,持久性框架是稀缺的。事实上,Java很少完全支持语义数据的框架:
JRDF [3](Java RDF)试图创建一个标准一套API和基础实现到RDF。关键方面是确保高度的模块性和遵循标准的Java约定。在这种情况下,我们与相关的JRDF讨论了几个未解决的问题作者和这次合作产生了许多相似的结果这两种解决方案的特点,特别是JRDF使用P-API内存模型。
芝麻[4]是一个开源的查询框架并分析RDF数据。它被创建,并且仍然存在由荷兰软件公司Aduna维护。只要芝麻提供了可用的RDF到Java对象API,类似到Persistence API,称为Elmo。 Elmo [5]是一个Java bean Sesame RDF存储库的池实现,为RDF资源提供静态Java bean接口。Elmo和。之间的主要区别之一持久性API是使用底层存储库和查询/更新语言。持久性API使用SWKM / RQL / RUL和Elmo使用芝麻RDF库。
Jena [2]代表了一个开源的语义WebJava的框架。它提供ES提取数据的API来自并写入RDF图。耶拿与芝麻相似;尽管与芝麻不同,但耶拿提供了对OWL的支持Web本体语言)。但是,没有支持Java bean持久性。
资源描述框架(RDF)启用资源元数据的创建和交换其他网络数据。解释元数据或跨元数据用户社区,RDF允许定义适当的模式词汇表(使用RDFS)。 RDF是适用于这些信息需要的情况由应用程序处理,而不仅仅是处理向人们展示。 RDF提供了一个通用框架表达这些信息以便交换应用程序之间没有意义的损失。由于它是一个通用框架,应用程序设计师可以利用常见的RDF解析器和处理的可用性工具。在两者之间交换信息的能力不同的应用程序意味着信息可能是提供给应用程序以外的应用程序它最初创建。
RDF数据模型基于制作思路关于网络资源的陈述 以主题 - 谓词对象表达式,称为三元组。在RDF中,资源被识别使用统一资源身份标识 或URI的描述和描述资源简单的属性和属性值。语义库提供了可伸缩的持久性大量服务的知识对象描述和本体。典型代表这种情况下的开源解决方案就是RDFSuite在FORTH-ICS开发 在希腊。RDFSuite涵盖了一套高级可扩展工具[6],[7]:
•验证RDF解析器(VRP一种工具分析,验证和处理RDF模式和资源描述
•特定于架构的数据库(RSSDB) - a用于加载资源的持久RDF存储在一个对象关系数据库理系统中的描述利用可用的RDF Schema知识
•RDF查询语言(RQL)解释器 - 用于统一查询的声明性语言RDF模式和资源描述
•RDF更新语言(RUL)解释器 - 用于统一更新的声明性语言资源描述。
RDFSuite可供学者和软件使用开发人员生产依赖的可扩展应用程序
验证语义Web的RDF / S兼容数据。
知识库的目标是为捕获和提供通用管理服务归档;发现和访问;结合,修改和跟踪[8]明确的形式形式知识(即声明性,程序性和因果性)。
知识库依赖于本体以便支持学习者和知识之间的相互作用涉及学习的文物流程。基于本体的互动包括但不限于那些处理组织或注释共享创建的共享对象由个人或团体以及分类,分类并检索与手头问题相关的所有对象。几个本体被用来捕获声明(大约),程序性(how),因果性(why)或时间性(when)关于小组解决的问题的知识。此外,本体可能是可能的基于个人协作形成概念化,如果对概念和意见达成共识与手头任务相关的关系可以到达。
在KP实验室的情况下宗旨,目的语义Web知识Middleware是提供一套用RDF数据操作的服务,例如:知识库服务提供了一个基础远程操作RDF的一组服务知识库(查询,更新导入,导出)。通过使用这些服务的最终用户可以导入RDF包含实例的模式或RDF文件数据库,导出模式或实例,查询已经通过使用RQL查询存储了材料通过RUL查询更新存储的实例。
知识调解员服务(更改,比较,版本控制和注册表)旨在提供功能来支持不断发展的本体和RDF知识库(KB’s)。根据变更请求,更改服务将自动确定效果和请求的副作用并将其呈现给调用者进行验证。比较服务是必要的一个用来比较本体或RDF KB的两个版本并找出他们的差异。以上功能与用于的版本控制系统耦合制作相同本体(或RDF)的不同版本KB)持久性,并与注册表服务,它允许用户分类st直接使用一些本体论相关的元数据很容易 访问和操作。
SKWM服务的最新版本引入了概念图表空间的服务作为一种分组机制语句,其中组用URI标识。这为RDF数据查询开辟了新的可能性,操纵和优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值