停车场收费管理系统论文报告.docx
- 文档编号:17977605
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:27
- 大小:409.13KB
停车场收费管理系统论文报告.docx
《停车场收费管理系统论文报告.docx》由会员分享,可在线阅读,更多相关《停车场收费管理系统论文报告.docx(27页珍藏版)》请在冰点文库上搜索。
停车场收费管理系统论文报告
软件工程
停车收费管理系统
1、系统分析
1、需求分析
1.1功能需求
1.1.1停车场管理系统总目标
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个运行稳定,便于管理、维护的停车场收费管理系统,从而达到有效的管理车辆的出入,费用管理查询,车位查询,以及管理员的设置,会员管理等功能。
1.1.2数据流程图
系统的功能需求如下:
停车场管理系统的主界面有管理员提供;
系统在启动时要求管理员输入用户名和密码,只有用户名和密码正确,才可以进入系统的主功能界面;
管理员负责对系统的维护工作,因此系统应赋予管理员对车位信息、用户信息的添加、修改、删除和查询等功能的操作权限。
其数据的流程如图1.1,图1.2所表示;
管理员应为车辆进行入场登记和离场登记,并结算停车费用;
车位信息、VIP用户信息、管理员信息和进出记录保存在对应的数据库表中。
1.2性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,停车场管理系统
应该满足以下的性能需求:
系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。
系统的开放性和系统的可扩充性
停车管理系统在开发过程中,应该充分考虑以后的可扩充性。
例如会员识别系统的方式的改变(射频,IC等),用户查询的需求也会不断的更新和完善。
所有这些,都要求系统提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
系统的易用性和易维护性
停车场管理系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面。
系统中涉及到的数据是公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃的时候数据的恢复等工作。
系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。
所有这些都要符合主流国际、国家和行业标准。
例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。
如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
系统的先进性
目前计算系统的技术发展相当快,作为停车场管理系统工程,应该保证系统在相当的时间仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。
这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。
另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流且有良好发展前途的产品。
1.3数据需求
1.3.1数据字典
我们对数据流图的基本成分分析之后确定以下的张表作为数据字典
图1.1用户名图1.2密码
名字:
密码
别名:
描述:
对管理员及可登录人员的真实性进行验证
定义:
{字符|数字}
位置:
管理员信息表
名字:
用户名
别名:
描述:
标识系统的登录人员
定义:
字符、字母
位置:
管理员信息表
图1.3车位明细图1.4进出记录明细
名字:
进出记录明细表
别名:
描述:
进出记录的各明细项目
定义:
{字符|数字}
位置:
进出记录表
名字:
车位明细表
别名:
描述:
车位的各明细项目
定义:
{字符|数字}
位置:
固定车位表、自由车位表
1.3.2E-R图
状态
车牌号码
车位编号
车位
图1.5车位实体及其属性图
图1.5中涉及的实体为车位,其属性有:
车位编号,状态,车牌号码。
联系地址
联系电话
租期
车辆颜色
起始日期
车主姓名
到期日期
车牌号码
费用
用户
图1.6用户实体及其属性图
图1.6中涉及的实体为用户,其属性有:
车牌号码,车主姓名,车辆颜色,联系电话,联系地址,租期,起始日期,到期日期,费用。
密码
用户名
管理员
图1.7用户实体及其属性图
其图1.7中涉及到的实体为管理员,其属性有用户名和密码。
车牌号码
状态
车位编号
车位
N
车主姓名
N
使用
车牌号码
用户名
车辆颜色
密码
1
联系电话
管理
管理员
N
1
用户
联系地址
费用
起始日期
租期
到期日期
图1.8完整的实体联系图
在1.8的图中有3个实体,他们分别是车位,管理员,用户。
他们的联系如下:
1:
管理员可以对多个用户,多个车位进行管理。
用户和车位被一个管理员管理。
所以他们之间具有1对多的联系。
2:
一个用户只能使用一个车位,一个车位可以被多个用户使用。
所以他们之间具有1对多的联系。
2、组织结构分析
本系统的主要功能分为四个模块:
固定车位管理、自由车位管理、进出记录管理和VIP用户管理。
1)固定车位管理包括查询当前的剩余车位以及所有车位的使用情况详情。
2)自由车位管理包括查询当前的剩余车位以及所有车位的使用情况详情。
3)进出记录管理包括存车、取车、查看,主要功能实现如下:
A、存车:
当有新的车辆准备入库时,在进出记录管理界面的对话框中,输入要进入车辆的车牌号码,点击“计费单价”,系统将自动生成车辆停车单价根据查询到的车辆信息,然后单击“进入”,系统会自动生成车辆的进入时间,将车辆相关信息导入数据库。
B、取车:
当车辆从库中取车时,在对话框中输入车牌号,若是已入库车辆,系统将自动显示出库时间、停车时长以及所需费用,若是未入库车辆,则显示对话框提醒所取车辆不存在。
C、查看:
点击按钮“查看所有”,显示所有车辆进出记录的详情,点击按钮“查看未离开的”,显示所有未离开车辆进出记录的详情。
2、总体设计
2.1总体设计目的
在本停车场管理系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对停车场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。
本阶段已在系统的需求分析的基础上,对停车场管理系统做概要设计。
主要解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对停车场系统所做的模块结构设计的基础上,对系统进行详细设计。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
2.2总体流程
系统主界面
系统登录界面
输入用户名及密码
检查
错误信息
系统登录界面
功能界面
处理功能
图2.1总体流程图
系统在启动后初始化,进入登陆界面,这时输入用户的名字与用户密码,然后对数据库中的用户名,用户密码进行比对检验。
如果密码一致这时候进入到功能操作界面,进行功能的操作。
如果密码和数据库中的用户不一致的话则显示错误提示信息,然后再次进入到系统登陆界面。
2.3车位处理流程
车位的处理分为2个大的部分来进行处理。
首先是车辆的入场登陆:
流程如图2.2所示。
当车辆进入场地的时候管理员通过对车牌(的判断来区分是不是会员。
会员则告知车位的位置,并将其停车信息记录。
非会员的话则需要办理手续,同时生成临时的编号,然后告知其车位的位置,记录停车的信息和编号。
车辆进场
办理手续,生成临时编号
会员判断
N
Y
进场车位
记录信息到数据库
图2.2车辆入场流程
车辆出场结算:
如图2.3所示。
当车辆出场的时候管理员也还是先通过输入车
牌来判断车辆是否是会员车辆。
会员和普通用户则按照不同的计费单价计算价格,管理员收费,记录到数据库。
车辆离场
结算车位费用信息
记录信息到数据库
图2.3车辆离场流程
2.4管理员处理流程
首先管理员凭密码登陆到系统。
开始进行会员资料管理,添加会员时首先判断各项要求必须输入的资料是不是没输入,正确进行到下一步,错误则提示。
然后判断会员的证号是否有重复的,有则从新输入,无则记录到数据库。
会员删除的时候则先判断会员的车辆是不是还停放在停车场中,如果车辆还在停车场中则提示无法删除,反之则直接删除会员的记录。
如图2.4
管理员登陆系统
会员资料管理
会员添加
会员查询
会员修改
会员删除
输入车牌号
输入车牌号
输入资料
输入车牌号
N判断Y
N判断
Y
资料正确且车牌
号码不重复
Y
N判断Y
删除成功
错误提示
N
错误提示
输入修改内容
错误提示
错误提示
显示详细信息
成功添加到数据库中
修改成功
图2.24管理员处理流程
2.5数据结构设计
2.5.1逻辑结构设计
通过把图1.8的E-R图转换为关系,每个关系的码使用斜黑体标出:
用户 (车牌号码,车主姓名,车辆颜色,联系电话,联系地址,租期,起始日期,到期日期,费用)
车位 (车位编号,状态,车牌号码)
管理员(用户名,密码)
进出记录 (车牌号码,进入时间,离开时间,计费单价,停车费用,种类,状态)
2.5.2物理结构设计
按系统的要求建立以下的数据库:
1.管理员信息表
2.VIP用户表
3.进出记录表
4.自由车位表
5.固定车位表
2.6出错设计
服务器都必须安装UPS以防止停电或电压不稳造成的数据丢失的损失。
在断电后恢复过程可采用 SQL SERVER 的日志文件,对其进行ROLLBACK 处理,对数据进行恢复。
2.7安全保密设计
由于本系统所使用的是本机数据库,不存在网络传输中的安全问题,所以系统在做好了病毒的防护工作后。
数据库,管理员使用密码登陆就可以很好的实现安全保密功能。
3、详细设计
3.1详细设计目的
在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的 程序语言书写的程序。
主要的工作有:
根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决以下问题:
接受:
会员加入,车辆进入停车场;
输出:
会员资料显示,车位信息显示,费用结算显示; 进行数据库的查询、修改工作;
接受并判断错误,输出相应的出错消息;
3.2系统功能模块
系统总功能模块
停车场收费管理系统
用户管理
进出记录管理
固定车位管理
自由车位管理
图 3.1系统总功能模块
自由车位管理模块
自由车位管理
查看车位使用详细信息
查看车位使用现况
图 3.2自由车位管理功能模块
固定车位管理模块
固定车位管理
查看车位使用详细信息
查看车位使用现况
图 3.3固定车位管理功能模块
进出记录管理模块
进出记录管理
查看进出记录信息
离开停车场
进入停车场
图 3.4进出记录管理功能模块
用户管理模块
用户管理
删除用户
修改用户信息
查询用户
添加用户
图 3.5用户管理功能模块
3.3具体模块设计
A、系统数据库模块和主体窗口
建立系统数据模块 ,添加两个label和两个textbox控件,在配置文件中写入以下连接字符:
在登录页面中,控件调用数据库中的管理员信息表 ,通过密码的输入来验证用户的合法性,其登陆窗体如图3.6所示
图3.6
首先系统读出管理员信息表中的用户名,密码。
当用户输入密码的时候与管理员信息表的密码对照,正确则进入使用界面,错误的话提示信息,如图3.7所示,然后重新登录。
主要代码如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringname=textBox1.Text;
stringpwd=textBox2.Text;
Sqlhelpersqlhelper=newSqlhelper();
if(sqlhelper.ExeSql("select*from管理员信息where管理员编号='"+name+"'and管理员密码='"+pwd+"'"))
{
//MessageBox.Show("登录成功");
this.DialogResult=DialogResult.OK;
this.Close();
}
else
{
MessageBox.Show("登录失败");
}
}
B、自由车位管理模块设计
本模块主要包括查看车位信息,车位使用详细信息。
通过触发click事件,调用自由车位表中的数据,显示总车位,已用车位和剩余车位,还有所有的详细信息。
其中已用车位和剩余车位通过表中的字段状态来区分,0表示车位为空,1表示车位已用。
而详细信息通过datagridview控件绑定自由车位表来实现的。
主要代码如下:
privatevoidbt1_Click(objectsender,System.EventArgse)
{
SqlConnectionconnection=newSqlConnection();
connection.ConnectionString="DataSource=ACER-PC;"
+"InitialCatalog=MPC;IntegratedSecurity=SSPI";
connection.Open();
stringstrSQL="SELECTCOUNT(*)c1FROM自由车位表where状态='1'";
SqlCommandcmd=newSqlCommand(strSQL,connection);
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
if(dr["c1"]!
=null)
{
tb2.Text=dr["c1"].ToString();
tb3.Text=(Convert.ToInt32(tb1.Text)-Convert.ToInt32(tb2.Text)).ToString();
}
}
}
privatevoidbt2_Click(objectsender,System.EventArgse)
{
SqlConnectionconnection=newSqlConnection();
connection.ConnectionString="DataSource=ACER-PC;"
+"InitialCatalog=MPC;IntegratedSecurity=SSPI";
connection.Open();
DataSetds=newDataSet();
SqlDataAdapterda=newSqlDataAdapter();
SqlCommandcmd=newSqlCommand
("SELECT*FROM自由车位表",connection);
da.SelectCommand=cmd;
da.Fill(ds);
dg1.DataSource=ds.Tables[0];
}
C、固定车位管理模块设计
本模块主要包括查看车位信息,车位使用详细信息。
通过触发click事件,调用自由车位表中的数据,显示总车位,已用车位和剩余车位,还有所有的详细信息。
其中已用车位和剩余车位通过表中的字段状态来区分,0表示车位为空,1表示车位已用。
而详细信息通过datagridview控件绑定自由车位表来实现的。
主要代码如下:
privatevoidbt4_Click(objectsender,System.EventArgse)
{
SqlConnectionconnection=newSqlConnection();
connection.ConnectionString="DataSource=ACER-PC;"
+"InitialCatalog=MPC;IntegratedSecurity=SSPI";
connection.Open();
stringstrSQL="SELECTCOUNT(*)c1FROM固定车位表where状态='1'";
SqlCommandcmd=newSqlCommand(strSQL,connection);
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
if(dr["c1"]!
=null)
{
tb2.Text=dr["c1"].ToString();
tb3.Text=(Convert.ToInt32(tb1.Text)-Convert.ToInt32(tb2.Text)).ToString();
}
}
}
D、进出记录管理模块设计
本模块主要包括查询车辆信息,车辆进场,车辆离场,结算停车费用。
当管理员输入车牌号码,点击“计费单价”按钮,若车辆已进入停车场,则提示信息,若未进入,则在VIP用户表中查询,若查到,在种类为1,停车单价为0.0,否则种类为2,单价为5.0,并把该信息插入到数据库中,然后单击“进入”按钮,系统会显示当前的时间,并插入到数据库中。
在车辆要离开时,管理员输入车牌号码,点击“离开”按钮,若在进出记录表中查询不到,系统会给出提示信息,否则系统会显示当前的时间为离开时间,并插入到数据库中,然后调用该条记录计算停车费用,通过时间差乘以计费单价,在界面中显示结果并把该结果插入到数据库中。
其次,也可以查看所有进出记录的详细信息,通过datagridview控件来绑定数据。
主要代码如下:
privatevoidbt12_Click(objectsender,EventArgse)
{
if(tb1.Text=="")
{
MessageBox.Show("请输入车牌号码");
}
else
{
SqlConnectionconnection=newSqlConnection();
connection.ConnectionString="DataSource=ACER-PC;"
+"InitialCatalog=MPC;IntegratedSecurity=SSPI";
connection.Open();
SqlCommandcmd=connection.CreateCommand();
cmd.CommandType=CommandType.Text;
cmd.CommandText="SELECT*FROM进出记录"
+"WHERE车牌号码='"+tb1.Text+"'AND状态=0";
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
MessageBox.Show("该车还未离开,请核对信息!
");
}
else
{
dr.Close();
cmd.CommandText="SELECT*FROMVIP用户表"
+"WHERE车牌号码='"+tb1.Text+"'";
SqlDataReaderdr1=cmd.ExecuteReader();
if(dr1.Read())
{
tb2.Text="1";
tb3.Text="0.0";
}
else
{
tb2.Text="2";
tb3.Text="5.0";
}
}
}
}
E、用户管理模块设计
本模块主要包括用户查询,用户添加,用户修改,用户删除。
管理员输入车牌号码,点击“查询”按钮,若查询成功,则在textbox中和datagridview中显示该用户的详细信息,否则系统提示信息。
在添加用户信息时,应先要正确的输入用户的详细信息,点击“添加”按钮,若添加成功,则数据库中会多一条记录,否则系统会提示信息。
在修改用户信息时,输入要修改的信息,但单击“修改”的按钮时,系统首先查询该用户是否存在,若存在,则数据库中的信息则会修改,否则系统会提示信息。
在删除用户信息时,输入要删除用户的车牌号,单击“删除”按钮时,系统先查询该用户是否存在,若存在,系统则会删除该用户的所有信息,负责系统则会给出提示信息。
除此之外,还可查看所有用户的详细信息,通过datagridview控件绑定数据来实现需求。
主要代码如下:
privatevoidbt7_Click(objectsender,EventArgse)
{
if(tb1.Text=="")
{
MessageBox.Show("请输入车牌号码");
}
else
{
SqlConnectionconnection=newSqlConnection();
connection.ConnectionString="DataSource=ACER-PC;"
+"I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 停车场 收费 管理 系统 论文 报告