目 录
本文主要论述了如何使用SSM框架开发一个校园车辆管理系统,严格按照软件开发流程进行各个阶段的工作,采用B/S架构,JAVA技术,面向对象编程思想进行项目开发。在引言中,将论述校园车辆管理系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。
校园车辆管理系统的主要使用者分为管理员和系统用户,实现功能包括:首页,轮播图,校园公告管理,资源管理(校园新闻,新闻分类),系统用户(管理员,系统用户),模块管理(校园停车场,停车入场,出场信息)等。由于本系统的功能模块设计相对比较实用,全面,所以使得整个校园车辆管理系统信息管理的过程得以实现。
本系统的使用可以实现本校园车辆管理系统管理的信息化,可以方便管理员,系统用户进行更加方便快捷的管理,可以提高用户的停车效率。
关键词:Java语言;MYSQL;校园车辆管理系统
Abstract
This article mainly discusses how to develop a campus vehicle management system using the SSM framework, strictly following the software development process for each stage of work, using B/S architecture, JAVA technology, and object-oriented programming ideas for project development. In the introduction, the current background of the campus vehicle management system and the purpose of system development will be discussed. Subsequent chapters will strictly follow the software development process to analyze and design the system at each stage.
The main users of the campus vehicle management system are divided into administrators and system users, and their implementation functions include: homepage, rotation chart, campus announcement management, resource management (campus news, news classification), system users (administrators, system users), module management (campus parking lot, parking entry, exit information), etc. Due to the relatively practical and comprehensive design of the functional modules of this system, the information management process of the entire campus vehicle management system can be achieved.
The use of this system can achieve the informatization of the campus vehicle management system management, which can facilitate administrators and system users for more convenient and efficient management, and can improve user parking efficiency.
Keywords: Java language; MYSQL; Campus Vehicle Management Syste
1 绪论
1.1研究背景
停车场管理系统是伴随着公用收费停车场这一新生事物而诞生的。传统停车场的收费都是采用人工方式,存在着收费过程比拟繁琐,劳动强度高,停车场利用率底下,票款易流失等问题。为了克制这些缺点,逐步推动了停车收费管理系统的发展。随着经济的开展以及技术的进步,各种新技术、新材料的应用使停车场管理系统的各种管理功能逐渐完善,可靠性逐步提高。许多现代控制领域及智能交通领域的前沿技术在停车场管理系统中也得到了广泛应用,使当今停车场管理系统越来越具有智能化的特点。校园作为人流量,车流量都非常庞大的场所,更是需要配备一个完善的停车场管理系统。方便管理员实现少人工,精度高,快速运转,并结合校园停车的特殊性,保证校园进出车辆符合安全要求,实现一个满足各方需求的校园车辆管理系统。
该校园车辆管理系统其研究的目的就是让传统的校园车位信息查询、交易的方式转化为通过网页浏览车位进行停车的形式,解决了传统校园车辆难停车、耗时耗力的问题,系统的具体研究意义如下:
(1)从管理员的角度来说,利用计算机网页来实现一个新型的校园车辆管理系统,可以提高校园车辆的管理效率,并有效掌握车辆以及进出人员,保证校园的安全性。
(2)从系统用户的角度来说,校园车辆管理系统的实现,能够给用户带来极大的便利,为用户提供一个更加优质的校园车辆管理系统,让用户在通勤过程中,不用再为车位难找,车位被占用等停车难的困境所烦恼。
(3)对于整个校园车辆管理工作来说,能够整合校园车辆信息,将校园车辆信息规范化,透明化,给用户提供一个优质的校园车辆管理系统,规范校园车辆,促进校园车辆管理的信息化。
目前,国外停车场管理系统经过半个多世纪的开展,己经根本进入了智能化收费的阶段。其使用的收费介质己由传统接触读写类型收费介质转变为非接触类型的新型收费介质。国外停车场收费系统一般采用高度智能化的专用设备,可以实现收费系统的无人化操作。设备制造工艺精良,系统稳定性和产品技术水平到达较高水平。国外停车场管理系统的一个显著特点是停车交易支付手段的电子化程度非常高,根本上不存在现金交易的现象。而且许多国外停车场管理系统还配备了停车车位引导系统、停车车位查询系统等智能化设备,使停车场管理系统的功能更加完善和丰富。目前,一些国外停车设备厂商正在研究能够实现“网络化存车”的停车场管理系统。该管理系统能统一调度车位资源,统一进展交易结算。停车用户在家中通过网络就可以预定停车车位,交纳停车费用,查询出行目的地的各类停车信息。这种新型停车场管理方式适应了网络在人们日常生活中越来越普及的现状,使停车场管理系统的作用围和功能得到了极大的扩展和延伸。但系统的造价非常高昂,技术实现难度增大,系统维护本钱高。
国内停车场管理系统是伴随着国内公用停车场的大量出现而产生并逐步开展起来的。最初的国内停车场管理系统是在引进和消化吸收国外同类系统的根底上逐步开展起来的,并在此根底上不断改良提高。开展初期,由于有许多关键设备国内无法生产,因此停车场管理系统硬件大多采用国外产品,所以这一阶段的国内停车场管理系统带有更多“集成”的意味。目前,我国新型停车场管理系统还处在应用的初级阶段,许多管理系统在实际使用中暴露了出一些问题。其表现有:一些管理系统的系统设计不够合理完善,未能充分考虑我国的实际国情,使新型停车场管理技术不但未能在实际应用中发挥出应有的作用,相反有些停车场采用的新的技术设备却成为制约管理系统发挥管理功能的瓶颈。例如有些管理系统采用非常先进的车牌自动识别技术,意图实现车辆存取过程的无人无实物收费介质的工作方式。但在实际应用过程中,这种新型技术却经常因无法克制目前有些车牌污损、锈蚀及安装位置不标准等原因使管理系统无法自动识别,造成系统经常出现非正常的停顿。
2 校园车辆管理系统系统分析
系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。
系统可行性分析是对系统可行性进行的一个探讨。在探讨系统的可行性上我们主要从技术上的可行性和经济上的可行性以及法律层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。
2.1.1 技术可行性分析
校园车辆管理系统设计与实现是一个基于Web的管理平台,我们在实现这个系统所采用的技术方案是基于Java语言,SSM框架,MYSQL数据库,在大学的学习中这这些课程都已经学过,而且自己也用这些技术开发过小的项目,在平时的课程设计以及作业也经常用到Java和MYSQL,在技术上实现自己的自主开发是可行的。
2.1.2 经济可行性分析
开发本校园车辆管理系统的技术都是可以从网上直接免费下载,不用花一分钱,而且系统的源代码都是自己进行设计开发的,不需要成本,如果后期想要进行运营,只要把配置到服务器上,花费服务器的租赁费用,在使用中可以进行增加广告收益,因此在经济方面是可性的。
2.1.3 操作可行性分析
当下网络新时代,计算机已经得到了普及,多数人对计算机都比较的熟悉,知道如何使用它,当然也存在对计算机比较陌生的这一群体,也需要对其进行考虑。在进行校园车辆管理系统页面的设计的时候,考虑到使用人群,可能也存在对计算机比较陌生的人,所以,在页面的设计方面,设计的很是简单、简洁,布局明了,色调明朗,让无论是对计算机陌生还是对计算机熟悉的使用者,都可以使用自如,这也说明了该程序的操作方面非常可行。
本校园车辆管理系统开发完成后只需要一个管理人员进行后台车位信息的增删改查以及用户、车辆的管理就可以,不需要进行特别的培训,所有的操作只要有一点电脑基础就可以进行管理,在管理方面是可行的。
2.2.1 数据流程
校园车辆管理系统主要的目的就是实现对校园车辆进出场管理,图2-1就是系统的数据流图。
图2-1 停车入场操作展开图
3.3.2 业务流程
分析完校园车辆管理系统的数据流,接下来我们来看系统的业务流程,图2-2为业务流程图:
图2-2业务流程图
(1)校园停车场模块:本校园车辆管理系统最主要的功能就是停车场杜、车位查询,停车入场,系统中需要管理员添加车位信息供用户查询,停车,管理员在此模块主要是对车位信息的增删改查,游客实现对停车场的查询,用户则实现车位的收藏、评论、停车入场等操作。如下图2-1所示。
图2-1 校园停车场模块用例图
(2)校园新闻模块:管理员在后台可以对校园新闻及其分类进行增删改查,游客实现查看校园新闻,用户进行收藏、点赞、评论。如下图2-2所示。
图2-2校园新闻模块用例图
(3)用户管理模块:在前台游客可以通过注册,然后参与到系统当中,管理员可以对注册的用户进行修改、删除、查询、也可以添加新的用户。如下图2-3所示。
图2-3用户管理模块用例图
系统的性能方面主要是从系统的安全性、存储性、可靠性、易学性、稳定性等方面进行分析:
(1)安全性:系统的安全问题是开发者首先要考虑的,如果系统存在安全隐患,可能使得用户个人信息被泄露,给用户带来困扰,造成损失。
(2)储存性:因为用户使用的关于校园车辆管理的平台,使用的用户比较多,而且登录后要实现对停车入场出场记录的管理,那就需要一个强大的数据库来进行数据的存储,对数据库的要求是非常严格的,本系统选用的是MYSQL数据库,MYSQL的运行速度很快,执行命令的速度也非常快,而且体积小。
(3)可靠性:可靠性指的是用户在进行信息添加、查询以及管理的时候,能够按照用户的指示进行显示信息,如果用户点击查询校园停车场信息,显示出来的校园新闻信息,那就违背用户的初衷。
(4)易学性:系统的开发面向对象学历不尽相同,所有在开发的时候要考虑系统操作应该简单,不需要进行任何学习、培训,只能上网的用户就可以操作。
(5)稳定性:系统在运行方面要很稳定,系统的界面、字体要清楚,没有失真现象,给用户以良好的体验。
本章主要讨论的内容包括校园车辆管理系统的功能模块设计、数据库系统设计。
3.1 系统体系结构设计
本校园车辆管理系统总体的体系结构图分为前端用户体系结构和后端管理员体系结构,其具体结构图如图3-1和图3-2所示
系统的前端主要是用户通过浏览器进入到系统当中,对平台的信息进行查看、操作、管理,包括首页,校园公告,校园新闻,校园停车场,我的(我的账户,我的收藏,个人中心)等,前端用户功能模块图如图3-1所示。
图3-1 校园车辆管理系统前端功能结构图
系统的后端主要是管理员对系统的信息进行管理,包括轮播图,校园公告管理,资源管理(校园新闻,新闻分类),系统用户(管理员,系统用户),模块管理(校园停车场,停车入场,出场信息)等功能模块,其后端管理员功能模块图如图3-2所示。
图3-2 校园车辆管理系统后端功能结构图
本校园车辆管理系统分为前台用户以及后台管理员两个页面,前端由游客/用户进入,用户登录后实现停车场查询,停车入场等,后端是管理员进行登录,登录以后对校园车辆管理系统所有数据进行管理。校园车辆管理系统的总体用例图如图3-3所示
图3-3 校园车辆管理系统功能总体用例图
校园车辆管理系统的前台是用户进行操作的,主要实现用户对公告新闻以及校园停车场的查看,注册登录以后实现校园停车场的入场以及我的账户,我的收藏,个人中心的管理。前台系统用户用例图如图3-4所示
图3-4 校园车辆管理系统前台系统用户用例图
系统前端系统用户的功能包含了校园公告,校园新闻,校园停车场,我的(我的账户,我的收藏,个人中心)等部分。
(1)用户在前台可以查看校园新闻,让用户了解校园的各种资新闻,可以对自己喜欢的新闻进行收藏、点赞,也可以实现对新闻的评论,与共同爱好者产生交流,用例说明如下表所示:
表3-1 校园新闻用例图
用例名称 | 校园新闻藏/点赞/评论 |
角色 | 系统用户 |
用例说明 | 用户在前台查看校园新闻,对喜欢的新闻进行收藏、点赞、评论 |
前置条件 | 用户登录 |
后置条件 | 对用户的收藏、点赞、评论在系统中展示出来 |
基本事件流 | 1、用户通过浏览器进入本校园车辆管理系统 2、用户登录到系统当中 3、用户进入校园新闻,选择新闻进入详情 4、用户点击收藏或者点赞 5、在评论框输入评论内容,点击提交 |
推展流程 | 无 |
异常事件流 | 1、用户没有登录 2、输入的评论内容为空 |
其他 | 无 |
(2)校园车辆管理系统主要的功能就是校园停车场的查询与车辆的停车入场,所有在系统中用户可以选择自己喜欢的停车场进行停车入场,用例说明如下表所示:
表3-2 停车场用例图
用例名称 | 校园停车场 |
角色 | 系统用户 |
用例说明 | 用户在前台查看校园停车场,对喜欢的车库进行收藏、评论、停车入场 |
前置条件 | 用户登录 |
后置条件 | 点击停车入场 |
基本事件流 | 1、用户通过浏览器进入本校园车辆管理系统 2、用户登录到系统当中 3、用户进入校园停车场,选择停车场进入详情 4、点击点赞,收藏或者停车入场 5、在评论框输入评论内容,点击提交 |
拓展流程 | 无 |
异常事件流 | 1、用户没有登录,需要注册登录后才能操作 2、入场失败需要重新入场 |
其他 | 无 |
校园车辆管理系统的后台是由管理员进行操作的,主要实现管理员对系统信息、人员信息、新闻信息、校园停车场以及个人信息的管理。后台管理员用例图如图3-5所示
图3-5 校园车辆管理系统后台管理员用户用例图
系统后端管理员的功能包含了轮播图,校园公告管理,资源管理(校园新闻,新闻分类),系统用户(管理员,系统用户),模块管理(校园停车场,停车入场,出场信息)等功能模块。
(1)管理员在后台对校园停车场的查询、如果需要添加新的车库,点击添加按钮,输入车库信息提交,也可以对停车场进行修改,删除,查询,用例说明如下表所示:
表3-3 停车场管理用例图
用例名称 | 校园停车场 |
角色 | 管理员用户 |
用例说明 | 对系统当中的停车场进行增删改查 |
前置条件 | 管理员登录 |
后置条件 | |
基本事件流 | 1、管理员通过后台登录到系统当中 2、选择校园停车场按钮 3、显示系统当中的所有的停车场及车库,可以输入关键词查询 4、选择内容进行增删改查 5、点击提交 |
拓展流程 | 无 |
异常事件流 | 输入的车库内容不正确,提示错误信息 |
其他 | 无 |
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.4.1 数据库概念结构设计
下面是整个校园车辆管理系统中主要的数据库表总E-R实体关系图。
图3-6 校园车辆管理系统总E-R关系图
下面根据校园车辆管理系统的数据库总E-R关系图可以得出校园车辆管理系统需要很多E-R图,在此罗列出来一些主要的数据库E-R模型图。
图3-7系统用户信息E-R关系图
图3-8 校园停车场E-R关系图
图3-9 停车入场信息E-R关系图
通过上一小节中校园车辆管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | campus_parking_lot_id | int | 10 | 0 | N | Y | 校园停车场ID | |
2 | garage_number | varchar | 64 | 0 | Y | N | 车库编号 | |
3 | garage_name | varchar | 64 | 0 | Y | N | 车库名称 | |
4 | cover | varchar | 255 | 0 | Y | N | 封面 | |
5 | number_of_parking_spaces | int | 10 | 0 | Y | N | 0 | 车位数量 |
6 | garage_location | varchar | 64 | 0 | Y | N | 车库位置 | |
7 | garage_details | longtext | 2147483647 | 0 | Y | N | 车库详情 | |
8 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exit_information_id | int | 10 | 0 | N | Y | 出场信息ID | |
2 | parking_number | varchar | 64 | 0 | N | N | 停车编号 | |
3 | garage_number | varchar | 64 | 0 | Y | N | 车库编号 | |
4 | garage_name | varchar | 64 | 0 | Y | N | 车库名称 | |
5 | garage_location | varchar | 64 | 0 | Y | N | 车库位置 | |
6 | date_of_entry | date | 10 | 0 | Y | N | 入场日期 | |
7 | parking_users | int | 10 | 0 | Y | N | 0 | 停车用户 |
8 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
9 | license_plate_number | varchar | 64 | 0 | Y | N | 车牌号 | |
10 | number_of_vehicles | varchar | 64 | 0 | Y | N | 车辆数 | |
11 | screenshot_of_license_plate | varchar | 255 | 0 | Y | N | 车牌截图 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | parking_entry_id | int | 10 | 0 | N | Y | 停车入场ID | |
2 | parking_number | varchar | 64 | 0 | Y | N | 停车编号 | |
3 | garage_number | varchar | 64 | 0 | Y | N | 车库编号 | |
4 | garage_name | varchar | 64 | 0 | Y | N | 车库名称 | |
5 | garage_location | varchar | 64 | 0 | Y | N | 车库位置 | |
6 | date_of_entry | date | 10 | 0 | Y | N | 入场日期 | |
7 | parking_users | int | 10 | 0 | Y | N | 0 | 停车用户 |
8 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
9 | license_plate_number | varchar | 64 | 0 | Y | N | 车牌号 | |
10 | number_of_vehicles | varchar | 64 | 0 | Y | N | 车辆数 | |
11 | screenshot_of_license_plate | varchar | 255 | 0 | Y | N | 车牌截图 | |
12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
13 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
14 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | system_users_id | int | 10 | 0 | N | Y | 系统用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | license_plate_number | varchar | 64 | 0 | N | N | 车牌号 | |
4 | number_of_vehicles | varchar | 64 | 0 | Y | N | 车辆数 | |
5 | screenshot_of_license_plate | varchar | 255 | 0 | Y | N | 车牌截图 | |
6 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
4 校园车辆管理系统详细设计与实现
校园车辆管理系统的详细设计与实现主要是根据前面的系统的需求分析和总体设计来设计页面并实现业务逻辑。主要从系统界面实现、业务逻辑实现这两部分进行介绍。
4.1用户功能模块
4.1.1 前台首页界面
当进入校园车辆管理系统的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,其主界面展示如下图所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
普通的用户只支持对系统的浏览,想要入场就必须登录到系统,如果你没有本校园车辆管理系统的账号的话,添加“注册”根据提示输入好用户信息后,点击“注册”按钮后,系统会对输入的信息进行验证,验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。注册后需管理员审核方能登录系统。其用户注册界面展示如下图所示。
图4-2 前台用户注册界面图
4.1.3 用户登录界面
校园车辆管理系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息,然后通过滑动验证通过以后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到校园车辆管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图所示。
图4-3管理员审核界面图
图4-4用户登录界面图
4.1.4 校园公告界面
用户在点击导航栏左边的校园公告后,可以查看公告列表,点击某一条公告可以查看公告详情,校园公告界面如下图示。
图4-5校园公告界面图
4.1.5 校园新闻界面
当用户点击导航栏上的“校园新闻”菜单后,可以查看新闻列表,点击某一条新闻可以查看新闻详情,可以进行点赞,收藏,评论等操作,界面如下图所示。
图4-6校园新闻界面图
图4-7校园新闻界面图
4.1.6 校园停车场界面
用户点击导航栏商的“校园停车场”菜单,可以查看到输入关键词搜索车库,也可以按照排序查看车库信息,同时可以对该车库进行停车入场+收藏+点赞+评论,车库详情展示页面如图所示。
图4-8 车库列表界面图
图4-9 车库详情界面图
图4-10停车入场界面图
4.2管理员功能模块
管理员进入后台后,要通过登录成功之后才能对系统信息进行管理,保证速记的安全性,管理员输入账号+密码,然后通过滑动图片验证成功以后,点击“登录”按钮,进行登录,管理员的账号和密码是直接在数据库中设定的,如果忘记密码,可以点击“忘记密码”,对登录密码重新设定。界面如下图所示。
图4-11管理员登录界面图
4.2.2 系统用户管理界面
校园车辆管理系统中的管理人员是可以对前台注册的用户和后台的管理员进行管理的,如果想要添加新的人员,点击下方的“添加”按钮,然后根据系统中的提示输入管理员或者用户信息,点击“确认”按钮,对管理员或者用户进行添加,也可以对已经存在的管理员或者用户进行重置、删除和查询。界面如下图所示。
图4-12系统用户管理界面图
管理员点击“校园新闻”菜单可以对其下子菜单校园新闻+新闻分类进行管理,这里以校园新闻管理为例,管理员可以对已经存储的校园新闻进行查看详情、编辑、删除、查询、管理前台用户提交的评论,也可以添加新的校园新闻供前台用户查询,界面如下图所示。
图4-13校园新闻管理界面图
图4-14校园新闻添加界面图
管理员点击“校园停车场”按钮,可以管理维护停车场、车库,车位等信息,管理员可以进行查询、删除。界面如下图所示。
图4-15校园停车场管理界面图
图4-16校园停车场添加界面图
管理员点击“停车入场”按钮可以查看所有用户的入场信息,可以进查询,重置,添加,删除,出场等操作。界面如下图所示。
图4-17停车入场管理界面图
图4-18出场操作界面图
5系统测试
到此,系统的开发基本完成,接下来我们对系统的实验与结果进行分析,确保系统能够正常运行,进而投入使用,对系统的实验与结果分析的检测方法就是对系统的测试,测试是系统完成的最后一步,没有测试过的系统是不能进行投入使用的,否则一旦发生bug就会造成损失,下面我们从测试的方法以及测试的用例两部分进行分析,最后给出系统的测试结果。
系统的测试方面有两种,一种是黑盒测试,另一种则为白盒测试,黑盒测试通俗来说就是功能方面的测试,我们也称之为需求测试,在黑盒测试的过程中,我们是不知道其开发原理的,只是作为一名使用者对系统进行测试,我们主要是凭借之前的测试经验,取一些临界值,然后通过测试用例来对其进行测试,这种测试方法是最快的查找问题方法,其次我们可以找一些具有代表性的数据,对系统进行用例测试,在黑盒测试的过程中常用的测试工具是winrunner和AutoRunner;白盒测试我们称之为结果测试,也就是逻辑驱动测试,在白盒测试的过程中,我们主要是根据系统开发的原理进行测试的,主要是以开发者的身份去测试这个代码是不是完成了其具体的功能,实现的具体路径对不对,当然这种测试方法是费时费力的,因为每个功能,他的运行路径不止一条,通过对程序当中运行的路径进行测试,检测开发的代码是不是存在bug,有没有实现预期,在白盒测试的过程中常用的测试工具为Jcontract、C++ Test以及CodeWizard等。
系统测试包括:用户登录功能测试、商品展示功能测试、商品添加、商品搜索、密码修改功能测试,如下表所示:
表5-1 用户登录功能测试表
密码修改功能测试:
表5-2 密码修改功能测试表
在本章节对校园车辆管理系统进行了黑白盒测试,并对系统中的部分功能进行了用例分析,能够发现系统还是比较稳定的,系统的所有功能基本可以实现,能够满足管理员和用户对校园车辆的管理,停车场查询的需求。通过测试可以看出在系统的运行过程中,其功能完整,对于输入的错误信息,能够把错误信息提示出来,方便用户操作的时候发现自己输入的信息哪里有错误,进而进行改正,而且系统界面都设有导航栏,操作非常便捷,不需要对使用者进行任何培训,对于用户以及商家来说都是一个很有价值的系统。
经过了几个月的努力,本校园车辆管理系统终于完成了,虽然在校期间也开发过一些小型的系统,但是都是在老师的讲解以及辅助下完成的,没有经历过开发之前的需求分析、系统分析,都是直接从系统设计开始的,因此本次开发的校园车辆管理系统对我意义重大。
在开发系统最初,首先对各个类似系统的管理方面的需求进行调研,了解对于用户来说,开发的系统需要实现哪些功能才能满足用户的管理需求,对需求进行分析;其次选择自己比较熟悉的Java语言,MYSQL数据库来设计开发,通过知网库、学校图书馆等地方查阅、学习这些技术,掌握编程的思想和方法,然后就是对系统进行分析,从系统开发的可行性、系统实现的功能、系统应该具备的性能以及系统的操作流程方面,对系统进行全方位的分析,确定系统的最终功能,从而对系统的功能和数据库进行设计,最后就是系统的实现以及对实现的功能的测试,确保系统能够稳定的运行。
在开发的过程中暴露出了自己的很多问题,比如前期的准备还是不够充分,不能完全掌握其操作流程;在开发过程中对Java的编程掌握的还不够熟练以及对系统的环境配置上还存在很多问题,经常会导致项目在运行的时候出现错误。学无止境,通过一边查阅资料一边向导师请教,慢慢的解决了这些问题,在以后的学习、工作者我会更加严谨,通过本项目的开发,我将会受益终生!
[1]Zheng Hongying. A Study on the Design of English Speaking Examination System Based on SSM Framework[J]. Journal of Sensors,2022,2022.
[2]喻彩丽,赵诣琛,李亮.基于RFID智能停车场收费管理系统设计与实现[J].信息记录材料,2022,23(05):173-176.DOI:10.16009/j.cnki.cn13-1295/tq.2022.05.015.
[3]程琳,樊江涛,李龙,冷尊淼,李田太郎.智能校园车辆管理系统设计与实现[J].数字技术与应用,2021,39(05):169-171.DOI:10.19695/j.cnki.cn12-1369.2021.05.55.
[4]潘宇,张叶茂,莫淑贤.基于云平台的物联网校园车辆管理系统设计[J].软件工程,2021,24(04):51-54+46.DOI:10.19644/j.cnki.issn2096-1472.2021.04.012.
[5]江小静,解祥新,杭益柳,孙景玉.小区自助校园车辆管理系统的设计与实现[J].无线互联科技,2020,17(21):35-36.
[6]付强, 无人值守智能立体停车场的控制和管理系统V1.0. 广西壮族自治区,广西云高智能停车设备有限公司,2020-10-19.
[7]陈香,蒿瑞芳,杜志超.基于小程序的停车场车位管理系统的研究[J].内燃机与配件,2020(06):222-223.DOI:10.19475/j.cnki.issn1674-957x.2020.06.113.
[8]姜俊杰,张毅,姚锡凡,何一明.基于SQL的校园车辆管理系统软件[J].现代电子技术,2020,43(01):86-89.DOI:10.16652/j.issn.1004-373x.2020.01.022.
[9]梁嘉诚,陈海燕,郑焕勇,刘秋婷.基于Android的智能校园车辆管理系统[J].数码世界,2020(01):232.
[10]. Design and Implementation of ERP System Based on SSM Framework[J]. ,2020,440(5).
[11]Ping Wanxin,Chen Yuankun,Hou Xiaoyan. Design of Campus Bicycle Rental Management System Based on SSM Framework[J]. Journal of Physics: Conference Series,2019,1314.
[12]苟坤炎,韩利凯.基于web停车场车辆管理系统的设计与实现[J].电子世界,2019(18):193-194.DOI:10.19353/j.cnki.dzsj.2019.18.105.
[13]Jihong W,Junmei W,Dongling S. Design and Research of University International Cooperation Office Platform Based on SSM Framework[C]//Jilin Province Science and Technology (S&T) Innovation Center for Physical Simulation and Security of Water Resources and Electric Power Engineering,The Cooperative Innovation Center of Wind Power Equipment and Energy Conversion, Hunan Institute of Engineering,St. John’s University,Hunan Internet of Things Association.Proceedings of 2019 International Conference on Virtual Reality and Intelligent Systems (ICVRIS 2019) Volume I.Proceedings of 2019 International Conference on Virtual Reality and Intelligent Systems (ICVRIS 2019) Volume I,2019:229-232.DOI:10.26914/c.cnkihy.2019.011418.
[14]Di Lu,Yuping Qiu,Chun Qian,Xi Wang,Wei Tan. Design of Campus Resource Sharing Platform based on SSM Framework[J]. IOP Conference Series: Materials Science and Engineering,2019,490(6).
[15]向露.基于SSM的智能校园车辆管理系统的设计与实现[J].电子设计工程,2018,26(13):24-27+32.DOI:10.14022/j.cnki.dzsjgc.2018.13.006.
“致谢”意味着论文的结束,也意味着自己的毕业设计顺利完成,同时也代表了自己的大学生涯即将结束,我即将要离开自己敬爱的老师和亲爱的同学们,在这里我首先要感谢的就是所有的老师,“春满江山绿满园,桃李争春露笑颜,东西南北春常在,唯有师恩留心间”,他们无论在我的学业还是在我的生活上付出了所有,对我谆谆教诲;其次我要感谢我的指导老师,他在我的整个毕业设计当中起着引导作用,每当我有困难的时候,他总会第一时间帮助我,引导我进行解决问题,而不是直接告诉我答案,“授人以鱼不如授人以渔”,指导老师的这种做法让我受益终生,同时我也从指导老师身上学习到了许多的开发技巧以及检验,这对我今后的开发起着十分重要的作用;再次,我需要感谢我的同学、室友,他们不仅仅在毕业设计上给我许多帮助意见,在大学同窗四年,他们给过我的帮助太多了,我对他们有太多的不舍,无法用言语表示,我相信在以后的人生道路上只要想到他们,我心里就会很温暖,这种友情是任何感情替代不了的;最后我还要感谢家人,感谢自己,感谢家人对我的支持,感谢自己在学业上的坚持,我相信我以后的道路会越来越好。