C#停车场管理系统

这篇具有很好参考价值的文章主要介绍了C#停车场管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、绪论

1.1内容简介及意义

现如今随着经济的发展, 私家车越来越多, 系统管理停车场变得尤为重要。所以我写了这个系统用来系统化的管理停车场的车辆的停入、驶出和计费,停车位的使用情况,停车证件的信息管理以及工作员工的信息管理,使得停车场的管理可以变的更加的方便快捷和人性化。

1.2开发工具及技术介绍

开发工具:
(1)Microsoft Visual Studio 2019
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。2018年6月,微软宣布开发新一代集成开发环境(integrated development environment,IDE)Visual Studio 2019。
(2)MySQL 8.0
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
技术介绍:
该课程设计主要使用了.net Window窗体编程技术,Oracle的MySql.Data技术以及MySQL8.0数据库的连接和交互技术以实现数据在系统中的可视化和可修改化。利用编译的DBHelper.cs文件实现该技术,对数据库的内容进行增删改查等操作。

二、总体设计

2.1系统总体架构

员工或管理员在登录页面选择不同的身份输入自己的工号和密码后进入系统主页面,点击该页面的菜单项内容进入不同的系统模块进行不同的操作。管理员用户的菜单会额外显示员工管理选项和车位收费标准选项。普通员工登陆之后,菜单中的员工管理选项和车位收费标准选项会隐藏且普通员工无法进行操作。该系统为实现相关的操作,共在数据库中创建了保存管理员相关信息的管理员表(表2-1)、保存员工信息的员工表(表2-2)、保存停车证信息的停车证表(表2-3)、保存停车位信息的停车位表(表2-4)和保存收费标准的收费标准表(表2-5)五个表。
该系统共由登录模块、停车证管理模块、停车位管理模块、员工管理模块和其他模块等模块构成,其总体架构图如图2-1所示。
C#停车场管理系统,C语言课设,c#,开发语言

表2-2 员工表employee
C#停车场管理系统,C语言课设,c#,开发语言

表2-3 停车证表pardcardinfo
C#停车场管理系统,C语言课设,c#,开发语言

表2-4 停车位表parking
C#停车场管理系统,C语言课设,c#,开发语言

表2-5 收费标准表
C#停车场管理系统,C语言课设,c#,开发语言

C#停车场管理系统,C语言课设,c#,开发语言

图2-1 系统总体架构图

2.2登录模块总体设计

登录模块主要用于识别用户的身份,并按照不同的用户身份进行不同的判断,成功则按照不同的身份类型进入主界面,失败按照识别原因进行相应的提示。模块架构图如图2-1所示。
C#停车场管理系统,C语言课设,c#,开发语言

图2-2 登录模块架构图

2.3主界面模块总体设计

主界面由一个MenuStrip菜单控件、一个文本提示框Label控件和一个Panel容器控件组成。菜单选项用于实现用户方便快捷的选择和使用系统的功能,当用户身份为管理员身份时,菜单选项中会额外多出“员工管理”选项和“收费标准”两个选项;当用户身份为普通员工时,这两个选项会隐藏并无法进行操作。当用户需要进行某项操作时,可以点击菜单中的相应选项,点击之后会在Panel控件中显示相应的界面以用于用户进行操作。模块架构图如图2-3所示。
C#停车场管理系统,C语言课设,c#,开发语言

图2-3 主界面模块架构图

2.4停车证管理模块总体设计

停车证管理模块包括停车证信息的检索、添加、编辑和删除等功能。主界面菜单中的“停车证管理”选项的子选项用于选择相应功能。停车证办理选项用于实现停车证信息的添加,停车证检索选项用于实现停车证信息的检索、添加、编辑和删除功能。模块架构图如图2-4所示。

C#停车场管理系统,C语言课设,c#,开发语言

图2-4 停车证管理模块架构图

2.5停车位管理模块总体设计

停车位管理模块包括车位信息的查询、添加、编辑和删除以及车辆的驶入、驶出和计费等功能。主界面菜单中的“车位管理”选项用于选择车辆驶入和车辆驶出并计费两种功能;主界面菜单中的“车位信息检索”选项用于实现停车位信息的检索、添加、编辑和删除功能。模块架构图如图2-5所示。
C#停车场管理系统,C语言课设,c#,开发语言

图2-5 停车位管理模块架构图

2.6员工管理模块总体设计

员工管理模块包括对员工信息的检索、添加、编辑和删除的功能。当用户身份为管理员时,主界面的菜单选项会显示“员工管理”选项,用于实现员工信息的查询、添加、删除和密码重置等功能。模块架构图如图2-6所示。

C#停车场管理系统,C语言课设,c#,开发语言

图2-6 员工管理模块架构图

2.7其他模块总体设计

其他模块包括收费标准模块、修改密码模块和退出登录模块。
修改密码模块用于修改用户的登录密码,主界面菜单中的“修改密码”选项用于实现该功能;退出登录模块用于实现用户的登出以及跳转回登陆页面的功能,主界面菜单中的“退出”选项用于实现该功能;收费标准模块用于实现管理员对停车场车位收费标准的修改和保存功能,主界面菜单中的“收费标准”选项用于实现该功能,但只有用户以管理员身份登录进入系统时,主界面才会显示该菜单选项,否则不显示且无法进行相应操作。

三、详细设计

3.1登录模块设计

登录模块主要用于识别用户的身份。该界面允许普通员工和管理员两种身份进行登录,用户在输入工号和对应的密码后,按照自己的身份类型选择代表相应登陆身份的按钮,点击按钮之后系统会按照不同的身份在不同的数据库中进行用户信息检索,当检索到该账号并且对应的密码相匹配时,则用户登录成功,并将其身份信息传送至主菜单界面,以实现不同身份对主菜单的不同处理。

3.2主界面模块设计

主界面模块用于系统功能的汇总和快捷选择,用户可以通过界面上方的菜单导航选项快速的找到自己需要的操作,点击相应的菜单选项时,调用用于实现该功能的窗体程序存放于Panel容器控件中并显示与主界面中。但由于Panel容器控件的特殊性,用户在选择下一功能时,已经存放的窗体程序不会被直接清空,需要在存放新的窗体程序之前首先执行“panel1.Controls.Clear();”语句对Panel容器控件进行手动清空。
Panel容器控件存放窗体程序代码示例:

panel1.Controls.Clear();
          this.IsMdiContainer = true;
          Carout carin = new Carout();
          carin.MdiParent = this;
          carin.Parent = this.panel1;
          label1.Visible = false;
          carin.FormBorderStyle = FormBorderStyle.None;
      carin.Show();

3.3停车证管理模块设计

在主菜单界面选择菜单选项中的停车证管理模块,即可对该停车场的停车证管理数据库进行增删改查等操作。
点击停车证管理的停车证办理子菜单,停车证办理界面就会显示在主菜单界面中,按照提示输入相应的信息之后点击“办理”按钮,系统会对输入的内容进行相应的判断,判断输入内容是否符合标准,不符合则弹出相应提示,符合则会弹出输入的信息并提示是否办理证件,点击确定之后系统会将输入的信息插入到数据库中,并提示办理成功。
点击停车证管理的停车证检索子菜单,停车证检索界面就会显示在主菜单界面中,按照提示输入信息之后点击“搜索”按钮,系统会按照您输入的条件在数据库中查询符合条件的数据,并将其显示在界面的DataGridView控件中。在控件中选择一条想要编辑的数据信息,点击“编辑”按钮,会弹出编辑子界面,并在子界面中显示该条信息相关数据,按提示修改你想要修改的数据后,点击保存,会对您输入的数据进行判断,满足条件后会提示修改成功并关闭子界面,主界面的DataGridView控件内信息会刷新,显示最新的数据库信息。点击主界面的“添加”按钮会调用停车证办理界面做为子界面,执行停车证办理的相关判断和功能,在录入停车证信息完成之后,关闭该窗口之后,主界面显示的停车证信息列表会刷新,显示最新的数据库信息。在主界面的DataGridView控件中选中一条或多条数据后点击“注销”按钮,会提示是否注销该停车证,点击确定后会执行注销操作,并提示是否成功,点击取消则不执行。
窗口传值代码示例:

主窗口传值:
     Edit ed = new Edit(id,this);
    ed.Owner = this;
ed.ShowDialog();
子窗口接收:
    public Edit( int id,SearchParking searchParking)
    {
         InitializeComponent();
         this.id = id;
         this.searchParking = searchParking; 
}

3.4停车位管理模块设计

该模块分为车辆驶入驶出计费和车位信息的增删改查两部分。
主界面菜单选项中的车位管理选项用于实现停车场内车辆的驶入、驶出、计费和车位的分配功能。点击车位管理选项的车辆驶入子选项,车辆驶入界面会显示在主界面,在输入车辆的停车证号或者车牌号之后,点击“查询”按钮即可检索数据库内与其匹配的停车证信息,查询的结果会显示在界面的DataGridView控件内。随后,系统会对停车场内的空闲停车位进行检索,并将查询到的车位编号存放在ComboBox控件中,下拉选择一个空余停车位编号后,点击“停入”按钮,系统会将数据库内该停车位的状态修改为使用状态,将停入车辆的相关信息和当前的时间一并进行记录并存入数据库中用于车辆驶出时的查询和收费。点击车位管理选项的车辆驶出子选项,车辆驶出界面会显示在主界面,在输入车辆的停车证号或者车牌号之后,即可检索该车辆停入的停车位信息以及停入时间,检索的结果会显示在界面的DataGridView控件内。点击“驶出”按钮即可将车辆驶出停车位,将停车位的状态修改为空闲状态,并计算该车辆从停入时间到驶出时间的停车费用。
主界面菜单选项中的车位信息检索选项用于实现对停车场内车位信息的查询、编辑、添加和删除功能。点击该选项车位信息检索界面会显示在主界面中,按照提示输入信息之后点击“搜索”按钮,系统会按照您输入的条件在数据库中查询符合条件的数据,并将其显示在界面的DataGridView控件中。在控件中选择一条想要编辑的数据信息,点击“编辑”按钮,会弹出编辑子界面,并在子界面中显示该条信息相关数据,按提示修改你想要修改的数据后,点击保存,会对您输入的数据进行判断,满足条件后会提示修改成功并关闭子界面,主界面的DataGridView控件内信息会刷新,显示最新的数据库信息。点击主界面的“添加”按钮会显示停车位信息添加子界面,执行停车位信息添加的相关判断和功能,在录入停车证信息完成之后,关闭该窗口之后,主界面显示的停车证信息列表会刷新,显示最新的数据库信息。在主界面的DataGridView控件中选中一条或多条数据后点击“删除”按钮,会显示相关删除提示,点击确定后会执行侧位删除操作,并提示是否成功,点击取消则不执行。
子界面关闭,主界面数据刷新代码示例:
子界面关闭:

 SearchParking searchParking = (SearchParking)this.Owner;
 searchParking.reLoad_method();
 this.Hide();

主界面刷新:
 
public void reLoad_method()
        {
            SearchP();
        }

3.5员工管理模块设计

在主菜单界面选择菜单选项中的员工管理模块,即可对该停车场的员工信息数据库进行增删改查等操作。点击菜单选项的员工管理选项,员工管理界面就会显示在主菜单界面中,按照提示输入信息之后点击“搜索”按钮,系统会按照您输入的条件在数据库中查询符合条件的数据,并将其显示在界面的DataGridView控件中。在控件中选择一条数据信息,点击“密码重置”按钮,会弹出是否进行密码重置的相应提示,点击“确定”会将选中的员工的登陆密码重置为000,随后主界面的DataGridView控件内信息会刷新,显示最新的数据库信息。点击主界面的“添加”按钮会弹出员工添加界面做为子界面,执行员工添加的相关判断和功能,在录入员工信息完成之后,关闭该窗口,主界面显示的停车证信息列表会刷新,显示最新的数据库信息。在主界面的DataGridView控件中选中一条或多条数据后点击“删除”按钮,会提示是否删除该员工,点击确定后会执行删除操作,并提示是否成功,点击取消则不执行。
密码重置部分代码:

int id = int.Parse(row.Cells["id"].Value.ToString());
DialogResult result = MessageBox.Show("确定要重置用户名为" + row.Cells["username"].Value.ToString() + 
"的员工的登陆密码吗?", 
"警告", 
MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
string sql="update employee set password ='000' where id ="+id;
int r = dBHelper.UPD(sql);
MessageBox.Show("已将用户名为"
 +row.Cells["username"].Value.ToString()+ "
的员工密码重置为000");
}

3.6其他模块设计

其他模块包括收费标准模块、修改密码模块和退出登录模块。
管理员登陆成功之后主菜单会显示收费标准选项,点击该选项,收费标准修改界面会显示在主界面中,修改完成后点击确认修改按钮即可将输入的各个收费标准保存至数据库中并弹出提示。
在主菜单界面点击修改密码选项,修改密码界面会显示在主界面中,在界面中按照要求输入旧密码用于进行用户身份验证,输入两次新密码进行密码核实,系统判断输入符合要求后会弹出密码修改提示,点击“确定”之后系统会对密码进行修改,修改完成之后会提示密码已修改,请重新登录,点击确定后跳转回登录界面进行重新登录。
在主菜单界面点击退出选项,即可完成用户退出登录操作,主界面会关闭并弹出登陆界面。

四、系统测试

测试内容:项目编码结束后,运行测试整个系统功能
测试方法:测试任何软件都有两种方法:黑盒测试和白盒测试法。
黑盒测试法(又称功能测试法)是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,是在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规定正常使用。
白盒测试法(又称结构测试法)是把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作。
测试结果:
(1)空余停车位编号在使用之后,空余停车场的下拉框中仍存在该停车位的编号。
(2)用户修改密码后弹出重新登陆界面会跳转至登陆界面,但主菜单界面未关闭。
(3)查询停车位信息、员工信息和停车证信息时,限制条件增多后查询会报错。
解决方法:
(1)在每次停入车辆之后,清除列表的Items属性,并重新查询添加该属性。
(2)修改密码界面和主菜单界面的关系和单纯的主窗口与子窗口关系有区别,所以不能在用之前的调用关系。修改二者的关系并添加新的调用函数,问题解决。
(3)限制条件的增多会使得查询语句中where段和and段的关系不明确,造成查询语句的格式不规范,所以报错,修改规范后,问题解决。

四、程序截图

在登录界面输入工号和密码后按身份类型点击对应登录按钮弹出提示,成功后进入主菜单。
C#停车场管理系统,C语言课设,c#,开发语言

图7-1 管理员登录
C#停车场管理系统,C语言课设,c#,开发语言

图7-2 员工登录
主菜单显示菜单和主界面点击菜单中的相应选项打开系统相应功能界面。
C#停车场管理系统,C语言课设,c#,开发语言

图7-3 系统主界面
点击车位管理选项中的“车辆停入”选项显示车辆停入界面,输入车牌号或停车证号查询相应信息并显示,同时查询空余停车位信息并显示。选中空余停车位编号后点击“停入”按钮,车辆停入相应车位。
C#停车场管理系统,C语言课设,c#,开发语言

图7-4 车辆停入界面

点击车位管理选项中的“车辆驶出”选项显示车辆驶出界面,输入车牌号或停车证号查询该车辆停入的车位信息并显示。点击“驶出并计费”按钮,车辆驶出相应车位,并显示停车费用。
C#停车场管理系统,C语言课设,c#,开发语言

图7-5 车辆驶出界面
点击车位信息检索选项显示车位信息检索界面,输入查询条件即可查询符合条件的车位信息。
C#停车场管理系统,C语言课设,c#,开发语言

图7-6 车位信息检索界面

选中一条数据,点击“编辑”按钮,会显示车位信息编辑子界面,输入相应信息,点击“确认修改”按钮即可完成车位信息编辑。
C#停车场管理系统,C语言课设,c#,开发语言

图7-7 车位信息编辑子界面
点击“添加”按钮,会显示车位信息添加子界面,输入相应信息,点击“确认添加”按钮,即可完成车位信息添加。
C#停车场管理系统,C语言课设,c#,开发语言

图7-8 车位信息添加子界面
选中一条或多条数据,点击“删除”按钮,会弹出删除提示,点击“确定”会将选中的数据逐条删除。
C#停车场管理系统,C语言课设,c#,开发语言

图7-9 车位信息删除提示
C#停车场管理系统,C语言课设,c#,开发语言

图7-10 车位信息删除结果

点击停车证管理选项中的“停车证办理”选项显示停车证办理界面,输入相应信息之后点击“办理”按钮即可完成停车证办理。
C#停车场管理系统,C语言课设,c#,开发语言

图7-11 停车证办理界面

点击停车证管理选项中的“停车证检索”选项显示停车证检索界面,输入查询条件即可查询符合条件的停车证信息。
C#停车场管理系统,C语言课设,c#,开发语言

选中一条或多条数据,点击“注销”按钮,会弹出注销提示,点击“确定”会将选中的停车证注销。
C#停车场管理系统,C语言课设,c#,开发语言

图7-15 停车证信息注销提示

C#停车场管理系统,C语言课设,c#,开发语言

图7-16 停车证信息注销结果

点击修改密码选项会显示修改密码界面,输入旧密码和新密码并验证会弹出修改密码提示,点击“确认修改”按钮会完成密码修改并弹出重新登录提示,点击“确定”跳转会登陆界面并关闭系统主界面。
C#停车场管理系统,C语言课设,c#,开发语言

图7-17 修改密码界面

C#停车场管理系统,C语言课设,c#,开发语言

图7-18 修改成功提示

管理员身份登录进入系统主界面后,点击员工管理选项会显示员工管理界面,输入检索条件即可检索符合条件的员工信息。
C#停车场管理系统,C语言课设,c#,开发语言

图7-19 员工信息检索界面
选中一条数据,点击“密码”按钮,会弹出密码重置提示,输入相应信息,点击“确认修改”按钮即可完成员工密码重置。
C#停车场管理系统,C语言课设,c#,开发语言

图7-20 员工密码重置提示
C#停车场管理系统,C语言课设,c#,开发语言

图7-21 员工密码重置结果
点击“添加”按钮,会弹出员工信息添加子界面,输入相应信息,点击“确认添加”按钮,即可完成员工信息添加。
C#停车场管理系统,C语言课设,c#,开发语言文章来源地址https://www.toymoban.com/news/detail-726632.html

五、联系与交流

q:969060742  完整文档、代码、sql、程序资源

到了这里,关于C#停车场管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 停车场收费管理系统/停车场管理系统的设计与实现

    摘  要 ABSTRACT 目   录 第 1 章 绪论 1.1背景及意义 1.2 国内外研究概况 1.3 研究的内容 第2章 相关技术 2.1 JSP技术介绍 2.2 SSM三大框架 2.3 MyEclipse开发环境 2.4 Tomcat服务器 2.5 MySQL数据库 第3章 系统分析 3.1 需求分析 3.2 系统可行性分析 3.2.1技术可行性:技术背景 3.2.2经济可行性

    2024年02月12日
    浏览(49)
  • 停车场管理系统

    开发   以下为停车场管理系统的代码:   首先定义Car类,记录车辆信息:   ```java public class Car {     private String plateNumber;  // 车牌号     private long enterTime;  // 进入停车场时间     private long exitTime;  // 离开停车场时间       public Car(String plateNumber, long enterTime) {      

    2024年02月09日
    浏览(40)
  • 停车场管理系统(C++)

    大二写的肯定会有很多很多很多缺点~希望大佬们能指出~给大家提供一个可以改的一个小东西,改成其他的什么什么也是可以的~有bug在评论区里说一下~952行~基本重要的都有注释~ 本“项目”实现了: 1.大中小车型分类 2.进场候车道 3.时间的自动提取 4.车牌的判定 5.查询、进车

    2024年01月16日
    浏览(49)
  • 基于python的停车场管理系统的设计与实现/智能停车管理系统

    车位信息 是 停车场供应用户 必不可少的一个部分。在 停车场发展 的整个过程中, 车位信息 担负着最重要的角色。为满足如今日益复杂的管理需求,各类 系统管理 程序也在不断改进。本课题所设计的 停车场管理系统 , 使用 Django 框架 , Python语言 进行开发,它的优点代

    2024年02月10日
    浏览(40)
  • 数据结构停车场管理系统设计

    数据结构与算法分析课程设计之数据结构停车场管理系统设计。主要应用到数据结构中的栈与队列。运用到的编程语言为C++。 目录 一  设计要求  二 思路分析 三 设计流程 先附上完整代码: 运行结果图: 1.1 问题描述 :设停车场是一个可停放n辆车的狭长通道,且只有一个

    2024年02月04日
    浏览(43)
  • 用JAVA实现停车场管理系统

    该程序使用ArrayList存储停车记录,并通过switch-case语句实现菜单选择功能。主要功能包括: 停车:输入车牌号和进入时间,自动分配停车位编号, 结算:根据停车位编号计算停车费用,计费标准为停车时长(秒)乘以每秒费用0.05元,同时记录车辆离开时间和费用; 查看记录

    2024年02月11日
    浏览(40)
  • 停车场管理系统文件录入(C++版)

    ❤️作者主页:微凉秋意 ✅作者简介:后端领域优质创作者🏆,CSDN内容合伙人🏆,阿里云专家博主🏆 之前写的停车场管理系统或者是通讯录管理系统都没有使用 文件 录入、保存数据,今天带来一个文件录入信息的C++版停车场管理系统。代码部分都会有详细注释,稍加思

    2024年02月03日
    浏览(39)
  • 【数据结构】停车场管理系统程序设计

    说明: 该程序设计采用常见基础的数据结构栈和队列实现了一个简单停车场管理系统。在具体设计中,实现了系统页面和停车场的示意图显示,通过调用顺序栈和链队的相关函数,模拟了实际停车场的运营流程。 目录 1 任务内容 2 需求分析 2.1 功能需求 2.2 输入输出需求 3 概

    2024年02月03日
    浏览(46)
  • Python 实验报告,实现停车场收费管理系统

    3.某小型收费停车场有50个车位,有一个入口与一个出口,满1小时收费1元,不足1小时不收费,10元封顶,超过1天罚款200元。编写程序实现停车场出入口管理。 要求: (1)定义出入口类,将车位总数与目前停在停车场的车辆信息(每辆车包括车牌和入场时间)定义为类属性;

    2024年02月12日
    浏览(40)
  • 基于Web的停车场管理系统(Java)

    目录 一、系统介绍 1.开发的环境 2.本系统实现的功能 3.数据库用到的表 4.工程截图 二、系统展示 1、登录页面  2、首页 3、系统信息管理模块   4、车位信息管理模块  5、IC卡信息管理模块 ​编辑6、固定车主停车管理模块 7、临时车主停车管理模块 8、系统功能操作模块 三

    2024年02月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包