目 录
摘要
随着城市化的快速发展,汽车保有量逐年增长,停车问题成为了城市管理的一大难题。传统的停车场管理方式往往效率低下,难以满足现代城市对高效、智能停车的需求。因此,开发一套高效、便捷的停车场管理系统显得尤为重要。基于Servlet技术的停车场管理系统,通过整合现代互联网技术,为停车场管理带来了革命性的变革。
Servlet作为一种服务器端编程技术,具有跨平台、易扩展、性能稳定等特点,在Web应用开发中得到了广泛应用。通过Servlet技术,可以实现停车场信息的停车预约、停车入场、出场信息等功能,大大提高了停车场的管理效率和服务质量。
本文旨在探讨基于Servlet技术的停车场管理系统的设计与实现。首先,我们将分析停车场管理系统的需求,包括停车场管理、停车预约管理、停车入场管理、出场信息管理等核心功能。然后,将详细介绍系统的架构设计、数据库设计以及关键技术的实现。最后,将通过系统的运行效果,并评估其性能和可靠性。
通过本文的研究,期望能够为停车场管理系统的设计与实现提供有益的参考和借鉴,推动停车场管理向智能化、高效化方向发展,为城市交通管理贡献一份力量。
关键词:Java;停车场管理系统;Servlet
Abstract
With the rapid development of urbanization, the number of cars has been increasing year by year, and parking has become a major challenge in urban management. Traditional parking lot management methods often have low efficiency and are unable to meet the demands of modern cities for efficient and intelligent parking. Therefore, developing an efficient and convenient parking lot management system is particularly important. The parking lot management system based on Servlet technology has brought revolutionary changes to parking lot management by integrating modern Internet technology.
As a server-side programming technology, Servlet has the characteristics of cross platform, easy scalability, and stable performance, and has been widely used in web application development. Through Servlet technology, functions such as parking reservation, parking entry, and exit information can be achieved, greatly improving the management efficiency and service quality of parking lots.
This article aims to explore the design and implementation of a parking lot management system based on Servlet technology. Firstly, we will analyze the requirements of the parking lot management system, including core functions such as parking lot management, parking reservation management, parking entry management, and exit information management. Then, a detailed introduction will be given to the system's architecture design, database design, and implementation of key technologies. Finally, the performance and reliability of the system will be evaluated based on its operational performance.
Through the research in this article, it is expected to provide useful reference and inspiration for the design and implementation of parking lot management systems, promote the development of parking lot management towards intelligence and efficiency, and contribute to urban traffic management
Keywords: Java; Parking lot management system; Servlet
1 绪论
1.1 选题背景与意义
随着汽车保有量的迅猛增长,传统的停车场管理方式已难以满足现代城市对高效、便捷停车的需求。因此,开发一套智能化、自动化的停车场管理系统成为了迫切的需求。该系统不仅能够提高停车场的运营效率和服务质量,还能有效缓解城市停车难的问题,提升城市交通的整体运行效率。本研究旨在通过深入分析和设计,实现一个基于先进技术的停车场管理系统,为城市停车管理带来革新和突破。该系统的成功实施不仅将为停车场管理者带来更加智能、高效的管理工具,也将为广大车主提供更加便捷、舒适的停车体验,进一步推动城市交通管理的现代化进程。
1.2国内外研究现状
近年来,随着国内汽车市场的持续繁荣和城市化进程的加速,国内对停车场管理系统的需求日益增长。国内的研究主要集中在如何利用先进的技术手段,如物联网、大数据、人工智能等,来提升停车场的管理效率和服务水平。例如,一些先进的停车场管理系统已经实现了车牌自动识别、空位检测、在线预约和支付等功能,大大提高了停车场的运营效率和用户体验。同时,国内的研究还关注于如何通过系统设计和优化,降低停车场的运营成本,提高停车资源的利用率。
国外研究现状
在国外,停车场管理系统的研究与应用相对更为成熟。由于汽车工业的发达和城市化进程的较早开始,国外对停车场管理系统的需求更早,技术积累也更为深厚。许多国外的研究已经不仅仅局限于提高管理效率和服务水平,而是开始探索如何将停车场管理系统与城市交通管理系统进行深度整合,以实现更加智能、高效的城市交通管理。例如,一些先进的停车场管理系统已经能够实现与公共交通系统、导航系统等的无缝对接,为用户提供更加便捷、个性化的出行服务。此外,国外的研究还关注于如何通过数据分析和挖掘,为城市规划和管理提供决策支持。
综上所述,国内外在停车场管理系统的研究与应用方面均取得了一定的成果,但也存在一些挑战和问题。未来,随着技术的不断发展和市场的不断变化,停车场管理系统的研究和应用将更加深入和广泛。
1.3论文结构与章节安排
本文共分为六章,章节内容安排如下:
第一章:引言。此章节对所设计和实现的系统的背景和状况以及意义进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。
第二章:系统需求分析。章节所做的主要的工作是对系统进行了技术、经济和操作方面可行性的分析;对系统实行了总体功能的需求、用例分析。
第三章:系统的设计。主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。
第四章:系统的实现。根据系统功能的划分,分别的对系统所需要实现的前台客户功能和后台管理员功能进行了分析和说明。
第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试
2 停车场管理系统系统分析
系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。
2.1 可行性分析
系统可行行分析是对系统对系统可行性进行一个探讨。在探讨系统的可行性上我们主要从技术上的可行性和经济上的可行性以及法律层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。
2.1.1 技术可行性分析
基于Servlet技术的停车场管理系统在技术上是完全可行的。Servlet作为一种成熟、稳定的服务器端编程技术,已广泛应用于Web应用开发,并具备跨平台、易扩展和性能稳定等优势。结合现代互联网技术,如数据库技术、前端框架等,可以实现停车场信息的在线查询、预约、缴费等功能,并提升系统的整体性能和用户体验。因此,采用Servlet技术构建停车场管理系统在技术上是切实可行的,能够满足现代城市对高效、智能停车的需求。
2.1.2 经济可行性分析
从经济可行性上看项目在开发阶段需要一台开发PC,在生产阶段需要web服务器和数据库服务器。一台个人PC从经济上来看也不是太多问题,在后期的系统部署生产上来说,服务器的投入也不会过高,在经济层面上是一个比较可行的。
2.1.3 法律可行性分析
系统从法律层面上来看没有对第三方有其他法律层面的问题,系统数据库采用的MySQL开源社区数据库、框架采用的是开源的servlet。系统资讯和相关内容也是符合法律层面的。在源码的管理上采用git开源进行管理,所以在法律可行性上是成立的。
2.2 系统功能分析
2.2.1 功能性分析
停车场管理系统我划分为了停车用户、操作员和管理员三大部分。功能需求分析如下:
(一)停车用户管理模块:
注册登录:允许停车用户注册账号并提供必要信息,以及通过账号密码登录系统,确保用户身份的合法性和安全性。
首页: 展示停车场管理系统的概况、最新停车公告和相关信息,方便用户了解停车场的运行状态和规定。
停车公告: 提供重要的停车场公告信息,包括停车场规定、停车费用、停车位预约等,帮助用户顺利停车。
停车场: 提供停车场信息,包括停车位剩余数量、停车费用、停车场位置等,方便用户选择停车场并实时了解停车情况。
我的账户:允许用户管理自己的账户信息,包括个人资料、头像、密码等。
个人首页: 展示用户个人信息和停车记录等。
停车入场: 提供停车入场功能,用户可以记录停车时间并生成停车记录。
停车预约: 允许用户预约停车位,提前安排停车计划。
出场信息: 提供出场信息,包括出场时间、停车费用等。
收藏: 允许用户收藏感兴趣的停车场信息或公告。
(二)操作员管理模块:
登录: 提供安全的操作员登录功能,确保只有授权的操作员可以访问系统。
后台首页: 展示系统概览、最新数据和快捷入口,方便操作员监控系统运行状态。
系统用户: 管理系统用户,包括添加新用户、编辑用户信息、删除用户等操作,以确保系统安全性。
停车场管理: 管理停车场信息,包括停车位管理、停车费用设定、停车场位置管理等。
停车预约管理: 管理停车位的预约情况,包括预约信息的查看、审核、取消等操作。
停车入场管理: 管理停车场的入场情况,包括记录车辆入场时间、生成停车记录等。
出场信息管理: 管理车辆的出场信息,包括记录车辆出场时间、计算停车费用等操作。
登录: 提供安全的管理员登录功能,确保只有授权的管理员可以访问系统。
后台首页: 展示系统概览、最新数据和快捷入口,方便管理员监控系统运行状态。
系统用户: 管理系统用户,包括添加新用户、编辑用户信息、删除用户等操作,以确保系统安全性。
停车场管理: 管理停车场信息,包括停车位管理、停车费用设定、停车场位置管理等。
停车预约管理: 管理停车位的预约情况,包括预约信息的查看、审核、取消等操作。
停车入场管理: 管理停车场的入场情况,包括记录车辆入场时间、生成停车记录等。
出场信息管理: 管理车辆的出场信息,包括记录车辆出场时间、计算停车费用等操作。
系统管理: 管理系统轮播图的发布。
停车公告管理: 发布停车场相关公告,包括停车规定、系统更新等信息,以保障用户了解最新情况。
2.2.2 非功能性分析
停车场管理系统的非功能性需求,比如停车场管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:
表2-1停车场管理系统非功能需求表
安全性 | 主要指停车场管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指停车场管理系统能够按照用户提交的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响停车场管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着停车场管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 停车场管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.3 系统用例分析
停车场管理系统的完整UML用例图分别是图2-1、2-2和2-3。
图2-1就是停车用户角色的用例展示。
图2-1 停车场管理系统停车用户角色用例图
图2-2就是管理员角色的用例展示。
图2-2 停车场管理系统管理员角色用例图
图2-3就是操作员角色的用例展示。
图2-3 停车场管理系统操作员角色用例图
2.4 系统流程分析
2.4.1 数据流程
开发停车场管理系统最主要的一个目的就是实现用户对停车入场,图2-4就是系统的数据流图。
图2-4停车场停车操作展开图
2.4.2 业务流程
分析完停车场管理系统的数据流,那么接下来我们来看系统的业务流程,图2-5就是业务流程图:
2.5本章小结
本章主要通过对停车场管理系统的可行性分析、功能需求分析、系统用例分析、系统流程分析,确定整个停车场管理系统要实现的功能。同时也为停车场管理系统的代码实现和测试提供了标准。
3 停车场管理系统总体设计
本章主要讨论的内容包括停车场管理系统的功能模块设计、数据库系统设计。
3.1 系统功能模块设计
3.1.1整体功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本停车场管理系统中的用例。那么接下来就要开始对本停车场管理系统的架构、主要功能和数据库开始进行设计。停车场管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-1所示。
图3-1 停车场管理系统功能模块图
3.1.2用户模块设计
本系统的用户包括管理员和用户两种用户模块的功能基本是相同的,用户比管理员多了一个注册功能,所以以用户模块的结构图为例进行分析,用户模块结构图为例进行分析,如下图:
图3-2用户模块结构图
3.1.3 评论管理模块设计
停车场管理系统是一个交流性质的公开平台,用户在平台上提交评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的评论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:
图3-3评论管理模块结构图
3.1.4停车预约管理模块设计
停车场管理系统是中需要存储不少预约信息,其模块功能结构,具体的结构图如下:
图3-4预约信息模块结构图
3.1.5出场信息管理模块设计
停车场管理系统是中需要存储不少出场信息,其模块功能结构,具体的结构图如下:
图3-5出场信息模块结构图
3.1.6停车入场管理模块设计
停车场管理系统最重要的一个功能就是停车入场,其模块功能结构,具体的结构图如下:
图3-6停车入场模块结构图
3.2 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.2.1 数据库概念结构设计
下面是整个停车场管理系统中主要的数据库表总E-R实体关系图。
图3-7 停车场管理系统总E-R关系图
3.2.2 数据库逻辑结构设计
通过上一小节中停车场管理系统中总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 | 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 | 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 | appointment_number | varchar | 64 | 0 | N | N | 预约编号 | |
3 | garage_name | varchar | 64 | 0 | Y | N | 车库名称 | |
4 | parking_space_specifications | varchar | 64 | 0 | Y | N | 车位规格 | |
5 | parking_unit_price | int | 10 | 0 | Y | N | 0 | 停车单价 |
6 | garage_location | varchar | 64 | 0 | Y | N | 车库位置 | |
7 | fee_description | text | 65535 | 0 | Y | N | 收费说明 | |
8 | operator | int | 10 | 0 | Y | N | 0 | 操作员 |
9 | parking_users | int | 10 | 0 | Y | N | 0 | 停车用户 |
10 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
11 | car_name | varchar | 64 | 0 | Y | N | 汽车名称 | |
12 | license_plate_number | varchar | 64 | 0 | Y | N | 车牌号 | |
13 | vehicle_screenshot | varchar | 255 | 0 | Y | N | 车辆截图 | |
14 | number_of_vehicles | varchar | 64 | 0 | Y | N | 车辆数 | |
15 | storage_time | datetime | 19 | 0 | Y | N | 入库时间 | |
16 | outbound_time | datetime | 19 | 0 | Y | N | 出库时间 | |
17 | parking_duration | varchar | 64 | 0 | Y | N | 停车时长 | |
18 | payment_amount | varchar | 64 | 0 | Y | N | 支付金额 | |
19 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
20 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
21 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
22 | 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 | operator_id | int | 10 | 0 | N | Y | 操作员ID | |
2 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
3 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
4 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
5 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | parking_entry_id | int | 10 | 0 | N | Y | 停车入场ID | |
2 | appointment_number | varchar | 64 | 0 | N | N | 预约编号 | |
3 | garage_name | varchar | 64 | 0 | Y | N | 车库名称 | |
4 | parking_space_specifications | varchar | 64 | 0 | Y | N | 车位规格 | |
5 | parking_unit_price | int | 10 | 0 | Y | N | 0 | 停车单价 |
6 | garage_location | varchar | 64 | 0 | Y | N | 车库位置 | |
7 | fee_description | text | 65535 | 0 | Y | N | 收费说明 | |
8 | appointment_date | date | 10 | 0 | Y | N | 预约日期 | |
9 | operator | int | 10 | 0 | Y | N | 0 | 操作员 |
10 | parking_users | int | 10 | 0 | Y | N | 0 | 停车用户 |
11 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
12 | car_name | varchar | 64 | 0 | Y | N | 汽车名称 | |
13 | license_plate_number | varchar | 64 | 0 | Y | N | 车牌号 | |
14 | vehicle_screenshot | varchar | 255 | 0 | Y | N | 车辆截图 | |
15 | number_of_vehicles | varchar | 64 | 0 | Y | N | 车辆数 | |
16 | storage_time | datetime | 19 | 0 | Y | N | 入库时间 | |
17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | parking_lot_id | int | 10 | 0 | N | Y | 停车场ID | |
2 | garage_name | varchar | 64 | 0 | N | N | 车库名称 | |
3 | garage_image | varchar | 255 | 0 | Y | N | 车库图片 | |
4 | parking_space_specifications | varchar | 64 | 0 | Y | N | 车位规格 | |
5 | number_of_parking_spaces | int | 10 | 0 | Y | N | 0 | 车位数量 |
6 | parking_unit_price | int | 10 | 0 | Y | N | 0 | 停车单价 |
7 | garage_location | varchar | 64 | 0 | Y | N | 车库位置 | |
8 | fee_description | text | 65535 | 0 | Y | N | 收费说明 | |
9 | operator | int | 10 | 0 | Y | N | 0 | 操作员 |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | parking_reservation_id | int | 10 | 0 | N | Y | 停车预约ID | |
2 | appointment_number | varchar | 64 | 0 | Y | N | 预约编号 | |
3 | garage_name | varchar | 64 | 0 | Y | N | 车库名称 | |
4 | parking_space_specifications | varchar | 64 | 0 | Y | N | 车位规格 | |
5 | parking_unit_price | int | 10 | 0 | Y | N | 0 | 停车单价 |
6 | garage_location | varchar | 64 | 0 | Y | N | 车库位置 | |
7 | fee_description | text | 65535 | 0 | Y | N | 收费说明 | |
8 | appointment_date | date | 10 | 0 | Y | N | 预约日期 | |
9 | operator | int | 10 | 0 | Y | N | 0 | 操作员 |
10 | parking_users | int | 10 | 0 | Y | N | 0 | 停车用户 |
11 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
12 | car_name | varchar | 64 | 0 | Y | N | 汽车名称 | |
13 | license_plate_number | varchar | 64 | 0 | Y | N | 车牌号 | |
14 | vehicle_screenshot | varchar | 255 | 0 | Y | N | 车辆截图 | |
15 | number_of_vehicles | varchar | 64 | 0 | Y | N | 车辆数 | |
16 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
17 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | parking_users_id | int | 10 | 0 | N | Y | 停车用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | car_name | varchar | 64 | 0 | Y | N | 汽车名称 | |
5 | license_plate_number | varchar | 64 | 0 | N | N | 车牌号 | |
6 | vehicle_screenshot | varchar | 255 | 0 | Y | N | 车辆截图 | |
7 | number_of_vehicles | varchar | 64 | 0 | Y | N | 车辆数 | |
8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | 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已取消 |
表slides (轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
表upload (文件上传)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文件类型 |
表user (用户账户:用于保存用户登录信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
表user_group (用户组:用于用户前端身份和鉴权)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
3.3本章小结
整个停车场管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 停车场管理系统详细设计与实现
停车场管理系统的详细设计与实现主要是根据前面的停车场管理系统的需求分析和停车场管理系统的总体设计来设计页面并实现业务逻辑。主要从停车场管理系统界面实现、业务逻辑实现这两部分进行介绍。
4.1用户功能模块
4.1.1 前台首页界面
当进入停车场管理系统的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
停车场管理系统的游客和车主用户时可以进行注册登录,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。用户注册界面展示如下图4-2所示。
图4-2注册界面图
4.1.3 用户登录界面
停车场管理系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当车主用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到停车场管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3用户登录界面图
4.1.4停车公告界面
当访客点击停车场管理系统中导航栏上的“停车公告”后将会进入到该“停车公告”列表的界面,然后选择想要看的停车公告,点击进入到详细界面。停车公告列表展示界面如下图所示。
图4-4停车公告列表展示界面图
4.1.5停车场详情界面
用户可以查看停车场信息,在查询到自己想要了解的停车场信息的时候,可以进入查看详细的介绍,可以了解到该停车场的车库名称、车库规格、车位数量、停车单价等,停车场详情界面如下图4-5所示。
图4-5停车场详情界面图
4.2操作员功能模块
4.2.1停车预约管理
操作员管理停车位的预约情况,包括预约信息的查看、审核、取消等操作。停车预约界面如下图4-6所示。
图4-6停车预约管理界面图
4.2.2停车入场管理
操作员管理停车场的入场情况,包括记录车辆入场时间、生成停车记录等。停车入场界面如下图4-7所示。
图4-7停车入场管理界面图
4.3后台管理功能模块
4.3.1后台首页界面
管理人员登录系统后台首页,首页会显示停车场统计数据统计图表,统计图根据各模块的数据自动统计。管理员后台首页界面如下图4-8所示。
图4-8后台首页界面图
4.3.2系统用户界面
停车场管理系统中的管理人员在“系统用户”这一菜单是中可以对注册的停车用户、操作员以及管理员进行管控。界面如下图4-9所示。
图4-9用户管理界面图
4.3.3 停车场管理界面
管理员点击“停车场”会显示出所有的停车场信息,支持选择车库名称或车库位置等对停车场进行查询,如果想要添加新的停车场,点击“添加”按钮,输入车库名称、停车单价、收费说明、车库位置等信息,点击“提交”按钮就可以添加了,同时可以选择某一条停车场信息,点击“删除”进行删除。界面如下图4-10和4-11所示。
图4-10停车场列表界面图
图4-11停车场添加界面图
4.3.4系统管理界面
管理人员在“系统管理”这一菜单下是可以对停车场管理系统内的轮播图进行添加修改的,其管理界面如下图4-12所示。
图4-12系统轮播图管理界面图
5系统测试
5.1 系统测试用例
系统测试包括:用户登录功能测试、停车公告展示功能测试、停车入场添加、预约信息搜索、密码修改、停车入场功能测试,如表5-1、5-2、5-3、5-4、5-5、5-6所示:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
停车公告查看功能测试:
表5-2 停车公告查看功能测试表
用例名称 | 停车公告查看 |
目的 | 测试停车公告查看功能 |
前提 | 用户登录 |
测试流程 | 点击停车公告列表 |
预期结果 | 可以查看到所有停车公告信息 |
实际结果 | 实际结果与预期结果一致 |
管理员添加停车入场测试:
表5-3 管理员添加停车入场界面测试表
用例名称 | 添加停车入场测试用例 |
目的 | 测试停车入场添加功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员点击停车入场,然后点击添加后并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,页面首页会显示新的停车入场 |
实际结果 | 实际结果与预期结果一致 |
预约信息搜索功能测试:
表5-4预约信息搜索功能测试表
用例名称 | 预约信息搜索测试 |
目的 | 测试预约信息搜索功能 |
前提 | 无 |
测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 | 页面显示包含有搜索关键字的预约信息 |
实际结果 | 实际结果与预期结果一致 |
密码修改搜索功能测试:
表5-5 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
停车入场功能测试:
表5-6停车入场功能测试表
用例名称 | 停车入场测试用例 |
目的 | 测试用户停车入场功能 |
前提 | 用户正常登录情况下 |
测试流程 | 1)搜索查看停车入场,点击入场。 2)填写停车入场信息,点击进行提交。 |
预期结果 | 停车成功 |
实际结果 | 实际结果与预期结果一致 |
5.2 系统测试结果
通过编写停车场管理系统的测试用例,已经检测完毕用户登录功能测试、停车公告展示功能测试、停车入场添加、预约信息搜索、密码修改、停车入场功能测试,通过这6大模块为停车场管理系统的后期推广运营提供了强力的技术支撑。
结论
停车场管理系统的设计,通过互联网来解决实现信息化的网站系统,通过我四年所学的所有专业知识整合一起,进行对停车场管理系统进行开发设计,当然在真正着手来做的时候遇到了很多问题,一个是网站的技术问题,一个是自己之前没有单独开发过程序,动手实践比较少,面对问题的同时,自己的自信心也受到了一些打击,不过我也是快速的调整自己的状态,老师与同学讨论的方法解决了所有的困难。
毕业设计是我们所学知识应用的最佳体现,也是在考核我们四年中所学的所有的专业知识及技术应用情况,通过这样毕业设计可以更好的得到锻炼及对所学知识的复习及运用,也是一种训练和实践。停车场管理系统的实现,不仅巩固了我以前的知识,还对学到的知识通过结合技术进行详细了解,还结合了对跨学科效果的深入理解。
在以后我的工作中,我仍然会继续努力我的计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信自己可以胜任更多的好工作并在工作领域做出更大的贡献。
回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作让我有了更多的信心,我相信在未来的路上,我会走的更好。
参考文献
[1]熊强强,曾美琳,况世江.基于CDIO工程教育的Java程序设计课程教学实践[J].电子技术,2023,52(10):94-95.
[2]Annette D ,Muh A ,Shafira N A , et al.Societal influence and psychological distress among Indonesian adults in Java on the early Omicron wave of COVID-19.[J].Future science OA,2023,9(10):FSO894-FSO894.
[3]李霞婷,徐瀚颖.1+X证书与《Java程序设计》课程的课证融通路径探索[J].学周刊,2024,(01):94-97.DOI:10.16657/j.cnki.issn1673-9132.2024.01.024.
[4]宋晓燕,杨芬.Java程序设计语言的分层教学实践[J].电子技术,2023,52(11):182-183.
[5]张永军,李翔.多维度Java EE课程教学改革探索[J].中国信息技术教育,2023,(22):97-99.
[6]张国芳.Java编程语言在计算机软件开发中的应用方向分析[J].信息记录材料,2023,24(11):138-141.DOI:10.16009/j.cnki.cn13-1295/tq.2023.11.042.
[7]Krill P .Azul cloud service spots dead code in Java apps[J].InfoWorld.com,2023,
[8]Krill P .Java 22 begins to take shape[J].InfoWorld.com,2023,
[9]Defri Y ,Pratiwi N ,Narriyah E S P , et al.Spatial distribution and composition of marine litter on sandy beaches along the Indian Ocean coastline in the south Java region, Indonesia#13;[J].Frontiers in Marine Science,2023,10
[10]王云力,曾超,孟凡真.机械式立体停车库综合管理系统构建研究[C]//中国重型机械工业协会停车设备工作委员会.第二十四届机械式停车设备技术研讨会论文集.重庆交通大学交通运输学院;深圳市智慧城市科技发展集团有限公司;,2023:6.DOI:10.26914/c.cnkihy.2023.029139.
[11]王云力,曾超,孟凡真.机械式立体停车库综合管理系统构建研究[J].中国建筑金属结构,2023,22(S1):70-75.DOI:10.20080/j.cnki.ISSN1671-3362.2023.S1.020.
[12]王传家.基于智能化技术的智慧停车管理系统设计[J].集成电路应用,2023,40(07):396-397.DOI:10.19339/j.issn.1674-2583.2023.07.178.
[13]何露莹.大型智能停车场管理系统的设计与实现[D].桂林电子科技大学,2023.DOI:10.27049/d.cnki.ggldc.2023.000156.
[14]郭晓宇.基于机器视觉的精细化停车管理系统研究与设计[D].中北大学,2023.DOI:10.27470/d.cnki.ghbgc.2023.001221.
[15]彭露瑶,刘江锋,张黎明等.基于智慧杆塔的路侧停车管理系统研究[J].中国电信业,2022,(S1):53-55.
[16]郭立强.基于物联网的智慧停车管理系统设计[J].信息与电脑(理论版),2022,34(23):132-134.
[17]吴亮.基于NB-IoT技术的智慧停车管理系统设计[J].现代信息科技,2022,6(22):149-153.DOI:10.19850/j.cnki.2096-4706.2022.22.037.
[18]GB/T 41976-2022,停车设备 智能控制与管理系统[S].
[19]韩木土,施正舟.基于广电网络的智慧停车管理系统应用[J].中国有线电视,2022,(09):29-32.
[20]陈星.城市级智慧停车综合管理系统的研究与应用[J].运输经理世界,2022,(15):68-70.
致 谢
到此,整个停车场管理系统就算完成了,虽然过程十分艰难,但是等到都完成的时候,我感觉无比的自豪,虽然设计的系统还存在许多的纰漏,但是我已经拼劲全力,给自己的大学四年画上了一个圆满的句号。
在这里我首先要感谢的就是大学四年来所有教导我的老师,是他们教会了我许多的专业知识以及做人的道理,从一进校门对对开发系统一窍不通到现在能自主开发一个管理系统,里面包含了前台框架、后台框架、业务流程、数据结构、操作系统等各种知识,只有把他们统一运用好,才能够完成整个系统,这都是老师的功劳;其次我要感谢我的指导老师,在开发这个系统的时候,我遇到了无数的问题,经常通过线上、线下的方式去请教导师,每次去请教导师,他从来没有不耐烦,都是细心的引导,告诉我怎么样实现这个功能,怎么样才能使得系统更加完善,然后通过自己查询相关资料解决问题,提高了自己自主解决问题的能力,授人以鱼不如授人以渔,指导老师的这种工作态度受益终生,我也会向老师不断靠拢,向他学习,在此我只想说一句:“老师,谢谢您,您辛苦了”!最后我还要感谢我的室友、同学,在一起学习这四年,他们不但学习上给了我很多建议,在生活上更加给了我帮助,正是有他们的帮助,我的大学生涯才如此完美。
最后,希望自己在未来的道路上能够越走越远,不辜负在大学的学习以及老师们的细致的教导,追风赶月莫停留,平荒尽处是春山。