软件工程课程设计校园停车场管理系统软件设计说明书Word格式.docx
《软件工程课程设计校园停车场管理系统软件设计说明书Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计校园停车场管理系统软件设计说明书Word格式.docx(32页珍藏版)》请在冰豆网上搜索。
停车卡可根据车主身份的不同,分别发行月租卡、免费卡和临时卡三种类型的卡。
系统支持三种卡类的不同收费方式,以满足按车主身份分别收费的要求。
电脑自动计时、计费,免费卡和月租卡自动识别,临时卡人工收取现金,服务快捷高效,电脑显示屏及收费显示屏同时显示停车时间与应收费用,卡上余额或有效期限,收费透明度高,票箱显示屏还提示指导住户使用停车场,并以文明语言问候致意。
软件管理实行分级权限制。
对出口值班员来讲,其登录后可进入收费管理,期间该出口所有收费均自动记入该值班员名下并存入电脑数据库。
由于值班员受权限限制,不能进入系统中更高的软件菜单项,所以对电脑所记录的数据无法干涉;
上级管理者可以随时查询,核对或打印一个值班段或任何一段时间乃至整个停车场的工作记录。
这样就从根本上杜绝了停车费用流失和财务统计的失误,同时系统自动运行,杜绝了人情车、霸王车造成的经济损失。
系统还可在停车场的出入口各安装的1台高解像度彩色固定摄像机、固定支架、自动光圈手动对焦镜头,可24小时监视车辆出入情况,看清车牌号码。
当有车辆驶入车场时,摄像机将信号通过视频电缆传输到停车场管理系统中,存入数据库中;
当有车辆驶离车场时,车辆除应交纳必要的管理费用外,驶离车辆的所有资料(车牌、型号、颜色等)都必须与驶入车场时的资料对比相同(为人工识别),闸杆才升起,让车辆通过。
综上分析,停车场管理系统的车辆进出工作流程为:
进场时,驾驶员驱车到入口控制机处,如果是月租卡或免费卡(称为固定卡)用户,直接刷卡就能进入。
读卡后,系统会判断卡是否在有效限期内,是否有余额,并且判断是否有在停车场内部未出的记录。
如果满足预设条件,则开闸放行,否则语音提示不放行。
如果是临时卡,则驾驶员自己取卡,道闸开启,车辆通行。
出场时,固定卡,直接刷卡进出;
临时卡,操作员收费后,开闸放行。
车辆不论是进或者出,在开启道闸的瞬间,摄像系统拍照记录并保存。
车辆通过道闸后,道闸自动落杆。
停车场管理系统分为入场停车和出场取车两部分。
系统流程图如图2-1所示。
图2-1系统流程图
A.入场停车流程
(1)入场
根据车位实时统计显示系统给出的停车场实时利用信息来控制车辆的入场,停车场在有车位的情况下方能停车。
(2)卡审核
刷卡或者发放临时卡,系统自动记卡编号、卡号、卡类型、余额、发卡时间、有效时间、卡状态(已发或挂失)等基本信息,刷卡时并判断卡的有效性,若有效,图像系统自动摄录一幅车辆进场图像于电脑,播放欢迎词,并放行车辆。
(3)停车
系统为用户分配停车位,用户在道路泊位引导标志的指引下,到指定停车位置停车。
B.出场取车流程
若用户需要查找停放位置,拨打卡面上提供的帮助电话,操作员在系统中帮忙查找车辆停放位置信息。
(1)出场审核
车辆在出口处刷卡或交还临时卡,系统自动记录卡信息。
同时系统自动显示该车进场图像,收费员确认无误后收费。
(2)收费
系统根据车辆信息、卡类型以及停车时间等,依据收费标准计算收费额度实施收费环节。
(划卡或人工收取现金)
(3)出场
交费之后,操作员按确认键,图像系统自动摄录一幅车辆出场图像于电脑,语音系统提示“谢谢,祝您一路平安!
”等声音,电动栏杆升起。
车辆通过埋在车道下的车辆检测线圈后,电动栏杆自动落下。
2.2系统组成
系统分为软件部分和相应的硬件设施。
软件部分:
停车计费系统、车位实时统计显示系统。
硬件设施:
感应卡(具备GPS定位功能)、泊位引导标志、校园泊车实时监控摄像系统、自动挡车道闸、车辆检测器(环型感应线圈检测器、超声波检测器、红外检测器、雷达检测器、视频检测器等)、刷卡机箱、控制主板、票据打印机、停车场嵌入式计算机、自动发卡机、自动收卡机。
第三章需求分析
3.1功能需求分析
根据停车场管理系统的需求,确定了该系统的用例图如下图所示。
图3-1停车场管理系统用例图
图3-2客户用例图
图3-3系统管理员用例图
图3-4操作员用例图
如图3-1所示,该系统主要有超级管理员、管理员和操作员三种角色,不同角色的基本任务如下所述。
超级管理员具有最高权限,即对本系统所有权限的操作权和授予权。
超级管理员授权给管理员,并赋予管理员应有的权限。
管理员可根据需要来维护角色信息,并授权给相应的操作员,进行系统的基本参数设置、权限设置、数据管理和操作员的档案管理。
操作员行使管理员赋予的权限,进行档案管理(车辆档案、卡档案管理、用户档案管理)、入场管理、收费管理和出场管理。
根据用例图得到的部分类图,如图3-5
图3-5类图
3.2数据库需求分析
3.2.1数据库的概念模型
如图3-6所示的系统数据库ER图,制定一个收费标准,要根据卡的类型以及收费的标准(时收费或次收费)来确定。
停车场的每一个用户都有唯一的一条卡信息与自己的车信息绑定。
停车场的总车位数决定了车位表的总车位,一个车位只能存放一辆车。
根据入场时的信息和出场时的信息以及收费标准,综合得出收费金额。
交班记录要记下该员工的上、下班时间以及在这段时间内的所有操作。
图3-6系统数据库ER图
根据系统需求,本系统需要设计13张表。
卡信息表:
存放卡的相关信息。
停车场参数表:
存放停车场的基本参数。
用户表:
存放用户的基本信息。
车信息表:
存放车的基本信息。
权限表:
存放对应的权限信息和对应的行使该权限人员的相关信息。
时收费表:
存放按时收费的时间段。
次收费表:
存放按次收费的时间段。
入场表:
存放入场时候的一些信息。
出场表:
存放出场时的相关信息。
交班表:
存放操作员交接班的相关信息。
收费表:
存放停车一段时间的收费信息。
车位表:
用于存放每一个车位上的停车状态。
收费标准表:
存放收费的统一标准。
3.2.2数据库的逻辑模型
针对ER模型中对表的要求,下面给出各个表的详细结构。
表3-1卡信息表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
cardid
卡编号
varchar
20
cardno
卡号
cardtype
卡类型
cardmoney
余额
money
8
sendtime
发卡时间
timestamp
activetime
有效时间
sendflag
已发
boolean
1
loseflag
挂失
表3-2停车场参数表
parkname
停车场名字
parktotal
总车位
entertotal
入口车道数
exittotal
出口车道数
parktel
停车场电话
parkadd
停车场地址
表3-3用户表
编号
username
用户名
usersex
性别
char
2
usertel
电话
carno
车牌
address
地址
表3-4车信息表
carid
车牌号
cartype
车类型
表3-5权限表
poperatorid
poperatorname
姓名
poperatorsex
10
poperatorpsw
密码
poperatorright
权限
表3-6时收费表
timeno
时间号
starttime
开始时间
endtime
结束时间
表3-7次收费表
timesno
次号
表3-8入场表
encardid
入场编号
encardno
encarno
enway
入场车道
entime
入场时间
enposition
占用车位
表3-9出场表
exited
出场编号
excardno
excarno
exway
出场车道
extime
出场时间
exposition
腾出车位
表3-10交班表
tnoperator
操作员
tnlogintime
登录时间
tnturntime
交班时间
entimes
进场次数
extimes
出场次数
totalmoney
金额总计
表3-11收费表
chargeid
收费编号
chcardno
chcarno
chmoney
收费金额
表3-12车位表
cpcarno
positionstate
车位状态
表3-13收费标准表
chargestid
标准编号
chargetype
收费类型
时间编号
unittime
单位时间
unitsum
单位金额
maxsum
最大金额
第四章总体设计
4.1总体设计
首先判断登录的身份,进入相应的操作页面进行需要的操作,最终完成目的操作的功能。
本系统UML活动图如图4-1所示。
它们的内在关系由数据库和程序来控制。
图4-1UML活动图
4.2数据流图
本软件的顶层数据流图如图4-2所示:
图4-2顶层数据流图
4.3业务流程分析
本系统的使用者是停车场的工作人员,为了便于管理并借鉴现有停车场的管理模式,划分成三个角色的用户。
工作人员首先登陆系统,经过一系列的身份验证,登陆成功之后进入相应的操作界面,实现各自的管理功能。
总体功能分析业务流程图。
如图4-3业务流程图
图4-3业务流程图
其中各模块有对应的添加、修改及删除功能。
4.4系统功能模块
如图3-3系统功能模块划分
图4-4系统功能模块划分
4.5系统模块设计
(1)授权管理模块具有最高管理权限超级管理员对该模块进行操作,对管理员进行授权,添加、删除、修改管理员。
(2)系统设置由超级管理员授权的管理员行使该功能,主要是对停车场的参数进行设置。
(3)操作员档案管理由管理员行使修改功能,对停车场业务操作员进行管理,添加、删除、修改操作员的信息。
(4)数据管理模块该模块显示了停车场日常运行所产生的数据,场内车辆,进出数据,收费金额以及交班记录的相关信息。
(5)档案管理该部分功能为操作员所使用,主要是对停车场发放的卡进行管理、车档案的管理以及停车场顾客的信息档案管理。
他们都有自己的添加、删改、修改的功能。
(6)入场管理该模块是本系统的一个重要的功能模块,主要采集汽车入场时候的一些必要的参数,对参数进行处理和判断,这些获得的参数提交到后台进行相关的处理。
(7)出场管理汽车离场之前对其进行的离场验证和停车时间的数据收集,为下一收费模块提供数据。
(8)收费管理该模块是本系统最重要的一个模块,根据出入场提供的参数结合该模块收费标准的设置计算出收费的金额,完成收费并打印出收费清单。
4.6数据库的实现脚本
4.6.1定义SQL模式
为停车场管理系统定义一个SQL模式,其拥有者为超级管理员。
CREATESCHEMAPARKAUTHORIZATIONadministrator;
4.6.2创建基本表
1卡信息表
CREATETABLEPARK.pcard
(
idintIDENTITY(1,1)NOTNULL,
cardidvarchar(20)COLLATEChinese_PRC_CI_ASNOTNULL,
cardnovarchar(20),
cardtypevarchar(20)COLLATEChinese_PRC_CI_ASNULL,
cardmoneymoneyNULL,
sendtimetimestampNULL,
activetimetimestampNULL,
sendflagvarchar(10)COLLATEChinese_PRC_CI_ASNULL,
loseflagvarchar(10)COLLATEChinese_PRC_CI_ASNULL,
PRIMARYKEY(id,cardid));
2停车场参数表
CREATETABLEPARK.parkparameter
(
parknamevarchar(50)COLLATEChinese_PRC_CI_ASNOTNULL,
parktotalintNULL,
entertotalintNULL,
exittotalintNULL,
parkaddvarchar(50)COLLATEChinese_PRC_CI_ASNULL,
parktelvarchar(20)COLLATEChinese_PRC_CI_ASNULL,
PRIMARYKEY(id),);
3用户表
CREATETABLEPARK.users
IdintIDENTITY(1,1)NOTNULL,
useridvarchar(20)COLLATEChinese_PRC_CI_ASNOTNULL,
usernamevarchar(20)COLLATEChinese_PRC_CI_ASNULL,
usersexvarchar(20)COLLATEChinese_PRC_CI_ASNULL,
usertelvarchar(20)COLLATEChinese_PRC_CI_ASNULL,
usercaridvarchar(20)COLLATEChinese_PRC_CI_ASNULL,
usercardidvarchar(20)COLLATEChinese_PRC_CI_ASNULL,
useraddvarchar(50)COLLATEChinese_PRC_CI_ASNULL,
PRIMARYKEY(id)
FOREIGNKEY(usercarid)REFERENCEScar(carid),
FOREIGNKEY(usercardid)REFERENCESpcard(cardid));
4车信息表
CREATETABLEPARK.car
caridvarchar(20)COLLATEChinese_PRC_CI_ASNOTNULL,
carnovarchar(20)COLLATEChinese_PRC_CI_ASNULL,
cartypevarchar(20)COLLATEChinese_PRC_CI_ASNULL,
PRIMARYKEY(id,carid));
5权限表
CREATETABLEPARK.rateright
poperatoridvarchar(20)COLLATEChinese_PRC_CI_ASNOTNULL,
poperatornamevarchar(20)COLLATEChinese_PRC_CI_ASNULL,
poperatorsexchar(10)COLLATEChinese_PRC_CI_ASNULL,
poperatorpswvarchar(20)COLLATEChinese_PRC_CI_ASNULL,
poperatorrightvarchar(20)COLLATEChinese_PRC_CI_ASNULL,
PRIMARYKEY(id,poperatorid));
6时收费表
CREATETABLEPARK.ptime
timenointNOTNULL,
starttimevarchar(50)COLLATEChinese_PRC_CI_ASNULL,
endtimevarchar(50)COLLATEChinese_PRC_CI_ASNULL,
PRIMARYKEY(id,timeno));
7次收费表
CREATETABLEPARK.ptimes