此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私
摘要
我们生活在这一个科技、经济都发展十分迅速的时代,每天的生活都是比较忙碌的。快节奏的生活步伐给人们的日常生活带来了很大的压力和动力,随之而来的也是有很多由粗心引起的麻烦,最普遍的就是物品的丢失的情况发生,这给人们的精神和经济都带来了影响。现在这类与我们距离最近的就是高校中的物品遗失情况。由于近几年国家对教育政策的支持,使得各大高校的在校生人数都十分的多,而且现在高校上课的方式与初高中不同,他们没有固定的教室来上课,课间的时间也是比较短的,这对于很多需要更换教室上课的同学来说时间是十分紧凑的,所以就常常出现物品遗失的情况。现在很多物品都有着当事人的隐私,所以十分需要找到遗失的物品。而且在这个高素质的时代,人们往往拾得遗失物品都是希望找到失主并归还的,但是在偌大的学校中有着很多的陌生同学,找到失主也是十分麻烦的,所以现在十分需要一款失物招领系统来帮助大家。
基于目前的发展现状,本次拟计划设计开发一款基于Springboot架构的高校失物招领系统,此失物招领系统使用主流的Java语言、并结合JSP开发技术,使用eclipse作为开发工具,采用MySQL关系型数据库,来完成最后的设计与实现。根据对此系统实现进行需求分析,设置了管理员端和用户端。管理员端主要是对失物招领的登记及发布进行管理,用户能通过系统搜寻自己的失物。失物招领系统有多个模块,每个模块都能实现不同的管理功能,这些模块分别为账号管理模块、新闻模块、招领须知模块、物品分类模块、寻物启事模块等。
关键词 :高校;物品遗失;失物招领;Springboot
Abstract
We live in this technology, economic development is very rapid times, every day of life is relatively busy. The fast-paced pace of life brings great pressure and motivation to People's daily life, and with it comes many troubles caused by carelessness, the most common of which is the loss of items, this has an impact on people's spirit and economy. The closest we can get to that is the loss of items from the university. Because of the state's support for education policy in recent years, the number of students in universities is very large, and the way colleges and universities now teach classes is different from junior and senior high schools, they do not have regular classrooms to attend classes, the time between classes is also relatively short, which for many students need to change the classroom class time is very tight, so often the case of items lost. Now a lot of items have the privacy of the party, so it is very important to find the lost items. And in this high-quality era, people often pick up lost items in the hope of finding the owner and returning them, but in the huge school there are many strangers, finding the owner is also very troublesome, so now is in great need of a lost and found system to help you.
Based on the present development situation, this plan plans to design and develop a college lost and found system based on the Java language, this lost and found system uses the mainstream Java language, and combines the JSP development technology, uses eclipse as the development tool, using Mysql relational database to complete the final design and implementation. According to the system implementation needs analysis, set up the administrator end and the user end. Administrator side is mainly on the registration and release of lost property management, users can search their own lost property through the system. There are several modules in the lost and found system, each of which can realize different management functions. These modules are account management module, news module, guide module, item classification module, lost and found module, etc.
.
Key words: High School;Item Missing,LOST & FOUND,Springboot
目录
1 概述
1.1课题背景及意义
随着科技的不断发展,当今社会已经是一个网络的时代了,在人们的日常生活中,网络成为了很多年前发明的电灯一样,成为了人们的生活中不可缺少的一部分。从我们的学习,到我们的生活再到我们的工作中,我们都和互联网有着密不可分的关系,网络已经慢慢走进了我们生活中的各个领域,多到你难以想象。在高校中,不论是太匆忙还是太粗心,基本上每天都有人遗失物品,尤其是一些小的物品,但是往往这种小的物品都有着很重要的作用或意义。而现在的高校生都是接受过良好教育的,都会将失物招领的信息散发出去以此来尽快归还失物。但是现在的高校人数是十分多的,很难在短时间内找到失主,所以现在就十分需要一款只针对于高校的失物招领系统,这个系统既能进行失物招领还能进行寻物启事的发布,充分的利用了现有的技术给人们的生活带来便捷。
随着高等教育的普及和发展,高等教育在校生规模逐渐扩大,经过数百年的风雨艰辛,中国高等教育现代化发展取得了巨大的进步。据改革开放以来,我国高校数量规模明显提升,综合类大学是未来大学的发展趋势,涵盖学科专业更齐全,办学规模也更庞大,不论是师资力量、教学设备、教育资金投入还是教学场所等资源都很丰富。在校生的数量规模随着办学规模的发展壮大而逐渐增多,这也就使传统的管理方式收到了挑战。现在很多学校对于师生的管理都逐渐的信息化了,不论是课程的安排还是一卡通的管理都是十分普遍的,所以失物招领系统也应该进入校园。这个系统既能减少一部分学生的不必要的损失,而且还能让大多数的人都参与进来,宣传拾金不昧的精神。这个系统的主要作用就是减少学生们的损失并弘扬中国的文化。
1.2 国内外研究现状
从国内的发展现状来看,我们在失物招领方面做得还有很多的不足。在国外很早以前就有了失物招领的平台,因为国外的生活方式和教育方式和国内的都不同,相对来时他们的物品遗失率是十分高的,尤其是在高校中,他们的教育方式与国内不同,他们可以根据自己的兴趣爱好选择大学城内的其他学校的课程来进行学习,所以他们在遗失物品方面的范围也比较广,所以后来就出现了在整个大学城内的失物招领平台,后来随着计算机科技的发展,他们逐渐设计出了适合他们的线上平台,并且随着时间的推移,这个系统也受到了当地人民的欢迎,从而扩大了系统的适用范围。而我国高校最早的失物招领都是线下组织的,甚至现在绝大多数的学校还是使用线下的失物招领平台,这样不仅麻烦还浪费时间。很多物品都是用纸质材料进行登记,有人来寻找失物时还要查找大量的纸质材料,这使工作效率大大的降低了。所以为了弘扬我国的传统文化,也为了能够更好地发展,本次设计的失物招领系统将通过不断地测试来得到一个完善的系统。
1.3 本课题主要工作
本次拟计划设计开发一款基于Java语言的高校失物招领系统,采用MySQL关系型数据库,来完成最后的设计与实现,还设置了管理员端和用户端,还包括了账号管理模块、新闻模块、系统管理模块、招领须知模块、物品分类模块、寻物启事模块以及在线留言模块。本系统的设计方便对失物进行登记、分类和查找,极大程度的提高了工作效率。还能调动学生拾金不昧的精神,共同推动社会的发展
2 系统开发环境
2.1 java技术
Java语言作为开发网站跟系统的主流语言,目前依然很多的程序都是由Java设计的,Java的特点很明显,集成了C语言的底层优势,但又去除了他的指针等复杂结构,基于三大特点封装、继承、多态,对代码进行结构化处理,使得代码的逻辑结构层级更为分明,且多个类或者接口直接的关联更为紧密[8],Java基于面向对象开发在设计理念上是一个软件的里程碑,Java作为basic语言,也可以有50多个固定关键字,通过对方法或者是属性前缀进行定义,使得Java限制更为明显,java是强容错机制,可以对错误进行自动回收,因此Java的异常处理优势明显[9]。Java的优点是十分明显的,1:靠平台性:几乎在任何计算机的环境下,java都可以运行,是因为java虚拟机有着非常强大的功能,java在每个系统下都有着与之对应的java虚拟机。2:简单,java是一种相当简单的面向对象的语言,它去除了c语言c++中令人头疼的指针头文件等操作,使得编程变得更加简洁明了。3:面向对象,java说到底所有的都是对象,万物皆对象也是从java这里传出来的。面向对象使得代码量大大减少。4:安全性:java代码编写。
Java不仅可以编写一些基于gui的小游戏,java Web网页的开发,还可以编写基于web的系统和一些开发软件。例如idea就是用java语言构建的。
2.2 Mysql数据库
Mysql是一种数据库软件,是世界范围内使用非常多的一种数据库管理语言,结构化查询语言对数据库来进行管理。Mysql也是我目前使用最多的数据库语言。因为它具有体积小,语言容易上手,开源,传播范围比较大等优点,所以让广泛的在中小型网站中是使用,为了降低网站耗费的成本,现在越来越多的公司又开始用mysql作为数据管理的开发型工具[,十分的方便。Mysql虽然功能不能算是最强大的数据库,但是由于其开源,并且传播是非常广泛的,导致人们都想了解mysql,它的历史是十分的传奇的。
Mysql是开放源代码的,是一个开源关系数据库管理系统(RDBMS),它使用最常用的数据库管理语言SQL语句进行数据库管理。而却MySQL是一个开源关系数据库的管理系统(RDBMS),使用的是我们较为常用的数据库管理语言-结构化查询语言(SQL)进行数据库的管理。MySQL是开源的,所以每一个人都可以根据自己通用公共许可证下载并根据个人需要对其进行修改。而却不需要支付额外的费用,并且因为速度适应性强,所以我选择了数据库,同时这也是大部分人的选择。 同时,大多数人认为MySQL是无需事务处理即可管理内容的最佳选择。这也是我果断选择mysql作为数据库的原因。
2.3 Javascript介绍
Js是存在与页面前端的一种嵌入式编程语言,跟java语言语言js也是跨平台编程语言,也是面向对象机制,可以定义数据类型,目前比较火热的node.js,可以直接对数据进行处理后后台交互,js通过对前端页面提供文档对象模型,对前端语言进行扩展,可以动态对样式或者是页面数据等进行控制,js是一门弱语言,即有错误时不一一定会影响代码运行,且js语言没必须定义方法,对象或者是类,没有接口,继承等,解释性脚本语言,代码未预编译主要用于向HTML页面添加交互行为可以直接嵌入HTML页面中,也可以分别写入js文件并进行介绍大多数浏览器是都支持跨平台,可以在多种平台,Linux,Windows上运行无需处理返回数据的格式类型等[15],js的作用主要是调节页面跟servlet的数据交互以及动态页面的数据展示,对前端起到一个调节和融合作用。
Js的优点:(1)交互性:可以与用户进行动态交互(2)安全性:只能在浏览器内部运行,不可以访问本地硬盘或者其他资源跨平台:无论任何的平台,只要有浏览器,就可以运行。
2.4 SpringBoot介绍
Spring boot是pivotal团队提供的一个新框架,旨在简化新Spring应用程序的初始构建和开发过程。框架使用特定的配置方式,这样开发人员就不再需要定义模板化配置。这样,spring boot就致力于成为蓬勃发展的应用程序开发领域的领导者。
2.5 SSM技术介绍
SSM框架作为目前的主流开发框架,主要包括SpringMVC,Spring,Mybatis,此框架基于MVC三层架构,主要包括控制层请求的处理,orm数据层的交互,spring注释拦截,事务处理。
SpringMVC:springmvc主要为controller层业务处理,通过与springmvc的xml进行配置,可以对action中url的请求后缀进行拦截,可以对return的页面的格式后缀进行设计,此框架的url请求是基于restful风格的,在url中动态定义,可以是请求参数,也可以拼接定义,通过@Controller对类进行设置,在后期项目启动加载时可以识别为控制层处理类,设置为单例模式启动,通过requestmapping进行参数传输匹配,通过param中的name对参数进行封装,可以自定义的进行参数取值,也可以通过json直接对对象进行封装取值,避免了多参数时一个个的取,也体现了Java的基于面向对象的设计优势,springmvc可以通过interceptor对请求进行事务拦截,可以进行日志的处理以及未登录操作或者是权限分配的操作拦截处理。
Mybatis:mybatis作为数据库交互层的框架,可以集成任何的数据库,且通过mapper跟xml直接的一对一关联进行配置,通过xml中的方法的name进行匹配,通过baseresult进行返回,不硬性的规定返回数据为单个还是多个,且通过xml配置的优势可以进行无线sql衔接匹配,代码重复度更低,将查询,插入等切割为多个片段进行组装拼接,随机性更好,且xml也是基于面向对象设计,可以将整个对象进行保存,相对于之前的hibernate来说框架更为轻便,hibernate主要通过hql进行插入,且关联性数据不好操作,懒加载问题严重,导致查询繁琐,多表插入操作复杂,而mybatis可通过返回跟插入的属性进行配置,可以通过resource中的xml进行对象识别设置,mybatis将JDBC进行更好的封装,自动进行连接与资源的释放,且支持多线程开发,通过原生的配置进行映射。可以通过sessionfactory创建数据库连接操作进行交互。
Spring:spring作为一个容器框架,可以随意进行集成,spring包含了注解定义,bean类的依赖注入,事务的处理,拦截的定义,可是对springmvc、mybatis进行整合,spring特点为控制反转,可以将类由最初的new变成反向代理的对象,通过单例模式,在后期需要时直接进行调用,可以通过注解配置,也可以通过spring的xml进行bean实体定义,spring的出现让更多的对象实例操作更为简洁,避免了每次使用的无限制创建,节省了运行资源,spring的另一大特点为切面编程,在事务处理拦截和日志处理时面向对象变成了面向面,可以操作整个切面类,spring的作用就是去管理各个bean之间的关系,维护持久层和业务逻辑层的关系,spring作为一个非入侵框架,其安全度非常高,且作为一个开源框架又非常独立,spring管理着各个bean的生命周期,可以通过bean工厂以及应用上下文进行衔接,总而言之,spring主要是简化类与类之间的关联代码,通过动态的创建bean来实现对象的调用,而不是手动关联。
2.6 JSP技术介绍
JSP另一个名字叫做java服务器页面,是一种动态网页开发的技术。将java的代码插入网页中用的是html的标签,jsp主要是用来实现的是java web 程序中用户界面的那一部分。Web程序开发者们编写jsp主要用的是XHTML,HTML等代码,Jsp是建立与跟Java开发的前端页面,Jsp页面主要是有CSS样式跟JS以及还有页面标签组合设计的,根据页面标签规范的设计,对页面输入框或者选择框或者是弹窗等进行设计,通过CSS样式进行布局,在管理页面时可以简单引入Bootstrap样式进行设计,通过网格式进行设计,对颜色和上下左右布局进行设置,可以对标签的宽度或者字体大小进行设置,在页面中可以引入JS嵌入式语言,JS可以对页面数据进行操控,可以动态对标签或者样式进行计算和设计,可以对后台传入的数据进行展示。
用JSP技术,web页面的开发人员设计最终页面会用HTML或者XML的双标识来进行,用来生成网面上面的动态的内容,还可以通过使用JSP标识去请求某一个特定信息,使得结果呈现在在人们的面前。在标识和JavaBeans里面封装着生成的内容的逻辑。Web页面的设计人员和管理人员可以编辑并且使用jsp页面,但是却不影响内容的生成,这是因为核心逻辑封装在标识和JavaBean中。
2.7 Maven介绍
目前较为强势的项目管理工具为maven,maven主要作为jar包管理工具,但同时可以对整个项目开发进行把控,maven对于程序员最大的优势在于不需要人为的对jar进行导出和冲突解决只需要依赖引入设定版本的包即可,maven可以对整个系统的环境进行设置,可以对项目进行智能打包,可以关联包对包之间的部署依赖,可以对jar包进行自动更新,依据第三方平台库之间进行引入。所以Maven框架目前使用的人是十分多的。
3 系统分析
3.1 可行性分析
技术可行性:在技术方面目前采用主流语言Java,Java的跨平台和部署集成能力较强,框架选择SSM,基于MVC设计,便于后期的二次维护,采用SpringMVC进行rest风格Url设计,代码更为简洁,采用Mysql数据库存储,sql编写优化更为简单。系统使用Java,系统用的是B / S模式,是用浏览器和服务器的架构模式。使用 Web技术开发软件,并且客户端用在服务器端下载去执行,从最大限度地提高了所有系统的安全性能。该浏览器是非常方便并且易于操作。 这些比较成熟技术也为后续系统的开发有了坚实的基础。在技术上采用了SSM框架,通过此框架可以使得开发的结构更为稳固,对于请求的访问以及数据的处理提供一系列的安全性能,且对于servlet层可以有效的提供发散式的拦截访问,对于权限采用interceptor,对用户是否登陆以及日志等进行分析,在数据库Mysql可以快速查询数据。
法律可行性:目前本系统市场上没有一家成型的网站,且没有任何的知识产权有侵权行为,且本次开发采用的语言和框架都为开源,不存在任何的盗版行为,此次设计的内容和技术都为本人自行设计和研发。所以法律是完全可行的。
经济可行性:经济可行性是指所开发软件是否在自己可以承担的范围之内,并且开发的软件所获取的盈利是否值得自己的经济投入。软件的开发成本不仅仅要去考虑硬件设备的投入例如电脑硬件,输入输出设备,软件配置等,而且还要考虑人员投入精力投入,后期员工维护费加工费等。
本软件由于范围不大,前期投入少,整个开发过程基本由本人一个人完成,所以成本不高,完全在可以承受的范围之内。所以经济的可行性是完全达到了标准的。
3.2系统用例分析
3.2.1管理员用例图
系统主要分为两种用户角色,管理员和普通学生用户,在管理员端,主要为招领须知发布,失物招领启事,失物类型,注册用户等,管理等功能,管理员应用案例如图3-1所示。

图3-1 管理员用例图
3.2.2用户用例图
用户进入系统可以进行查看在线留言管理、个人中心等。用户用例如图3-2所示。

3.3性能分析
在系统的设计中除了需要对功能需求进行详细分析,且需对非功能性需求进行梳理,对系统的数据存储量以及数据查询处理速率和部署可行性情况进行分析,从系统的安全角度出发,对系统进行数据安全性以及访问安全性和角色安全性进行分析,对系统的客户点击页面响应时间进行设计,响应时长应该控制在2S内,且对大量数据进行查询时需建立索引,对系统经常查询的数据可以建立视图进行搜索,通过对非功能需求分析处理,达到系统的优化效果。
本系统主要是为了给系统的用户带来更为便利的体验,与此同时,对应于人员来说也是方便的,他们也可以在网上进行操作,本系统的研究就是为了实现这些目的而进行的:
- 为用户提供了便捷的失物招领展示;
- 信息的保密性。安全的是有保障的;
- 界面与界面之间的跳转完美衔接以及吻合;
用户的体验和反馈情况的好坏,最能体现出一个系统设计的是好还是坏。
系统的研究要满足两种人的需求,显而易见就是用户和管理员。
而系统的功能需求主要是来自于为了满足使用者的需求而进行的一些操作上的要求。
(1)可靠性需求
系统的实用性与稳定:大多数系统的操作需要使用者在屏幕前进行,而有些网站使用时间一长就会出现崩溃或者卡顿,本系统的设计不可以出现这些问题,也就是说系统的设计必须要稳定可靠,防止给客户带来相关无法弥补的损失。
(2)可支持性需求
系统完成后,只有在服务器上才能简单使用,用户对网站的访问可能会通过浏览器进行,所以要更改使用程序,只需要更改服务器上的应用程序。当程序修改以后,可以查看修改的版本。系统的操作要快,每次响应的时间不能太长,3秒以内是操作人员可以接受的,并且不能只是每次一个人访问,必须支持多人同时的操作。
(3)系统的完整性需求
系统要求信息的发布必须完整,比如前台的公告栏,用户信息必须完整,该记录的信息一个不能少,而对于失物招领的记录也要完整,不能不衔接,同时不能出现为空的内容,力求做到每一个版块都十分详尽完备。
(4)易用性需求
对于操作人员来说,系统的简单性,易操作性是很重要的,否则他们就会在不必要的一些地方浪费很多时间,也就失去了研究本系统的最初目的了,因此,系统的设计必须界面大方简单,功能要清晰,不能杂乱,让人摸不透,这也是一个好系统的基本要求。
(5)操作性需求
一些大型的网站,这类系统的用户量是非常非常庞大的,所以,为了满足如此庞大体系的需求,我们必须设计地尽可能满足更多人的操作习惯,设计也必须生动化,这样才不至于让操作人员进行操作时感觉枯燥,这样才能吸引更多的人来使用你的系统,达到最终目的。
4 系统设计
4.1 系统架构
MVC (Model View Controller):M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是,将M和V实现代码分离。也就是前台html表现层和后台逻辑层分离,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。高校失物招领系统示意图如图4-1所示:

4.2功能模块设计
系统架构图属于系统设计阶段,只是这个阶段的产物。系统的总体架构决定了整个系统的模式,是系统的基础。高校失物招领系统总体结构设计如图4-2所示。

图4-2 系统结构图
4.3 数据库设计
4.3.1 数据库设计原则
在数据库设计分析时首先要对系统功能逻辑进行详细分析,分析系统之间各个模块之间的关联以及不同用户的系统功能权限,分析公共模块或是用户关联模块,在本系统中主要采用MySQL数据库,MySQL数据库的优势比较明显,操作简单,适用于中小型项目,且在主外键关联也较为方便,在整个的数据库设计中首先要基于三范式进行数据表设计,要对数据表进行主键设计,根据需求对主键的类型进行设置可根据自增方式或者是UUID的自动生成字符串类型进行设置,在数据库表中,数据尽量避免冗余,否则会影响数据表的查询效率,且数据表若有逻辑业务关联可使用主外键关联形式进行设置,可以对经常查询的字段建立索引,在表结构中字段的长度以及字段的类型要进行分析处理。
4.3.2 数据库实体
数据模型中的实体对应于“事件”或“事物”,它们可以与现实世界中的其他对象区分开来。系统E-R图如下:
- 项目分类管理实体图如图4-3所示:

图4-3 物品分类管理实体图
- 管理员实体图如图4-4所示:

图4-4 管理员实体图
- 招领须知管理实体图如图4-5所示:

图4-5 招领须知管理实体图
- 在线留言管理实体图如图4-6所示:

4.3.3 数据库表设计
数据库的表信息是设计的一部分。下面描述数据库中每个表的详细信息。
表4-1admins管理员信息表
| 列名 | 数据类型 | 长度 | 主键 | 允许空 | 说明 |
| id | bigint | 20 | 是 | 否 | 编号 |
| username | varchar | 50 | 否 | 否 | 账号 |
| pwd | varchar | 50 | 否 | 否 | 密码 |
| addtime | varchar | 50 | 否 | 否 | 添加时间 |
表4-2zaixianliuyan在线留言信息表
| 列名 | 数据类型 | 长度 | 主键 | 允许空 | 说明 |
| id | int | 4 | 是 | 否 | 序号 |
| liuyanbianhao | varchar | 50 | 否 | 否 | 留言编号 |
| liuyanbiaoti | varchar | 50 | 否 | 否 | 留言标题 |
| liuyanneirong | varchar | 50 | 否 | 否 | 留言内容 |
| liuyanren | varchar | 50 | 否 | 否 | 留言人 |
| addtime | varchar | 50 | 否 | 否 | 添加时间 |
表4-3wupinfenlei物品分类信息表
| 列名 | 数据类型 | 长度 | 主键 | 允许空 | 说明 |
| id | int | 4 | 是 | 否 | 序号 |
| fenleimingcheng | varchar | 50 | 否 | 否 | 分类名称 |
| addtime | varchar | 50 | 否 | 否 | 添加时间 |
表4-4zhaolingxuzhi招领须知信息表
| 列名 | 数据类型 | 长度 | 主键 | 允许空 | 说明 |
| id | int | 4 | 是 | 否 | 序号 |
| bianhao | varchar | 50 | 否 | 否 | 编号 |
| biaoti | varchar | 50 | 否 | 否 | 标题 |
| tupian | varchar | 50 | 否 | 否 | 图片 |
| neirong | varchar | 50 | 否 | 否 | 内容 |
| addtime | varchar | 50 | 否 | 否 | 添加时间 |
| fabushijian | varchar | 50 | 否 | 否 | 发布时间 |
| faburen | varchar | 50 | 否 | 否 | 发布人 |
5系统界面实现
5.1 登录
会员输入浏览器地址进入到网页后,页面中通过Js对input中的输入字段进行限制,填写完成后提交通过表单提交到controller层然后根据rest中的url进行匹配,然后调用service通过中间层调用数据库保存到user表,登陆时输入邮箱用户名、密码然后进行校验,通过checkUser方法对用户账号以及角色进行匹配,成功则跳转用户页面,否则提示失败,如图5-1所示:

图5-1登录界面
5.2 管理员功能模块
5.2.1 账号管理
管理员进入到账号管理页面,跳转到页面后首先通过Js的load方法进行数据加载,通过异步请求获取到用户第一页的数据也就是前10条数据,通过limit10进行分页,数据通过response返回,然后通过result对数据进行进行循环展示到页面,在编辑时对数据通过update更新到用户表,程序效果图如图5-2所示:

图5-2账号管理界面
5.2.2 新闻管理
用户登陆后可以输入新闻发布情况,页面需通过jquery对新闻是否为空进行校验,然后提交到后台通过调用mapper中的insert保存到数据库新闻表,管理员进入后,可以查询所有平台列表,通过调用controller中的findnewsList进行分页查询,通过调用mapper中的分页查询sql语句进行数据查询程序效果图如图5-3所示:

图5-3新闻管理界面
5.2.3 系统管理
管理员对系统信息进行添加、删除、修改以及查看等操作。程序效果图如图5-4所示:

图5-4系统管理界面
5.2.4 招领须知管理
管理员进入后,可以对招领须知信息进行管理,首先可以点击页面新增跳转到新增页面 addzhaolingPage,填写要招领发布的物品信息,然后点击提交新增按钮,数据通过form表单,通过name属性匹配,提交到zhaolingController,首先对数据进行校验,判断信息填写是否为空,然后调用zhaolingService中的add方法,通过mybatis的mapper匹配找到对应的insert插入sql语句,然后保存到数据库。程序效果图如图5-5所示:

图5-5招领须知管理界面
5.2.5 物品分类管理
管理员对物品分类信息进行添加、删除、修改以及查看等操作。程序效果图如图5-6所示:

图5-6物品分类管理界面
5.2.6 寻物启示管理
管理员进入到寻物启事管理页面,跳转到页面后首先通过Js的load方法进行数据加载,通过异步请求获取到寻物启事第一页的数据也就是前10条数据,通过limit10进行分页,数据通过response返回,然后通过result对数据进行进行循环展示到页面,在对用户新增时,弹出新增窗口,在将寻物的物品信息以及丢失情况和图片信息填写后通过form表单提交,保存到数据库,在编辑时对数据通过update更新到寻物表,。程序效果图如图5-7所示:

图5-7寻物启示管理界面
5.2.7 在线留言管理
管理员对在线留言信息进行添加、删除、修改以及查看等操作。程序效果图如图5-8所示:

图5-8在线留言管理界面
5.2.8 回复内容管理
管理员对回复内容信息进行添加、删除、修改以及查看等操作。程序效果图如图5-9所示:

图5-9回复内容管理界面
5.3 用户功能模块
5.3.1 前台
失物招领首页管理,后台通过findListByPage进行失物招领分页查询,通过pagesize和pagenum进行分页查询,将信息提交到controller,然后对分页等信息进行校验,定义接受查询对象,然后先查询count总数,若为0,则直接返回数据为null,否则进行sql查询,可以对信息数据进行禁用和启用,通过updateById对产品的status进行更新。程序效果图如下图5-10所示:

5.3.2 用户注册
若无账号则可以进行注册,点击注册跳转注册页面,然后输入注册的账号和密码,账号要先去数据库校验是否已存在,若存在直接提示信息已被注册,若不存在则继续填写其他基础信息,点击注册时数据通过form表单提交到controller到register的方法中,首先对数据进行校验,是否不为空,是否长度超出等,然后调用service通过服务层调用数据处理层dao,dao中可对数据进行insert新增,保存到数据库然后返回success,登陆时通过账号去数据库比对是否存在,存在登陆成功,否则提示账号异常并跳转错误页面,程序效果图如下图5-11所示:

图5-11用户注册界面
5.3.3 用户中心
用户对自己的个人信息进行修改,通过填写个人进行提交到后台进行校验,首先通过StringUtils的isEmpty进行为空判断,然后进行信息匹配,通过findByName首先在session中获取到此登录用户的userid,然后查询到user,通过MD5加密进行几码加密,然后对新密码进行校验,对用户其他信息进行校验,然后通过调用updateuser更新用户,如果成功则进行修改。程序效果图如下图5-12所示:

图5-12用户中心管理界面
6 系统测试
系统开发的最后一步是测试,这是整个系统的一个重要组成部分。测试的质量取决于产品的开发。这一过程应基于严格的原则,进行完善和调节。测试的主要目的是检查系统是否有任何错误,然后对系统进行调试直到系统完美运行,但测试软件只会减少错误的数量,在理论上无法消除的错误。然而,错误越少,系统出现bug的概率越小,用户使用系统就越方便和安全。
最近几年,根据目前的软件测试结果,该系统已接近预定目标,可能会出现问题。将进行适当的修改,如果不进行测试错误就会延续下去,在做出成品之前,将面临很大的困难。
测试是软件开发的一个重要组成部分,根据统计数据,软件测试可占系统工作量的一大部分,虽然软件开发成本包括大量的测试成本。每个程序的测试一个错误。在整个程序开发过程中,人工误差检测是非常复杂和困难的,所以我们通常找到测试工具。
6.1系统测试的意义
系统测试在整个系统开发过程中占有非常重要的地位,是不可或缺的一步,是为了检验系统开发过程的每一步是否完成预期效果,保证实现软件系统的质量安全,这样有利于我们掌控整个系统设计流程。软件测试的产生也是伴随着计算机编程一起出现的,测试的目的是为了查找软件开发过程中可能出现的bug并且及时纠正过来。如今的测试不再只是单纯发现问题,而是真正从用户需求出发,开发出更符合需求的软件。测试和开发是相辅相成的,可以分为单元测试和集成测试,从另一个测试方式讲,我们主要对系统进行黑盒测试即功能测试,掌握系统所有的功能需求,通过测试可以检验出未知的问题,经过汇总分析,解决这些问题然后完善系统
经过坚持不懈的努力,终于在实现了各个功能模块后来到了最终对系统进行测试的这一阶段,但在这一阶段测试的核心是对设计完成的系统进行功能的检测和逻辑的检测,这虽是最后一步但也是最为重要最为关键的一步,只有对系统进行测试,才能从中知道系统里面各模块的功能能否正常运行,只有从对经过测试才能知道该系统还存在哪些问题,才能从中找到问题并逐一改进完善,此次的在线购物系统也是经过不断地测试、不断的发现问题、不断的改进,才最终实现了一个相对比较满意的效果,所以对系统的测试真的十分重要,但对系统的测试需要耐心及细心,耐心的进行多次测试,细心的不断寻找问题,再认真研究改进,也有利于之后对整个系统开发进行总结,也能实现比较理想的效果。
系统性能测试:在测试过程中首先是对测试数据进行大量的导入,将数据每个表中增加到5万条左右,然后进行实时的数据搜索判断响应时间是否大于2s,正常的响应应该是0<响应时间<2s,在测试中因为对数据增加了索引所以测试结果都为通过
页面数据校验测试:在注册时可以对一些特殊的字符比如$符号或者是%等进行测试,对密码小于8位或者是单为数字进行校验,页面会通过ajax测试返回特殊字符不可注册,且密码必须大于8位,在对输入非数字格式进行新增,测试结果会提示页面信息填写错误。
浏览器兼容测试:在测试中由于系统为B/S模式,因此要对各个浏览器的兼容性问题进行考虑,在测试中选择了ie8,ie9,ie10,google,360急速版等进行测试,对页面的布局以及弹窗等情况展示进行测试,测试通过。
6.2 测试用例
(1)测试
表6-1人员登陆测试
| 测试内容 | 测试条件前提 | 期待输出 | 输出结果 |
| 登陆模块 | 输入人员或者管理员信息 | 进入首页跳转成 功,提示可以操作 | 成功登陆可以跳转页面 |
| 人员账号不存在输入登录 | 提示账号信息有误,请重新输入 | 提示账号错误 |
(2)失物招领发布管理测试
表6-2失物招领发布测试
| 测试内容 | 测试条件前提 | 期待输出 | 输出结果 |
| 失物招领发布测试 | 输入失物信息,输入图片以及描述提交 | 弹窗提示发布失物招领保存成功 | 弹窗提示保存成功 |
| 未输入图片信息提交 | 发布信息图片不能空 | 失物图片信息不能空 |
(3)用户留言测试
表6-3用户留言测试
| 测试内容 | 测试条件前提 | 期待输出 | 输出结果 |
| 用户留言测试 | 选择留言物品进行留言测试 | 弹窗提示留言保存成功 | 弹窗提示留言信息保存成功 |
| 输入留言字数过少或者留言信息不完整 | 页面留言信息不能空 | 页面留言信息不能空 |
结 论
本次论文设计采用了开发语言java,采用成熟的JSP技术和数据库技术MySQL,采用的技术都是主流开放式的,便于后期扩展功能。此次设计实现了基于Spring结构的失物招领系统,做了以下几项工作:需求分析、技术可行性分析、功能模块设计、数据库设计、系统实现和测试。经过对各个功能模块测试,解决了开发过程中存在的问题,系统主要完成了,用户注册登陆模块,新闻模块、招领须知模块、物品分类模块、寻物启事模块,通过建立失物招领平台,让高校建立一个失物招领的网上机制,便于大家快速邮有效的找到遗失的物品,在设计实现此课题过程中学习到了很多知识。此系统使用起来方便简单、易于管理,极大地提高了日常交流和失物招领的效率。通过这次的毕业设计,使我对开发语言的掌握程度得到了加深,也有了更深的认识。
但是由于能力有限,设计的系统肯定有不足的地方,例如在物品的图片的校验以及图片服务器存储,且在数据量大的时候的图片的访问,后期可以加入Redis缓存对数据进行高可用集成,提升在学生访问量增大时的并发力,希望以后等我技术更成熟时,能把这个系统做的更加完善。
简言之,通过此次毕业设计,我的收获颇多,感受颇深,特别是对信息管理系统的认识、学生管理的操作流程、编程思想的深化及编程语言的运用,都有一个质的飞跃,量的积累。之后也还需要不断的学习更多的专业知识,更加深入的探索编程的思想,更加专业熟练的运用编程语言,为以后设计开发出更专业更完美的系统。
致 谢
尊敬的各位答辩老师,我的论文课题到这里即将结束,在此论文撰写过程中,要特别感谢我的导师的指导与督促,同时感谢他的谅解与包容。没有老师的帮助也就没有今天的这篇论文。在这个论文完成的过程中,我学会了求学之路道且长,但又是快乐的。老师对待学生耐心、严谨、友善的态度,大学四年以来的陪伴是我亦师亦友的人生向导,同时也要感谢我的家人,感谢培养我长大含辛茹苦的父母,他们给予我极大的鼓励与朴素的帮助。谢谢你们!最后,我还要感谢学院给我们营造了一个非常好的学习氛围,感谢在大学四年里面所有的老师和同学们,参与我论文答辩与评审的各位老师,他们给了我审视这些年来学习成果的机会,让我能够明确以后的发展方向,他们对我的帮助是一笔无价的财富。今后我将更加努力,以期待能够取得更多的成果回报他们,回报社会。再次表达最衷心的感谢!
在此我要感谢一些对此次设计有过帮助的人。从最初的选题开始,到今天已经经历了半年的时间,过程可谓是困难重重,有很多人都给我施以援手。首先,我要感谢我的室友,从选题开始,就帮助我充分的了解每个课题的意义,最终,在他的帮助下我十分肯定的选择了本课题。感谢我的专业课老师,在专业课上及课下对我的教导和帮助,是我能顺利的运用所学的专业技能完成此次设计。感谢我的论文指导老师,在我每次对设计迷茫的时候对我耐心的讲解,在我拿不定主意的时候帮我进行分析,在我无法解决系统所出现的问题的时候,教我对系统进行修改,并反复的帮我检查论文的格式。我还要感谢我的同学,感谢他们在设计过程中对我的帮助,也感谢他们在大学四年对我的包容和照顾。最后我要感谢我的父母,感谢他们对我的包容和支持,更加感谢父母对我的爱。最后,希望此设计能给自己的大学时期交一张完美的答卷。
参考文献
[1]李昌志,李黎,杨国庆,胡杰,顾宇峰,杨强.基于SSM的职工食堂二维码餐票管理系统的实现[J].电脑知识与技术,2019,15(30):61-62+92.
[2]李玥瑢,周炜,欧红梅,邓瑶,郑安文,曹双双.基于SSM框架的高校服务平台的设计[J].信息系统工程,2019(10):52-53.
[3]朱运乔.基于SpringBoot+SSM框架的Web应用系统搭建与实现[J].电脑编程技巧与维护,2019(10):23-25.
[4]杨朔,张民,宋源清,刘丰羽,李海滨,周晓燕.基于SSM框架的物流管理系统的设计实现[J].电脑知识与技术,2019,15(29):83-85.
[5]杨正泽,吴育辉.基于JavaEE+EasyUI学生成果管理系统的设计与实现——以安顺学院为例[J].安顺学院学报,2019,21(05):133-136.
[6]王崟.Java web项目驱动式教学从Model1到Model2模式的改进[J].电脑知识与技术,2019,15(28):171-172.
[7]张明亮.JSP技术在互联网软件中的应用优势研究[J].软件工程,2019,22(10):19-21+6.
[8]张明亮.基于JavaEE的人力资源管理系统设计与实现[J].软件工程,2019,22(09):20-22+16. [9]许佩迪,王海燕,李闯.基于JSP的网上在线图书借阅系统开发与设计[J].智能计算机与应用,2019,9(05):310-311+319.
[10]刘浩浩,付小洪.基于JavaEE的无人快递点系统设计[J].软件,2019,40(08):73-75+97.
[11]荣先钊,林宇驰,张上.网上书城的设计与开发[J].福建电脑,2019,35(06):117-118.
[12]王亚鹏,徐鹏飞.基于JavaEE的领航手机商城的设计与实现[J].电脑知识与技术,2019,15(18):70-71.
[13]张玉卓.基于Web的财务管理系统的开发与设计[J].电子设计工程,2019,27(09):60-63+68.
[14]王大路,向程冠,熊伟程.基于J2EE的校车来啦系统的开发与实现[J].电脑编程技巧与维护,2017(12):40-41+46.
[15]孙建召.基于J2EE的教务管理系统的设计与实现[J].焦作大学学报,2017,31(02):70-72.
[16]S.K. Suhardja,S. Widiyantoro,J.-P. Métaxian,N. Rawlinson,M. Ramdhan,Agus Budi-Santoso. Crustal thickness beneath Mt. Merapi and Mt. Merbabu, Central Java, Indonesia, inferred from receiver function analysis[J]. Elsevier B.V.,2020.
[17]Mohammad Rudiansyah,Leonardo Lubis,Ria Bandiara,Rudi Supriyadi,Afiatin,Rubin Surachno Gondodiputro,Rully Marsis Amirullah Roesli,Dedi Rachmadi. Java Barb Fish Gallbladder Induced Acute Kidney Injury and Ischemic Acute Hepatic Failure[J]. Elsevier Inc.,2020.
[18]王同娟.基于Java平台的小型餐饮收银系统设计[J].电脑编程技巧与维护,2019(04):47-49.
[19]周国军,张茂胜,冯震.Java EE应用开发课程教学改革研究[J].电脑知识与技术,2019,15(07):116-118.
[20]张博.浅析JAVA语言的开发平台及J2EE编程技术[J].电脑迷,2017(12):60.

被折叠的 条评论
为什么被折叠?



