赞
踩
资源下载地址:https://download.csdn.net/download/sheziqiong/86763749
资源下载地址:https://download.csdn.net/download/sheziqiong/86763749
应用环境:传统停车场采用人工管理的办法,有一些不可避免的缺点,如效率低,安全性差。为了解决这些不足,在智能小区中采用停车场自动管理系统。
用户:生活在小区中的居民和需要临时停车的客户
必要性和意义:IT 行业的高速发展让计算机技术深入日常生活的每一个细节,在各个领域中,计算机技术的应用帮助人们减少劳动量,提高工作效率,发挥着越来越重要的作用。随着城市化程度的加深,房地产行业日益兴盛,越来越多的小区散布在城市里,小区中来往的车辆与日俱增,停车场是小区里不可缺少的一个部分,对停车场的管理也是非常重要,这就使得各停车场需要更加先进、更加完善的停车场管理系统,开发一个停车场管理系统迎合了现代的公司发展趋势,对居民合理管理和他人的练习信息起到重要意义。为车主带来方便。我结合本次实验开发以下的小区停车场管理系统,使小区里的车辆能得到有序的管理。
顶层数据流图是为了方便开发人员与用户更好的够同,以及位系统的设计提供帮助。
图 1.1 顶层数据流图
各功能的数据流图可让用户更清晰的观察功能的实现。
图 1.2 IC 卡管理数据流图
图 1.3 出入停车场数据流图
图 1.4 车位管理数据流图
功能需求
根据停车场管理系统的理念,此停车场管理系统必须满足以下需求:
IC 卡信息管理:添加 IC 卡类型,管理 IC 卡类型。管理 IC 卡信息可以对车主的 IC 卡信息进行增、删、改、查。
固定车主停车管理:出入场设置、停车场信息管理。出入场设置可以设用户的入场和出场,相应的在停车信息中有一个展现。停车信息管理可以对车主的停车信息进行查询和删除。
临时车辆信息管理:车主入场信息,车主出场设置。车主入场在相应的表中展现,在车主出场时进行收费,临时车车主停车信息管理可以对临时车主的信息进行删除和查询。
车位信息管理:管理车位、添加车位,管理车位信息模块可以对车主车位信息进行增、删、改。
功能结构图如下:
2 数据库设计与实现
概念设计
根据需求分析形成的数据字典和数据流图,抽象得到的实体有:
固定 IC 卡(卡号,车主姓名,车主住址,车牌号)
停车位(车位号,车位区域,车位状态,车位信息)
固定车主(进场日期,出场日期)
临时车主(卡号,车位号,车牌号,进场日期,出场日期,停车花费)
管理员(管理员 id,姓名,密码,手机号)
实体之间的联系如下:
一个车主停在一个停车位。
一个固定车主有一个固定 IC 卡,一个临时车主有一条临时信息
每个车主都会分配一个停车位
图 2.1 停车场管理系统 E-R 图
逻辑设计与物理设计
逻辑设计
实体转换的关系模式有固定 IC 卡,停车位,固定车主,临时车主。
“固定拥有”联系与固定车主关系模式合并。
“停车位拥有”联系分别与固定 IC 卡和临时车主卡关系模式合并。
停车场管理系统的关系模式如下:
固定 IC 卡(卡号,车主姓名,车主住址,车牌号,停车位号)
停车位(车位号,车位区域,车位状态,车位信息)
固定车主(IC 卡号,进场日期,出场日期)
临时车主(IC 卡号,停车位号,车牌号,进场日期,出场日期,停车花费)
管理员(管理员 id,姓名,密码,手机号)
说明:固定 IC 卡关系模式的外码为停车位号,被参照关系为停车位关系模式;
临时车主关系模式的外码为停车位号,被参照关系为停车位关系模式
固定车主关系模式的外码为固定 IC 卡号,被参照关系是固定 IC 卡关系模式
定义用户子模式如下:
空停车位(车位号,区域,车位信息)
物理设计
在 Parking 数据库上,根据关系模式,定义基本表。表结构如下:
车位表:存储小区车位的信息表。
表 2.1 Seat(车位表)
属性列名 | 属性说明 | 数据类型 | 码 | 外码 | 备注 |
---|---|---|---|---|---|
Seat_id | 车位号 | Varchar(3) | 主码 | ||
Seat_section | 车位区域 | Varchar(2) | not null | ||
Seat_state | 车位状态 | Int(2) | 0 或 1(0 为空) | ||
Seat_tag | 车位信息 | Varchar(50) | 反映是否为固定车位 |
固定 IC 卡表:存储固定 IC 卡表。
表 2.2 FixedCard(固定 IC 卡表)
属性列名 | 属性说明 | 数据类型 | 码 | 外码 | 备注 |
---|---|---|---|---|---|
Card_id | 卡号 | Varchar(14) | 主码 | 固定 IC 卡号 | |
Name | 车主姓名 | Varchar(10) | |||
Address | 车主住址 | Varchar(20) | |||
Car_num | 车牌号 | Varchar(7) | |||
Seat_id | 停车位号 | Varchar(3) | 外码 | 参照 Seat 表 |
临时车主表:存储临时车主表。
表 2.3 TempCard(临时车主表)
属性列名 | 属性说明 | 数据类型 | 码 | 外码 | 备注 |
---|---|---|---|---|---|
Card_id | IC 卡号 | Varchar(14) | 主码 | 外码 | 参照 TempCard 表 |
Seat_id | 停车位号 | Varchar(3) | |||
Car_nu | 车牌号 | Varchar(7) | |||
Entry_date | 进场日期 | Date | |||
Entry_time | 进场时间 | Time | |||
Out_date | 出场日期 | Date | |||
Out_time | 出场时间 | Time | |||
Pay | 停车花费 | Double(5) |
固定车主表:存储固定车主表。
表 2.4 Fixed(固定车主表)
属性列名 | 属性说明 | 数据类型 | 码 | 外码 | 备注 |
---|---|---|---|---|---|
Card_id | IC 卡号 | Varchar(14) | 主码 | 外码 | 参照 FixedCard 表 |
Entry_date | 进场日期 | Date | |||
Entry_time | 进场时间 | Time | |||
Out_date | 出场日期 | Date | |||
Out_time | 出场时间 | Time |
管理员表:存储管理员信息。
表 2.5 Admins(管理员表)
属性列名 | 属性说明 | 数据类型 | 码 | 外码 | 备注 |
---|---|---|---|---|---|
Admin_id | 管理员 ID | Varchar(5) | 主码 | ||
Name | 姓名 | Varchar(15) | 管理员的姓名 | ||
Password | 密码 | Varchar(15) | |||
Phonenum | 手机号 | Varchar(11) | 管理员的手机号 |
定义的视图如下:
固定车主及其固定车位状态视图。
表 2.6 voutfixed(视图)
属性列名 | 属性说明 | 数据类型 | 码 | 外码 | 备注 |
---|---|---|---|---|---|
Card_id | 卡号 | Varchar(14) | |||
Name | 车主姓名 | Varchar(10) | |||
Address | 车主住址 | Varchar(20) | |||
Car_num | 车牌号 | Varchar(7) | |||
Seat_id | 停车位号 | Varchar(3) | |||
Seat_state | 车位状态 | Int(2) |
固定车主停车信息视图。
表 2.7 vfixed(视图)
属性列名 | 属性说明 | 数据类型 | 码 | 外码 | 备注 |
---|---|---|---|---|---|
Card_id | IC 卡号 | Varchar(14) | |||
Entry_date | 进场日期 | Date | |||
Entry_time | 进场时间 | Time | |||
Out_date | 出场日期 | Date | |||
Out_time | 出场时间 | Time | |||
Seat_id | 停车位号 | Int(2) | |||
Name | 车主姓名 | Varchar(10) | |||
Address | 地址 | Varchar(20) | |||
Car_num | 车牌号 | Varchar(7) |
根据处理需求,建立相关索引,如表 2.8 所示
ALTER TABLE FixedCard ADD PRIMARY KEY(`Card_id`)
CREATE INDEX fcar_num ON fixed(`car_num`)
CREATE INDEX tcar_num ON tempcard(`car_num`)
ALTER TABLE Seat ADD PRIMARY KEY(`Seat_id`)
表 2.8 索引列表
关系模式 | 索引属性列 | 索引类型 |
---|---|---|
固定 IC 卡 | IC 卡号 | 主键索引 |
固定车主 | 车牌号 | 普通索引 |
临时车主 | 车牌号 | 普通索引 |
停车位 | 车位号 | 主键索引 |
数据库实现
定义 Parking 数据库:
CREATE DATABASE parking DEFAULT CHARACTER SET utf8 ;
在 Navicat 中根据具体数据库设计建立数据库中的各个关系模式表。
按照设计的数据库结构,使用 Excel 组织数据,将表格中的数据进行标准化处理,并对应的数据列的名称插入进表格上方第一行。
在 Navicat 可视化操作的数据库表中找到“导入”,并在弹窗中找到对应的 execl 表格文件类型,点击下一步。
选择需要导入的文件路径,并选择文件中的工作表,点击下一步。
确定默认设置,确认目标表和源表,源栏位和目标栏位的对应关系,最后确定导入模式,若添加数据,默认选项即可实现需求,参数设置完成后,点击开始,等待文件添加完成,当出现 Finished-Successfully,即导入成功。
为防止测试数据违反有关约束,可先用 Excel 等工具产生数据库测试数据,然后利用 Navicat 软件导入这些数据。
3 应用程序设计
界面设计(部分)
图 3.1 车位信息管理界面
图 3.2 固定车主添加界面
图 3.3 临时车主停车信息
程序详细设计与实现
主要算法框图
图 3.5 临时车主进出场流程图 图 3.6 固定车主进出场流程图
图 3.7 获取空余车位流程图
典型程序代码
服务段代码:
临时车主入场代码:
图 3.8 临时车主入场代码
临时车主信息展示代码:
获取临时车主停车信息代码
临时车主出场代码:
图 3.10 临时车主出场代码
测试及结果
典型测试(黑盒):
临时车主入场添加信息:
图 3.11 临时车主入场测试图
入场后可看到临时车主信息表有了临时车主入场信息(最下面,未出场的):
图 3.12 临时车主信息表测试图
进入出入场设置,选择该车出场:
图 3.13 临时车主出场测试图
出场成功:
图 3.14 临时车主出场测试结果图
资源下载地址:https://download.csdn.net/download/sheziqiong/86763749
资源下载地址:https://download.csdn.net/download/sheziqiong/86763749
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。