基于JAVA EE的失物招领系统
摘 要
随着社会、经济和科学技术的不断进步发展,快节奏的生活方式让学生在校园生活中频繁出现丢失物品的状况,使学生遭受了经济和精神上的伤害。如今,丢失物品已经成为一个普通存在的问题,追寻一种高效率且有秩序的失物招领管理方式是当前社会共同向往的。失物招领工作信息化管理的实现有了必要性,只有信息化手段的介入,才能成为失物招领的一个方便可行的解决方案。本系统设计了基于JAVA EE开发的嘉园失物招领系统,失主可以通过网络进入到本系统的Web客户端查询自己丢失的物品是否已经发布到失物招领系统上,或者可以发布自己丢失的物品信息,使拾取到物品的人可以联系到失主,捡到物品的人同样可以发布拾取物品信息。管理员通过系统Web管理后台对寻物信息,招领信息,失物类别进行管理。一个良好的信息交流平台,使师生和工作人员能够及时找到失物,给校园生活带来了极大的方便。
关键词 :失物招领,系统设计,Web端,Java语言
Abstract
With the continuous advancement of society, economy and science and technology, the fast-paced lifestyle has caused students to frequently lose items in campus life, causing students to suffer economic and mental damage. Nowadays, lost items have become a common problem. Pursuing an efficient and orderly management method of lost and found is the common aspiration of the current society. It is necessary to realize the information management of lost and found work. Only the intervention of information technology can become a convenient and feasible solution for lost and found. This system has designed the Jiayuan Lost and Found system based on JAVA EE development. The owner can access the Web client of the system through the network to check whether the lost items have been released to the lost and found system, or can publish the information of their lost items. The person who picks up the item can contact the owner, and the person who picks up the item can also post the items information. The administrator manages the search for information, claim information, and lost property category by web management backstage. A good information exchange platform enables teachers and students and staff to find lost property in time, bringing great convenience to campus life.
Keywords : lost and found, system design, Web, Java
引 言
在如今信息发达的时代,快节奏的生活方式让学生在校园生活中频繁出现丢失物品的状况,使学生遭受了经济和精神上的伤害;从古至今,丢失物品就是一个普通存在的问题,追寻一种高效率且有秩序的失物招领管理方式是当前社会共同向往的。失物招领工作信息化管理的实现有了必要性,只有信息化手段的介入,才能成为失物招领的一个方便可行的解决方案。一个良好的信息交流平台,使学生失主能够及时找到失物,给校园生活带来了极大的方便。
本系统采用了基于JAVA EE开发的嘉园失物招领系统,此失物招领系统是为失主和捡到物品的人搭建的一个信息交流平台,失主可以通过网络进入到本系统的Web客户端查询自己丢失的物品是否已经发布到失物招领系统上,或者可以发布自己丢失的物品信息,使拾取到物品的人可以联系到失主;捡到物品的人同样可以发布拾取物品信息;管理员通过系统Web管理后台对寻物信息,招领信息,失物类别进行管理。
第1章 绪论
1.1 项目背景
当今,各大高校地域范围广、人口密度大,在校园生活中,学校师生经常来往于教师、图书馆、食堂等场所,随身物品如书籍、钥匙、饭卡、银行卡等生活用品难免容易丢失。即使有时丢失的是一些小物品,却可能对于失主来说有特别的意义和重要性或者包含失主的重要隐私。在信息技术时代,传统寻物招领方式已经不能满足人们的需要。传统张贴寻物启事、招领启事,其效率低、保密性差、管理不集中。易使失主遗忘,难以获取相关信息;从而给失主造成不必要的经济损失,同时也增大了管理人员的工作量。随着信息技术的迅速普及, 校园也慢慢地利用信息化技术进行管理[1]。开发校园失物招领系统,极大地提高认领率,减小失主经济损失,从而能够更好的服务于学校师生和工作人员。
在国内外,失物招领系统在一些地区已经有了一定了发展,而且各地区有独自的特色的失物招领管理系统。相对于了国内,国外的失物招领系统开发较早,关注性强,用户通过账号密码登录系统查询失物,对于失物采取了现代信息化管理,具备了完善的失物数据库,管理效率高。在亚洲地区,各种失物招领机构遍布,可是依然采用人工管理的方式,其工作量巨大,物品运送规格难度艰巨,而建立一个网络数据库,可以免于失主奔波于各个失物招领机构。我国对于失物招领系统的建设工作也很重视,很多高校和地区同样建立了自己的失物招领管理系统。
1.2 项目目的和意义
开发该项目的目的是为了对于失物招领工作进行更加信息化、系统化、平台化的建设,而拾金不昧可以在一定层面上反映出学生的精神文明素质、道德修养水平、综合素质深度,对于拾金不昧的学生给予表扬和宣传是对当代大学生在道德修养、精神文明上的一种激励,一种正能量的鼓舞,使校园文化建设更加顺畅和谐。开发失物招领管理系统是一件迫在眉睫的事情, 并且该系统是基于网络的, 失主可以在网络上查询和报失以及确认[2]。通过功能模块的优化组合实现可以让失主在网络上发布失物,更加有利于找回自己的物品,拾取者也可发布失物信息,失主通过失物招领网络平台可以确定失物信息并招领,失物招领在线交易平台是为失主与拾获者之间进行失物招领提供的一个平台。有效的减少了工作量,便利了广大的师生及工作人员。失物招领网络平台的开发可以解决校园师生丢失物品的管理, 可以让失物招领部门工作人员高效的管理丢失物品, 降低工作人员的工作量, 以及方便全校师生, 使得师生在丢失物品后能够及时找回[3]。
1.3 论文主要内容和结构安排
本文介绍了基于JAVA EE的嘉园失物招领系统的设计与开发。
-
第一章是绪论部分 ,对失物招领系统大致情况进行了简要介绍,简述了项目背景、项目目的和意义
-
第二章是系统设计的技术和开发环境 ,介绍了系统开发所用到的关键技术,开发使用的语言和使用的开发环境
-
第三章是对系统进行了整体的需求分析 ,工作流程的详细分解,功能模块的整体介绍
-
第四章是系统的总体设计和详细设计分解 ,阐述了系统的各个功能模块的业务逻辑和数据结构
-
第五章包括对系统的功能测试 ,整体研究工作的总结,对系统开发的过程和结果进行总结和展望
第2章 系统涉及的技术和开发环境
2.1 前端
2.1.1 HTML
超文本标记语言(HyperText Markup Language),标准通用标记语言下的一个应用。是网页制作必备的编程语言。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。
2.1.2 CSS
正层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
2.1.3 Jquery
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
2.1.4 AngularJS
AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC(Model–view–controller)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
2.2 后端
2.2.1 Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
2.2.2 MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
2.2.3 XML语言
XML全称是Extensible Markup Language,即可扩展标记语言。XML技术是W3C组织发布的,目前推荐的国家标准是W3C组织于2000年发布的XML1.0规范[4]。
2.3 开发环境
2.3.1 MyEclispe
MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。
2.3.2 Navicat Premium
Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL 资料库,让管理不同类型的资料库更加的方便。
第3章 系统需求分析
3.1 系统总体功能
3.2 系统功能概述
失物招领系统主要为了让在校师生及工作人员能够便于发布寻物信息和拾取物品的信息,还有通过失物招领系统进行丢失物品的检索等一些问题。大学生课外活动较多, 随身物品较多, 经常活动于不同的场所, 遗失物品的现象时有发生[5]。但是由于没有任何便利的平台来发布失物信息,使得很多人无法获取与之相关的信息,太多的失物,尤其是那些对失主很重要、但对拾得人却毫无价值意义的物品,如有效证件、钥匙,却再也找不回来[6]。这便使传统的失物招领工作中心带来了极大的工作量。而本系统的设计正是让在校师生及工作人员可以快速的对于失物进行检索和发布。
3.3 系统需求概述
失物招领系统服务于校园内的学生、教师和工作人员,该系统运行与校园网内,由失物招领处进行管理维护。失物者通过网络接入Web服务器, 向Web服务器发送各种请求[7]然后发布寻物启事信息,系统针对于每一个寻物启事提供相应的评论功能,其他人员可以访问系统查看各个寻物启事为失物者提供相关信息及线索。失物者在发布寻物启事信息的时候会要求填写管理密码,失物者可以通过该管理密码对相应的启事进行删除、修改操作,如若失物者已经获取了失物的相关线索,可以对该寻物启事进行删除操作,以保证失物者以及线索提供者的信息安全。拾物者可以发布招领启事信息, 拾物者在捡到失物的时候可以访问该系统,发布招领启事信息,填写信息或亦可上传相关图片等待他人认领。失主在失物招领系统中检索到自己的失物可以通过该招领启事信息中的联系人与拾物者联系。拾物者在确认物品已经被失物者领走以后,就可以访问系统将该招领启事信息删除。为了用户的信息安全,本系统对数据进行优化处理,如果发布的启事信息在六个月内未被删除,则启事信息的所有联系方式将成为报名状态,如果一年内未被删除,则启事信息将会被系统自动删除。
管理员同样可以发布失物招领信息,同时,管理员可以登录失物招领管理后台,用户所有启事发布都会经过管理员审核,只有当管理员审核通过时,启事信息才会发布到系统上。管理员也是可以对失物分类、寻物启事、招领启事进行管理操作。
3.4 功能需求分析
3.4.1 管理员登录模块
针对于校园环境的特殊性,管理员一般为校园失物招领处的负责人,只有知道管理员登录用户名和密码才可以进入失物招领管理后台。登录过程中实现安全登录,避免恶意登录、暴力破解或者通过直接输入路径进入失物招领管理后台。
修改密码,如果管理员要进行密码修改,只有通过安全登录到失物招领后台才可进行修改密码操作,通过输入原密码和两次新密码即可完成修改密码操作。
登录状态验证内部实现,用于验证管理员是否已经登录为能否正常使用功能的前提条件。
3.4.2 物品审核模块
当用户发布寻物启事或者招领启事时,并不会立即发布到失物招领系统上,而是需要经过管理员通过失物管理后台物品审核模块对于新发布的启事信息进行审核。管理员可以查看新发布启事信息详情,审核通过则发布启事信息,审核不通过则从数据库上删除该启事信息。
3.4.3 首页展示模块
管理员成功登录失物招领管理后台后,则显示失物管理后台首页,首页总共展示四项统计数据,分别为未审核寻物启事信息数量,总发布寻物启事信息数量,未审核招领启事信息数量,总发布招领启事信息数量。管理员可立即看到这四项统计数据,更加方便对于管理员快速对于待审核数据进行审核,提高用户体验性。
3.4.3 数据统计模块
对于失物信息数据的统计,不仅仅只包含首页展示模块中的数据统计。该数据统计模块,同样另外统计了四项数据,分别为寻找中寻物启事信息数量,已失效寻物启事信息数量,寻找中招领启事信息数量,已失效寻物启事数量。
3.4.4 失物分类模块
用户在失物招领系统中,在发布失物信息或者检索失物信息时,其失物分类是通过复选框来进行选择。失物分类的添加、修改、删除等操作则由管理员进行管理更新。
3.4.5 寻物管理模块
管理员对寻物启事信息进行管理,但管理员在失物管理后台不能够进行修改或者添加寻物启事信息,仅能进行查询和删除操作,显示页仅显示部分寻物启事信息,通过查看详情即可查看更多寻物启事信息。
3.4.5 招领管理模块
管理员对招领启事信息进行管理,但管理员在失物管理后台不能够进行修改或者添加招领启事信息,仅能进行查询和删除操作,显示页仅显示部分招领启事信息,通过查看详情即可查看更多招领启事信息。
3.4.6 失物展示模块
失物招领系统的失物展示, 用户进入系统主界面后即可查看到最新发布的失物招领信息,首页仅显示最新一周内发布的失物招领信息,如果首页没有查看到要寻找的物品,可以通过导航栏中的寻物启事或招领启事中进入完整启事信息列表,即可通过精准查询检索到需要寻找的物品。如果用户需要进行快速检索操作,可以进入导航栏通过快速检索输入物品特征进行快速搜索。
3.4.7 失物添加模块
用户通过访问失物招领系统首页即可查看到寻物启事发布、招领启事发布两个按钮,根据需求选择需要发布的信息按钮,进入信息发布页面,信息发布页面中有多条信息需要填写,其中带星号标识的表单是必须填写的。
3.4.8 失物详情模块
通过失物展示模块可以查看失物详情,每个失物展示模块都且仅有一个对应的失物详情链接。失物详情页面显示了该失物的所有信息包括图片。在失物详情模块中可以进行评论操作,管理启事操作。
3.4.9 失物操作模块
在用户发布启事信息时,要求用户填写相应的管理密码,在对启事信息进行相应的修改操作或删除操作时将会用到。用户通过点击管理启事而出现的下拉框中选择删除或修改操作后,输入相应的密码即可进行操作。当用户选择修改操作时,输入正确的管理密码后,则出现弹窗,用户选择需要进行修改的数据进行修改即可完成操作。当用户选择删除操作时,输入正确的密码后,可以进行删除操作,系统会再次提醒用户是否确认删除,用户进行相应的选择即可完成删除操作。
忘记密码,用户在忘记自己当初设置的管理密码时,可以在填写密码的表单中点击忘记密码链接,则会出现一个弹窗,该弹窗会要求用户输入启事信息相应的信息编号,信息编号在启事详情信息中有显示,发送信息编号后,管理密码会发送到改启事信息用户的预留邮箱,邮箱为用户在添加启事信息时的必填项。
3.4.10 评论操作模块
当其他人员浏览启事信息时,可以对相应的启事信息进行评论。评论主要目的就是提供失物的线索,方便失主可以找回自己的物品。
3.3 非功能性需求
系统非功能性需求主要包括以下几个方面:
(1)界面需求友好性
Web模式长期使用时需要保证用户进入系统后可以寻找到主要的关注点,就是直接在首页显示一周内的失物招领信息,在页面变化时添加过渡动画,在加载数据量大的内容时需要显示加载动画,提高人机交互体验性。需要有简洁清晰的界面来形象的显示。
(2)操作需求准确性
所有操作应当简便易用,所有涉及数据操作的内容都需要对用户操作进行判断限制,所有关键操作如删除、新增、修改等都需要用户进行确认,防止用户误操作导致数据错误。
(3)用户体验感
简洁清晰的页面,整体交互简单直接,各页面之间切换流畅,可保留已打开的页面,所有信息保持时效性,保有充分的用户操作提示信息。
第4章 系统设计与实现
4.1 系统设计目标
对于当今校园失物招领工作的独特性,工作量较大,工作繁琐性等特征,同样, 捡到物品的学生也因为缺少相应的平台而难以将物品归还给失主[8]。同学们在丢失物品之后不知道怎么有效找寻丢失的物品,很多的大学的论坛,qq群,微信群等等地方有很多这种消息,但是通过QQ群这些方式发送寻物启事和失物招领的消息受用户权限限制,传播效率并不高[9]。本文主要设计和实现校园失物招领系统。充分利用校园网络坏境,使用校园网,发挥信息化手段的特性,使失物招领信息传播速度快,发布和检索方便实时且支持Web端等特点,最大效率上保证了丢失物品和被拾取物品的信息快速发布,让校园内师生及其工作人员快速得到失物信息。
4.2 系统总体功能设计模块
失物招领管理系统主要分为两个部分,涉及前台和后台,主要的技术是基于Java语言,用户界面是bootstrap框架,可运行于Windows操作系统。主要包括管理员登录模块、失物招领模块、寻物启事模块等,系统整体功能模块划分流程图如下图4-1所示。
本系统分为两个子系统,分别为Web前台子系统、Web后台子系统,两个子系统使用同一个数据库。Web前台子系统主要是用户使用来发布启事信息、浏览启事信息等操作,Web后台子系统增加了管理员操作部分,具有管理员登录、管理失物类别等操作。
4.2.1 系统开发环境与平台
-
运行环境 : windows XP/win7/win8/win10
-
开发环境 :Windows 10
-
使用语言 :Java,javascrip
-
引用框架 :Spring、SpringMVC、Mybatis
-
关键工具包 :httpclient(调用系统服务)
-
开发工具 :MyEclipse 2017 CI和Navicat Premium
-
数据库 :MySQL
-
引用开源库 :Jquery、日期和时间库、Json解析库和单元测试库等
4.3 系统架构设计
4.3.1 传统架构
采用这种架构存在的问题,模块之间耦合度太高,其中一个升级其他都得升级,开发困难,各个团队开发最后都要整合一起,系统的扩展性差,不能灵活的进行分布式部署。
4.3.2 分布式架构
把系统拆分成多个工程,要完成系统的工程需要多个工程协作完成。这种形式叫做分布式。采用这种架构的优点,把模块拆分,使用接口通信,降低模块之间的耦合度。把项目拆分成若干个子项目,不同的团队负责不同的子项目。增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。可以灵活的进行分布式部署。采用这种架构的缺点,系统之间交互需要使用远程通信,接口开发增加工作量。
4.3.3 系统选用架构
本系统采用的架构就是分布式架构,大大降低了系统的耦合度,可以对系统进行灵活的分布式部署。系统的结构主要分成为三层:数据层、服务层和用户层。数据库用于存储数据,使用数据库来实现。用户层通过HttpClient来调用服务层的提供的服务,服务层用于解析用户层的请求并根据数据库的信息处理Web前台客户端的请求。服务层运行于Java虚拟机上,用户层主要运行于Web浏览器上,负责信息的呈现和引导用户进行操作,服务层和数据层直接与数据库进行通信。服务层和用户层之间则通过网络进行通信。
- 数据层以数据库的方式来实现,Web前台客户端和Web后台管理端使用的是同一个数据库,因此无需考虑信息同步问题
- 服务层分为数据处理层和网络层,数据处理层从网络层得到用户层发送过来的请求进行处理并将处理结果通过网络层发送至用户层
- 服务层和数据层之间的数据传输通过数据处理使用SQL查询语句和Mybatis框架的使用来访问数据库,数据层返回结果集合到服务层
- 服务层和用户层的数据传输格式需要统一,因此服务层和数据层传输数据时统一使用JSON格式。即发生放将数据转换成JSON格式再发送出来。然后从JSON中提取出所需的数据
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
-
Model层主要负责实现具体业务功能的类
-
View层是与用户的交互层,负责提交用户的请求和数据,并将后端的响应的结果返回给用户层,同时提供用户提交信息的验证功能
-
Controller层负责项目中的业务功能实现流程的管理工作,哪些类来实现具体业务功能,结果在哪显示等由Controller层控制,同时还负责其他两层的通信,协助传递信息和负责重定向与转发操作
4.4 系统数据库设计
4.4.1 管理员登录
管理员表中给出了各个属性的数据类型、长度及主外键说明。管理员信息中采用的Spring Security框架默认的BCrypt算法加密存储登录密码。
BCrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥,所提供的所有字符都具有十分重要的意义。密码越强大,您的数据就越安全。 管理员信息表 的设计如表4-1 所示。
字段名 | 说明 | 键值 | 数据类型 | 备注 |
---|---|---|---|---|
id | 管理员编号 | 主键 | Bigint(20) | 不为空 |
username | 用户名 | varchar(50) | 不为空 | |
password | 密码 | varchar(100) | 不为空 | |
phone | 手机号码 | Varchar(20) | ||
联系邮箱 | varchar(50) |
4.4.2 失物分类
当用户添加启事信息或者检索启事信息时,用户将采用下拉框的形式来选择失物分类,因此,失物分类由后台添加,主要有主键和分类名称两个属性组成,失物分类信息表中给出了各个属性的数据类型、长度及主外键说明。 失物分类信息表 的设计如表4-2 所示。
字段名 | 说明 | 键值 | 数据类型 | 备注 |
---|---|---|---|---|
id | 分类编号 | 主键 | Bigint(20) | 不为空 |
category_name | 物品分类名称 | varchar(50) | 不为空 |
4.4.3 寻物启事
寻物信息表除了包含失物所包含的属性数据类型、对应字段、长度、主键外,还包含了外键,表中详细的定义了失物的各类属性名称,还有两个比较特殊的属性,一个是审核状态,两一个是管理密码,审核状态包含0表示未审核,1表示审核通过,2表示审核未通过。 寻物启事信息表 的设计如表4-3 所示。
字段名 | 说明 | 键值 | 数据类型 | 备注 |
---|---|---|---|---|
id | 启事编号 | 主键 | Bigint(20) | 不为空 |
category_id | 分类编号 | 外键 | Bigint(20) | 不为空 |
lost_place | 失物地点 | varchar(50) | 不为空 | |
lost_time | 丢失时间 | datetime | 不为空 | |
infoTitle | 信息标题 | varchar(100) | 不为空 | |
rewards | 悬赏金额 | varchar(100) | ||
description | 详情描述 | text | 不为空 | |
images | 物品图片 | varchar(255) | ||
status | 审核状态 | int(1) | 不为空 | |
contacts | 联系人 | varchar(255) | ||
tel | 手机号码 | varchar(50) | ||
QQ号码 | varchar(50) | |||
联系邮箱 | varchar(50) | 不为空 | ||
address | 联系地址 | varchar(255) | ||
password | 管理密码 | varchar(20) | 不为空 |
4.4.4 招领启事
招领启事信息表与寻物招领启事表类似,但是唯一一个不同的招领启事不含有悬赏金额属性,其除了常规的属性名称对应字段、类型长度的定义外,也是同样包含了一个失物分类信息表的外键,说明了外键关联表和其定义。 招领启事信息表 的设计如表4-4 所示。
字段名 | 说明 | 键值 | 数据类型 | 备注 |
---|---|---|---|---|
id | 启事编号 | 主键 | Bigint(20) | 不为空 |
category_id | 分类编号 | 外键 | Bigint(20) | 不为空 |
found_place | 拾物地点 | varchar(50) | 不为空 | |
found_time | 拾取时间 | datetime | 不为空 | |
infoTitle | 信息标题 | varchar(100) | 不为空 | |
description | 详情描述 | text | 不为空 | |
images | 物品图片 | varchar(255) | ||
status | 审核状态 | int(1) | 不为空 | |
contacts | 联系人 | varchar(255) | ||
tel | 手机号码 | varchar(50) | ||
QQ号码 | varchar(50) | |||
联系邮箱 | varchar(50) | 不为空 | ||
address | 联系地址 | varchar(255) | ||
password | 管理密码 | varchar(20) | 不为空 |
4.4.5 评论管理
基于为了让物品找回能够有多种方式,实现了在查看物品详情信息后可以在详情信息底下留下失物信息,可以在不使用其他方式的情况下以另一种形式通知失主。评论信息表包含常规的属性名称对应字段、类型长度的定义。 评论信息表 的设计如表4-5 所示。
字段名 | 说明 | 键值 | 数据类型 | 备注 |
---|---|---|---|---|
id | 启事编号 | 主键 | Bigint(20) | 不为空 |
goods_id | 物品编号 | Bigint(20) | 不为空 | |
comment_text | 评论内容 | text | 不为空 | |
comment_time | 评论时间 | datetime | 不为空 |
4.4.6 详情信息
当我们查看失物的基本信息后,想要深入的了解失物的详情信息时,便可以点击失物进入详情信息页面,详情信息表包含常规的属性名称对应字段、类型长度的定义。 详情信息表 的设计如表4-6 所示。
字段名 | 说明 | 键值 | 数据类型 | 备注 |
---|---|---|---|---|
id | 启事编号 | 主键 | Bigint(20) | 不为空 |
goods_id | 物品编号 | Bigint(20) | 不为空 | |
publish_time | 发布时间 | datetime | 不为空 | |
page_view | 浏览次数 | int(11) | 不为空 | |
status | 启事状态 | int(1) | 不为空 |
4.5 Web管理后台功能模块实现
4.5.1 登录模块的设计与实现
登录模块的设计,众所周知想要对Web资源和其他后端内部信息进行保护,最好的办法莫过于Filter,要想对方法调用进行保护,最好的办法莫过于AOP。所以Spring Security框架在我们进行用户认证以及授予权限的时候,通过各种各样的拦截器来控制权限的访问,从而实现安全。所以,我们设计了Web管理后台的安全登录,采用了Spring Security框架具体实现。
登录模块的实现,一个能够为基于Spring的企业应用系统提供声明式的安全防问控制解决方式的安全框架,简单说是对访问权限进行控制,应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。 spring security的主要核心功能为 认证和授权,所有的架构也是基于这两个核心功能去实现的。下图4-2就是权限认证未通过登录状态效果图。
管理员输入正确的用户名和密码成功经过Spring Security框架权限认证后直接进入首页,登录后页面如下图4-3成功登录效果图。
管理员安全登录系统之后,如若想要修改密码,可通过界面点击修改密码按钮,按标准填写原密码与新密码即可完成操作。下图4-4为修改密码效果图。
4.5.2 启事审核模块的设计与实现
启事审核的设计,关于这模块的设计是为了防止用户恶意刷数据,还有用户发布的数据存在问题等一些问题,导致数据库无效数据的大量堆积,造成用户的体验感极低,网站的负荷、数据库的压力过大。那么,我们应该考虑一种从最优的角度去避免这样的情况发生,就是每次用户发布的寻物启事信息或者招领启事信息都经过管理员审核,虽然从另一种角度来看,增加了失物招领处的工作量,但是利大于弊,保证了用户发布的失物信息的质量和有效性。
启事审核的实现,了解了启事审核模块的目的和整体设计,关于启事审核模块的实现,首先,寻物启事信息表和招领启事信息表都有一个status属性字段,其中当status值为0时,为未审核状态,当status值为1时,为审核通过状态,而当status值为2时,为审核未通过状态。
我们默认用户发布的寻物启事信息或者招领启事信息的status值为0,失物招领后台管理系统将会拦截所有审核状态status值为0的数据,要求进行审核,才能发布到失物招领前台客户端。拦截的数据通过管理员经过严格审核之后,审核状态status值为1的数据则放行,而审核状态status值为2的数据则将其从后台数据库删除。下图4-5为启事审核流程图,图4-6为启事审核效果图。
4.5.3 失物分类管理模块的设计与实现
失物分类管理模块的设计,用户在失物招领系统中,在发布失物信息或者检索失物信息时,其失物分类并不是自己填写而是通过复选框来进行选择,所有失物类别的数据由后台进行管理。
失物分类管理模块的实现,主要实现了对失物分类的增加、删除、修改与查询,失物可批量删除,查询数据方面通过输入分类名称进行模糊查询相关数据。显示数据方面实现了分页显示,管理员可以设置一页显示的数量等。下图4-7为分类管理效果图。
4.5.4 寻物启事管理模块的设计与实现
寻物启事管理模块的设计,首先考虑到保证用户数据的安全性等其他问题,失物招领后台管理不允许对用户的启事信息进行修改操作,添加失物信息则在失物招领前台客户端实现。所以,后台仅实现了对于启事信息的删除和查询操作。招领启事管理模块类似于此。
寻物启事管理模块的实现,对于启事信息分页显示,实现了批量删除操作,考虑删除操作的危险性,使用layer弹窗框架显示警示提醒。查询数据实现精准查询,用户可以选择失物分类,选择日期开始时间,日期结束时间,关键字进行查询。日期组件选择了angular ui-bootstrap日期控件,引入了中文文件,方便用户操作。下图4-8为启事信息管理模块效果图。
4.5.5 数据统计模块的设计与实现
数据统计模块的设计,数据统计的首要就是简要明了,让管理员能够清晰的统计数据信息,失物招领管理后台的数据统计主要设计了已失效招领启事数据统计,已失效寻物启事数据统计,寻找中招领启事数据统计,寻找中寻物启事数据统计。
数据统计模块的实现,通过前端请求数据,后端响应的数据以echarts数据饼状图图形化的形式展示,ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9 /10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。ECharts为百度的推出一款相对较为成功的开源项目,总体上来说有这样的一些优点,ECharts容易使用,ECharts支持按需求打包,ECharts开源支持中国地图功能。下图4-9为数据统计效果图。
4.6 Web前台客户端功能模块实现
4.6.1 失物招领首页设计与实现
失物招领的首页设计主要以美观简洁易操作为主旨,通过首页导航栏可进入寻物启事、招领启事、发布信息和快速检索等页面,下图4-10为失物招领首页效果图,图4-11为最新一周寻物招领启事资讯效果图。
g)
4.6.2 快速检索模块的设计与实现
为了让用户快速查找到目标、提升用户的搜索体验和输入效率,本系统实现了搜索关键字智能提示。下图4-12为快速检索效果图。
4.6.3 启事信息发布的设计与实现
用户发布启事信息时,部分信息为必填项,其余选填,启事添加实现了添加图片插件BootStrap FileInput和日期选择插件angular ui-bootstrap,两者样式非常美观,提升了用户的体验感。下图4-13为启事信息发布效果图。
4.6.4 启事详情信息的设计与实现
通过查看物品启事时,可点击查看详情信息页面,可进入物品详情页面,在物品详情页面可以查看物品的所有信息,包括详情信息浏览次数、物品图片、物品详情页面评论信息、物品详情描述、管理启事操作等。下图4-14为物品详情信息效果图,图4-15为物品详情信息页面评论信息效果图。
4.6.5 管理启事的设计与实现
管理启事主要设计了删除启事功能、修改启事功能与忘记密码操作功能。当用户发布寻物启事信息或招领启事信息时,会要求用户必须填写管理密码,这在用户对其发布的启事信息进行修改操作或删除操作时使用,用户必须输入正确的管理密码才能进行此项操作,如若用户忘记密码,可通过点击忘记密码链接后弹窗输入启事信息编号,则管理密码将会发送到当用户发布寻物启事信息或招领启事信息时要求用户必须填写的邮箱上,用户收到邮箱信息信息即可得到管理密码。下图4-16为管理启事效果图,图4-17为忘记密码操作效果图,图4-18为修改启事信息效果图。
第5章 系统测试与结果分析
失物管理系统的测试主要是为了保证系统各功能模块的正常运行,保证系统能满足功能,并且防止在用户进行操作时放置出现不在系统限制的范围内,需要对系统进行一些功能测试,目的在于发现错误和不满足需求的部分,并对发现的问题进行修复。
5.1 系统测试环境选择
-
客户端硬件 :PC
-
客户端软件环境 :Windows 10
-
数据库 :MySQL
-
版本控制 :GIT
5.2 测试计划
系统完成后,需要对其进行各功能模块进行测试,下面以寻物启事管理模块为例,进行测试计划。 寻物启事模块 具体如表5-1所示。
功能 | 输入 | 输出 |
---|---|---|
新增寻物启事 | 点击发布寻物启事信息 | 跳转到寻物启事发布页面,显示待填写表单。 |
输入必填信息 | ||
点击发布按钮 | 提示操作结果,刷新页面 | |
启事信息审核 | 点击审核处理 | 弹出启事审核弹窗,显示启事信息 |
点击审核结果选项 | 提示操作结果,刷新待审核启事信息表 | |
修改寻物启事 | 点击启事详细信息,点击管理启事,输入管理密码,点击修改启事 | 弹出待修改启事所有信息弹窗并回显图片 |
输入修改信息 | ||
点击修改按钮 | 提示操作结果,刷新页面 | |
搜索寻物启事 | 选择搜索条件,输入搜索关键字 | |
点击搜索按钮 | 显示所需的寻物启事信息 | |
删除寻物启事 | 选择需删除寻物启事或全选本页寻物启事 | |
点击删除按钮 | 提示操作结果,刷新页面 |
5.3 测试用例
测试用例主要由以下几张表构成为寻物启事管理模块测试。新增寻物启事功能如表5-2所示,审核寻物启事功能测试如表5-3,搜索寻物启事功能测试如表5-4所示,修改寻物启事功能测试如表5-5所示,删除寻物启事功能测试如表5-6所示。
表5-2 新增寻物启事功能测试
测试用例 | Test01 |
---|---|
测试项目 | 新增寻物启事 |
输入 | 1. 点击发布寻物启事按钮 2. 点击选择失物分类 3. 寻物启事信息必填项 4. 点击选择图片 5. 点击选择日期 6. 点击发布按钮 |
执行步骤 | 1. 进入失物招领首页 2. 点击发布寻物启事按钮 3. 进入寻物启事发布页 4. 选择失物分类为“宠物” 5. 选择图片并上传“宠物图片” 6. 选择丢失日期为“2019-3-5” 7. 输入寻物启事信息必填项 8. 点击提交按钮 |
预计输出 | 1. 正确完成填写所有必填项,显示“发布成功”弹窗,选择返回首页,或继续发布信息。 2. 若填写发生错误,提示错误信息。 |
表5-3 审核寻物启事功能测试
测试用例 | Test02 |
---|---|
测试项目 | 审核寻物启事 |
输入 | 1、 点击寻物审核 2、 选择寻物启事点击审核处理 3、 点击审核结果(审核通过或未通过)按钮 |
执行步骤 | 1、 进入失物招领管理后台首页 2、 首页显示未审核寻物启事数量 3、 点击物品审核选择寻物启事审核 4、 选择要审核的寻物启事点击审核处理 5、 浏览审核寻物启事 6、 点击审核通过按钮 |
预计输出 | 1、 审核通过,提示“审核通过”,刷新待审核寻物启事列表,列表中审核的寻物启事消失,审核通过的寻物启事成功发布。 |
表5-4 搜索寻物启事功能测试
测试用例 | Test03 |
---|---|
测试项目 | 搜索寻物启事 |
输入 | 1. 选择失物分类 2. 选择开始日期 3. 选择结束日期 4. 关键字 5. 点击搜索按钮 |
执行步骤 | 1. 进入寻物启事页面 2. 选择失物分类为“钱包” 3. 选择开始日期为“2019-3-1” 4. 选择结束日期为“2019-3-12” 5. 输入关键字“粉色钱包” 6. 点击搜索按钮 |
预计输出 | 1、显示寻物启事失物分类为钱包,日期范围在2019-3-1到2019-3-12,物品特征为粉色钱包的记录。 |
表5-5 修改寻物启事功能测试
测试用例 | Test04 |
---|---|
测试项目 | 修改寻物启事功能测试 |
输入 | 1、 输入管理密码 2、 点击前往修改 3、 修改失物地点 4、 修改丢失日期 5、 点击确认修改 |
执行步骤 | 1、 选择寻物启事 2、 点击查看详情 3、 点击管理启事 4、 选择修改启事 5、 输入管理密码 6、 点击前往修改 7、 修改失物地点为“主五#402” 8、 修改丢失日期为“2019-03-03” 9、 点击确认修改 |
预计输出 | 1、 提示修改成功,并刷新寻物启事详情页面,修改信息成功显示到寻物启事详情页面。 2、 发生错误,寻物启事详情未发生改变,提示错误信息。 |
表5-6 删除寻物启事功能测试
测试用例 | Test05 |
---|---|
测试项目 | 删除寻物启事功能测试 |
输入 | 1. 点击管理启事 2. 点击删除按钮 3. 进入删除页面 4. 输入管理密码 5. 点击确认删除按钮 |
执行步骤 | 1. 进入寻物启事详情页面 2. 点击管理启事 3. 点击删除按钮 4. 进入删除页面 5. 输入管理密码“123456” 6. 点击确认删除按钮 7. 弹窗提示确认操作 8. 点击确定按钮 |
预计输出 | 1. 提示“删除成功”,刷新失物招领首页,选择的寻物启事已被删除掉 2. 提示“密码错误请重新输入”,重新输入。 |
5.4 测试结果与分析
通过一系列的功能测试,所有模块的测试结果与预计输出一致,符合预期的功能需求。
结 论
通过对校园失物招领所碰到的实际问题的具体分析,联系国内外失物招领网站的特征,开发和设计了失物招领系统。该系统不仅融合了校园信息化工作的特征,将传统的失物招领工作信息化,网络化,依靠全校学生的力量就能够很快地找到所失之物, 从而减少经济及精神损失, 规范学校的校风校貌, 有利于创建一个“无遗”的和谐校园[10]。
本文主要阐明了失物招领系统的设计与实现,从该项目的背景,到该系统开发所用的技术框架和系统运行环境,再到系统的需求分析和功能的详细描述和实现过程。本系统主要重点部分在于启事信息的发布和查询浏览,通过对启事信息模块化的显示,使用户浏览更加便利,顺应了当前校园坏境下对系统的要求和实际需求,通过系统网络化的方式可以提高系统在校园坏境下的使用率,可以真正的提高校园寻回失物的机会。
失物招领系统实现了启事信息发布、启事信息的快速查询、启事信息的精准查询、启事信息的审核功能、启事信息的数据统计等功能。通过本系统可以大大缓解高校失物招领工作中的一些繁复流程,提升了效率,有一定的应用和推广价值[11]。
参考文献
-
[1]吴江平.高校失物招领管理系统的研究与分析[J].科技广场, 2015年11期:32-35.
-
[2]董伟东.失物招领系统的建立[J].计算机光盘软件与应用, 2014年01期: 251-252.
-
[3]谭伟,林俊存.基于JSP的高校失物招领网络平台的设计与实现[J].电子世界, 2016年21期:109-110.
-
[4]唐志婧.基于Android的校园失物招领平台的设计与实现[D].内蒙古自治区:内蒙古大学,2017.
-
[5]周梦萍.基于J2EE的高校失物招领系统的开发设计[J].福建电脑,2018年04期:125-126.
-
[6]陈玲.遗失物招领付费之研究[J].成都理工大学学报(社会科学版), 2016年01期:34-38.
-
[7]刘莹.校园失物招领公益性管理系统[J].福建电脑, 2017年11期:128.
-
[8]邹骅.基于微信公众平台的校园失物招领系统设计[J].河北软件职业技术学院学报,2017年03期:228.
-
[9]查玉华,胡开华,张玉静.基于Web的校园寻物网站设计[J].电脑知识与技术, 2016年32期:49-50.
-
[10] 张瑾,马皎,史伶丽,丁学翠,董莉霞.校园失物招领管理网页的开发[J]. 机电信息,2018年33期:118-119.
-
[11]高越.高校失物招领系统的设计与实现[D].吉林省:吉林大学,2017.
参考文献
- 基于Android和JAVA EE架构的物流系统设计与实现(吉林大学·韩加勉)
- 物流融资平台仓单质押系统的JavaEE框架设计(福州大学·宋婷婷)
- 网格化智能移动警务系统在公安工作中的应用(吉林大学·王博)
- 学生综合信息管理平台的设计与实现(吉林大学·刘铁刚)
- 基于J2EE架构的废物资源信息系统设计与实现(吉林大学·王凌光)
- 基于Android和JAVA EE架构的物流系统设计与实现(吉林大学·韩加勉)
- 基于J2ME技术的现代物流信息管理软件的开发研究(河北工业大学·王明智)
- 网格化智能移动警务系统在公安工作中的应用(吉林大学·王博)
- 物流融资平台仓单质押系统的JavaEE框架设计(福州大学·宋婷婷)
- 基于J2EE框架的WSBCC系统EJB应用(天津大学·王东燕)
- 基于Android和JAVA EE架构的物流系统设计与实现(吉林大学·韩加勉)
- 网格化智能移动警务系统在公安工作中的应用(吉林大学·王博)
- 学生综合信息管理平台的设计与实现(吉林大学·刘铁刚)
- 基于Android的校园失物招领平台的设计与实现(内蒙古大学·唐志婧)
- 政府物业管理系统的设计与实现(电子科技大学·郭新玉)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码向导 ,原文地址:https://m.bishedaima.com/yuanma/35196.html