关键词:出行;停车场;车辆出入;C/S;Qt
With the development of the economy and the advancement of technology, the application of various new technologies and new materials has gradually improved the various management functions of the parking lot vehicle access management system and gradually improved the reliability. Today, modern electronic system control technology is used in most parking management systems, while making management smarter and more convenient. Therefore, the parking lot vehicle access management system is introduced here to manage the entry and exit of vehicles, better serve the fast-paced life of people in modern society, and completely replace the problems caused by the current manual management.
In addition to the management of vehicles in and out of the field, the system also designed some other management functions for users.This system divides the authority into the administrator and the ordinary staff, the function aspect has the vehicle to enter the storehouse function, the parking space management function, the parking fee calculation function, passes the card to be free to charge the function, enters the exit record inquiry function, the data synchronization function, the staff to work and work to sign in the check-out function, the login system function and the user management function.This system mainly USES C/S architecture, programming language is C/C++, programming tools with Qt, server with ali cloud Ubuntu system.
This paper makes a comprehensive analysis of the vehicle access management system in the parking lot.This paper introduces the relevant technology used in the system, clarifies the feasibility and requirements of the system, proposes the overall design scheme, explains the implementation method of the system function in detail, and analyzes the main problems encountered in the process of system testing in detail.
Keywords: Travel; The parking lot;Vehicle access; C/S; Qt
目 录
摘 要
ABstract
第一章 前言
1.1研究本课题的背景
1.2 国内外研究现状
1.2.1国外停车场管理发展状况
1.2.2国内停车场管理发展状况
1.3研究本课题的意义
1.4研究方法
1.4.1 文献研究法
1.4.2 调查法
1.4.3 观察法
1.5研究内容和结构说明
第二章 系统分析
2.1可行性分析
2.1.1 经济可行性
2.1.2 技术可行性
2.1.3 硬件可行性
2.1.4 操作可行性
2.2 需求分析
2.2.1 功能需求
2.2.2 性能需求
2.2.3 用户需求
2.2.4 数据库需求
2.3系统建模
2.3.1 用例模型分析
2.3.2 用例阐述
2.4系统过程设计
2.4.1 员工使用系统活动图
2.4.2 车位管理活动图
2.4.3 结算管理活动图
2.4.4 车主VIP信息管理活动图
2.4.5 个人信息管理活动图
2.4.6 车辆进出场记录查询活动图
2.4 本章小结
第三章 系统设计
3.1系统架构设计
3.1.1 客户端内部架构
3.2系统功能设计
3.3 功能模块动态建模
3.3.1 车辆出入管理顺序图
3.3.2 员工登入系统与退出系统顺序图
3.4 系统业务逻辑设计
3.3.1 系统登录注册等功能服务程序
3.3.2 车位信息管理功能服务程序
3.3.3 车辆出入库功能服务程序
3.3.4 车主VIP服务程序
3.3.5 车辆进出场记录查询服务程序
3.5 数据库设计
3.5.1 数据模型分析
3.5.2 数据库表及结构设计
3.5 本章小结
第四章 系统实现
4.1 系统流程图
4.2 系统功能模块
4.2.1 模拟控制车辆进出场与信息显示模块
4.2.2 管理员管理账 模块
4.2.3 登录系统模块
4.2.4 客户端车辆进出场记录界面显示模块
4.2.4 车位管理模块
4.2.5 结算管理模块
4.2.6 车辆进出场记录查询模块
4.2.7 车主VIP账户管理模块
4.2.8 员工签到签退模块
4.2.9 个人信息管理模块
4.3 系统部分核心代码
4.3.1 界面布局
4.3.2 功能界面初始化
4.3.3 各功能界面的信 槽绑定
4.4 系统正则表达校验
4.4.1 车牌 码正则表达式
4.4.2 手机 码正则表达式
4.4.3 身份证 码正则表达式
4.5 本章小结
第五章 系统测试
5.1 系统测试目的
5.2 系统测试内容
5.3 本章小结2
总 结
参考文献
第一章 前言
生活在即将全面奔向小康的中国特色 会主义 会里的我们,出门的方式更加多种多样,并且更加“高级”了。但是现阶段互联 行业不景气,许多互联 公司不是倒闭就是大量裁员。例如曾风靡一时的OfO小黄车,由于各种因素,已经不再是共享单车的巨头。为什么会有发生这样的事情竞争、是运气、是国人的素质……。随着越来越多的城市因为交通拥堵和停车可用性不足而陷入困境,智能停车行业也在不断发展。虽然传感器技术的部署仍然是智能停车发展的核心,但各种其他技术创新也可以实现更具适应性的系统。包括摄像头、无线通信、数据分析、感应回路、智能停车计时器和高级算法。
1.1研究本课题的背景
我国作为人口第一大国,不管是天然资源还是人工生产的资源,人均平摊下来少得可怜,这也就是为什么我国还是发展中国家的主要原因之一。日前,我国乃至世界的人数与日俱增,在吃、穿、住、行的必须“活动”中,“行”也是多种多样的。例如乘车出行,你可以打出租、软件叫车、坐公交以及自己开车等,在一些非一线城市里,如果上下班不是很堵车的话完全可以自己开车来代步。更别说一线城市了,从上下班高峰期的堵车情况就能看出车主们对于停车位的需求,由此,停车场也会随之增多,形式各异。按地理位置来说可分为地面、地上、地下等,按收费来说除了收费、免费外还可继续细分划时间收费,可谓是花样繁多。
1.2 国内外研究现状
随着世界的发展和我国经济的增长,汽车保有量越来越大,停车场的需求也越来越严重,交通压力也需要停车管理系统来减轻交通压力。国外同样也是如此,但是不同的是,国外的系统使用率相对我国更加多或更加智能。
1.2.1国外停车场管理发展状况
目前,国外的停车场车辆出入管理系统基本上不使用现金,大多使用电子钱包。此外,许多国外停车场管理系统都配备了停车位引导系统和停车位查询系统等智能设备,使停车场管理系统的功能更加完善和丰富。对于许多国内停车场,仍然需要支付现金停车费。目前,一些国外停车设备制造商可以实现“ 络化存储”停车管理系统。管理系统可以统一分配停车位资源,统一交易结算。停车用户可以通过家庭 络预留停车位,支付停车费,并检查旅行目的地的各种停车信息。这种新型的停车场管理适应了 络在人们日常生活中越来越受欢迎的趋势。停车场管理系统的范围和功能得到了极大的扩展和扩展。当然,虽然停车管理系统使用了大量先进技术,但系统成本非常高,技术难以实现。系统的高维护成本给实施和普及带来了实际障碍。
1.2.2国内停车场管理发展状况
最初的国内停车场管理系统是在引进和消化吸收国外同类系统的基础上逐步发展起来的[1]。发展初期,由于有许多关键设备国内无法生产,因此停车场管理系统硬件大多采用国外产品,所以这一阶段的国内停车场管理系统带有更多“集成”的意味[1]。近些年来,我国停车场车辆出入管理系统已逐步发展起来。但其仍处于初级应用阶段,大多数系统并未充分考虑我国实情,因此会出现许多问题。在我国,技术设备已成为制约管理系统发挥管理功能的瓶颈。例如,一些管理系统使用非常先进的自动牌照识别技术,该技术旨在实现用于车辆访问的无人和非实物收费的工作模式。但是,在实际应用过程中,这种新技术往往无法克服目前一些车牌污垢,生锈和安装位置不当的情况,使管理系统无法自动识别,导致系统暂停异常。为了使系统正常工作,通常需要有管理人员。
1.3研究本课题的意义
停车场车辆出入管理系统是一种安装在计算机中的软件,用于控制停车场车辆出入以及管理停车,帮助相关人员解决停车问题。停车场车辆出入管理系统软件具有收费,缓解交通压力,智能停车等各种功能。随着该软件的发展和高交通压力,停车场车辆出入管理系统将具有更多的功能。停车场车辆出入管理系统用于停车收费,随着需求和技术的发展,停车管理系统的功能越来越复杂,一些停车管理系统具有引导功能甚至一些停车场车辆出入管理系统可以帮助城市减少交通压力。新型的停车场车辆出入管理系统将车辆进入和退出数据详细记录在计算机系统中,因此可以消除人为错误的发生并落入个人口袋中。在防盗方面发挥有效作用。车辆进出记录,除了图像对比功能外,还可以有效防止车辆被盗和更换。减少人员管理,降低人工成本。
1.4研究方法
1.4.1 文献研究法
为了解停车场车辆出入系统的实际情况,本人将查阅许多相关研究成果以及理论资料。将通过前人已研究过的成果和结论,从而考虑自己的系统将如何更加适应我国现有国情以及复杂情况。更好地消除现存的缺陷以及获取更多的市场的需求,促进停车场车辆出入管理系统的发展。
1.4.2 调查法
本人将通过走访各个停车场闸门的形式来了解各个不同的停车场管理系统的功能。和通过资料来了解我国大中型城市中的停车场内是否配备了电子管理系统。这些管理系统有的功能单一,仅显示进出场记录界面,有的功能不全,多出入口无法联机查询。对于上述情况,本人准备将自己的停车场车辆出入管理系统的功能打造得更全面,更符合现实。
1.4.3 观察法
本人目前在实习,每天早出晚归都需要开共享汽车去上班,因此会经过许多停车场,了解到他们的收费情况。本人准备每次进出商业停车场以及自己学校停车场时仔细观察车辆过闸时人员与系统的操作。对于多出入口的停车场,将从不同角度进行观察。
1.5研究内容和结构说明
论文阐述了开发基于Linux系统以及Windows系统的停车场车辆出入管理系统的背景、研究本课题的意义、国内外的研究现状、系统的可行性分析、需求分析以及功能分析。并且结合了相关图表对系统的总体框架和详细设计进行了说明。同时也对系统的数据库表进行了分析。
第二章 系统分析
本章将对停车场车辆出入管理系统进行系统分析。将从可行性、需求上进行分析。同时会对系统建模、用例阐述以及系统过程设计进行描述。详细全面的系统分析将解决开发中遇到的不必要的难题,规划好要做什么,要怎么做。
2.1可行性分析
2.1.1 经济可行性
关于经济可行性,可从开发角度以及客户使用角度两个方面讨论。从开发角度来说,需要的硬件设备有可以上 的电脑,性能不做太多要求。本系统需要一台云服务器,本人在阿里云上选购的云服务器ECS,搭载Ubuntu系统,服务端程序就运行在其上。当然,若在实际生产环境中,客户需要自己购买服务器;从客户使用角度来说,关于本系统的硬件设备只需要一台能上 的基本配置的电脑,其他硬件设施如高清拍照摄像头、电机闸门等另算,这都是停车场的标配。综上看来,对于开发人员开发一套本系统来说是很实惠的。
2.1.2 技术可行性
本系统兼容Linux系统以及Windows系统,正是得益于Qt这款开发软件。用以客户端和服务器的架构,即C/S架构。本系统主要在虚拟机Linux-Ubuntu系统上开发,后期配置Windows系统,可作为辅助验证,因为本人习惯在Linux下开发,也是以后的发展趋势。关于为什么主打选择Linux,其过去主要作为服务器运行,但经过几年的发展,其用户界面有了很大的改善,如今Linux
已经成为美观易用,用户友好的桌面操作系统,在某些方面,Linux甚至赶超Windows和Mac成为用户首选[9]。
2.1.3 硬件可行性
在前文2.1.1“经济可行性”中已经提及到了硬件相关。对于用户来说,其只需要配置一台普通电脑即可安装本系统。如果用户想更换运行环境,也可以使用专门嵌入到Android系统的平板来进行触屏操作。当然,除了用电脑安装本系统外,还需要有闸门与摄像头,这都是基本配置。
2.1.4 操作可行性
本系统操作非常简单,只需要基本的鼠标操作以及键盘输入,对于会用电脑的人来说根本不需要太多教学。系统的主界面仿照Ubuntu-Linux系统,将功能按钮放置在左侧成列,各个图标可直观看出对应的功能,可以说是不会用电脑的人都会操作。
2.2 需求分析
2.2.1 功能需求
本系统包含有管理员注册员工账 、注销员工账 功能,个人信息管理、车位管理、车主VIP信息管理、结算管理、进出场记录查询以及员工上下班签到管理功能。核心功能在看不见的车辆进出场时客户端与服务端的交互,这是本系统实现的重点以及难点。
2.2.2 性能需求
为了确保本系统可以长时间稳定的运行,停车场车辆出入管理系统须满足如下性能需求:
(1)系统的可兼容性以及可扩充性
(2)系统响应的精确性以及及时性
(3)系统的易维护性以及易操作性
(4)系统的安全性
2.2.3 用户需求
本系统角色仅有两种,一种是拥有绝对权限的管理员,一种是权限较低的员工。管理员和普通员工的功能并不完全相同,有管理员能做而普通员工不能做的,这涉及到重要信息读写;有普通员工能做的而管理员不能做的,这涉及到普通员工考勤。
管理员:注册员工账 、注销员工账 ,个人信息管理、车位管理、车主VIP信息管理、结算管理、进出场记录查询。
普通员工:个人信息管理、车位信息查看、车主VIP信息管理、结算信息查看、进出场记录查询、上下班签到签退。
2.2.4 数据库需求
本系统将在服务程序运行的平台搭建数据库。完全满足客户端无需直接操作数据库,这才是标准的C/S架构。本系统的数据库将存储各种信息,包括停车场管理员以及员工用户信息、在线车辆车牌及数量信息、VIP车主详细信息、车辆出入记录信息等。本系统会对数据库表的读写操作非常平凡,因此需要一个性能、存储速度都非常好的数据库。
2.3系统建模
2.3.1 用例模型分析
本系统中的参与者仅有两类,其一是管理员,另一个是普通员工。管理员独有的活动有管理员工账 ,可对员工账 进行增删改查,还有车位管理、结算管理。普通员工独有的活动有上下班签到签退。这二者共同的活动有车主VIP信息管理、进出场记录管理、个人信息管理。由此可得系统总用例图,如图2.1系统总用例图所示。
2.4.2 车位管理活动图
由于车位管理功能涉及到权限不同从而使用功能的内容不同,因此下图描述的是管理员的车位管理活动图,从而省去了签到签退功能。车位管理活动图如图2.3所示。
2.4.4 车主VIP信息管理活动图
车主VIP信息管理的所有功能无权限不同要使用不同,但是为了节省绘图空间,这里仍然以管理员的角度出发,如图2.5所示。
2.4.6 车辆进出场记录查询活动图
车辆进出场记录查询活动图如图2.7所示。
3.1.1 客户端内部架构
本系统最直观的展现就是客户端程序,界面是由两部分组成,顶部栏显示当前时间和当前用户,下面则显示功能业务界面。这样做的目的是减少界面切换响应,将统一的显示固定下来。在Qt里使用QStackWidget将各功能界面依次入栈,每个界面均有按钮可切换至其他界面,使用Qt里信 槽的特性进行界面跳转。
3.2系统功能设计
本系统主要的功能对系统的管理员注册员工账 、注销员工账 功能,个人信息管理、车辆管理、VIP车主管理、结算管理、交易记录查询以及员工上下班签到管理等功能。管理员注册、注销员工账 功能为一个单独的软件,但是隶属于本系统,从该软件注册的账 ,可使用注册通过的用户名与密码登录停车场车辆出入管理系统(后称管理系统);个人信息管理是用户登录管理系统后,可修改个人的密码或手机 码,此功能对管理员与普通员工功能权限一致;车辆管理功能会涉及到权限不同从而功能不同,普通员工只能进行查看今日出入情况和检索在停车辆车牌 ,管理员多出的功能是更新车位数量;VIP车主管理功能无权限之分,在这个功能模块中,使用者可注册车主信息,为其进行余额充值、更换车牌、更换手机 以及根据身份证 查询其信息等;结算管理功能有权限之分,普通员工仅限查看收费规则以及查看今日营收信息,管理员则可以更新收费规则,即时生效;交易记录查询功能无权限之分,在此功能模块下,可按时间段、车牌 、时间段以及车牌 查询该停车场车辆进出场记录以及缴纳的费用,同时会显示查询的这些记录中缴费的总数额,另外还支持导出记录生产txt文件;员工签到签退功能是为考勤管理设计的,在普通员工登入系统后,首先会要求员工签到,只有在员工签到之后才能使用其他功能,员工如需退出本系统时,需要签退,签退后才会被允许退出本系统。系统的总体功能图如图3.2所示。
3.3.2 员工登入系统与退出系统顺序图
作为一个停车场车辆出入管理系统,其功能不仅在于车辆,由于用户的特殊性,本系统需要作出必要的考勤功能,因此本系统提供了一个员工进入系统签到与退出系统签退的功能。员工登入系统与退出系统顺序图如图3.4所示。
3.5.2 数据库表及结构设计
该系统在数据库中定义了6张表,其中包含:登录注册表(login_register_X)、在线用户表(OnlineUsers)、停车信息表(Car_space_info)、车主信息表(Driver_Info)、出入场信息记录表(In_Out_Record)、在停车辆表(OnlineCars)。下面详细介绍所有表的结构:
(1)登录注册表(login_register_X):该表保存的字段有用户名、密码、手机 、性别、权限,其作用是验证员工登录系统是否合法,表后的“X”是客户端ID编 。
(2)在线用户表(OnlineUsers):该表保存的字段有用户名与客户端ID,客户端ID的作用是区分不同停车场的系统,该表的作用是存储在线用户,目的是为了防止统一系统登录两个同样的用户。
(3)停车信息表(Car_space_info):该表保存的字段有客户端ID、所有车位、占用车位,该表描述了该客户端所在的停车场的车位总数以及停车数量信息。
(4)车主信息表(Driver_Info):该表保存了司机信息,分别有身份证 、手机 、车牌 、余额,其作用是在该表内的车主信息在进出本系统管理的停车场时可自动从余额里缴费。
(5)出入场信息记录表(In_Out_Record):该表保存的字段有车牌 、车辆入场时间戳、车辆出场时间戳、车辆停车时间、所缴纳的费用、VIP标志、客户端ID,该表的作用是用于后期核验与查询记录。
(6)在停车辆表(OnlineCars):该表保存的字段有车牌 、入场时间戳、客户端ID,其作用是临时保存在停的车辆,防止重复车牌 入场,另一个作用是在车辆出场时,系统可从该表中提取入场时间,这样就能计算出车辆在停时间。
详细的数据库表设计见表3.1-3.6。
登录注册表(login_register_X),见表3.1。
字段名 | 数据类型 | 是否允许为空 | 是否主键 | 备注 |
---|---|---|---|---|
username | varchar(16) | not null | 是 | 用户名称 |
password | varchar(16) | not null | 否 | 用户密码 |
tel_phone | char(11) | not null | 否 | 用户手机 |
sex | integer | not null | 否 | 用户性别 |
admin | integer | not null | 否 | 用户权限 |
在线用户表(OnlineUsers),见表3.2。
字段名 | 数据类型 | 是否允许为空 | 是否主键 | 备注 |
---|---|---|---|---|
username | varchar(16) | not null | 否 | 用户名称 |
CID | integer | not null | 否 | 客户端ID |
停车信息表(Car_space_info),见表3.3。
字段名 | 数据类型 | 是否允许为空 | 是否主键 | 备注 |
---|---|---|---|---|
CID | integer | not null | 是 | 客户端ID |
all_space | integer | not null | 否 | 总停车位 |
字段名 | 数据类型 | 是否允许为空 | 是否主键 | 备注 |
occupy_space | integer | not null | 否 | 已占用停车位 |
车主信息表(Driver_Info),见表3.4。
字段名 | 数据类型 | 是否允许为空 | 是否主键 | 备注 |
---|---|---|---|---|
IdCard | char(18) | not null | 是 | 身份证 码 |
tel_phone | char(11) | not null | 否 | 手机 码 |
licence_plate | varchar(10) | not null | 否 | 车牌 码 |
balance | integer | not null | 否 | 余额 |
出入场信息记录表(In_Out_Record),见表3.5。
字段名 | 数据类型 | 是否允许为空 | 是否主键 | 备注 |
---|---|---|---|---|
licence_plate | varchar(10) | not null | 否 | 车牌 码 |
In_time | integer | not null | 否 | 入场时间戳 |
Out_time | varchar(10) | not null | 否 | 出场时间戳 |
Stay_time | integer | not null | 否 | 车辆停留时间 |
Money | integer | not null | 否 | 停车费用 |
Vip_flage | integer | not null | 否 | VIP标志 |
CID | integer | not null | 否 | 客户端ID |
在停车辆表(OnlineCars),见表3.6。
字段名 | 数据类型 | 是否允许为空 | 是否主键 | 备注 |
---|---|---|---|---|
licence_plate | varchar(10) | not null | 是 | 车牌 码 |
In_time | integer | not null | 否 | 入场时间戳 |
CID | integer | not null | 否 | 出场时间戳 |
3.5 本章小结
本章从系统架构、系统功能模块、系统业务逻辑以及数据库的设计等方面描述了系统在设计阶段取得的进展。
当然本系统在数据库设计方面还也存在许多不足之处,即数据库里的表都没有主外键关系,但是我的数据库表只需要用来存储数据就足矣了。
第四章 系统实现
本章将围绕系统的运行环境、系统的流程图和系统的几个主要模块的实现进行详细的介绍。本系统的主要模块分为管理员注册员工账 、注销员工账 模块,个人信息管理模块、车辆管理模块、VIP车主管理模块、结算管理模块、交易记录查询以及员工上下班签到管理模块等。
4.1 系统流程图
以下流程图将大概勾勒出使用本系统的大致流程,如图4.1系统流程图。
模拟LED信息显示界面如图4.3所示。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!