当前位置:文档之家› 大型企业汽车管理系统(完结版)

大型企业汽车管理系统(完结版)

河北北方学院毕业论文题目:大型企业汽车管理系统姓名:连乐指导教师:王艳姝院系(部):信息工程系专业:电子信息工程年级: 0 8级学号: 2008114052河北北方学院教务处制目录目录 0摘要 (2)ABSTRACT (3)第一章引言 (4)1.1课题研究的背景 (4)1.2课题研究的目的 (4)1.3开发环境 (4)第二章系统分析 (4)2.1需求分析 (4)2.2可行性分析 (4)2.3功能分析 (4)第三章系统设计 (5)3.1功能划分及功能描述 (5)3.2功能模块图 (6)3.3数据流图 (6)3.3.1 顶层数据流图 (6)3.3.2 0层数据流图 (7)3.3.3 1层数据流图 (7)3.4概念结构设计E-R图 (8)3.5关系模型 (8)3.6数据库设计 (9)第四章系统实现 (16)4.1系统界面及相应的代码 (16)4.1.1登录界面 (16)4.1.2系统管理员修改密码界面 (18)4.1.3供应商信息管理界面 (20)4.1.4汽车信息管理界面 (20)4.1.5 出库管理信息界面 (21)4.1.6 支付管理 (22)4.1.7销售管理界面 (23)4.1.8报表管理系统 (25)4.1.9帮助信息界面 (27)4.1.10退出系统界面 (28)第五章课程设计心得体会 (29)参考文献 (30)摘要本设计为一个汽车公司建立一个汽车管理系统。

首先进行系统的需求分析,提出系统任务和系统业务流程的分析。

其次,用SQL Server 2005建立系统运行所要的后台数据库。

本次设计中汽车管理系统是属于作业层的管理信息系统,针对汽车销售公司的销售流程。

系统的主要实施目标是提供丰富的信息查询功能,帮助管理员掌握公司汽车的各种详细信息,熟悉购车顾客的各类信息,掌握顾客的购买信息,从而提供更好的服务给顾客;公司更可以根据本系统及时了解市场动态并修改销售战略。

在数据库设计中,本设计又先对数据库进行需求分析和概念设计结构的列出,这样得到了较合理的逻辑数据结构,利用此数据的结构才能支持系统的各模块的实现。

然后通过Microsoft Visual Studio .NET 2005进行各个系统功能模块的创建和系统的实现。

在创建过程中,本设计先从系统主模块着手,再实现各个小的模块功能。

最后在系统实现的过程中将数据库连接起来,实现整个系统的正常运行。

一个正常进行的汽车销售需要管理所拥有的汽车信息的设置、销售人员的信息和客户的信息等,更重要的还要提供汽车信息管理。

面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。

关键词:;Sql Servel数据库;汽车管理;信息管理;AbstractThis design is mean to state how to build a automobile sales management system for a 4Sshop.First is to analyze the system, pointing out the analysis of systematic mission and the process of it.. Then the author build a background data-base by using SQL Server 2005.In designing the data-base, the author analyze the need of the data structure and list all the designs of the concept, through which the author get a relatively reasonable logic data structure and realize each systematic module by using it. And then the author builds each function of the systematic module and realizes the system. In the process of creation, the author starts from the main systematic module and then realizes each small one. In the final process of realizing the system, the author connects the databases, realizing the normal operation of the whole system. A normally operated sales of automobiles need the administration of the set of the occupied automobiles, the information of the sales people and the of the customers and so on .What is more important is the information management of the automobiles .In face of the variety of information, what the author need is the structure of the data-base to store the information and the effective structure of the process to support the operation of the various data.Key words: ;Sql Servel Database;Car Management; Information Management第一章引言1.1课题研究的背景高效的汽车销售管理系统是当前信息化汽车公司管理系统之需要,面对庞大的汽车销售和库存信息,就需要有汽车管理系统来提高管理工作的效率,通过建立这样的系统,可以做到汽车信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量;1.2 课题研究的目的进一步了解软件的功能划分、软件总体结构,掌握数据库设计原理及相关软件的使用;1.3 开发环境系统开发环境为一台安装windows xp的个人计算机作为客户机,其上安装了SQL Server 2005,本系统使用Visual Stadio 2005来开发,系统设计与运行均可在客户机上进行。

第二章系统分析2.1需求分析随着信息化技术的飞速发展,高效的汽车销售管理系统是当前信息化汽车公司管理系统之需要。

建立汽车销售管理系统可以提高汽车经销商管理公司的职员和汽车的效率,可以做到汽车信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量,实现公司的信息化管理。

2.2可行性分析根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平,通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。

从而达到掌握开发一个小型数据库的目的。

2.3 功能分析进行需求分析首先是调查清楚用户的实际要求,与用户达成共识,然后分析与表达这些需求。

调查厂商与各部门需求的具体步骤如下:(1).调查厂商组织情况。

包括了解各组织的部门组成情况,各部门的职责等,为分析信息流程做准备。

(2).调查各部门的业务活动情况。

包括了解各个部门和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么,这些是调查的重点。

(3).在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求,处理要求,安全性与完整性要求,这是调查的又一重点。

(4).确定新系统的边界。

对前面调查的结果进行初步分析,确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。

调查本地从事汽车销售的企业,根据企业汽车销售的情况,设计用于汽车销售的管理系统,主要功能有:汽车信息,采购商信息,入库信息,支付情况,公司信息,系统管理员信息等。

第三章系统设计3.1 功能划分及功能描述管理员:●管理员/客户帐号管理系统管理员可以登录该系统,登录时需要验证管理员登录号和密码,进入之后可以添加管理员、修改管理员,对客户可以进行查询与删除操作;●采购管理系统管理员可以按汽车型号或价格查询汽车信息,对查到的结果进行修改删除操作,可以进行入库,退货,支付,结转等操作,可以新增供应商,新增商品种类,新增入库单,同时可以打印订单等;●销售管理系统管理员可以修改出库信息,退货信息,支付信息,在添加信息的同时根据需要将汽车的数量加入或删除汽车信息中;●报表管理系统管理员可以根据汽车的名称查询打印入库,供应商往来,销售出库以及商品汇总报表;●系统管理系统管理员可以根据需要添加管理员,设置操作权限,修改密码,公司信息设置等。

普通用户:●授权注册普通管理员只有通过系统管理员才可以注册●汽车销售信息管理员可以查看汽车入库,退货,支付,销售情况,同时可以添加采购商,供应商信息,并生成报表。

3.2 功能模块图3.3数据流图3.3.1 顶层数据流图3.3.2 0层数据流图3.3.3 1层数据流图3.4概念结构设计E-R图3.5关系模型①采购明细表(自编号,采购单号,商品编号,数量,单价,金额);②采购商信息表(客户名称,联系地址,邮政编码,联系电话,联系人,纳税人识别号,开户银行,银行账号,说明);③采购信息数据表(自编号,采购单号,客户名称,应付金额,实付金额,支付方式,经办人,入库日期,说明);④操作用户数据表(用户名称,用户密码,说明);⑤公司信息数据表(公司名称,法人代表,公司地址,服务电话,邮政编码,电子邮件,公司网站,管理系统背景照片,管理系统显示名称,显示优先级);⑥供应商信息表(客户名称,联系地址,邮政编码,联系电话,联系人,纳税人识别号,开户银行银行账号,说明);⑦汽车信息表(汽车编号,汽车名称,规格型号,生产厂商,单位,累计采购量,累计销售量,建议采购价,建议销售价,说明);⑧销售明细(自编号,销售单号,商品编号,数量,单价,金额);销售信息数据表(自编号,销售单号,客户名称,应收金额,实收金额,收款方式,经办人,出库日期,说明);3.6数据库设计采购明细表:主要包括:1.自编号(nvarchar(50))不允许空2.采购单号(nvarchar(50))允许空3.商品编号(nvarchar(50))允许空4.数量(float)允许空5.单价(float)允许空6.金额(float)允许空7.生产日期(datetime)允许空采购商信息表:主要包括:1.客户名称(nvarchar(50))不允许空2.联系地址(nvarchar(50))允许空3.邮政编码(nvarchar(50))允许空4.联系电话(nvarchar(50))允许空5.联系人(nvarchar(50))允许空6.纳税人识别号(nvarchar(50))允许空7.开户银行(nvarchar(50))允许空8.银行账号(nvarchar(50))允许空9.说明(nvarchar(250))允许空采购信息数据表:主要包括:1.自编号(nvarchar(50))不允许空2.采购单号(nvarchar(50))不允许空3.客户名称(nvarchar(50))允许空4.应付金额(float)允许空5.实付金额(float)允许空6.支付方式(nvarchar(50))允许空7.应付账款允许空8经办人(nvarchar(50))允许空9.入库日期(datetime)允许空10.说明(nvarchar(250))允许空操作用户数据表:主要包括:1.用户名称(nvarchar)不允许空2.用户密码(nvarchar)允许空3.采购管理之商品入库(int)允许空4.采购管理之商品退货(int)允许空5采购管理之收到商品(int)允许空6. 采购管理之结转商品(int)允许空7. 采购管理之销售出库(int)允许空8. 采购管理之销售退货(int)允许空9. 采购管理之收到销售(int)允许空10. 采购管理之支付销售(int)允许空11. 采购管理之结转销售(int)允许空12.报表管理之采购入库(int)允许空13.报表管理之供应商往(int)允许空14报表管理之商品汇总(int)允许空15.系统管理之操作权限(int)允许空16.系统管理之公司信息(int)允许空17.系统管理之采购商信(int)允许空18.系统管理之供应商信(int)允许空19.系统管理之商品信息(int)允许空20.说明(nvarchar(250))允许空公司信息数据表:主要包括:2.法人代表(nvarchar(50))允许空3.公司地址(nvarchar(50))允许空4.服务电话(nvarchar(50))允许空5.邮政编码(nvarchar(50))允许空6.电子邮件(nvarchar(50))允许空7.公司网站(nvarchar(50))允许空8.管理系统背景照片(nvarchar(50))允许空9.显示优先级(int)供应商信息表:主要包括1.客户名称(nvarchar(50))不允许空2.联系地址(nvarchar(50))允许空3.邮政编码(nvarchar(50))允许空4.联系电话(nvarchar(50))允许空5.联系人(nvarchar(50))允许空6.纳税人识别号(nvarchar(50))允许空7.开户银行(nvarchar(50))允许空8.银行账号(nvarchar(50))允许空汽车信息表:主要包括1.商品编号(nvarchar(50))不允许空2.商品名称(nvarchar(50))允许空3.规格型号(nvarchar(50))允许空4.生产厂商(nvarchar(50))允许空5.单位(nvarchar(50))允许空6.累计采购量(float)允许空7.累计销售量(float)允许空8.当前库存量允许空9.建议采购价(float)允许空10.建议销售价(float)允许空11.说明(nvarchar(250))允许空销售明细表:主要包括1.自编号(nvarchar(50))不允许空2.销售单号(nvarchar(50))允许空3.商品编号(nvarchar(50))允许空4.数量(float)允许空5.单价(float)允许空6.金额(float)允许空销售信息数据表:主要包括:1.自编号(nvarchar(50))不允许空2.销售单号(nvarchar(50))允许空3.客户名称(nvarchar(50))允许空4.应收金额(float)允许空5.实收金额(float)允许空6.收款方式(nvarchar(50))允许空7.应收账款允许空8.经办人(nvarchar(50))允许空9.出库日期(datetime)允许空10.说明(nvarchar(250))允许空第四章系统实现4.1 系统界面及相应的代码4.1.1登录界面#region 点击登录系统private void 登录系统Button_Click(object sender, EventArgs e){//从app.config文件中读取数据库连接字符串信息String MySQLConnectionString =global::MySale.Properties.Settings.Default.MySaleConnectionString;string MySQL = "Select COUNT(*) From 操作用户Where 用户名称=@用户名称AND 用户密码=@用户密码";SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);MyConnection.Open();SqlCommand MyCommand = new SqlCommand(MySQL, MyConnection);MyCommand.Parameters.Clear();SqlParameter MySqlNameParameter = new SqlParameter();MySqlNameParameter.ParameterName = "@用户名称";MySqlNameParameter.Value = this.用户名称TextBox.Text;MyCommand.Parameters.Add(MySqlNameParameter);SqlParameter MySqlPWParameter = new SqlParameter();MySqlPWParameter.ParameterName = "@用户密码";MySqlPWParameter.Value = this.用户密码TextBox.Text;MyCommand.Parameters.Add(MySqlPWParameter);int MyCount = (int)MyCommand.ExecuteScalar();if (MyCount == 1){this.Close();}else{this.MyTryCount += 1;if (this.MyTryCount != 3){int MyDoCount = 3 - this.MyTryCount;MessageBox.Show("用户密码或用户名称有错,还有" + MyDoCount + "次机会!", "信息提示", MessageBoxButtons.OK, rmation);this.用户密码TextBox.Text = "";this.用户名称TextBox.Text = "";}else{退出系统Button_Click(null, null);}}if (MyConnection.State == ConnectionState.Open){MyConnection.Close();}}#endregion4.1.2系统管理员修改密码界面#region 修改密码private void 修改密码Button_Click(object sender, EventArgs e){if (!(this.新密码TextBox.Text == this.再输一次新密码TextBox.Text) || (this.新密码TextBox.Text.Length == 0)){MessageBox.Show("两次密码的输入不一致!", "信息提示", MessageBoxButtons.OK, rmation);return;}String MySQLConnectionString =global::MySale.Properties.Settings.Default.MySaleConnectionString;string MySQL = "Update 操作用户Set 用户密码='" + this.新密码TextBox.Text + "' Where 用户名称='" + this.用户名称TextBox.Text + "' AND 用户密码='" + this.旧密码TextBox.Text + "'";SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);SqlCommand MyCommand = new SqlCommand(MySQL, MyConnection);MyCommand.Connection.Open();int MyCount = MyCommand.ExecuteNonQuery();if (MyCount == 1){MessageBox.Show("在数据库中修改用户密码操作成功!", "信息提示", MessageBoxButtons.OK, rmation);}else{MessageBox.Show("在数据库中修改用户密码操作失败!", "信息提示", MessageBoxButtons.OK, rmation);}if (MyConnection.State == ConnectionState.Open){MyConnection.Close();}}#endregion4.1.3供应商信息管理界面#regionprivate void 供应商信息BindingNavigatorSaveItem_Click(object sender, EventArgs e){this.Validate();this.供应商信息BindingSource.EndEdit();this.供应商信息TableAdapter.Update(this.mySaleDataSet1.供应商信息);}#endregion4.1.4汽车信息管理界面#regionprivate void 商品信息BindingNavigatorSaveItem_Click(object sender, EventArgs e){this.Validate();this.商品信息BindingSource.EndEdit();this.商品信息TableAdapter.Update(this.mySaleDataSet.商品信息);#endregion4.1.5 出库管理信息界面#region 新增采购商private void 新增采购商Button_Click(object sender, EventArgs e) {BuyerForm MyDlg = new BuyerForm();MyDlg.ShowDialog();SetBuyer();}#endregion4.1.6 支付管理#region查询private void 查询ToolStripButton_Click(object sender, EventArgs e){Try{this.采购商信息TableAdapter.FillBy(this.mySaleDataSet.采购商信息, 客户名称ToolStripTextBox.Text);}catch (System.Exception ex){System.Windows.Forms.MessageBox.Show(ex.Message);}}#endregion4.1.7销售管理界面#region 添加商品private void 添加商品DataGridView_Click(object sender, EventArgs e) {if (this.自编号TextBox.Text.Length < 1)return;this.商品编号TextBox.Text = this.销售明DataGridView.CurrentRow.Cells[1].Value.ToString();this.商品名称TextBox.Text = this.销售明细DataGridView.CurrentRow.Cells[2].Value.ToString();this.规格型号TextBox.Text = this.销售明细DataGridView.CurrentRow.Cells[3].Value.ToString();this.单位TextBox.Text = this.销售明细DataGridView.CurrentRow.Cells[4].Value.ToString();this.数量TextBox.Text = "-" + this.销售明细DataGridView.CurrentRow.Cells[5].Value.ToString();this.实际销售价TextBox.Text = this.销售明细DataGridView.CurrentRow.Cells[6].Value.ToString();this.实际退货价TextBox.Text = this.销售明细DataGridView.CurrentRow.Cells[6].Value.ToString();this.金额TextBox.Text = "";}#endregion4.1.8报表管理系统#region 打印汇总报表private void 打印汇总报表Button_Click(object sender, EventArgs e) {if (this.MyQueryTable.Rows.Count < 1){return;}//导出Excel表格数据文件ApplicationClass MyExcel;Workbooks MyWorkBooks;Workbook MyWorkBook;Worksheet MyWorkSheet;char MyColumns;Range MyRange;Object[,] MyData = new Object[500, 35];int i, j;MyExcel = new ApplicationClass();MyExcel.Visible = true;if (MyExcel == null){MessageBox.Show("Excel程序无法启动!", "信息提示", MessageBoxButtons.OK, rmation);return;}MyWorkBooks = MyExcel.Workbooks;MyWorkBook = MyWorkBooks.Add(Missing.Value);MyWorkSheet = (Worksheet)MyWorkBook.Worksheets[1];MyColumns = (char)(this.MyQueryTable.Columns.Count + 64);MyRange = MyWorkSheet.get_Range("A5", MyColumns.ToString() + "5");int Count = 0;foreach (DataColumn MyNewColumn in this.MyQueryTable.Columns){MyData[0, Count] = MyNewColumn.ColumnName;Count = Count + 1;}j = 1;//输出数据库记录foreach (DataRow MyRow in this.MyQueryTable.Rows){for (i = 0; i < this.MyQueryTable.Columns.Count; i++){MyData[j, i] = MyRow[i].ToString();}j++;}MyRange = MyRange.get_Resize(this.MyQueryTable.Rows.Count + 1,this.MyQueryTable.Columns.Count);MyRange.Value2 = MyData;MyRange.EntireColumn.AutoFit();MyWorkSheet.Cells[2, 2] = this.MyTitle;MyWorkSheet.Cells[4, 1] = "打印日期:" + DateTime.Now.ToShortDateString();}#endregion4.1.9帮助信息界面#regionpublic partial class VersionForm : Form{public VersionForm(){InitializeComponent();}}#endregion4.1.10退出系统界面#region退出系统private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e){if (MessageBox.Show("您确定现在退出本系统吗?", "信息提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes){this.Close();}}#endregion第五章课程设计心得体会高效的汽车销售管理系统是当前信息化汽车公司管理系统之需要,面对庞大的汽车销售和库存信息,就需要有汽车管理系统来提高管理工作的效率,通过建立这样的系统,可以做到汽车信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量。

相关主题