基于java的毕业设计论文管理资料.docx
- 文档编号:26115081
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:28
- 大小:33.04KB
基于java的毕业设计论文管理资料.docx
《基于java的毕业设计论文管理资料.docx》由会员分享,可在线阅读,更多相关《基于java的毕业设计论文管理资料.docx(28页珍藏版)》请在冰豆网上搜索。
基于java的毕业设计论文管理资料
基于JAVA的毕业设计论文
基于JAVA的无线人员定位管理软件设计
摘要
近年来,随着监狱在押人员的不断上升,仅依靠传统的视频监控或门禁报警系统已显得独木难支,不能做到全方位、多功能的监控。
因此,提高看守所安防管理水平,建立综合高效的信息监管平台已成必然趋势。
本课题研究的主要内容是设计一个无线人员定位管理软件,此软件具有对看守所人员基本信息增、查询、删除、修改人员路径再现Abstract
Inrecentyears,withthenumberofprisonersontherise,wecannotonlyrelayonthetraditionalvideosurveillanceoraccesscontrolalarmsystemfortheycannotdotheall-round,multi-functionmonitoring.Therefore,ithasbecomeaninevitabletrendtoestablishacomprehensiveandefficientmonitoringplatformtoimprovethedetentioncentersecuritymanagementlevel.
Themaincontentofthisresearchprojectistodesignawirelesspositioningmanagementsoftware.Thesoftwarehasthefunctionofadd,query,delete,modifyandexportthebasicinformationheldindetentioncenter.What’smore,italsohasuseraccountmanagementfunction.Thecross-platformpersonnelmanagementsystemisasoftwarethatusesJavaasadeveloplanguage,theopensourceEclipseasIntegratedDevelopmentEnvironment,thefreeMySQLasdevelopmentdatabase,andtheGuidebeeMapDevelopmentKitforpositioning.
FirstImakeabriefintroductiontoJavaprogramming,theJDBCdatabasetechnology,GraphicalUserInterfaceprograming,andGuidebeeMapdevelopmenttechnology.Onthisbasis,Igivetheoveralldesignofthesoftwareandthedesignofeachfunctionalmodule.
Keywords:
wirelesspositing;Java;GuidebeeMap;JDBC;Eclipse;cross-platform
摘要
Abstract
第1章绪论1
课题意义及目的1
课题主要研究的内容1
第2章软件开发相关技术介绍3
Java程序编程基础3
Java的起源及其发展3
Java程序运行原理3
Eclipse开发平台5
6
SQL语言概述6
JDBC模型7
JDBC的工作方式8
MySQL数据库10
图形界面开发技术10
Swing组件类的层次11
Swing事件处理机制13
Swing中的布局管理13
设置应用程序外观16
引路蜂电子地图开发技术17
17
18
20
21
22
24
第3章系统总体设计25
25
26
软件总体结构图26
26
27
第4章软件各模块的实现28
28
28
29
30
30
31
32
32
33
34
34
35
35
38
第5章项目创新点39
软件的平台无关性39
基于桌面系统的Java地图应用39
采用最新的地图显示技术39
第6章结束语40
参考文献41
致谢42
第1章绪论
课题意义及目的
近年来,虽然监控技术高速发展,但看守所中在押人员的狡诈意识也逐渐增强,犯罪种类有增无减,常常出现聚众斗殴、自残、逃跑等现象,因此,提高看守所安防管理水平,建立综合高效的信息监管平台已成必然趋势[1]。
目前,已有的安防系统大都只能实现对定点人群的定位,无法对移动人群进行定位,因此对于出逃在外的在押人员,监管人员无法判断其出逃方向,更无法获得其出逃路线,不利于高效地追捕。
因此,设计一套无线人员定位管理系统,可以解决移动人群的追踪定位问题,具有广泛的社会需求和广阔的市场前景。
在信息技术不断发展的今天,利用无线人员定位管理系统,能够有效地监控高危在押人员,防止在押人员的出逃,追查及跟进暴力事件的发生,最大限度的保障监管人员和在押人员的人身安全,并促进监狱安全技术防范系统向集成化、网络化、智能化的进一步发展,具有一定的创新意义及实用价值。
课题主要研究的内容
本课题以WindowsXP为开发平台,以Java为开发语言,以Eclipse作为集成开发工具,MySQL作为后台开发数据库。
本文从上位机软件出发,利用面向对象、数据库、Swing、多线程等技术,采用引路蜂的J2SE地图开发包,设计并实现无线人员定位管理系统软件。
此软件具有看守所人员基本信息阅览、新增、查询、删除、修改人员路径再现。
通过这个软件查看每个人员的基本信息,并进行修改,可以结合,查看人员的行进路线。
为了提升系统的安全性,所有用户只有在登录后才可以使用本系统。
本论文的主要研究内容如下:
l学习和掌握Java编程语言、Eclipse开发平台、JDBC数据库技术、Swing应用程序开发包和引路蜂地图开发包的使用。
2分析整个无线定位管理软件系统的总体框架及其功能特点。
3根据用户需求设计出无线定位管理软件系统,给管理人员提供可视化界面,实现对看守所人员基本信息阅览、新增、查询、删除、修改人员路径再现。
Andreessen开发的Mosaic和Netscape启发了Oak的成员,Sun的工程师们用Java编制了HotJava浏览器,触发了Sun进军Internet[3]。
Java语言发展到至今经历了一系列的过程,Java在1995年5月23日推出了JDK,此版本标志着Java正式进军Internet的开始。
在1998年,Sun公司推出了JDK,该版本加入了大量的轻量级组件,从此以后Java正式被命名为JDK2。
在此之后,Sun公司也陆续发布了一系列的Java开发包版本,目前最新版本的JDK为JDK7[4]。
Java程序运行原理
Java中有两类应用程序,一类是有自己独立运行入口点的Java应用程序,另一类是嵌入在Web页面中由Web浏览器来控制运行的Java小程序(Applet[5])。
在运行时,它们都需要Java运行系统的支持,对于Java运行程序,Java运行系统一般是指Java解析器;而对于Applet,Java运行系统一般是指运行Applet的与Java相兼容的Web浏览器,并且其中包含了支持Applet运行的环境。
Java运行系统的功能是对字节码进行解析和执行,其工作过程可以分为以下三步。
(1)由类装载器完成字节码的装载。
在装载过程中,程序运行时所需要的所有代码都被装载。
完成后,节节码中便保留了地址的符号引用信息,运行系统通过建立的地址符号引用信息与内存之间的对照来确定程序的内存分配。
(2)由字节码检验器对字节码进行安全性检查。
这种检查可以排除字节码中可能存在的违反访问权限,不规范数据类型以及非法调用等问题。
(3)字节码的翻译和执行。
Java字节码的运行可能有两种方式,一种是通过代码生成器,先将字节码翻译成适用于本系统的机器码,然后再送到硬件去执行,这是一种编译性工作方式。
另一种是通过解析器将字节码翻译成机器码,然后由即时运行部件将机器码送到硬件去执行,这是一种解析性工作方式。
Java运行系统一般采用第二种工作方式,只有对那些运行速度要求较高,才采用编译性工作方式,这时就需要使用特定的代码生成器来完成编译,从而保证Java程序代码的高性能[6]。
Eclipse开发平台
Eclipse是一个开放源代码的,基于Java的可扩展开发平台,它通过插件组件构成开发环境。
Eclipse附带了一个标准的插件集,其中最著名的插件当属Java开发工具(JavaDevelopmentTools,JDT)
图2-1Eclipse程序主界面
在用最新版本的Eclipse开发桌面应用程序时,既可以直接编写代码来设计应用程序界面,也可以使用Eclipse的VisualSwingDesigner来进行界面的可视化设计。
VisualSwingDesigner是一个Swing界面设计工具插件,代码的生成和解析不需要依赖于form文件,而且生成的代码可读性很好,支持代码跟界面实时的切换。
它还支持表格和树的可视化设计,程序员在设计表格和树模型时,不需要编写复杂的代码,直接从采用界面操作便可以生成表格和树的数据模型代码。
在一般情况下,可以通过VisualSwingDesigner来设计程序的基本界面,再通过用户定制一些代码往往能更快地进行应用程序的快速开发。
Eclipse的使用大大减少了程序员开发程序的工作量,尤其是在程序界面设计方面。
同时拥有对代码错误信息的实时提示功能,当程序代码出现错误时,Eclipse会在代码左边显示出错误提示,点击它能够帮助程序员自动更正错误。
程序设计中离不开数据库的支持,每个程序的设计都是使用数据库保存数据。
JDBC是Java程序连接和存取数据库的应用程序接口,是Java核心API的一部分。
JDBC使程序员能够利用当前最新的数据库特征,如同时连接多个数据库等。
JDBC支持静态和动态的SQL语句(在运行时组建查询和更新语句)。
JDBC最大的特点是无论后台是何种数据库,对于Java程序员而言,它的工作方式完全相同。
JDBC为许多不同的数据库连接模块的前端提供了统一的接口,这样就不用为连接不同的数据库而烦恼了。
当需要为程序修改数据库时,程序基本上只要修改在代码中修改数据库的驱动,URL,用户名,密码,其他的地方基本上是没有发生变化的。
SQL语言概述
SQLStructureQueryLanguage,结构化查询语言,是一个功能强大的数据库语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通[9]。
20世纪80年代初,美国国家标准局(ANSI)开始着手定制SQL标准,最早的ANSI标准于1986年完成,叫做SQL-86。
标准的出台使SQL作为标准关系数据库语言的地位得到了加强。
SQL标准目前已几经修改,更趋完善。
正是由于SQL语言的标准化,所以大多数关系型数据库都支持SQL语言,它已经发展成为多种平台进行交互操作的底层会话语言。
SQL语句主要可以划分为以下3个类别。
(1)DDLDataDefinitionLanguages语句:
数据定义语言,这些语句定义了不同的数据段、数据库、表列、索引等数据库对象的定义。
常用的语句关键字主要包括create、drop等。
(2)DMLDateManipulationLanguage语句:
数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。
常用的语句关键字主要包括insert、delete、update和select等。
(3)DCL(DataControlLanguage)语句:
数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。
这些语句定义了数据库、表、字段、用户的访问权限和安全级别。
JDBC模型
JDBC由编程语言编写的类及接口组成,同时它也为程序开发人员提供了一组用于实现对数据库访问的API,并支持SQL语言。
利用JDBC可以将Java代码连接到Oracle,SQLServer,MySQL等数据库,从而实现对数据库中数据的相关操作[10]。
JDBC为数据库应用开发人员和数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统。
不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用程序[11]。
JDBC由两层组成,上面一层是JDBCAPI,下面一层是JDBC驱动程序API。
JDBCAPI负责与JDBC管理器驱动程序API进行通信,将各个不同的SQL语句发送给它。
驱动程序管理器与实际连接到数据库的第三方驱动程序进行通信,并且返回查询的信息,或者执行由查询规定的操作[12]。
它主要由以下四个部分组成。
lJava程序
Java程序包括应用程序,Applet和Servlet等,这些类型的程序都可以利用JDBC方法完成对数据库的访问和操作。
完成的主要任务有:
请求与数据库建立连接、向数据库发送SQL请求,为结果集定义存储应用和数据类型、查询结果、处理错误、递交及关闭等操作。
(2)protectedstaticStringdbClassName"";//数据库连接驱动类
protectedstaticStringdbUrl"jdbc:
数据库连接URL
protectedstaticStringdbUser"root";//数据库用户名
protectedstaticStringdbPwd"admin";//数据库密码
privatestaticConnectionconnnull;//dbClassName;//加载驱动类conndbUrl,dbUser,dbPwd;//与数据库建立一个连接
(2)向数据库发送SQL命令
通过Statement或者PreparedStatement类发送SQL命令。
在命令发送后,调用类中的excute方法来执行结果。
例如,下列语句将会执行sql语句指定的操作。
Statementstmtconn.createStatementsql;//通过SQL语句创建Statement
;//执行sql语句指定的操作
(3)处理数据源返回的结果
数据库处理了SQL命令后,将返回处理结果。
对于查询将会返回一个ResultSet结果集,在Java程序中遍历这个结果集就可以执行想要的操作了。
例如,下列语句则会从数据库的tb_operator表中返回具有指定用户名和密码的查询结果,并存放在ResultSet中。
Stringsql"select*fromtb_operatorwherename'"+name+"'andpassword'"+password+"'";//查询字符串
ResultSetrssql;//执行查询
MySQL数据库
近几年来,开源数据库逐渐流行起来。
由于具有免费使用、配置简单、稳定性能好、性能优良等优点,开源数据库在中低端应用中占据了很大的市场人人份额,而MySQL正是开源数据库的杰出代表。
MySQL[13-14]数据库隶属于MySQLAB公司,总部位于瑞典。
MySQL几乎支持所有的操作系统,并且支持很大的表,这些特性使得MySQL的发展非常迅猛,目前已经广泛应用在各个行业中。
MySQL数据库目前分为社区版(CommunityServer)和企业版(Enterprise),它们最重要的区别在于:
社区版是自由下载而且完全免费的,但是官方不提供任何技术支持,适用于大多数普通用户;企业版是收费的,不能在线下载,相应地,它提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求比较高的企业客户。
在本程序中,使用了MySQL数据库的社区版来对程序中相关的人员信息进行维护。
图形界面开发技术
Swing[15]是一个用于开发Java图形界面应用程序的开发工具包,它是以抽象窗口工具包(AWT)[16]为基础,使跨平台应用程序可以使用任何的外观风格。
Swing开发人员通过使用少量的代码,就可以利用Swing包中丰富、灵活的功能和模块化组件类来开发令人满意的用户界面。
Swing是Sun公司推出的第二代图形用户接口工具包,通过Swing可以开发出功能强大,界面优美的客户应用程序。
Swing中不但提供了许多功能完善的控件,而且还有良好的扩展能力。
Swing组件实现不包括任何与平台相关的代码。
Swing组件是纯Java语言编写,没有本地代码,是一种轻量级组件[17]。
目前利用Swing开发的可视化桌面程序已经非常成熟,并且很多工具已经在业界产生了巨大影响。
例如IBMLotusnotes办公套件,Eclipse和NetBeans开发工具。
其中这Eclipse和NetBeans是用来开发Java应用程序的,本来也是使用Swing开发出来的一套工具,在全世界普及。
近年来,NetBeans的发展,已经在程序员中产生了良好的口碑,特别是它的可视化桌面程序设计器,拖拽方式设计桌面窗口,以及各种各样良好的辅助设计功能,让之前可视化拖拽设计工具Delphi的设计人员也大大赞赏。
特别是Swing设计的桌面程序,在不同平台几乎不需要做什么修改就可以直接使用,让目前的软件厂商找到了非常好的跨平台编程工具[18]。
Swing组件类的层次
Swing中的组件的层次结构如图2-2所示,Swing的组件可以分为两种类型,一种是JComponent类,另一种是Window类。
其中Window组件类主要包括了一些可以独立显示的组件,而JComponent组件类主要包括了一些不能独立显示的组件。
什么是可以独立显示的组件呢?
独立显示的组件是指当运行一个程序时,这个组件无须托付在其他组件上就可以显示,即它可以直接显示出来,例如JFrame类,它可以独立显示,无须任何其他的组件。
而不可独立显示的组件则必须依靠可独立显示的组件来显示,例如文本框组件、按钮组件、必须依托在JFrame等上面才能显示出来。
图2-2Swing组件类的层次结构图
以上的示意图只是从显示效果上划分,其实从其功能上划分,:
顶层组件、中间组件、基本组件。
顶层组件又被称为顶层容器,而中间组件又分为中间容器和特殊中间组件,如图2-3所示。
图2-3Swing组件从功能上划分
1顶层组件类:
所谓的顶层组件类是指可以独立显示的组件。
主要有JFrame,JApplet,JDialog,JWindow等。
2中间容器类:
所谓的中间容器类是指那些可以充当载体,但也是不可以独立显示的组件。
通俗地说,就是一些基本控件可以放在其中,但是它不能独立显示,必须依托在顶层容器上才能显示。
常用的中间容器有JPanel,JScrollPane,JSplitPane,JToolBar.
3特殊中间组件类:
在GUI上起特殊作用的中间层,如JInternalFrame。
4基本组件类:
基本组件是指那些只能依托在中间窗口上才能被显示的组件,如JButton,JComboBox,JMenu等。
Swing事件处理机制
图形用户界面程序都需要对环境中发生的各种事件(包括鼠标的单击、值的改变、焦点的获取或者丢失、键盘输入等)进行监控并根据事件的类型进行相应的处理。
Swing中采用了委托事件模型,也叫授权事件模型来处理系统发生的各类事件[19]。
在授权事件模型中,主要包含3个对象。
1事件:
发生在用户界面上的用户交互行为所产生的一种效果。
2事件源:
产生事件的对象。
3事件监听器:
接收事件并对其进行处理的对象。
组件作为事件源可以触发事件,一个事件源可以注册一个或多个事件监听器。
当特定事件发生时,事件被委托到特定的事件监听器进行处理。
具体来说,首先通过组件的Add×××Listener方法注册事件监听器,一个组件可以注册多个事件监听器。
监听器监听特定的事件,如果组件触发了相应类型的事件,此事件被传送给已经注册的监听器,事件监听器负责处理事件。
委托事件模型具有如下优点:
1事件对象只传给注册的监听器,不会被其他组件或上层窗口捕获和处理。
2可以实现过滤的功能,只监听和处理感兴趣的事件。
3实现了将事件源和事件监听器分开处理的功能。
Swing中的布局管理
Java中的布局管理管理功能,没有VisualBasic,VisualC++等可视化软件所带的表单设计器,可以在画板上直接将组件按照程序员的意愿进行排列。
在Java中只能通过编写代码来规范每个控件在顶层窗口中的位置。
不同的代码代表着不同的代码布局方式,不同的布局方式代表着不同的布局格调。
为了将添加到容器中的Swing组件和其他容器进行布局,Swing采用了两种布局方式:
无布局管理器布局和基于布局管理器的布局。
其中无布局管理器的布局是通过指定Swing组件在窗体上的绝对位置来实现的。
基于布局管理器的布局[20]是Swing为了实现跨平台的动态布局效果而提出的布局方式。
在这种方式下,需要调用容器类(JFrame,JDialog或者JPanel等)的setLayout方法设置布局管理器,常用的布局管理器有FlowLayout,BorderLayout,GridLayout等多种方式。
不同的布局管理器使用不同的算法和策略来决定组件在窗口内的布局。
设置好布局管理器后,窗口内的所有组件的布局就由布局管理器来负责,包括组件的排列顺序,组件的大小,位置,当窗口移动或调整组件大小后该如何变化等。
无布局管理器的布局
Swing中提供了setLocation,setSize,setBounds等布局方法,但Swing中存在一个默认的布局管理器,因此这些方法都会失效。
如果需要设置组件的大小或位置,则应取消布局管理器,方法为调用容器的setLayout()方法,并将布局管理器设置为null。
采用无布局管理对组件进行布局时,相对于基于布局管理器的布局方式在对组件的大小和位置的控制上较为灵活,但这种布局方法会导致平台相关,在不同的平台上可能产生不同的显示效果。
如果想要使应用程序在不同的平台上运行,则需要采用基于布局管理器的布局方式。
FlowLayout
容器采用FlowLayout布局其组件的放置规律是从左到右,从上到下进行设置,如果容器足够宽,第一个组件先添加到容器中第一行的最左边,后续的组件依次添加到上一个组件的右边,如果当前行已经放置不下该组件,刚放到下一行的最左边。
当容器的大小发生变化时,用FlowLayout管理的组件会发生变化,其变化规律是:
组件的大小不变,但是相对位置会发生变化。
BorderLayout
BorderLayout布局管理器把容器分为五个区域:
North,South,East,West,Center。
每个区域只能放置一个组件。
如果使用了BorderLayout布局,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 毕业设计 论文 管理 资料