汽车维修管理数据库设计与实现.docx
《汽车维修管理数据库设计与实现.docx》由会员分享,可在线阅读,更多相关《汽车维修管理数据库设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。
汽车维修管理数据库设计与实现
题目:
汽车维修管理数据库设计与实现
一系统概况
本章需简单介绍开发项目基本情况,如系统的编写目的,系统的开发背景,系统的实现目标等。
1.1系统设计的目的
编写的目的是使汽车修理厂由单一的人工管理到计算机管理的飞跃,使汽车修理厂的管理的效率得到很大的提高,使人工管理的出错的机会大大减少,实现数据的共享,便于查询自己的数据信息,使汽车修理厂的业务的流程时间大大减少,从而可以提高该汽车修理厂的竞争性,在社会有立足之地。
1.2系统开发的背景与意义
在计算机不断发展的今天,计算机已经运用到各个领域,计算机的作用使由手工的操作到计算机的操作是一个大的飞跃,代替的复杂的容易出错的人工操作,节省了大量的时间,提高了正确性,提高了数据的可靠性。
因此每个公司使用计算机建立自己的业务是迫在眉睫,汽车修理厂根据业务发展的需要,决定建立一个数据库管理系统,以代替单一的人工管理。
这样使人工操作的管理方便,简单。
汽修修配管理系统是为中小型的汽修厂提供了一个非常良好的管理工具,能有效的将计算机应用技术融合到汽修修配管理行业中去,大大的降低了管理成本,提高领导的管理效率,形成了汽修和配件的统一化综合管理模式,不断的优化人员管理模式,提高企业的信息化、标准化的管理水平,为其长远的发展做出一定的贡献。
1.3系统实现的目标
本系统以局域网为主体,采用C/S模式,在保证汽车维修公司内部信息高度安全及保证数据信息传送和处理的高效性的同时,完成汽修管理系统的所有功能,即:
前台接车、维修管理、配件管理、派工管理、审核管理,另外还提供了对客户及其车辆基本信息的管理。
二系统需求分析
2.1系统总体需求
系统总体需求主要根据系统功能分析系统设计之前的规划工作,包括分析系统元素的种类、功能、各数据项以及系统整体性能模式。
另外,也包括系统各实体之间的联系,系统各模块功能的分析,软硬件平台的介绍等。
2.2系统业务流程分析
汽修业务处理采用流程化管理,包括:
前台接车、维修报价、高级技师派工、维修领料、完工审核、结算收款、车辆出厂等,其业务流程如图
图2.1汽修业务流程图
1、前台接车:
是整个维修业务的开始,对应维修企业的前台接待岗位,主要职能就是与客户的交流,记录客户信息;
2、高级技师派工:
高级维修师派工进一步诊断后进行派工,为维修项目指定维修人员和维修用料。
派工单随车一份,可打印出分发给各维修组负责人一份,记录每个维修人员的工作情况;
3、维修领料:
各分组维修领料时须出具分组派工单,仓管根据派工单发料,领料单一式两份,仓管留存一份,另一份交领料人,领料单必须由领料人签字;
4、完工审核:
各工种维修结束后,由该组负责人同时在随车派工单上登记实际维修项目并签字,车间主管检验后也需在派工单上签字确认;
5、维修结算:
车辆维修完工后,派工单、维修领料单到车间主管处汇总,由总检签字,确认完工,派工单及维修领料单最后交给前台结算员,结算员将汇总。
6、车辆出厂:
最后客户凭收讫的结算单到前台接待处领车钥匙及相关证件,
前台接待开具车辆出厂证(可用结算单代出厂证),确认出厂。
2.3业务流程设计
2.3.1前台接车业务设计
前台接车示功能模块程序流程图如图所示。
前台接待即接车员针对客户的实际信息,进行创建接车单,具体包括客户信息的管理(包括是否为老客户),车辆信息的管理,最后打印出委托单,并把客户及车辆信息的维修处理转向维修业务。
本模块主要实现客户情况的信息填写(如果是老客户直接选择即可,对于新客户则需要打开客户信息录入窗口来录入新客户的信息)、车辆信息的添加。
前台接车示功能模块程序流程如图2.2所示。
图2.2前台接车示功能模块程序流程图
2.3.2高级技师派工业务设计
本业务也是有高级技师来完成的,在签订维修合同后,根据接车单,派遣维修组并打印派工单而方便最终的维修组信息的管理。
高级技师派工流程示意图如图所示。
在主管派工模块中主要完成的任务有:
明细的增删改查业务,派工,维修报价,维修领料,取消维修,打印“派工单”和“分组派工单”等。
高级技师派工流程示意图如图2.3所示。
图2.3高级技师派工流程示意图
2.3.3维修领料业务设计
维修工作组在接到车间主任的派遣任务后,根据接车单而领取维修配件等业务。
本模块完成的任务主要有:
选择好一条待维修的业务后,确定其所需的维修配件,并能进行对维修配件增、删、改操作;最后完成领料单入账,打印领料单的工作。
维修报价流程示意图如图2.4所示。
2.3.4完工审核业务设计
在维修组完成维修后,车间主任要对其工作进行完工审核工作,对维修情况进行最后确认,如果维修效果较好,就把工作转向维修结算业务,如果完成的不够让人满意,则重新派遣维修工作组进行维修工作。
其本模块完成的任务主要有:
车间主管对维修组的维修情况进行审核,在审核过程中如果发现维修项目、维修备件、附加费用等与实际情况有出入,可以对明细条目进行增删改等操作。
2.3.5维修结算业务设计
收款员在车间主任的完工审核通过后,根据接车单、维修项目及配件费用进行和客户结算工作。
本模块完成的任务主要是对待结算的业务检出是否所有维修项目、维修配件、附加费用都已经添加,如有遗漏则补添;填写结算信息;打印结算单据完成结算操作。
2.4系统整体功能介绍
本系统采用了模块化程序设计方法。
模块化设计的特点为模块之间尽可能的以数据连接为主,以特征连接为辅;按照软件的需求,增强模块的独立性,尽量减弱模块之间的联系程度。
这样就能方便修改系统的各个功能,又能为没有参与开发的技术维护人员提供补充、维护系统的便利。
汽车维修管理的子系统主要包括以下几大功能模块(仅列举出常用的功能模块)如图所示,其中每个功能模块都由若干相关联的子功能模块组成。
总功能图如5.5所示。
图5.5总功能图
2.4.1基础数据
主要包括客户信息、车辆信息、维修项目、员工等基本信息,由系统管理员事先录入方便以后选择。
(1)客户基本信息:
包括的功能有客户的添加、查询、修改、删除;
(2)车辆基本信息:
包括的功能有车辆的添加、修改、删除、查询;
(3)修理项目基本信息:
包括的功能有修理项目的添加、修改、删除、查询;
(4)员工基本信息:
包括的功能有员工的添加、修改、删除、查询。
2.4.2汽修管理
主要包括前台接车、高级技师派工、维修领料、完工审核、维修结算、车辆出厂等业务,由其完成汽修业务的整个操作流程。
2.4.3表单操作
主要包括前台接车登记单、维修领料单、配件入库单、接车单票等。
领料账记录维修业务从仓库中领取的各个配件及其对应的单据;接车单记录每笔业务的维修项目、维修配件、应收款的明细账。
(1)前台接车登记单:
包括的功能有修车登记的添加、修改、删除、查询;
(2)配件入库单:
包括的功能有零件入库的添加、修改、删除、查询;
(4)维修领料单:
包括的功能有零件领用的添加、修改、删除、查询;
(5)接车单:
自动汽车修理生成台账,有打印和查询的功能。
2.5系统元素、实体介绍
分析实体中包含的元素项:
客户:
客户编号、客户姓名、客户电话;
车辆:
车牌号码、车主编号、车主姓名、车辆品牌;
员工:
员工编号、员工姓名、员工职称、员工电话;
维修项目:
项目编号、项目名称、维修配件、维修金额、业务编号;
接车单:
业务编号、接车人、应付金额。
2.6软硬件平台介绍(SQLServer2008)
SQLServer2008在Microsoft的数据平台上发布,可以组织管理任何数据。
可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
可以对数据进行查询、搜索、同步、报告和分析之类的操作。
数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
SQLServer2008允许使用Microsoft.NET和VisualStudio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过MicrosoftBizTalkServer进行的业务流程中使用数据。
信息工作人员可以通过日常使用的工具直接访问数据。
·可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
·高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
·智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
三概念结构设计
概念设计
给出系统各实体之间关系的E-R图如图3-1所示。
图3-1总E-R图
分析:
车辆信息表与客户信息表的关系是多对一;
客户表与接车单的关系是一对一;
接车单与维修项目的关系是一对多;
维修项目与员工的关系是多对多。
四逻辑设计
数据逻辑结构设计
数据逻辑结构设计在整个数据库系统设计中是一个非常重要的环节,是后续设计的基础。
如果数据逻辑结构设计不合理、不完善,则在后续系统开发过程中,甚至到软件开发完成后的系统维护中,或者开发过程中需求发生变化或功能发生变更时将引起严重的问题,严重时甚至需要进行整个项目的重新设计。
如此将重复大量的工作,造成时间和精力的浪费。
毫不夸张地说,数据逻辑结构关系设计的结果直接影响着一个数据库系统开发的成败。
汽修管理信息系统数据库的数据逻辑结构设计的原则是:
一个表只存储一个实体(或对象的)相关信息,不同的实体存储在不同的数据表中;如果实体需要继续划分,则划分原则是最终划分结果比当前系统要开发的实体复杂度小;数据表的信息结构要设计合理,以最少的表的字段数量容纳最多的实体信息;动态变化的信息和扩充信息分别放在不同的表中。
汽车维修管理系统数据库关系图如图4-1所示。
图4-1汽车维修管理系统数据库关系图
五详细设计
5.1数据库的数据表设计
5.1.1接车单信息
存储客户、车辆、接车人、收款情况等基本信息。
主键为业务编号,接车单表的结构如图5-1,表的数据如图5-2.
图5-1接车单结构
图5-2接车单数据
5.1.2维修项目表:
存储某个维修业务中所有相关的维修项目的基本信息。
主键是项目编号,维修项目表的结构如图5-3,表的数据如图5-4。
图5-3维修项目表结构
图5-4维修表数据
5.1.3车辆信息表
主要记录车辆的基本信息、车主信息、车辆品牌等信息。
主键是车牌号码,车辆信息表的结构如图5-5,车辆信息表的数据如图5-6.
如图5-5车辆信息表的结构
如图5-6车辆信息表的数据
5.1.4客户信息表
用来存储员工的基本信息。
主键是客户编号,客户表的结构如图5-7,客户表的数据如图5-8。
如图5-7客户表的结构
如图5-8客户表的数据
5.5.5员工信息表
存储员工的编号、员工姓名、员工职称、员工电话等信息。
主键是员工编号,员工信息表的结构如图5-9,员工信息表的数据如图5-10所示。
图5-9员工信息表的结构
图5-10员工信息表的数据
5.5.6维修派工单
存储项目编号、员工编号的信息。
主键是项目编号,维修派工单的结构如图5-11,维修派工单的数据如图5-12所示。
图5-11维修派工单的数据
图5-12维修派工单的数据
5.2界面设计
5.2.1总界面设计
汽车维修管理系统总界面设计如图5-13所示。
图5-13汽车维修管理系统总界面设计
汽车维修管理系统总界面设计代码:
publicpartialclassForm7:
Form
{
publicForm7()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
Form1a=newForm1();
a.Show();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Form2b=newForm2();
b.Show();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
Form3c=newForm3();
c.Show();
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
Form4d=newForm4();
d.Show();
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
Form5f=newForm5();
f.Show();
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
Form6g=newForm6();
g.Show();
}
}
5.2.2各模块界面设计(举例说明)
客户信息界面设计如图5-14所示。
图5-14客户信息界面设计
车辆信息界面设计如图5-15所示。
图5-15车辆信息界面设计
维修项目界面设计如图5-16所示。
图5-16维修项目界面设计
5.2.3各模块功能演示(举例说明)
查询维修项目如图5-17所示。
图5-17维修项目查询
查询维修项目代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringsql=string.Format("select*from维修项目表");//查询
DataTabledt=SqlHelper.ExeTable(SqlHelper.StrConDB,sql);
dataGridView1.DataSource=dt;
}
插入客户信息如图5-18所示。
图5-18插入客户信息
插入客户信息代码:
privatevoidbutton2_Click(objectsender,EventArgse)
{stringcusID=textBox1.Text;
stringcusName=textBox2.Text;
stringcusPhone=textBox3.Text;
stringsql=string.Format("insertinto客户表values('{0}','{1}','{2}')",cusID,cusName,cusPhone);//插入
SqlHelper.ExecuteNonQuery(SqlHelper.StrConDB,sql);
//MessageBox.Show(sql);
button1_Click(sender,e);
MessageBox.Show("新增成功");
}
修改员工信息如图5-19所示。
图5-19修改员工信息
修改员工信息代码:
privatevoidbutton3_Click(objectsender,EventArgse)
{stringstuffID=textBox1.Text;//修改
stringstuffName=textBox2.Text;
stringstuffPos=textBox3.Text;
stringstuffPhone=textBox4.Text;
DialogResultdr=MessageBox.Show
("您确定要修改编号为"+stuffID+"的员工信息吗?
","提示",MessageBoxButtons.YesNo);
if(dr==System.Windows.Forms.DialogResult.No)
return;
//构造sql语句
stringsql2=string.Format("update员工表set员工姓名='{1}',员工职称='{2}',员工电话='{3}'where员工编号='{0}'"
stuffID,stuffName,stuffPos,stuffPhone);
//执行
SqlHelper.ExecuteNonQuery(SqlHelper.StrConDB,sql2);
button1_Click(sender,e);
MessageBox.Show("修改成功");
textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
textBox4.Text="";
}
删除车辆信息如图5-20所示。
图5-20删除车辆信息
删除车辆信息代码:
privatevoidbutton4_Click(objectsender,EventArgse)
{//获取选中行的值
DataGridViewRowdgvr=dataGridView1.SelectedRows[0];
string车牌ID=dgvr.Cells["车牌号码"].Value.ToString();
DialogResultdr=MessageBox.Show("您确定要删除车牌号码为"+车牌ID+"的车辆信息吗?
","提示",MessageBoxButtons.YesNo);
if(dr==System.Windows.Forms.DialogResult.No)
return;
//构造sql语句
stringsql=string.Format("deletefrom客户表where客户编号='{0}';",车牌ID);
//发送到数据库服务器执行
SqlHelper.ExecuteNonQuery(SqlHelper.StrConDB,sql);
//重新查询数据
button4_Click(sender,e);
//提示成功
MessageBox.Show("删除成功");
}
六系统总结
本系统接合相关汽修公司的工作流程,及相关技术设计开发了本系统。
本文所实现的汽修管理信息系统利用.Net作为系统的开发平台,使用C#为开发语言,结合SQLServer2008数据库,较好的完成了汽修公司工作流程的各个功能。
本系统将注意力集中在汽修企业的实际业务需求,从实际出发,按照软件工程的方法对整个系统做了详细的设计和测试。
选用目前主流的数据库系统及开发语言,不仅达到用户的功能需求,而且开发效率高、开发的软件运行速度快,更重要的是开发的系统稳定性好,后继开发方便,当用户需求发生变更时能够快速及时地对软件功能进行更新,软件后续维护容易。
七心得与体会
SQLServer2000是美国微软公司开发的一款关系型数据库管理系统的产品,具有成本低,易上手,工具全等优点。
适用于大型或超大型数据库服务器端。
这个程序用到的数据库是一个关系型的数据库,设计关系型数据库的重头戏是把数据元素分别放进相关的表格里。
一旦准备好开始操作数据,要依靠表格之间的关系把数据以有意义的方式联系到一起。
这也是这个数据库程序设计的难点所在。
通过本次课程设计,让我对SQLSERVER2000及VisualC#之间的设计连接有了更深的理解,提高了软件系统的设计能力,在设计中虽然遇到了很多困难,通过同学朋友帮助,及网络询问、搜查,慢慢解决遇到的问题,最终还是完成本次的课程设计,使我对编程有了更大的兴趣,形成正确的编写Windows程序的思路,了解利用VisualC#编写程序的奥妙。
本次的设计还有些“瑕疵”,比如是界面不够漂亮,部分功能实现还有待提高。
八参考文献
[1]耿新.新建4S店服务营销策略浅析[J].汽车维修与保养,2007,(3):
48-50[2]胡兴.汽车维修企业发展存在的问题及对策[J].汽车维护与修理2002,(12):
38-39
[3]徐义,欧院棠.基于SaaS模式的特种设备维修信息管理系统[D].设备管理与维修,2010,4
[4]李金友.基于SQLServer的主动数据库模式研究[J].通化师范学院学报,2008,29(8):
24
[5]武装等..NET框架程序员参考手册-框架基础篇第3版[M],北京:
北京大学出版社2006,340-350
[6]刘晓华..NET核心技术原理与架构[M].北京:
电子工业出版社,2002,34-37[7]邹建峰,李律松,李晓栓.ASP.NET开发技术详解[M],北京:
人民邮电出版社,2005,1-3