车辆管理系统_第1页
车辆管理系统_第2页
车辆管理系统_第3页
车辆管理系统_第4页
车辆管理系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计说明书题 目:车辆管理系统学生学号:201371060107 学生姓名:金东海学 院:计算机科学与工程学院班 级:13级物联网工程指导教师:蔺想红 2015 年5月30日一、设计任务与要求1、 设计任务Ø 选题意义:在当前的市场经济体制下,企业要想提高市场的竞争力,取得好的经济效益,不但要有好的产品,同时也要有好的管理方式,所以必须拥有一套完善的并且适合自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息、完善服务质量、提高经济效益、分析市场需求、制定销售计划和目标等管理目的。随着信息技术的不断发展,各行各业对企业信息化的要求越来越迫切。企事业单位车辆类型越来越多,

2、这使得单位车辆信息复杂化,关于车辆的各类信息及台账资料越来越多,以前的管理模式主要是通过专门人员进行人工管理,信息化不足,计算机使用率低。造成工作效率低,并且企业内部沟通不良这些问题很难克服,车辆管理很不合理,不能及时根据需要调整所需信息,管理效率越来越差,数据不一致现象越来越多。采用信息系统进行管理可以显著提高车辆管理的工作效率。我们将发挥计算机的庞大的存储空间,高性能的处理能力,高度可靠的数据安全,清晰的可视化数据等这些优势来辅助单位对车辆进行管理,实现了计算机资源的合理利用,真正实现了减少劳动力提高劳动质量的目的。Ø 问题描述:车辆管理系统主要负责各种车辆的常规信息管理工作。系

3、统中的车辆主要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息。大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。每台车辆当月总费用=油价*耗油量/公里+基本维护费用。基本维护费用:客车:2000元/月,小轿车:1000元/月,卡车:1500元/月;Ø 功能要求:实现系统的车辆添加,删除,修改,查找,统计,显示等多个模块功能。2.实验要求Ø 数据库设计 主要包括数据库及标的概述和数据库关系模式。数据库在一个

4、管理信息系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统的效果和数据操作以及能否保证数据的一致性、完事性和安全性。Ø 基础要求 本课程设计要求了解车辆管理系统的过程,要求对车辆的管理有一定的理解,并进一步加深对车辆运作的实现和理解。要求用C#语言和SQL SERVER 2005实现车辆相关信息记录和调度。要求建立一个数据库,然后用C#编程序,编号后要求把数据库与程序连接起来,组成一个大模块,进而进行各个功能的实现。Ø 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中

5、的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告。二、需求分析1、 功能需求 (1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。(2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,

6、则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;(3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提示“车辆信息库为空!”,并返回操作;否则,根据编号删除该车辆的记录。(6)统计信息:输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。2、运行需求Ø 运行环境数据库选择:SQL SERVER 2005 开发平台:Micros

7、oft Visual Studio 2010开发语言:C#Ø 运行可行性分析通过调查分析,新系统设计方案有以下三个可行性:1)、 技术可行性:本系统采用基于C/S系统结构,数据库开发平台选用SQL SERVER 2005,语言简单,易懂,因此,在技术上是可行的。2)、经济可行性:采用车辆管理系统可取代传统信息管理的业务流程,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,提高信息管理的效率,具有用户使用更简单、界面更直观、权限分配更合理等优点大大减少管理成本。3)、营运可行性:本系统操作简单,易于理解,只需通过简单培训,上手较快。Ø 技术指标: 1)、

8、信息的完整性: 采用值约束、缺省等多种方法确保信息的完整性。一旦使用人员录入或修改导致数据错误,系统必须明确地给出警告信息,提示使用者。2) 、系统实用性: 车辆管理系统是一个面向实际应用的软件系统。它的建成将取代手工的低效率工作,因此在进行系统建设的同时必须考虑到人员的使用习惯。3)、系统可扩展性:在开发完成后,系统必须保证在用户有新的需求时能方便地增加一些功能或模块,及时解决用户实际问题,同时还要与系统的其他部分能够保持风格一致,使得软件具有较好的可扩展性。三、系统设计1、总体设计本系统的设计定位于“车辆管理”,主要负责各种车辆的常规信息管理工作。以系统任务的实现和用户需求的满足为设计目标

9、。力求使系统具有充分的可操作性,界面友好,功能完善,并且无须对用户的进行特别的要求。车辆管理系统总流程图(图3-1)如下: 图3-12、详细设计Ø 车辆管理系统表清单:表名表用途usreInfo记录管理员的资料信息Car记录车辆的资料信息Ø 数据库表: userInfo 管理员信息表数据库字段称数据类型允许为空Namevarchar(50)NPassvarchar(50)N Car 车辆信息表数据库字段称数据类型允许为空编号nchar(6)N车牌号varchar(20)Y制造公司varchar(50)N购买时间datetimeY车辆类型nchar(10)N总公里数nchar

10、(10)Y耗油量floatN基本维护费floatY养路费floatN累计费用floatN油价floatN载重信息nchar(10)NØ 系统功能具体实现:系统登录功能设计: 用户打开系统,首先看到登录界面,输入用户姓名,用户密码,点击登录按钮。系统比对姓名和密码。若用户姓名和密码比对成功后,系统自动跳转到主界面,否则,重新输入姓名或密码。添加功能设计:点击添加车辆,在添加的界面,输入添加的信息,然后确认添加,其中,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。显示功能设计:点击更多操作,在操作界面点击显示车辆,系统已有车

11、辆信息即可显示。 删除功能设计:点击更多操作,在显示出车辆信息后,如果当前车辆信息库为空,则提示“车辆信息库为空!”,并返回操作;否则,选定要删除的车辆信息,点击删除车辆,即可直接删除该信息。修改功能设计:点击更多操作,在操作界面点击修改车辆,弹出修改信息界面,点击要修改的信息,重新修改后点击确认修改,即可修改成功。查找功能设计:点击查找车辆,在此界面有三种查找方式:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”; 按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”; 按类别查询:输入类别,输出所查询的信息

12、,若不存在记录,则提示“该类别没有车辆!”;统计功能设计:点击统计车辆,即可显示各车辆的数量情况。 统计车辆即统计当前在库的车辆的总数以及每种类型的车辆的总数,为管理员管理车辆提供了方便,并且让管理人员很清晰地看到并分析当前的车辆数据,并制定相应的措施及作出相应的方案调整。 四、运行结果及测试1、 运行界面及其效果图Ø 登录界面(图4-1) (图4-1)Ø 系统首页(图4-2) (图4-2)Ø 添加界面(图4-3) (图4-3)Ø 删除,显示界面(图4-4) (图4-4)Ø 修改界面(图4-5) (图4-5)Ø 查询界面按车辆类型查询

13、(图4-6) (图4-6)按制造公司查询(图4-7) (图4-7) 按车辆编号查询(图4-8) (图4-8)统计界面(图4-9) (图4-9)2、对在编程与调试中的问题(1)问题描述:数据库正常连接后,系统找不到相关命名的库表。 解决方法:原因是数据库表命名时使用了非法字段。数据库表命名规范,表名长度不能超过30个字符,表名中含有单词全部采用单数形式,单词首写字母要大写,多个单词间不用任何连接符号。(2)问题描述:在添加车辆输入信息时,出现错误。 解决方法:因为车辆表信息要输入的数据都有数据类型,必须输入所需类型才能满足要求,否则无法输入。五、课程设计总结与体会Ø 课程总结:本文利用

14、C#编写程序,实现了用户对公司车辆的编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息的管理。本系统主要实现了对车辆的添加,查询,显示,修改,删除,统计。主要运用了类的继承等编程方法来实现对这些车辆的管理。系统经过实际调试和运行,基本达到了预期的目标,实现了相关功能。Ø 系统特点:本系统在开发中,充分考虑了当前的市场需求,并根据实际能力进行了一些调整,使得系统具有以下特点:1)、操作方便、界面友好直观,易用性、实用性和适用性都很强。2)、系统是根据当前市场的普遍需求设计的,所以适用范围很广,最适用

15、于各种非运营单位的车辆管理,同时也可以作为运营单位车辆管理。所以市场前景很广。3)、系统交互性很强,即使对计算机不是很了解的人,也可以很简单很快的学会对此系统的操作。 4)、提供了强大的数据报表功能,可行手工进行报表的设计调整,也可以系统自动生成,这样可以满足不同的用户的不同需求。Ø 课程体会:通过本次试验,我对数据库有了全新的认识。自己动手设计了车辆管理系统,通过设计程序我熟练掌握了sql server 2005的使用方法,进一步熟练掌握创建表,创建数据库,分离数据库,附加数据库,系统的复习了数据库。并且也熟练掌握了c# 2010中各种控件的功能及使用方法。但是实验过程中也遇到了许

16、多问题,但是经过反复思考,仔细琢磨,已基本解决。通过本次试验,我们团队既学到了许多知识,也总结了许多经验。我们的界面在设计过程中对系统页面进行了拆分,每个人设计与其负责的功能模块相关联的页面,这样可以更简便地进行设计,避免很多相容问题和把过多的工作量放在页面上。我感觉自己的知识缺乏,需要学的知识还很多,另外我还感觉干事情要反复琢磨,仔细推敲,坚持己见,认真思考,其次就是合作的重要性。总之以后会更加努力学习,扩展自己的知识面,不断提高自己的知识。Ø 不足及改善:1)、我们团队的界面设计目标是友好方便,使设计过程更加简洁明了,并没有使用很多图片,而是把重点放在功能按钮的设计上。所以界面相

17、对不是很完美。2)、由于时间和技术水平的缘故,以及在实际的用户管理中都会不可避免的出现一些新的需求,所以本系统还存在着许多方面的工作尚未能完善。3)、在功能方面,还应添加完善一些功能,如管理员权限等等。也可增加联网管理功能,使一个系统的车辆集中管理,资源共享,可视化控制。六、程序清单Ø 数据库连接程序清单: private string connString = "Server=210.26.96.51; DATABASE=JinDonghai; UID=sa; PWD = 95069506"Ø 登录程序清单: private void btnLogin

18、_Click(object sender, EventArgs e) string sqlCheckT = "" int checkCountT = 0; SqlConnection connT; SqlCommand cmdCheckT; sqlCheckT = "SELECT count(*) FROM UserInfo WHERE Name= '" + tbName.Text.ToString().Trim() + "' AND Pass = '" + tbPass.Text.ToString().Tri

19、m() + "'" checkCountT = 0; connT = new SqlConnection(connString); try cmdCheckT = new SqlCommand(sqlCheckT, connT); connT.Open(); checkCountT = (int)cmdCheckT.ExecuteScalar(); catch (Exception ex) MessageBox.Show(ex.Message); finally connT.Close(); if (checkCountT > 0) MessageBox.Sh

20、ow("欢迎观临, "登录成功"); this.DialogResult = DialogResult.OK; Main f = new Main(); f.Show(); else MessageBox.Show("用户或密码没有通过系统认证,请重新输入”,”登录错误"); Ø 添加程序清单: private void button7_Click_1(object sender, EventArgs e) string sqlCheck = "SELECT count ( * ) FROM Car WHERE 编号=

21、9;" + TextNumber.Text.ToString().Trim() + "'" SqlConnection conn = new SqlConnection(connString); SqlCommand cmdCheck = new SqlCommand(sqlCheck, conn); int checkCount = 0; try conn.Open(); checkCount = (int)cmdCheck.ExecuteScalar(); catch (Exception ex) MessageBox.Show(ex.Message)

22、; if (checkCount > 0) conn.Close(); MessageBox.Show("此编号已入库"); return; sqlCheck = "INSERT INTO Car VALUES ('" + TextNumber.Text.ToString().Trim() + "','" + CarID.Text.ToString().Trim() + "','" + comboBox1.Text.ToString().Trim() + "&

23、#39;,'" + TextMakeCom.Text.ToString().Trim() + "', '" + TextTime.Text.ToString().Trim() + "', '" + textS.Text.ToString().Trim() + "', '" + textBasicCost.Text.ToString().Trim() + "', '" + textWayCost.Text.ToString().Trim

24、() + "', '" + textOilPrice.Text.ToString().Trim() + "', '" + texthaoyou.Text.ToString().Trim() + "', '" + textInfo.Text.ToString().Trim() + "', '" + textAllCost.Text.ToString().Trim() + "' )" try cmdCheck = new Sql

25、Command(sqlCheck, conn); cmdCheck.ExecuteNonQuery(); MessageBox.Show("添加成功!"); catch (Exception ex) conn.Close(); MessageBox.Show(ex.Message); return; this.textAllCost.Text = "" boBox1.Text = "" this.textInfo.Text = "" this.texthaoyou.Text = "" this.

26、textOilPrice.Text = "" this.textWayCost.Text = "" this.textBasicCost.Text = "" this.TextNumber.Text = "" this.CarID.Text = "" this.TextMakeCom.Text = "" this.TextTime.Text = "" this.textS.Text = "" Ø 查询程序清单:根据车辆编号查询

27、 private void button1_Click(object sender, EventArgs e) string sqlCheckT = "" int checkCountT = 0; SqlConnection connT, conn; SqlCommand cmdCheckT; if (textBox1.Text.Length = 0) MessageBox.Show("车辆编号不能为空,请输入车辆编号"); return; sqlCheckT = "SELECT count(*) FROM Car WHERE 编号= '

28、;" + textBox1.Text.ToString().Trim() + "' " checkCountT = 0; connT = new SqlConnection(connString); conn = new SqlConnection(connString); try cmdCheckT = new SqlCommand(sqlCheckT, connT); connT.Open(); checkCountT = (int)cmdCheckT.ExecuteScalar(); catch (Exception ex) MessageBox.S

29、how(ex.Message); finally connT.Close(); if (checkCountT < 0) MessageBox.Show("无结果", "提示”); return; string sqlCheck1 = "SELECT '编号' = 编号, '车牌号' = 车牌号, '车辆类型' = 车辆类型, '制造公司' = 制造公司, '购买日期' = 购买日期, '总公里数' = 总公里数, '基本维护费' = 基

30、本维护费, '养路费' = 养路费, '油价' = 油价, '耗油量' = 耗油量, '载重信息' = 载重信息, '累计费用' = 累计费用FROM Car WHERE 编号= '" + textBox1.Text.ToString().Trim() + "' " try SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(sqlCheck1, conn); dsUse

31、r = new DataSet("users"); da.Fill(dsUser, "user"); dataGridView1.DataSource = dsUser.Tables"user" dataGridView1.Refresh(); dataGridView1.Show(); catch (Exception ex) MessageBox.Show(ex.Message); finally conn.Close(); this.textBox1.Text = "" Ø 显示程序清单:priva

32、te void button5_Click(object sender, EventArgs e) string sql = "SELECT '编号' = 编号, '车牌号' = 车牌号, '车辆类型' = 车辆类型, '制造公司' = 制造公司, '购买日期' = 购买日期, '总公里数' = 总公里数, '基本维护费' = 基本维护费, '养路费' = 养路费, '油价' = 油价, '耗油量' = 耗油量, '载

33、重信息' = 载重信息, '累计费用' = 累计费用FROM Car" SqlConnection conn = new SqlConnection(connString); try SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(sql, conn); conn.Open(); dsUser = new DataSet("users"); da.Fill(dsUser, "user"); this.dataGridV

34、iew2.DataSource = dsUser.Tables"user" this.dataGridView2.Refresh(); this.dataGridView2.Show(); catch (Exception ex) MessageBox.Show(ex.Message); finally conn.Close(); selectRows = -1; Ø 删除程序清单:private void button6_Click(object sender, EventArgs e) if (dsUser = null) MessageBox.Show(&q

35、uot;请先显示车库信息,然后进行操作。"); return; string sqlCheck = "SELECT count ( * ) FROM Car WHERE 编号='" + textBox14.Text.ToString().Trim() + "'" SqlConnection conn = new SqlConnection(connString); SqlCommand cmdCheck = new SqlCommand(sqlCheck, conn); int checkCount = 0; try conn.

36、Open(); checkCount = (int)cmdCheck.ExecuteScalar(); catch (Exception ex) MessageBox.Show(ex.Message); if (checkCount = 0 && (tmpName.ToString().Trim() = textBox14.Text.ToString().Trim() conn.Close(); MessageBox.Show("这个名字在后台数据库中不存在,无法进行删除操作,请重新在表格中选定要删除的项目,再进行删除操作!"); return; sqlCh

37、eck = "DELETE FROM Car WHERE 编号='" + textBox14.Text.ToString().Trim() + "'" try cmdCheck = new SqlCommand(sqlCheck, conn); cmdCheck.ExecuteNonQuery(); catch (Exception ex) conn.Close(); MessageBox.Show(ex.Message); return; sqlCheck = "SELECT '编号' = 编号, '车

38、牌号' = 车牌号, '车辆类型' = 车辆类型, '制造公司' = 制造公司, '购买日期' = 购买日期, '总公里数' = 总公里数, '基本维护费' = 基本维护费, '养路费' = 养路费, '油价' = 油价, '耗油量' = 耗油量, '载重信息' = 载重信息, '累计费用' = 累计费用FROM Car" try SqlDataAdapter da = new SqlDataAdapter(); da

39、.SelectCommand = new SqlCommand(sqlCheck, conn); dsUser = new DataSet("users"); da.Fill(dsUser, "user"); this.dataGridView2.DataSource = dsUser.Tables"user" this.dataGridView2.Refresh(); this.dataGridView2.Show(); catch (Exception ex) MessageBox.Show(ex.Message); finall

40、y conn.Close(); this.textBox14.Text = "" selectRows = -1; MessageBox.Show("数据删除完毕!");Ø 修改程序清单: private void button8_Click(object sender, EventArgs e Updata f = new Updata(); f.Show(); Ø 统计程序清单:private void btprintH_Click(object sender, EventArgs e) string sql = "SE

41、LECT COUNT (*) FROM Car where 车辆类型 = '大客车'" SqlConnection conn = new SqlConnection(connString); try SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(sql, conn); conn.Open(); dsUser = new DataSet("users"); da.Fill(dsUser, "user"); this.dataG

42、ridView3.DataSource = dsUser.Tables"user" this.dataGridView3.Refresh(); this.dataGridView3.Show(); catch (Exception ex) MessageBox.Show(ex.Message); finally conn.Close(); selectRows = -1; this.selectRows = dataGridView3.CurrentRow.Index; textBox3.Text = dsUser.Tables"user".Rowsse

43、lectRows0.ToString(); string sql1 = "SELECT COUNT (*) FROM Car where 车辆类型= '小轿车" SqlConnection conn1 = new SqlConnection(connString); try SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(sql1, conn1); conn.Open(); dsUser = new DataSet("users"); da.F

44、ill(dsUser, "user"); this.dataGridView4.DataSource = dsUser.Tables"user" this.dataGridView4.Refresh(); this.dataGridView4.Show(); catch (Exception ex) MessageBox.Show(ex.Message); finally conn.Close(); selectRows = -1; this.selectRows = dataGridView4.CurrentRow.Index; textBox5.Text = dsUser.Tables"user".RowsselectRows0.ToString(); string sql2 = "SELECT COUNT (*) FROM Car where

温馨提示

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

评论

0/150

提交评论