毕业设计(论文)-基于C#的智能化停车场管理系统的设计与开发.docx_第1页
毕业设计(论文)-基于C#的智能化停车场管理系统的设计与开发.docx_第2页
毕业设计(论文)-基于C#的智能化停车场管理系统的设计与开发.docx_第3页
毕业设计(论文)-基于C#的智能化停车场管理系统的设计与开发.docx_第4页
毕业设计(论文)-基于C#的智能化停车场管理系统的设计与开发.docx_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

盐城师范学院毕业设计盐城师范学院毕业设计基于C#的智能化停车场管理系统的设计与开发学生姓名 学 院 信息工程学院 专 业 数字媒体技术 班 级 12(2) 学 号 指导教师 2016年 5 月 16日基于C#的智能化停车场管理系统的设计与开发摘 要随着经济和社会的快速发展,交通的日益发达,人们为了出行方便,几乎每家每户都拥有了私家车,导致停车问题成为了社会的一个重大问题。传统的停车场管理系统的使用不够便捷。因此,在固定场所的停车场急需一款软件来帮助他们更加便利的解决车辆管理问题。本软件提供车辆管理、查询统计、通讯联络、系统设置等功能,用户根据个人喜好可以更换界面主题颜色。通过对这些功能的设计与开发,满足用户需求与体验,基本实现设计目的,真正的便利了用户对于车辆的管理。【关键词】车辆管理;信息系统;数据库;Winform全套设计加扣 3012250582Design and Development of Intelligent Vehicle Management System based on C#AbstractWith the rapid economic and social development, traffic increasingly developed,one for convenience, almost every household has a car, leading to the problem of parking has become a major social problem. Using conventional parking managem-ent system easy enough。 This software provides vehicle management, querystatistic,Communications, system settings and other functions, according to the users perso-nal preferences can change interface theme colors. Through the development and design of these functions, basically designned to meet user needs and experience real convenience for the user of the vehicle management.Keywords Vehicle Management;Information System; Database; WinForm目 录1 引言11.1 研究的目的及意义11.2 研究的应用前景11.2 研究的主要内容12 开发环境与相关技术12.1 C#介绍12.2 SQL Server数据库简介22.3 开发环境与开发工具23 软件系统需求及可行性分析23.1 需求分析23.2 系统可行性分析23.2.1 技术可行性33.2.2 操作可行性33.2.3 经济可行性34 系统软件的总体设计34.1 系统开发流程34.2 系统总体架构设计34.2.1 系统技术平台架构34.2.2 系统功能架构设计44.3 系统数据库的设计54.4 系统数据库调用85 系统软件的具体实现95.1 车辆入库功能的实现95.2 批量添加功能的实现145.3 图形统计功能的实现155.4 停车费用管理功能的实现165.5 组织机构管理功能的实现175.6 车辆出库功能的实现186 系统测试206.1 系统测试的结果207 结论207.1 系统的优缺点207.2 开发过程中遇到的问题及解决方法217.3 收获与体会21参考文献22致谢231 引言1.1研究的目的及意义随着现代经济技术的飞速发展,私家车已经广泛普及,尤其是在节假日的时候,选择私家车出行的人们更是不在少数;另外,随着科技的发展,互联网+概念的提出,固定场所的停车场也急需智能化的软件来方便他们的管理。因此,在这两大背景需求下,智能化的停车场管理系统成为一种需求,开发一款智能化的停车场管理系统成为了一个不错的选择。通过设计开发基于C#的停车场管理系统,使得更加便捷的管理车辆信息,真正的做到无纸化办公。1.2研究的应用前景目前,国内汽车数量急剧增加,尤其是私家车逐渐取代了传统的代步工具,车辆的增多使车辆停放的问题急需解决。因此,各个停车场急需一款软件来提高工作效率,降低人力成本。本系统采用Winform界面开发,人性化的应用界面,具有高效的系统性能,使得对于车辆的管理更加的便捷。1.3研究的主要内容课题研究的主要内容是针对当今社会停车难的问题,以用户使用系统的方便和安全为最终目标,设计和开发一款基于C#的智能化的停车场管理系统。在Windows系统中,使用Visual Studio 2010开发工具及C#语言,辅以Photoshop及SQL Server数据库等工具,完成系统项目的设计与开发。该停车场管理系统功能中主要包含了车辆管理、查询统计、通讯联络、系统设置等功能,同时,用户可以根据个人喜好更换界面主题颜色,实现对于车辆更加便捷的管理。2 开发环境与相关技术2.1 C#介绍C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言1。并定于在微软职业开发者论坛(PDC)上登台亮相。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程2。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。2.2 SQL Server数据库简介SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本3。微软的这个数据平台满足这些数据爆炸和下一代数据驱动应用程序的需求,支持数据平台愿景。2.3 开发环境与开发工具操作系统:Windows 8.1开发工具:Visual Studio 2010数据库:SQL Server 2008开发语言: C#3 软件系统需求及可行性分析3.1 需求分析此款基于C#的智能化停车场管理系统的主要功能有:车辆管理,查询统计,通讯联络,系统设置。(1)车辆管理:根据用户需求,本功能包含车辆出库与入库,包括入库的时间,原因,处理人等信息;(2)查询统计:根据用户需求,查询出某个阶段时间内,车辆的进出库情况,以便于对车辆管理作出更好的安排;(3)通讯联络:用户可以将所有车辆管理人员的联系方式等信息,录入系统,以便于及时联络通讯;(4)系统设置:系统设置可以新增用户,删除用户,以更方便人员的管理;3.2系统可行性分析3.2.1技术可行性本系统是基于Windows系统下的停车场管理软件,使用的是Visual Studio开发环境及C#脚本语言。C#语言是编写Windows操作系统下Winform应用程序的利器,封装了各种数据和处理数据的方法,方便了程序员的设计与开发。3.2.2 操作可行性随着互联网+时代的到来,车辆的管理急需一套现代化的管理工具,使人力物力得到大量的节省,本软件界面简洁,操作方便,使得车辆管理人员对于车辆的管理更加的方便。3.2.3 经济可行性基于C#的停车场管理系统不需要大量的人力物力,只需相应的操作系统和数据库等即可,开发成本很小。4 系统软件的总体设计4.1 系统开发流程(1)系统软件分析:分析设计系统软件的目的是什么。(2)市场调研:根据用户需求拟定需要实现的功能。(3)软件需求分析:对于用户的需求做出具体的分析。(4)界面设计:利用PhotoShop设计简明的页面。(5)编写代码:实现具体的功能。(6)测试分析:测试系统是否存在Bug等。4.2 系统总体架构设计4.2.1 系统技术平台架构Winform三层架构,其中包括:表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)4,三层架构被广泛的用于Winform开发中。表示层(UI),用于显示数据和接收用户输入的数据5。业务逻辑层(BLL)在体系结构中起着承上启下的作用,复杂的逻辑判断和数据验证都需在此完成。业务逻辑层同时扮演着调用者和被调用者两种角色。对于数据访问层而言,它是调用者,对于显示层而言,它确是被调用者。所有对于业务逻辑层的处理才是系统设计的关键。数据访问层(DAL)有时候也称为持久层6,其主要功能是实现数据库的访问,主要为业务逻辑层提供数据,根据传过来的值进行数据的增、删、改、查或其他操作。当然,我们为了数据的传递更加的方便,通常会再添加一个实体类,命名为Model7。这样三层架构的搭建就基本完成。这三层之间通常会借助实体类来传递数据。Winform三层架构的交流模式如下图所示:表示层(UI)业务逻辑层(BLL)数据访问层(DAL)业务实体(Model)图1 三层架构模式图如上图4-1所示,对于多层架构,我们一般都按照预先新建一个空的方案。然后分别新加EntityReflect(实体层) 、DALFactory(数据访问层,工厂类)、Bussiness(中间业务层),并设定Winform为启动专案,该专案为Winform模版8,其他全部可作为Class Library模版,设定各专案间的相互依赖关系:Bussiness依赖DALFactory、Winform依赖Bussiness,之后选取整个方案编译。在Bussiness层引用DALFactory、Winform层中引用Bussiness9。之后编写代码,通过Bussiness复杂的逻辑处理以及数据验证,通过DALFactory层访问数据库,根据传值取得相关数据,返回给Bussiness层,之后Bussiness层再将相关的数据显示在UI层,至此就完成了整个三层架构的流程10。4.2.2 系统功能架构设计(1) 车辆入库功能设计:点击左侧菜单栏进入车辆管理页面,点击车辆入库按钮,页面上显示车辆入库时需要显示的必要字段,并且给出建议停在哪个停车场,用户根据实际情况填写相关的数据,点击保存按钮,车辆入库。(2)车辆出库功能设计:界面上显示存车单号输入框,用户通过输入存车单号进行查找车辆,如果存在,则会自动计算相关的费用以及显示车辆的基本信息以便于用户核对,点击确定收费,车辆成功出库。(3)车辆统计功能设计:根据用户选择的时间段,以及所选单位,可以查询出某个阶段内,车辆的出入库情况,更可以将阶段内的情况导出为Excel文件,以便于进一步的分析可用。(4)图形统计功能设计:界面上根据用户所选择的时间段,统计类型,所要显示的图像类型等,对某个时间段的车辆出入库情况,作出图形统计,以便于管理人员更加直观的看出车辆出入库的趋势。(5)系统设置功能设计:在系统设置中,用户可以通过组织机构管理来添加组织机构,删除组织机构或者新增某个组织机构的子节点。(6)用户管理功能设计:用户可以为系统新增新的用户,并为其设置用户名和密码。如图2是此系统软件的功能结构图:车辆管理系统用户帮助系统设置车辆管理查询统计通讯联络界面风格功能介绍价格管理用户管理综合设置车辆出库车辆入库查询车辆联络方式编辑数据编辑数据导出数据编辑数据图图2 功能结构图4.3 系统数据库的设计4.3.1系统E-R图对于系统E-R图,如图3所示,用户表角色参照角色表。一个用户只能有一个角色,但是一个角色可以被多个用户拥有,每个用户可以处理多条入库和出库信息, 车辆入库信息的停车场参照停车场表中的停车场信息,一个停车场可以停多辆车,但是一辆车只能停在一个停车场,它们之间存在一对多的关系。出库信息的费用结算参考收费表中不同车型的不同收费标准。同时,用户表和单位信息表之间存在这一对多的关系,一个用户只能属于某一个单位,但是某个单位可以有多个的用户。图3 系统E-R图4.3.2数据库表设计本停车场管理系统的数据库由用户信息表user_info、车辆入库信息表car_store、车辆出库信息表car_out、收费标准表car_fee、单位信息表org_table、用户角色表post_table、停车场信息表park_table,各个表之间存在各自的id,作为主键,不同表之间存在关联关系,并且相互影响。表4-1为用户信息表,包含了用户的同户名、真实姓名、单位、角色、新增时间等相关信息。表4-1 用户信息表user_info字段PRIMARY KEY字段长度字段解释idYESint主键NF_userNOnvarchar(20)用户名NF_passwordNOnvarchar(10)密码NF_nameNOnvarchar(50)用户真实姓名NF_danweiNOnvarchar(50)单位NF_postNOnvarchar(50)角色NF_timeNOdatetime新增时间表4-2为车辆入库信息表,包含了入库单号、入库时间、处理单位、车辆类型、车牌号、停车场、处理人等信息。表4-2 车辆入库信息表car_store字段PRIMARY KRY字段长度字段解释idYESint主键car_danhaoNOnvarchar(50)入库单号car_store_timeNOdatetime入库时间car_danweiNOnvarchar(50)处理单位car_typeNOnvarchar(50)车辆类型car_numberNOnvarchar(20)车牌号car_tingchechangNOnvarchar(50)停车场op_userNOnvarchar(50)处理人表4-3为车辆出库表,包含了出库单号、出库时间、入库天数、处理人、应收费、处理单位、备注等信息。表4-3 车辆出库表car_out字段PRIMARY KEY字段长度字段解释IdYESint主键dan_haoNOnvarchar(50)单号store_timeNOdatetime出库时间tingchedaysNOint入库天数chuli_userNOnvarchar(50)处理人ying_shoufeiNOdecimal(18, 0)应收费chuli_danweiNOnvarchar(50)处理单位beizhu_shoufeiNOnvarchar(100)备注表4-4为费用表,包含了车辆类型、入库费用、收费标准、货物保管费等信息。表4-4 费用表car_fee字段PRIMARY KEY字段长度字段解释idYESint主键Car_typeNOnvarchar(50)车类型Fee_storeNOdecimal(18, 0)入库费用Fee_daysNOnvarchar(50)收费标准Fee_keepNOdecimal(18, 0)货物保管费表4-5为单位信息表,包含了单位名称,父节点,单位类型,单位位置等信息。表 4-5 单位信息表org_table字段PRIMARY KEY字段长度字段解释idYESint主键nameNOnvarchar(50)单位名称parentIdNOnvarchar(50)父节点Danwei_kindNOnvarchar(50)单位类型Danwei_locationNOnvarchar(50)单位位置表4-6为用户角色表,包括主键和角色名称。表4-6 用户角色表post_table字段PRIMARY KRY字段长度字段解释idYESint主键nameNOnvarchar(50)角色名称表4-7为停车场信息表,包含名称、停车场位置、所属单位等信息。表4-7 停车场信息表park_table字段PRIMARY KRY字段长度字段解释idYESint主键nameNOnvarchar(50)名称positionNOnvarchar(50)停车场位置Suoshu_danweiNOnvarchar(50)所属单位4.4 系统数据库调用 首先在App.config中配置数据库连接的字符串,代码如下:/配置数据库连接字符串然后在DBHelp.cs中获取连接字符串,返回数据集,代码如下:/获取连接字符串string connectionStr = ConfigurationManager.ConnectionStrings1.ConnectionString;SqlConnection con = new SqlConnection(connectionStr ();/实例化连接SqlDataAdapter sdr = new SqlDataAdapter(sql, con);/实例化数据适配器con.Open();/打开数据库DataSet ds = new DataSet();sdr.Fill(ds);return ds;/返回结果集5 系统软件的具体实现5.1 车辆入库功能的实现车辆入库分为3个部分,首先当车辆入库的时候,进行车牌号信息的识别,如图6所示,车牌号识别的过程如下:首先对拍摄的图像进行二值化操作,然后对图像进行去噪处理,去噪的作用即把孤立的有效值去掉13,随后我们对字符进行切割,最后我们对字符进行匹配14,得到车辆的车牌号,实现过程如图4所示:拍摄车牌号获取车牌号图片进行二值化操作对图像进行去噪处理对去噪之后的图像进行字符分割对字符进行匹配,得到车牌号图4 图像识别过程对于二值化操作,我们主要采用Kittler最小错误分类法进行二值化操作,首先计算灰度后为其确定一个阙值,将阙值T设定为RGB三分量之和即229,这样就可以将图像分为两部分:大于T的像素群和小于T的像素群。将大于T的像素群的像素值设定为白色,小于T的像素群的像素值设定为黑色,这样整个图像就呈现出只有黑白的视觉效果,去除彩色的干扰,如图5所示。图5 二值化过程核心代码如下:for (MinValue = 0; MinValue MinValue & HistGramMinValue = 0; MaxValue-) ;if (MaxValue = MinValue) return MaxValue; / 图像中只有一种颜色 if (MinValue + 1 = MaxValue) return MinValue; / 图像中只有两个颜色 for (X = MinValue; X = Y; X+)/从最小值开始遍历 PixelBack += HistGramX; OmegaBack = OmegaBack + X * HistGramX;/梯度与当前点灰度的积 for (X = Y + 1; X = MaxValue; X+) PixelFore += HistGramX; OmegaFore = OmegaFore + X * HistGramX; /梯度与当前点灰度的积 return Threshold之后我们对图像进行去噪处理,去噪我们采用中值滤波的方式进行去噪,首先我们将滤波模板在图像中漫游,并将模板中心与某个像素位置重合,读取模板中各对应像素的灰度值。将这些灰度值从小到大排列。最后取这一列数据的中间数据,将其赋给对应模板中心位置的像素。如果窗口中有奇数个元素,中值取元素按灰度值大小排序后的中间元素灰度值。如果窗口中有偶数个元素,中值取元素按灰度值大小排序后,中间两个元素灰度的平均值。因为图像为二维信号,中值滤波的窗口形状和尺寸对滤波器效果影响很大,不同图像内容和不同应用要求往往选用不同的窗口形状和尺寸。之后进行图像分割,首先我们计算分割函数,图像中较暗的区域即是我们要分割的对象,然后我们计算前景标识,这些是每个对象内部连接的斑点像素,之后我们继续计算背景标识,这些是不属于任何对象的像素。最后修改分割函数,使其在前景和后景标记位置有极小值,并对修改后的函数做分水岭变换计算。最后进行字符匹配操作得到车牌号码。图6 车牌识别其次是车位的选择,如图7所示。点击确认选择,选择车位,广播提醒请将调频信号波段调节至98Mhz,最后是语音信息的推送,系统播放位置信息,通过调频FM发射器将音频信号以调频信号的形式发送出去,车载通过接收信号,即可播放车位信息。点击确定界面上自动生成一条存车单号,用户可以选择存车单位,车辆类型以及停车场等信息,存车时间默认为当前的系统时间,用户可以选择确认车辆入库或者打印入库单信息,如图8所示。图7 选择车位图8 车辆入库以下是车辆入库过程中用户语音获取停车位置的实现过程:访问数据库访问数据库取所选车位位置音频播放位置调频FM发射器,频率在88-108MHz车载接收信号,并播放接收到的车位位置访问数据库取所选车位位置音频播放位置调频FM发射器,频率在88-108MHz车载接收信号,并播放接收到的车位位置访问数据库取得所选车位位置音频播放车位位置将位置通过SpVoice以音频的形式播放通过调频FM发射器,频率在88-108MHz之间车载接收信号将信号转换为音频播放图9 语音推送/引用AspriseOCR.dll、DevIL.dll、ILU.dll这3个dllDllImport(AspriseOCR.dll,EntryPoint=OCR,CallingConvention=CallingConvention.Cdecl)publicstaticexternIntPtrOCR(stringfile,inttype);try Image img = Image.FromFile(img_path);/获取图片 width = img.Width;/得到图片宽度 height = img.Height;/得到图片高度 catch (Exception ex) MessageBox.Show(ex.StackTrace); txt_result.Text = Marshal.PtrToStringAnsi(OCRpart(img_path, -1, startX, startY, width, height);/识别内容并显示tb_Car_info item = new tb_Car_info();/声明数据层操作对象item.Car_type = comboBoxEx2_CLLX.Text/获取车辆类型的值 item.Store_location = textBoxX8.Text/获取车辆的存放位置item.Reason = textBoxX11.Text/获取扣车原因item.Car_tingchechang = comboBoxEx5_cftcc.Text.ToString().Trim();/从下拉列表中选择选中的停车场信息item.Car_store_time = DateTime.Parse(textBoxX13.Text.ToString().Trim();/获取当前入库的当前时间tb_Car_infoManager tb = new tb_Car_infoManager();/声明数组,存放获取的值SqlParameter sp = new SqlParameter;new SqlParameter(car_danhao,item.Car_danhao),new SqlParameter(car_store_time,item.Car_store_time),new SqlParameter(car_danwei,item.Car_danwei),new SqlParameter(car_type,item.Car_type),/执行SQL语句,车辆入库return SQLHelper.ExecuteNonQuery(CommandType.Text, SQL_CARADD, sp);SpVoice sp = new SpVoice();/声明播放对象sp.Voice = sp.GetVoices(string.Empty, string.Empty).Item(0);/播放音频sp.Speak(您好+ textBoxX8.Text+“谢谢!”, SpeechVoiceSpeakFlags.SVSFlagsAsync); 5.2 批量添加功能的实现批量添加功能,用户可以通过批量添加功能对用户信息,出入库信息等进行批量导入,在界面上显示打开按钮,配置数据源按钮和导入按钮,点击打开按钮,选中需要导入的EXCEL文件11,点击配置按钮,配置导入的数据源,点击导入即可将EXCEL数据导入数据库,如图10所示。图10 批量添加批量导入功能的实现,代码如下:for (int i = 0; i Sum-1; i+)/循环导入数据 tb_Car_infoManager tb = new tb_Car_infoManager();List list = tb.ChazhaoCPH(danhao); /查找是否数据库中已经存在此单号的数据 if (list.Count 0)/如果存在给出提示信息 MessageBox.Show(单号+danhao + 数据库中已经存在); return; /所选站点参数传递出去,实现界面跳转foreach (SqlBulkCopyColumnMapping columnsmapping in SqlBulkCopyparameters)bulkcopy.ColumnMappings.Add(columnsmapping); /加载文件和表的列名 bulkcopy.DestinationTableName = com_tablename.Trim();/指定目标表的列名DataTable table = (DataTable)dataGridView1.DataSource;/获取需要copy的数据源 bulkcopy.WriteToServer(table);/将table copy到数据库DateTime end = DateTime.Now;string mgr = string.Format(服务器0n数据库:1n表名:2n共复制3条数据n耗时4毫秒, conn.DataSource, com_databasename, com_tablename.Trim(), table.Rows.Count, (end - begin).TotalMilliseconds);/统计导入执行时间5.3 图形统计功能的实现界面上显示所要统计数据的时间段,还可以同时选择车辆类型和单位类型等,点击查找按钮,即可显示这个时间段内车辆的出入库情况,便于对于车辆入库状况的分析,查询出的图,会对数据进行划分,可以直观的看出,哪些车辆这段时间内,出入库较多,以便于更好的管理,如图11所示。图11 图形统计对于统计数据图,首先要遍历入库车辆表的所有数据,然后取出相应的车辆所对应的百分比等12。chart_carManager bll = new chart_carManager();/声明数据层操作对象List listcarname=bll.GetChart_Car_name(dateTimePicker1.Value,dateTimePicker2.Value);/根据条件查询出相关车辆类型Listlistcarsums=bll.GetChart_Car_sums(dateTimePicker1.Value,dateTimePicker2.Value); /根据条件查询出相关车辆类型的数量for (int i = 0; i 0)/判断是否添加成功/给出提示 MessageBoxEx.Show(“添加成功!”); 5.5 组织机构管理功能的实现界面树形结构显示已经存在的节点信息,当选中一个节点时,右侧的选择节点信息框会显示所选中的节点信息,在下方的新节点编辑框输入机构名称信息,点击添加子节点,即可在所选节点下添加子节点。图13 组织机构管理组织机构管理,主要以新增子节点为例,选中根节点,然后填写子节点名称,点击新增,即可增加成功。DataRow dr = (DataRow)fNode.Tag;/取父节点数据关联的数据行int fAreaId = (int)drId;/取父节点IDDataRow rownum = ds.Select(parentID= + fAreaId);/子区域if (rownum.Length = 0)/如果不包含子区域,则返回 return;foreach (DataRow dRow in rows) TreeNode node = new TreeNode()13; node.Tag = dRow; node.Text = dRowname.ToString();/获取输入的子节点的名称 fNode.Nodes.Add(node);/添加子节点 BindChildAreas(node);/绑定到左侧树形结构5.6车辆出库功能的实现当输入单号点击查询的时候,会给出车辆的具体位置,方便车辆出库如图14所示。点击确定,出现具体的停车费用,如图15所示。图14 出库提示图15 车辆出库车辆出库功能实现:CarOut_TableEntity m_struct = new CarOut_TableEntity();/声明数据层操作对象/存储收费的各种信息 m_struct.Tingchedays = Convert.ToInt32(labelX54.Text);m_struct.Shoufei_time = DateTime.Parse(textBoxX2.Text);m_struct.Shoufei_stop_time = DateTime.Parse(textBoxX22.Text);try SqlParameter sp = new SqlParameter /存储界面上的传值 new SqlParameter(dan_hao,item.Dan_hao), new SqlParameter(store_time,item.Store_time), new SqlParameter(tingchedays,item.Tingchedays), new SqlParameter(shoufei_stop_time,item.Shoufei_stop_time), new SqlParameter(chaoshi_stands,item.Chaoshi_stands), new SqlParameter(tingche_fei,item.Tingche_fei), new SqlParameter(qingzhang_fei,item.Qingzhang_fei), new SqlParameter(tuoyun_fei,item.Tuoyun_fei), ;return SQLHelper.ExecuteNonQuery(CommandType.Text, SQL_CarOut_Record, sp);/执行SQL,车辆出库 6 系统测试6.1 系统测试的结果本款基于C#的智能化的停车场管理系统的测试测试结果如下:表6-1测试表功能选项操作过程测试结果登录功能分别输入正确和错误的用户名密码可以对错误的用户名密码实现判断,用户名密码不正确给出提示车辆出、入库功能根据提示输入相应的参数可以成功的入库,并且在界面上显示组织机构管理功能选择父节点,填写需要加入的子节点的名字,点击新增子节点可以成功插入子节点收费标准管理功能选择已经存在的收费标准,点击编辑,修改相应价格,点击保存成功修改批量添加功能选择相应的数据源,点击打开,选择相应的EXCEL文件,点击导入成功将数据导入数据库图形统计功能选择相应时间段,点击查询成功显示出这个阶段内,各个出入库情况的百分比,画出图形没有初始化或终止性错误,能够正确访问数据库和调用数据库中数据,预期功能均完整实现。7 结论7.1 系统的优缺点本款基于C#的智能化的停车场管理系统按照用户需求基本已经实现,如车辆的出入库、车辆查询、阶段统计、组织机构管理等。界面简洁大方,用户可以根据自己的喜好来切换界面颜色。但是,有些地方还不是太完善,比如说导入数据,当EXCEL中数据量很大的时候,程序会出现短暂的卡顿现象,在之后考虑通过使用分批量处理的方式来解决这种大数据量的问题。对于权限管理,还不能实现一个人拥有多个权限的问题,这对于用户的人员管理来说,不是太方便。7.2 开发过程中遇到的问题及解决方法(1) C#技术学习的问题;去图书馆借相关于C#和Winform方面的书籍,上网查找资料,看相关的视频,请教老师。(2) 图形统计如何画图问题;去网上查找这方面相关的开源算法,在结合用户的实际需求的同时,首先对各个车辆类型进行分类汇总,然后固定一个所要画图的原点位置,算出各个类型车辆所占的比例,从而计算出需要从原点偏移多少度,从而实现了饼图的绘制。(3) 数据库数据中数据冗余的问题;由于数据库中,一个表中的字段太多,存在很多冗余的数据,故将一张表拆分成多张表,表之间通过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论