机动车号牌管理系统设计与实现(代码+数据库+LW)

摘 要

在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对机动车号牌信息管理的提升,也为了对机动车号牌信息进行更好的维护,机动车号牌管理系统的出现就变得水到渠成不可缺少。通过对机动车号牌管理系统的开发,不仅仅可以学以致用,让学到的知识变成成果出现,也强化了知识记忆,扩大了知识储备,是提升自我的一种很好的方法。通过具体的开发,对整个软件开发的过程熟练掌握,不论是前期的设计,还是后续的编码测试,都有了很深刻的认知。

机动车号牌管理系统通过MySQL数据库与Spring Boot框架进行开发,机动车号牌管理系统能够实现牌照换补申请管理,用户管理,牌照申请管理,牌照转移申请管理,车辆信息管理,公告信息管理等功能。

通过机动车号牌管理系统对相关信息的处理,让信息处理变的更加的系统,更加的规范,这是一个必然的结果。已经处理好的信息,不管是用来查找,还是分析,在效率上都会成倍的提高,让计算机变得更加符合生产需要,变成人们不可缺少的一种信息处理工具,实现了绿色办公,节省社会资源,为环境保护也做了力所能及的贡献。

关键 ****:****机动车号牌管理系统,牌照,车辆信息

目 录

[第一章 绪论](#第一章 绪论)

[1.1 选题背景](#1.1 选题背景)

[1.2 选题意义](#1.2 选题意义)

[1.3 研究内容](#1.3 研究内容)

[第二章 开发环境](#第二章 开发环境)

[2.1 Java语言](#2.1 Java语言)

[2.2 MYSQL数据库](#2.2 MYSQL数据库)

[2.3 Eclipse开发工具](#2.3 Eclipse开发工具)

[2.4 Spring Boot框架](#2.4 Spring Boot框架)

[第三章 系统分析](#第三章 系统分析)

3.1可行性分析

3.1.1技术可行性

3.1.2操作可行性

3.1.3经济可行性

3.2系统流程分析

3.3系统性能分析

3.3.1系统安全性

3.3.2数据完整性

3.3.3系统可扩展性

3.4系统功能分析

[第四章 系统设计](#第四章 系统设计)

[4.1 系统设计目标](#4.1 系统设计目标)

4.2功能结构设计

4.3数据库设计

[4.3.1 数据库概念设计](#4.3.1 数据库概念设计)

[4.3.2 数据库物理设计](#4.3.2 数据库物理设计)

[第五章 系统实现](#第五章 系统实现)

5.1管理员功能实现

[5.1.1 车辆信息管理](#5.1.1 车辆信息管理)

[5.1.2 牌照换补申请管理](#5.1.2 牌照换补申请管理)

[5.1.3 牌照申请管理](#5.1.3 牌照申请管理)

[5.1.4 牌照转移申请管理](#5.1.4 牌照转移申请管理)

[5.1.5 用户管理](#5.1.5 用户管理)

[5.2 用户功能实现](#5.2 用户功能实现)

[5.2.1 车辆信息管理](#5.2.1 车辆信息管理)

[5.2.2 牌照换补申请管理](#5.2.2 牌照换补申请管理)

[5.2.3 牌照申请管理](#5.2.3 牌照申请管理)

[5.2.4 牌照转移申请管理](#5.2.4 牌照转移申请管理)

[第六章 系统测试](#第六章 系统测试)

6.1系统测试的特点

[6.2 系统功能测试](#6.2 系统功能测试)

[6.2.1 用户登录测试](#6.2.1 用户登录测试)

[6.2.2 车辆查询测试](#6.2.2 车辆查询测试)

[6.3 系统测试结果](#6.3 系统测试结果)

[结 论](#结 论)

[致 谢](#致 谢)

参考文献

第一章 绪论

1.1 选题背景

目前整个社会发展的速度,严重依赖于互联网,如果没有了互联网的存在,市场可能会一蹶不振,严重影响经济的发展水平,影响人们的生活质量。计算机的发展,不管是从硬件还是软件,都有很多技术储备,每年都有很多的技术和软件产生,纵观各个领域,无一不用互联网软件,办公用的还是电脑居多,但是人手一台智能设备已经变成了现在人们的生活日常,哪怕的普通的老百姓都成了上知天文下知地理的所在,这些都依赖于互联网技术。互联网技术在信息的传播方面是巨大的,而信息的处理就变成了各种产业管理者和维护者的重任。人们已经习惯了互联网的存在,所以经常操作一些互联网产品变成了日常,所以开发一个机动车号牌管理系统,让人们使用是没有一点问题的,并且在这个过程中不仅能够规范机动车号牌信息管理的使用流程还有信息处理流程,也能让整个信息的传播处理,都存在一种可控制的范围,最重要的是,计算机在机动车号牌信息管理方面可以给管理者提供更好的帮助。

第四章 系统设计

到目前为止,市面上已经存在了各种各样的软件系统,从系统的分类着手,主要应用范围倾向于办公系统,娱乐系统,社交系统,然后下面有很多比较细的分支系统。很多系统已经经过了市场的考验,针对不同的业务场景已经开始出现了业务模块化,程序员减代码化的各种设计方式。到目前为止,当要设计一个系统的时候,首先根据业务模型基本上都可以在网上找到类似的模板,然后根据具体业务具体分析,进而实现具体功能,大众的就是最好的,毕竟符合市场主流的就代表着肯定符合常规操作流程。

4.1 系统设计目标

系统设计的时候,就要制定需要达成的目标。在功能上,要严格符合设计需求,不仅仅要减少操作步骤,也要符合预期。因此,在规范化的今天设计出符合项目要求的系统,必须要达到下面设定的目标。

第一个目标就是友好性:友好性主要体现在用户使用过程中,不会对系统的操作产生一种不满,减少操作者的愤怒,这是相当重要的一个体现。前几年好多软件在这个友好性方面失去了市场,就是因为在友好性这方面没有做好。国内互联网发展初期,软件设计的目的就是能用就行,至于友好性的对比,那是不存在的,因为硬件效率比较低,计算机属于新兴行业,所以大哥不说二哥,都是不友好的。随着计算机硬件的提升,很多开发者开始注意到要牺牲一定的计算器性能来提升友好性,因为计算机发展到现在,第一印象很重要,一个软件设计的不好看,会让大部分人对其产生质疑,所以要在友好性上面下很大功夫进行雕琢。

第二个目标就是安全性:安全性其实贯穿着整个软件行业的发展史,计算机就是为解决人类重复性计算以及数据存储的目的而诞生的,很多行业都需要计算机来进行计算,减少出错几率,并且把数据保留,可以实时查询,所以数据的安全性也很重要。

只要保证数据安全性的前提,开发出符合功能需求的友好界面操作,那么就达到了系统设计的目的。

4.2功能结构设计

本系统主要是基于数据的增加,修改,删除等操作,使用者能够通过提前设定的登录功能进入指定的操作区,这里对使用者设计的功能进行结构展示。

管理员功能结构图的绘制结果见图4-1。管理员登录进入本系统操作的功能包括管理车辆,管理公告,管理用户,审核牌照换补申请信息,审核牌照申请信息,审核牌照转移申请信息等。

用户功能结构图的绘制结果见图4-2。用户登录进入本系统操作的功能包括申请牌照换补,申请牌照,申请牌照转移,查看公告,管理车辆信息等。

4.3.2 数据库物理设计

本系统数据在数据库中都是通过各种二维表进行记录保存的,在数据库中设计这样的二维表也是比较重要的内容,因为它影响着数据的存储效率。在设计二维表也就是关系模型之前,一些有关二维表方面的常用概念需要进行充分了解。

关系:一张具体的数据表即表示关系,关系的名称与数据表的名称保持一致;

元组:数据表中,每行显示的数据即代表元组;

属性:数据表中,每列表示的数据即代表属性;

关键字:数据表中,为了与其他数据表进行区分,则需要在每张表中进行主键的设置;

通过上节内容可以知晓数据库中的各个实体,并通过一定方式把这些实体表示的内容进行数据表的转换,通常来说,每个实体都会对应一张具体的数据表,在本系统指定的数据库中创建命名好的数据库,才可以对数据表进行创建与设计。机动车号牌管理系统数据表设计结果展示如下:

表4-1 车辆信息表

|------------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| cheliang_name | 车辆名称 | varchar(200) | 是 |
| cheliang_types | 车辆类型 | int(11) | 是 |
| cheliang_paizhao | 车辆牌照 | varchar(200) | 是 |
| paizhao_types | 牌照类型 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4-2 公告信息表

|--------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| news_name | 公告标题 | varchar(200) | 是 |
| news_types | 公告类型 | int(11) | 是 |
| news_photo | 公告图片 | varchar(200) | 是 |
| insert_time | 公告时间 | timestamp | 是 |
| news_content | 公告详情 | text | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4-3 牌照换补申请表

|---------------------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| cheliang_id | 车辆 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| paizhaohuanbu_types | 申请类型 | int(11) | 是 |
| paizhaohuanbu_paizhao | 牌照 | varchar(200) | 是 |
| paizhaohuanbu_yesno_types | 申请状态 | int(11) | 是 |
| paizhaohuanbu_yesno_text | 申请结果 | text | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4-4 牌照申请表

|-----------------------------|--------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| cheliang_id | 车辆 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| paizhaoshenqing_types | 申请牌照类型 | int(11) | 是 |
| paizhaoshenqing_paizhao | 申请牌照 | varchar(200) | 是 |
| paizhaoshenqing_yesno_types | 申请状态 | int(11) | 是 |
| paizhaoshenqing_yesno_text | 申请结果 | text | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4-5 牌照转移申请表

|---------------------------|--------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| cheliang_id | 车辆 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| paizhaozuanyi_name | 转移用户名称 | varchar(200) | 是 |
| paizhaozuanyi_paizhao | 牌照 | varchar(200) | 是 |
| paizhaozuanyi_yesno_types | 申请状态 | int(11) | 是 |
| paizhaozuanyi_yesno_text | 申请结果 | text | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4-6 管理员表

|----------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | bigint(20) | 否 |
| username | 用户名 | varchar(100) | 否 |
| password | 密码 | varchar(100) | 否 |
| role | 角色 | varchar(100) | 是 |
| addtime | 新增时间 | timestamp | 否 |

表4-7 用户表

|------------------|--------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| username | 账户 | varchar(200) | 是 |
| password | 密码 | varchar(200) | 是 |
| yonghu_name | 用户姓名 | varchar(200) | 是 |
| yonghu_photo | 头像 | varchar(255) | 是 |
| sex_types | 性别 | int(11) | 是 |
| yonghu_phone | 联系方式 | varchar(200) | 是 |
| yonghu_id_number | 用户身份证号 | varchar(200) | 是 |
| yonghu_email | 邮箱 | varchar(200) | 是 |
| yonghu_delete | 假删 | int(11) | 是 |
| create_time | 创建时间 | timestamp | 是 |

第五章 系统实现

这里主要是对系统设计实现进行描述,通过系统的设计和数据库的设计,通过编码后变成了可以进行操作的界面,让一切想法变成了结果,通过文字和具体程序操作界面的截图之间的配合,可以把功能更直观的描述起来。

5.1管理员功能实现

5.1.1 车辆信息管理

管理员进入如图5-1所示的车辆信息管理界面之后,管理员点击信息显示栏中最右侧的修改,删除按钮可依次完成车辆信息的修改,删除等操作,管理员也能在当前界面查询车辆信息,添加车辆信息等。

5.1.2 牌照换补申请管理

管理员进入如图5-2所示的牌照换补申请管理界面之后,管理员点击信息显示栏中最右侧的详情,删除按钮可依次完成牌照换补申请信息的详情查看,删除等操作,管理员在当前界面也能对未处理的牌照换补申请信息进行审核。

5.1.3 牌照申请管理

管理员进入如图5-3所示的牌照申请管理界面之后,管理员点击信息显示栏中最右侧的详情,删除按钮可依次完成牌照申请信息的详情查看,删除等操作。对于牌照申请管理界面未处理的牌照申请信息,管理员需要审核。

5.1.4 牌照转移申请管理

管理员进入如图5-4所示的牌照转移申请管理界面之后,管理员点击信息显示栏中最右侧的详情,删除按钮可依次完成牌照转移申请信息的详情查看,删除操作,对于未处理的牌照转移申请信息,管理员需要审核。

5.1.5 用户管理

管理员进入如图5-5所示的用户管理界面之后,管理员点击信息显示栏中最右侧的修改,删除按钮可依次完成用户信息的修改,删除操作,管理员也能在本界面为用户账户重置密码。

结 论

开发与实现机动车号牌管理系统已经花费了半年时间,在这期间,作为学生的我收获了很多知识。因为独自开发机动车号牌管理系统,仅仅依靠在校期间学到的软件开发方面的知识显然是不行的,还需要通过其他的学习渠道进行程序开发类知识的拓展,比如去图书馆借阅书籍,比如数据库设计的书籍,Java编程语言方面的书籍,软件工程方面的书籍等,还可以通过上网查看编程方面的博客,这些博客呈现的知识是各个软件开发者在工作生涯中总结的编程知识,都是编程知识中的精华,可以帮助学习开发的人员在编程中避免很多开发误区,还可以节省开发的时间。另外,也可以通过数字图书馆下载相似系统方面的参考文献进行程序开发类的知识学习。总而言之,当一个人完成机动车号牌管理系统的设计与开发后,不仅自身的专业知识水平得到了提升,还提高了自己将理论转为实际操作的能力,以及面对问题通过知识学习进而解决问题的能力。

机动车号牌管理系统的设计实现,让我有以下几点体会:

(1)在确定要研究的系统之后,对于系统的研究内容也就是系统的功能的分析与设计是比较重要的部分,这方面主要是站在使用者的角度进行考虑,可以参考相似系统的功能进行设计,也能通过对目标用户群进行问卷调查等方式进行功能需求的确定,只有确定了系统需要的功能之后,才可以开展系统的配套数据库的设计,系统的编码等后续工作。

(2)对于系统的代码编写是一项比较复杂的工作,这也是系统的后端部分,用户操作系统看到的只是代码运行之后呈现出来的操作界面前端部分,编写的代码与运行实现的界面是相对应的,所以编写代码时,需要一边编写,一边查看代码的运行效果,这里就需要编写代码的人员注意一些编写细节,比如规范命名程序变量,注释关键代码等,这些编码习惯会帮助开发者在该系统中进行功能拓展或功能维护中提高效率。

(3)系统的功能模块在编码实现之后,也需要单独进行测试,发现问题之后能够及时进行解决,当系统的所有的功能都实现之后,再次对该系统整体进行测试,方便开发者在检验系统功能的基础上,进行系统问题的修复与完善。

由于时间比较短暂,加上开发期间我都是一边学习理论,一边进行实操,对于开发的机动车号牌管理系统除了具备能够正常运行,能够提供信息管理功能,以及能够保证系统运行期间产生的数据的安全性等特点外,本系统也具备一些缺点,首先表现的就是当使用者使用系统时,在对数据进行查询或者更新时,系统响应时间比较长,增加了用户的等待时间,让用户的使用体验不够理想,其次,机动车号牌管理系统的功能操作的流程设计上也存在一些不合理之处,最后,机动车号牌管理系统对于权限划分,功能模块细分上也存在一些漏洞。

总的说来,在今后的时间里面,自己除了要加强理论知识的学习外,还要继续投入时间和精力去对机动车号牌管理系统进行修复,让本软件拥有更强的性能,比如安全性以及可靠性。

相关推荐
Asthenia041240 分钟前
为什么说MVCC无法彻底解决幻读的问题?
后端
Asthenia041241 分钟前
面试官问我:三级缓存可以解决循环依赖的问题,那两级缓存可以解决Spring的循环依赖问题么?是不是无法解决代理对象的问题?
后端
Asthenia041243 分钟前
面试复盘:使用 perf top 和火焰图分析程序 CPU 占用率过高
后端
Asthenia041243 分钟前
面试复盘:varchar vs char 以及 InnoDB 表大小的性能分析
后端
weifexie44 分钟前
ruby可变参数
开发语言·前端·ruby
Asthenia041244 分钟前
面试问题解析:InnoDB中NULL值是如何记录和存储的?
后端
王磊鑫1 小时前
重返JAVA之路-初识JAVA
java·开发语言
千野竹之卫1 小时前
3D珠宝渲染用什么软件比较好?渲染100邀请码1a12
开发语言·前端·javascript·3d·3dsmax
Asthenia04121 小时前
面试官问我:TCP发送到IP存在但端口不存在的报文会发生什么?
后端
Asthenia04121 小时前
HTTP 相比 TCP 的好处是什么?
后端