基于SpringBoot的停车管理系统
摘 要
本文介绍了一个基于SpringBoot的停车管理系统。该系统利用SpringBoot的优势,提供了一套完整的解决方案来帮助停车场实现高效的管理和运营。通过与数据库的交互,系统实现了车辆的入库、出库以及停车位的管理等功能。同时,系统提供了API接口,方便其他系统或移动端应用与之交互,用户可以进行车辆查询、停车位预定、支付等操作。此外,系统还支持与硬件设备配合,实现自动化管理。总而言之,基于SpringBoot的停车管理系统为停车场提供了高效管理和运营的解决方案,提升停车体验和运营效率。
关键词:停车管理系统;;SpringBoot
This paper introduces a parking management system based on SpringBoot. The system leverages the benefits of SpringBoot to provide a complete solution to help parking lots achieve efficient management and operations. Through the interaction with the database, the system realizes the functions of the vehicle entry, exit and parking space management. At the same time, the system provides an API interface, which is convenient for other systems or mobile applications to interact with it, and users can conduct vehicle inquiry, parking space reservation, payment and other operations. In addition, the system also supports cooperation with hardware devices to achieve automated management. In summary, Springboot-based parking management systems provide efficient management and operation solutions for parking lots, improving parking experience and operational efficiency.
Keywords: Parking management system;; SpringBoot
目 录
第一章 引言
随着城市化进程的加速和人们生活水平的提高,私家车数量不断增加,停车问题逐渐成为城市管理中的一大难题。停车难、停车贵、停车位紧张等问题困扰着广大车主和城市管理者。为了解决这些问题,停车管理系统应运而生。传统的停车管理系统存在着信息不透明、管理效率低下、服务质量不高等问题,无法满足现代社会的需求。因此,研究一种高效、智能、便捷的停车管理系统成为了一项迫切的任务。
基于SpringBoot的停车管理系统就是在这样的背景下诞生的一种新型停车管理系统。SpringBoot框架以其高效、灵活、易于扩展的特点,成为了停车管理领域的优选方案。通过基于SpringBoot的停车管理系统,可以实现车位信息的实时更新、车辆信息的智能化管理、停车费用的自动化计算等功能,为车主和管理者提供更加便捷、高效的服务。
综上所述,基于SpringBoot的停车管理系统是在私家车数量不断增加、停车问题日益突出的背景下进行研究的一种新型停车管理系统。它旨在提高停车管理的效率和服务质量,解决停车难、停车贵等问题,为车主和管理者提供更加便捷、高效的服务。
- 研究意义
基于SpringBoot的停车管理系统研究意义:首先,从实用性角度来看,基于SpringBoot的停车管理系统可以有效地解决停车难、停车贵等问题,为车主提供更加便捷、高效的停车服务。通过实时更新车位信息、智能化管理车辆信息和自动化计算停车费用等功能,该系统能够提高停车的效率和管理水平,满足现代社会对停车服务的需求。
其次,从技术角度看,基于SpringBoot的停车管理系统采用了先进的软件工程技术,具有良好的可扩展性和可维护性。利用SpringBoot框架的特性,可以快速开发出高效、稳定的系统,满足高流量的场景需求。同时,该系统还可以与其他智能化管理系统进行集成,为城市管理提供更加全面、智能的服务。
此外,从经济角度看,基于SpringBoot的停车管理系统可以降低停车成本和管理成本,提高经济效益。通过智能化管理和自动化计算等功能,可以减少人工干预和人为错误,降低管理成本和运营成本。同时,该系统还可以通过共享车位等方式,最大化地利用停车资源,提高经济效益。
基于SpringBoot的停车管理系统具有实际应用价值、技术优势和经济利益等研究意义。它不仅可以解决停车难、停车贵等问题,提高车主的停车效率和便利性,还可以降低管理成本和运营成本,提高经济效益和社会效益。因此,对基于SpringBoot的停车管理系统进行研究具有重要的意义。
基于SpringBoot的停车管理系统在国内外的研究现状如下:
在国外,由于城市化进程的发展,停车难的问题也普遍存在。由于发达国家信息技术应用较早,他们在解决停车问题上进行了深入的研究和解决方案。例如,日本已经通过停车场导引系统帮助用户快速找到车位。这种系统使用显示屏显示停车场的车位情况,绿色表示可以停车,并提供区位指引,使车主可以快速到达停车场并完成停车,从而减少了违规乱停的现象。此外,随着网络技术的发展,智能停车管理系统已经将网络技术应用其中,通过布置传感器和结合光电传感技术,实时将数据上传到服务器,并通过数据库存储车位状态,方便用户查询车位情况,提高了停车场的利用率。另外,一些国家还利用智能手机的发展,通过手机屏幕帮助车主快速查询空闲停车位。
在国内,随着经济的发展和城市化的加速,停车难的问题也越来越突出。因此,基于SpringBoot的停车管理系统逐渐成为研究的热点。该系统的研究涉及到多个领域的知识,包括计算机技术、网络技术、传感器技术等。目前,国内已经有一些基于SpringBoot的停车管理系统被研发出来,并在一些城市进行了试点应用。这些系统大多实现了入场停车、出场缴费、投诉建议、违规处罚、论坛交流等基础功能,并采用了智能化的算法对车位进行管理,提高了停车的效率和便利性。
尽管如此,基于SpringBoot的停车管理系统仍然存在一些挑战和问题。例如,系统的稳定性和安全性需要进一步保障;数据的实时性和准确性需要进一步提高;系统的可扩展性和可维护性需要进一步加强;以及智能化管理的程度需要进一步提升等。
基于SpringBoot的停车管理系统在国内外都得到了广泛关注和应用。虽然仍存在一些问题需要解决,但该领域的研究和发展前景仍然十分广阔。
首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。其次,在开发工具上,最终确定选用Java平台来设计开发本系统,Mysql作为设计数据库的工具。即利用Java语言实现用户界面,并同数据库连接起来实现完整的通信功能。之后,设计出系统大致的功能模块。主要从方便用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。
第五节 论文结构说明
本文一共分为六章,每章具体内容介绍如下:
第一章,引言,首先介绍了信阳一中停车管理系统的背景,通过传统停车场的对比,指出开发信阳一中停车管理系统的研究现状,接着对该论文的结构进行说明。
第二章,需求分析,对系统进行可行性分析、系统功能需求分析以及非功能性需求分析等。
第三章,系统总体设计,通过对当前用户的需求分析来阐述该系统的整体架构以及数据库分析设计,确定各功能模块以及最终系统需要实现的功能。
第四章,关键模块的设计与实现,根据设计目标对各个主要功能模块分别进行详细设计,主要功能代码及其实现过程和功能界面设计。
第五章,系统测试,根据用户实际需求,对该系统主要功能模块进行测试。
第六章,结论
第一节 系统可行性分析
一、技术可行性分析
停车管理系统在数据的存储上使用的MYSQL数据库,在停车管理系统开发中使用了了Java、IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统采用B/S模式开发,使系统的可扩展性和维护性更好,减少系统配置代码以及编程代码,目前最流行的是B/S模式(B/SModel)
二、经济可行性分析
在开发停车管理系统中所使用的开发软件像IDEA开发工具、tomcat服务器、SpringBoot开发框架、MySQL5.7数据库、Photoshop图片处理软件等,这些环境从网上就能免费下载,而且网上都有安装的教程,根据教程一步一步的操作,就可以安装成功,不需要花任何费用,并且停车管理系统是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少系统开发费用。
三、操作可行性分析
操作方面主要考虑的是用户在使用以及管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的停车管理系统在设计的时候秉承简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成。
在这个项目的设计中,我借鉴了大量的成功案例,深入分析了它们的操作界面和功能,并结合了多个案例,以人为本,简化了操,,使本项目即使计算机基础知识的人也能轻而易举地完成。由于这些原因,这个操作是可行的。
四、法律可行性分析
系统从法律层面上来没有对第三方有其他放有法律层面的问题,系统数据库采用的Mysql开源社区数据库、框架采用的是开源的SpringBoot。系统资讯和相关内容也是法律层面的。在源码的管理上采用git开源进行管理,所以在法律可行性上是成立的。
第二节 系统需求分析
一、功能需求分析
停车管理系统分为两部分:管理员模块和普通用户模块。
(一)管理员:
(1)登录:管理员的账号是在数据列表中直接设置生成的,不需要进行注册,可直接输入账号密码登录,同时可对管理员资料进行增删改查。
(2)系统用户:当管理员点击“系统用户”这一菜单时,可查看管理员和普通用户这两个子菜单。同时管理员可以对系统用户信息进行增删改查。
(3)车位信息管理:当管理员点击“车位信息管理”这一菜单时,可查看车位信息列表和车位信息添加,点击“车位信息添加”时,输入车位编号、车位位置、停车价格,选择车位状态,上传车位封面,填写注意事项,点击“提交”按钮可添加新的车位信息。
(4)停车预约管理:当管理员点击“停车预约管理”这一菜单时,可查看天气和预约列表,同时可查看停车预约详情。
(5)离场信息管理:当管理员点击“离场信息管理”这一菜单时,可查看离场信息列表,同时。对用户的离场信息添加停车费用。
(6)预约取消管理:当管理员点击“预约取消管理”这一菜单时,可查看预约取消列表。
(7)系统管理:当管理员点击“系统管理”这一菜单时,可查看轮播图管理,如需添加新的轮播图,点击右侧“添加”按钮,上传轮播图,填写标题,点击“提交”按钮进行添加。同时管理员可对轮播图进行增删改查。
(8)公告消息管理:当管理员点击公告消息管理这一菜单时,可查看公告消息这一子菜单。如需添加新的公告消息,点击右侧“添加”按钮,输入标题和正文,点击“提交”按钮进行添加。
(9)资源管理:当管理员点击资源管理这一菜单时,可查看停车资讯和资讯分类这两个子菜单。如需添加新的资讯分类,点击右侧“添加”按钮,输入类型名称,点击“提交”按钮进行添加;如需添加新的停车资讯,点击右侧“添加”按钮,上传封面图,输入标题,选择分类,输入标签和描述,填写正文,点击“提交”按钮进行添加。
(二)普通用户:
(1)注册登录:用户通过注册登录系统,可对个人信息进行增删改查。比如个人资料、头像和密码修改。
(2)首页:用户注册登录后可查看首页信息,包括(公告消息、停车资讯、车位信息)
(3)公告消息:当用户点击“公告消息”这一菜单时,可查看系统公告、关于我们、联系方式和网站介绍。
(4)停车资讯:当用户点击“停车资讯”这一菜单时,可查看停车资讯列表,同时可对资讯进行点赞,收藏和评论。
(5)车位信息:当用户点击“车位信息”这一菜单时,可查看车位信息列表,同时可对车位信息进行收藏和预约停车操作;预约停车需填写用户电话,车牌号码及预约时间。
(6)个人中心:当用户点击头像时,可查看“个人中心”这一菜单,个人中心包括(个人首页、停车预约、离场信息、预约取消、收藏)
二、非功能性需求分析
停车管理系统的安全性、可靠性、性能和可扩展性是其重要的考量因素,它们不仅满足了用户对于功能性的要求,还为用户提供了更多的便利。根据表格2-1,我们可以清楚地看到这一点:
表2-1 停车管理系统非功能需求表
安全性 | 主要指停车管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指停车管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响停车管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着停车管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 停车管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
第三节 系统流程分析
开发人员可以通过对上述业务流程的运用,以符合和线条的方式,对系统的运行机制进行更好的理解,并对用户在使用系统时的体验进行演示。另外,业务流程也能帮助开发者找到系统中的bug并且加以完善一、新增数据。
一、增添数据
当用户成功登录系统,即可获得指定的编号,这些编号由系统生成,而用户无权更改,只需要提供指定的编号,而其余的信息则需要由用户自行完成,完成之后,系统会对所提交的信息进行审核,如果审核结果符合要求,则表明增加数据已获得成功;否则,则说明未获得成功,如图2-12所示。
图2-2 数据增加流程图
二、修改数据
在数据修改过程中,与之前提到的数据增加过程相似,如图2-3所示。
图2-3 数据修改流程图
三、删除数据
当系统中出现了一些无效信息时,管理人员应采取措施将其删除处理,而图2-4则提供了删除这些无效信息过程的流程图。
图2-4 数据删除流程图
第四节 系统用例分析
普通用户角色在停车管理系统中的使用示意图如图2-5所示:
图2-5普通用户角色用例图
停车管理系统中管理员角色用例图如图2-6所示:
图2-6管理员角色用例图
第三章 系统总体设计
本章将深入探究停车管理系统的各种功能模块,以及如何构建一个高效的数据库。
第一节 系统架构设计
停车管理系统由用户界面(UI)、业务流程层(BLL)、数据层(DL)三个层次组成。
图3-1停车管理系统架构设计图
表现层(UI):UI层是停车管理系统的核心部分,负责实现用户界面的交互,在使用该系统的过程中,为用户带来便捷的操作体验,让用户感受到更舒适的氛围。UI界面设计应该灵活应对各种不同的停车管理系统和尺寸,以确保良好的兼容性和可用性。UI交互功能必须具有合理性,以便用户能够获得与之相匹配的交互结果,因此,表现层必须与业务逻辑层紧密结合,以实现良好的交互体验。
业务逻辑层(BLL):BLL层(BLL)主要完成本系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):通过将mysql数据库作为数据层,由于本系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本系统的数据存储和管理功能。
第二节 系统顺序图设计
一、登录模块
该模块旨在为管理人员和用户提供权限登录功能,其登录顺序如图3-2所示。
图3-2登录顺序图
二、添加信息模块
在登录之前,无论是管理员还是用户都能够轻松地完成添加信息的任务,具体的步骤请参考图3-3。
图3-3 添加信息顺序图
第三节 系统功能模块设计
停车管理系统整体的功能模块包括管理员和普通用户两个个模块,实现了相关信息的维护管理,系统功能模块如图所示。
图3-4停车管理系统功能模块图
第四节 用户模块设计
一、用户模块设计
本系统的用户包括管理员,用户两种用户模块的功能基本是相同的,管理员用户比用户多了系统用户管理、系统管理、公告消息管理等功能,所以系统用户模块的结构图为例进行分析,结构图为例进行分析,如下图:
图3-5系统用户模块结构图
二、系统管理模块设计
停车管理系统是中需要存储轮播图信息,其模块功能结构,具体的结构图如下:
图3-5系统管理模块结构图
三、公告消息管理模块设计
公告信息管理系统是中需要存储公告信息,其模块功能结构,具体的结构图如下:
图3-6公告信息管理模块结构图
第五节 数据库设计
在数据库设计的三个主要步骤中,第一个是需求的分析,第二个是设计概念模型,最后是建立数据库表(datable-list)。在这三个步骤之间,需求分析是必不可少的,而概念模型的设计则涉及到概念模型与逻辑结构的设计。
一、数据库概念结构设计
下面是整个停车管理系统中主要的数据库表总E-R实体关系图。
图3-7 停车管理系统总E-R关系图
通过停车管理系统,我们发现它需要大量的E-R图表,其中包括一些重要的数据库模型图,它们能够帮助我们更好地理解和分析数据。
图3-8车位信息E-R图
图3-9 停车咨询E-R图
图3-10停车预约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 | 用户编号: |
表appointment_cancellation (预约取消)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | appointment_cancellation_id | int | 10 | 0 | N | Y | 预约取消ID | |
2 | parking_space_number | varchar | 64 | 0 | Y | N | 车位编号 | |
3 | parking_position | varchar | 64 | 0 | Y | N | 车位位置 | |
4 | parking_price | varchar | 64 | 0 | Y | N | 停车价格 | |
5 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
8 | license_plate_number | varchar | 64 | 0 | Y | N | 车牌号码 | |
9 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
10 | cancel_time | datetime | 19 | 0 | Y | N | 取消时间 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | departure_information_id | int | 10 | 0 | N | Y | 离场信息ID | |
2 | parking_space_number | varchar | 64 | 0 | Y | N | 车位编号 | |
3 | parking_position | varchar | 64 | 0 | Y | N | 车位位置 | |
4 | parking_price | varchar | 64 | 0 | Y | N | 停车价格 | |
5 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
8 | license_plate_number | varchar | 64 | 0 | Y | N | 车牌号码 | |
9 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
10 | leaving_time | datetime | 19 | 0 | Y | N | 离场时间 | |
11 | parking_fees | int | 10 | 0 | Y | N | 0 | 停车费用 |
12 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
13 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | 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_reservation_id | int | 10 | 0 | N | Y | 停车预约ID | |
2 | parking_space_number | varchar | 64 | 0 | Y | N | 车位编号 | |
3 | parking_position | varchar | 64 | 0 | Y | N | 车位位置 | |
4 | parking_price | varchar | 64 | 0 | Y | N | 停车价格 | |
5 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
8 | license_plate_number | varchar | 64 | 0 | Y | N | 车牌号码 | |
9 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表parking_space_information (车位信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | parking_space_information_id | int | 10 | 0 | N | Y | 车位信息ID | |
2 | parking_space_number | varchar | 64 | 0 | N | N | 车位编号 | |
3 | parking_position | varchar | 64 | 0 | Y | N | 车位位置 | |
4 | parking_price | varchar | 64 | 0 | Y | N | 停车价格 | |
5 | parking_space_status | varchar | 64 | 0 | Y | N | 车位状态 | |
6 | cover_of_parking_space | varchar | 255 | 0 | Y | N | 车位封面 | |
7 | matters_needing_attention | text | 65535 | 0 | Y | N | 注意事项 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | 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 | regular_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 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
2 | sensitive_vocabulary | varchar | 64 | 0 | Y | N | 敏感词汇 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | 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-1 首页载入流程
首页如下图所示。
图4-2 首页界面图
第二节 注册模块
停车管理系统的注册登录操作,用户都是从同一个注册登录页面进行注册登录,若是还未有系统账号,则进行注册操作;若是已注册账号,则用户在操作时,输入账号、密码,再选择相应的角色,如“用户”等。
用户注册流程图如下所示。
图4-3 用户注册流程
用户注册界面如下图所示。
图4-4 用户注册界面
第三节 登录模块
在停车管理系统模块输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对管理员的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面。
用户登录流程图如下所示。
图4-5 登录流程图
登录界面如下图所示。
图4-6 登录界面图
第四节 停车预约管理模块
用户执行停车雨夜管理,并可以操作相关内容,例如查看,编辑。停车预约信息的添加操作是建立在用户停车信息的列表基础上,单击查用户信息下的 “停车预约添加”进行添加,添加成功后的信息会载入到停车预约信息列表中。
停车预约信息添加流程图如下所示。
图4-7 停车预约信息添加流程图
图4-8 停车预约信息界面图
第五节 系统用户管理模块
用户只有注册后才能获得登录使用权限,此时选择注册用户选项,系统会自动转到用户注册。在注册该部分信息时,系统会自动调用ADD函数,然后在给出的文本框中填写完该用户的基本信息后,选择确认即可完成注册。注册后系统会自动转到检索用户信息,在新增用户信息以后,在检索工具栏中填写对应的用户信息,系统就会将该用户有关的所有信息展示出来。
系统用户管理流程图如下所示。
图4-9系统用户管理流程图
系统用户管理界面如下图所示。
图4-10 系统用户管理模块图
第六节 车位信息模块
管理员执行车位信息管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加车位信息”,可以通过车位信息添加界面添加详细信息。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到车辆入场查询列表中,管理员可进行编辑以及修改。
车位信息添加流程图如下所示。
图4-11车位信息添加流程图
车位信息添加如下图所示。
图4-12车位信息添加界面图
车位信息列表查询界面如下所示。
图4-13车位信息列表界面图
第七节 离场信息管理模块
管理员执行离场管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加离场信息”,可以通过离场添加界面添加详细信息。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到离场缴费查询列表中,管理员可进行编辑以及修改。
离场信息添加流程图如下所示。
图4-12 离场信息添加流程图
离场信息添加如下图所示。
图4-13离场信息管理界面图
在系统开发的最后阶段,系统测试显得尤为重要,它不仅可以帮助我们更好地理解软件的设计,还能提高开发效率。由于系统开发过程中可能存在诸多缺陷,即使是最优秀的系统开发工程师也无法避免这些缺陷。因此,通过进行系统测试,我们可以有效地纠正这些bug,从而为后续的系统维护和升级提供有力的支持。经过严格的系统测试,开发者们能够更加坚定地认识到系统的性能,从而更有动力去推动后续的系统更新。
第二节 系统测试用例
系统测试包括:用户登录功能测试、车位信息查看测试、停车信息添加、离场信息搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
车位信息查看功能测试:
表5-2 车位信息查看功能测试表
用例名称 | 车位信息查看 |
目的 | 测试车位信息查看功能 |
前提 | 用户登录 |
测试流程 | 点击车位信息 |
预期结果 | 可以查看到所有车位信息 |
实际结果 | 实际结果与预期结果一致 |
管理员添加停车信息界面测试:
表5-3 管理员添加停车信息界面测试表
用例名称 | 停车信息发布测试用例 |
目的 | 测试停车信息发布功能 |
前提 | 用户正常登录情况下 |
测试流程 | 1)点击停车信息管理就,然后点击添加后并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,页面首页会显示新的停车信息 |
实际结果 | 实际结果与预期结果一致 |
离场信息搜索功能测试:
表5-4离场信息搜索功能测试表
用例名称 | 离场信息搜索测试 |
目的 | 测试离场信息搜索功能 |
前提 | 无 |
测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 | 页面显示包含有搜索关键字的离场信息 |
实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表5-5 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
第三节 系统测试结果
经过对停车管理系统的测试,我们已经完成了5大模块的检测,包括用户登录功能测试、车位信息查看测试、停车信息添加、离场信息搜索、密码修改功能测试,这些功能为后续的推广运营提供了强有力的技术支持。
经过长时间的努力,我终于完成了这项系统设计。在此期间,我深入研究了系统开发中所涉及的相关知识,并且发现了自身的不足,从而更好地掌握了必要的应用技能,进一步的学习使我的知识储备更加丰富,最终完成了这项艰巨的任务。当面临挑战时,我会立即向老师寻求帮助,并利用专业的网络资源和论坛平台,以期望能够一步步地克服困境。系统设计过程不容易,你需要不断充实自己,有勇气克服困难。尽管系统开发的一些功能尚未完善,但我仍然会尽最大努力去改进,以便让用户体验更加出色。这次成功的尝试,让我感到无比欣慰,因为它是我第一次尝试,而且我会继续努力,打造出更加出色的系统。
当初,因为对一些编程语言的系统实施方法并不十分精通,使得开发变得极其艰巨。然而,最终,我成功利用一款特定的字典软件,克服了这一重重挑战。从而,我也深刻认识到,只要努力,才能够改善自身的英语水平,从而为未来的职业及生涯打下坚实的基础。经历了毕业设计的挑战,让我收获颇丰。最初,由于缺乏相关的开发知识,只能逐步尝试,但随着时间的推移,越来越了解了相关的文献与资料,并且能够成功地将其应用到实践当中。此外,该系统也为网络学习提供了强大的支持,让我能够更好地完成论文的撰写,并且拥抱挑战,以及探索生活中的各种未知。通过毕业设计,我深刻地体验到了如何把所掌握的理论转化为可行的行动。这使得我明白,要想取得成功,就需要不断努力,坚定地走下去。
参考文献
[1]李霞婷,徐瀚颖.1+X证书与《Java程序设计》课程的课证融通路径探索[J].学周刊,2024,(01):94-97.DOI:10.16657/j.cnki.issn1673-9132.2024.01.024.
[2]宋晓燕,杨芬.Java程序设计语言的分层教学实践[J].电子技术,2023,52(11):182-183.
[3]张永军,李翔.多维度Java EE课程教学改革探索[J].中国信息技术教育,2023,(22):97-99.
[4]张国芳.Java编程语言在计算机软件开发中的应用方向分析[J].信息记录材料,2023,24(11):138-141.DOI:10.16009/j.cnki.cn13-1295/tq.2023.11.042.
[5]熊强强,曾美琳,况世江.基于CDIO工程教育的Java程序设计课程教学实践[J].电子技术,2023,52(10):94-95.
[6]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.
[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.
致谢
到此,整个停车管理系统就算完成了,虽然过程十分艰难,但是等到都完成的时候,我感觉无比的自豪,虽然设计的系统还存在许多的纰漏,但是我已经拼劲全力,给自己的大学四年画上了一个圆满的句号。写到这里有许多思绪想要表达,但是回首大学四年的学习生涯,才发现留在记忆里的东西就像无穷无尽的代码一样多,用言语很难表达出所念所想,但是有一些最重要的感谢话还是要表达出来。
在这里我首先要感谢的就是大学四年来所有教过我的老师,是他们教会了我很多的专业知识和做人的道理,从一进校门对开发系统的一窍不通,对于老师所留的结课作业总是抱怨累心难做,到现在能自主开发一个管理系统,里面包含了前台框架、后台框架、业务流程、我非常感激我的指导老师们,在大学期间你们帮助我掌握了数据挖掘,数据结构、操作系统等各种知识,并且让我能够将它们统一运用,最终完成了整个系统。在开发这个系统的过程中,我遇到了无数的问题,但是无论是线上还是线下,我都会向导师寻求帮助,而导师也总是耐心地指导我如何实现这个功能,如何让系统变得更加完善,最终,我也通过自己查阅相关资料,解决了许多问题。通过“老师,谢谢您,您辛苦了”的指导,我大大提升了自身的解决问题的能力,比起传授知识,更重要的是,它让我受益匪浅,我将继续努力,向老师学习,让自己的智慧得到更大的发挥!最后我还要感谢我的室友、同学,在一起学习这四年,他们不但学习上给了我很多建议,在生活上更加给了我帮助,正是有他们的帮助,我的大学生涯才如此完美。
最后,希望自己在未来的道路上能够越走越远,不辜负在大学的学习以及老师们的细致的教导,追风赶月莫停留,平荒尽处是春山。
请关注点赞+私信博主,免费领取项目源码