汽车维修管理系统的设计与实现讲解.docx
- 文档编号:18111805
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:47
- 大小:360.99KB
汽车维修管理系统的设计与实现讲解.docx
《汽车维修管理系统的设计与实现讲解.docx》由会员分享,可在线阅读,更多相关《汽车维修管理系统的设计与实现讲解.docx(47页珍藏版)》请在冰点文库上搜索。
汽车维修管理系统的设计与实现讲解
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2011年秋季学期
C++面向对象课程设计
题目:
汽车维修管理系统的设计与实现
专业班级:
计算机科学与技术
(1)班
姓名:
张钱鹏
学号:
10240121
指导教师:
年福忠
成绩:
摘要
汽车维修仓库管理信息系统,可以高效地用于汽车零配件的管理,是企业信息化管理的重要组成部分。
本系统为汽车服务行业的中小企业仓库管理提供了一套行之有效的解决方案,系统设计和实现是对现代仓库管理的一次实践探索。
关键词:
汽车维修仓库;管理信息系统;用户管理;SQLSERVER。
附录:
源代码16
一.概述
1.项目背景
在计算机不断发展的今天,计算机已经运用到各个领域,计算机的作用使由手工的操作到计算机的操作是一个大的飞跃,代替的复杂的容易出错的人工操作,节省了大量的时间,提高了正确性,提高了数据的可靠性。
因此每个公司使用计算机建立自己的业务是迫在眉睫,汽车修理厂根据业务发展的需要,决定建立一个数据库管理系统,以代替单一的人工管理。
这样使人工操作的管理方便,简单。
2.编写目的
编写的目的是使汽车修理厂由单一的人工管理到计算机管理的飞跃,使汽车修理厂的管理的效率得到很大的提高,使人工管理的出错的机会大大减少,实现数据的共享,便于查询自己的数据信息,使汽车修理厂的业务的流程时间大大减少,从而可以提高该汽车修理厂的竞争性,在社会有立足之地。
3.软件定义
该软件为第一版,即汽车修理管理系统1.0版。
4.开发环境
数据库:
SQLSERVER2000
开发和编译环境:
VisualC++6.0。
二.需求分析
1.通过分析得知,该修理厂共使用5种单据,4种账册和3种主要报表。
⑴五种单据如表1所示:
表中D1由送修人填写。
修理派工员据此开出修理单D2,分派给指定的修理工执行。
如果在修理中需要更换零件,一律由修理工填写零件领用单D3向仓库领用。
修理结束后,修理工将D2交回给派工员,然后转财务部门结账并开修车发票D5。
D4在零件入库时由仓库管理员验收并且填写。
图6显示了这些单据的格式内容。
⑵四种账册,如表2所示。
图7-10显示了这些账册的表式。
⑶3种主要报表如表3所示
图11-13显示了这些报表的格式。
这些报表是以上面提供的九种单据、帐册为依据,由程序自动统计生成的无需人工干预。
零件耗用月报表是以零件入库、单零件领用单为依据生成的;零件订货计划由库存零件台账生成,如果库存余量小于最低库存量,则产生订货计划;修理工资月报表由修理工名册和汽车修理台账生成。
2.ER模型图。
三.数据库逻辑设计
<<修车登记单>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
xcdjno
varchar
Null
修车登记编号
qcdjno
varchar
Null
汽车牌号
qcdjclass
varchar
Null
型号
qcdjfactory
varchar
Null
生产厂
qcdjperson
varchar
Null
车主名
qcdjtel
varchar
Null
电话
qcdjaddr
varchar
Null
地址
qcdjxiangmu
varchar
Null
修理项目
qcdjdate
datetime
Null
日期
manager
varchar
Null
操作员
<<汽车修理单>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
qcxlid
varchar
Null
修理单编号
xcdjno
varchar
Null
修车登记编号
qcxlno
varchar
Null
汽车牌号
qcxlfrdate
datetime
Null
送修日期
qcxlxiangmu
varchar
Null
修理项目
qcxlgonghao
varchar
Null
修理工工号
qcxlpai
varchar
Null
派工员
qcxllingjianno
varchar
Null
零件号
qcxlnumber
varchar
Null
数量
qcxlhour
varchar
Null
修理小时
qcxltodate
datetime
Null
完工日期
qcxlxlg
varchar
Null
修理工
manager
varchar
Null
操作员
<<零件领用单>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
ljlydanid
varchar
Null
零件领用单编号
ljlyid
varchar
Null
零件号
ljlyljhao
varchar
Null
修理单编号
ljlynumber
int
Null
数量
ljlydate
datetime
Null
日期
manager
varchar
Null
操作员
<<零件入库单>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
ljrkno
varchar
Null
零件号
ljrkname
varchar
Null
零件名
ljrkPrice
varchar
Null
成本
ljrknumber
varchar
Null
数量
ljrkdate
datetime
Null
日期
ljrkperson
varchar
Null
验收人
manager
varchar
Null
操作员
<<修车发票>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
xldno
varchar
Null
修理单编号
fpname
varchar
Null
车主名
fpaddr
varchar
Null
地址
fpno
varchar
Null
汽车牌号
fpxiangmu
varchar
Null
修理项目
fpxlmoney
varchar
Null
修理费
fpljmoney
varchar
Null
零件费
fpsum
varchar
Null
总计
fpdate
datetime
Null
日期
<<修理工名册>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
xlgno
varchar
Null
工号
xlgname
varchar
Null
姓名
xlghourmoney
varchar
Null
小时工资
xlgbirthday
datetime
Null
出生日期
xlgworkdate
datetime
Null
进厂日期
xlgaddr
varchar
Null
地址
xlgtel
varchar
Null
电话
<<汽车修理台账>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
xltzno
varchar
Null
修理单编号
xltzqcno
varchar
Null
汽车牌号
xltzxiangmu
varchar
Null
修理项目
xlgno
varchar
Null
修理工号
xltzhour
varchar
Null
修理小时
xltzxlmoney
varchar
Null
修理费
xltzljmoney
varchar
Null
零件费
xltzsum
varchar
Null
总计
xltzljno
varchar
Null
零件号
xltznumber
varchar
Null
数量
xltzfrdate
datetime
Null
送修日期
xltztodate
datetime
Null
完工日期
<<库存零件台帐>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
ljno
varchar
Null
零件号
kcljname(
varchar
Null
零件名
kcljchengben
varchar
Null
成本
kcmoney
varchar
Null
价格
kcnumber
varchar
Null
库存量
kcmin
int
Null
最低库存量
kcdinghuo
varchar
Null
额定订货量
<<零件耗用月报表>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
ljhyno
varchar
Null
零件号
ljhyname
varchar
Null
零件名
ljhynumber
varchar
Null
数量
ljhymoney
varchar
Null
价格
ljhylirun
varchar
Null
利润
<<零件订货计划>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
ljdhname
varchar
Null
零件名
ljdhnumber
varchar
Null
订货量
ljdhmoney
varchar
Null
成本
ljdhsum
varchar
Null
总计
<<修理工工资月报表>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
xlgzno
varchar
Null
工号
xlgzname
varchar
Null
姓名
xlgzhour
varchar
Null
修理小时
xlgzhourmoney
varchar
Null
小时工资
ljdhsum
varchar
Null
月工资
<<零件基本信息>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
ljno
varchar
Null
零件编号
ljname
varchar
Null
零件名
ljchengben
varchar
Null
成本
ljmoney
varchar
Null
价格
<<汽车基本信息>>
列名
数据类型
可否为空
说明
id
int
Notnull
序号
qcno
varchar
Null
汽车牌号
qcclass
varchar
Null
型号
qcfactory
varchar
Null
生产厂
qcperson
varchar
Null
车主名
qctel
varchar
Null
电话
qcaddr
varchar
Null
地址
四.软件功能设计
1.软件功能模块图
2.各模块功能说明:
1.系统管理:
⑴管理用户:
包括用户的添加、修改、删除,退出
⑵修改密码:
包括旧密码、新密码及新密码的确认
⑶注销用户:
退回到登陆模式
⑷退出系统:
退出
2.基本信息:
⑴零件基本信息:
包括的功能有零件的添加、修改、删除、查询
⑵汽车基本信息:
包括的功能有汽车的添加、修改、删除、查询
⑶修理工基本信息:
包括的功能有修理工的添加、修改、删除、查询
3.表单操作:
⑴修车登记单:
包括的功能有修车登记的添加、修改、删除、查询
⑵汽车修理单:
包括的功能有汽车修理的添加、修改、删除、查询
⑶零件入库单:
包括的功能有零件入库的添加、修改、删除、查询
⑷零件领用单:
包括的功能有零件领用的添加、修改、删除、查询
⑸修车发票:
包括的功能有修车发票的添加、修改、删除、查询
4.帐册操作
⑴汽车登记册:
包括的功能有汽车的添加、修改、删除、查询
⑵修理工名册:
包括的功能有修理工的添加、修改、删除、查询
⑶汽车修理台账:
自动汽车修理生成台账,有打印和查询的功能
⑷库存零件台账:
自动库存零件生成台账,可以更新和查询
5.报表操作
⑴零件耗用月报表:
自动生成,有打印和查询功能
⑵员工工资月报表:
自动生成,有打印和查询功能
⑶零件定货计划表:
自动生成,有打印和查询功能
6.帮助
⑴帮助文档:
用户操作手册
⑵关于该系统:
版本说明
五.系统界面
1.用户登录(用户名及密码都为admin)
2.用户管理
3.主界面及数据添加
六.设计总结
SQLServer2000是美国微软公司开发的一款关系型数据库管理系统的产品,具有成本低,易上手,工具全等优点。
适用于大型或超大型数据库服务器端。
它所使用的是增强型T-SQL语言。
这个程序用到的数据库是一个关系型的数据库,设计关系型数据库的重头戏是把数据元素分别放进相关的表格里。
一旦准备好开始操作数据,要依靠表格之间的关系把数据以有意义的方式联系到一起。
这也是这个数据库程序设计的难点所在。
视图是关系型数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
视图具有如下的一些优点:
1.简单性。
视图不仅可以简化用户对数据的理解,也可以简化他们的操作。
那些被经常使用的查询可以被定义为视图,使用户不必为以后的操作每次都指定全部的条件。
2.安全性。
通过视图用户只能查询和修改他们所能见到的数据。
数据库中的其他数据则既看不见也取不到。
数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。
通过视图,用户可以被限制在数据的不同子集上。
3.逻辑数据独立性。
视图可以使应用程序和数据库表在一定程度上独立。
如果没有视图,应用一定是建立在表上的。
有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
在本程序中的三种统计报表:
零件耗用月报表,修理工工资月报表,零件订货计划。
都是通过视图来完成自动的统计的。
数据库程序编写是通过对MFCODBC数据库访问技术的运用实现。
ODBC基于SQL(StructuredQueryLanguage),并把它作为访问数据库的标准。
这个接口提供了最大限度的相互可操作性:
一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。
一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。
ODBC可以为不同的数据库提供相应的驱动程序。
CRecordset类代表一个记录集。
该类是MFC的ODBC类中最重要、功能最强大的类。
本程序对数据库的操作大多是基于这个类的。
通过本次课程设计,让我对SQLSERVER2000及VisualC++之间的设计连接有了更深的理解,提高了软件系统的设计能力,在设计中虽然遇到了很多困难,通过同学朋友帮助,及网络询问、搜查,慢慢解决遇到的问题,最终还是完成本次的课程设计,使我对编程有了更大的兴趣,形成正确的编写Windows程序的思路,了解利用VisualC++编写程序的奥妙。
本次的设计还有些“瑕疵”,主要是系统界面不够漂亮,还有待提高。
致谢
首先非常感谢我们学院开设软件开发综合训练的课题,为我们日后从事计算机方面的工作提供了实战的经验,奠定了初步的基础。
本次课程设计我们花费了三周的时间,三周来我们的辅导老师不辞辛苦的给我们辅导、为我们讲解疑难问题。
在此,特别感谢我们辅导老师对我的谆谆教诲、耐心细致的讲解。
参考文献
[1]张海藩.《软件工程导论》[M].清华大学出版社.2003年12月
[2]张海藩.《软件工程导论学习辅导》[M].清华大学出版社.2004年
[3]萨师煊.《王珊.数据库系统概论》[M].清华大学出版社.2002年
[4]汪孝宜.《刘中兵,徐佳晶等.JSP数据库开发实例精粹》[M].电子工业出版社.2005年1月
[5]周之英.《现代软件工程》.科学出版社.2000年1月
[6]唐任仲.《工程应用软件开发技术》.化学工业出版社.1999年5月
[7]萨师煊.《数据库系统概论》.王珊
[8]《数据库管理系统》.[美].清华大学出版社
[9]《数据库系统概念》.[美].机械工业出版社
[10]《SQLServer2005实用教程》.清华大学出版社.范立南.2005
[11]《SQLServer2005编程员指南》.北京希望电子出版社.李香敏.2005
附录
源代码
usemaster
go
ifexists(select*fromdbo.sysdatabaseswherename='CarManager')
dropdatabaseCarManager
GO
createdatabaseCarManager
go
useCarManager
go
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[GONGZIYUEBAOBIAO]')andOBJECTPROPERTY(id,N'IsView')=1)
dropview[dbo].[GONGZIYUEBAOBIAO]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[KUCUNLINGJIANTAIZHANGVIEW]')andOBJECTPROPERTY(id,N'IsView')=1)
dropview[dbo].[KUCUNLINGJIANTAIZHANGVIEW]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[LINGJIANHAOYONGYUEBAOBIAO]')andOBJECTPROPERTY(id,N'IsView')=1)
dropview[dbo].[LINGJIANHAOYONGYUEBAOBIAO]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[LINGJIANLINGYONGTONGJI]')andOBJECTPROPERTY(id,N'IsView')=1)
dropview[dbo].[LINGJIANLINGYONGTONGJI]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[QICHEXIULITAIZHANG]')andOBJECTPROPERTY(id,N'IsView')=1)
dropview[dbo].[QICHEXIULITAIZHANG]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[XIULIDANTONGJI]')andOBJECTPROPERTY(id,N'IsView')=1)
dropview[dbo].[XIULIDANTONGJI]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[KUCUNLINGJIANTAIZHANG]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[KUCUNLINGJIANTAIZHANG]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[KUCUNLINGJIANTAIZHANG2]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[KUCUNLINGJIANTAIZHANG2]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[LINGJIANJIBENXINXI]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[LINGJIANJIBENXINXI]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[LINGJIANLINGYONGDAN]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[LINGJIANLINGYONGDAN]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[LINGJIANRUKUDAN]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[LINGJIANRUKUDAN]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[M_USER]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[M_USER]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[QICHEDENGJI]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[QICHEDENGJI]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[QICHE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 维修 管理 系统 设计 实现 讲解