《毕业设计(论文)本市某公司汽车销售管理系统的实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)本市某公司汽车销售管理系统的实现.doc(21页珍藏版)》请在三一办公上搜索。
1、本市某公司汽车销售管理系统的实现摘 要本设计讲述如何为一个汽车4S店铺建立一个汽车销售管理系统。首先进行系统的需求分析,提出系统任务和系统业务流程的分析。其次,用SQL Server 2000建立系统运行所要的后台数据库。在数据库设计中,本设计又先对数据库进行需求分析和概念设计结构的列出,这样得到了较合理的逻辑数据结构,利用此数据的结构才能支持系统的各模块的实现。然后通过Microsoft Visual Studio .NET 2003进行各个系统功能模块的创建和系统的实现。在创建过程中,本设计先从系统主模块着手,再实现各个小的模块功能。最后在系统实现的过程中将数据库连接起来,实现整个系统的正
2、常运行。一个正常进行的汽车销售需要管理所拥有的汽车信息的设置、销售人员的信息和客户的信息等,更重要的还要提供汽车信息管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。关键词:网上订购;数据库;信息管理Design and Implementation of the Automobile Sale SystemAbstractThis design is mean to state how to build a automobile sales management system for a 4Sshop.First is to analy
3、ze 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 2000.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
4、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.
5、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 a
6、nd 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:
7、 Online order; Database; Information Management目 录论文总页数:25页1引言11.1课题研究背景11.2本课题的研究意义11.3本课题的研究方法12开发工具的选择12.1SQL Server数据库管理系统简介12.2C语言简介23系统需求分析与设计23.1系统功能结构23.2系统管理模块分析24数据库的详细设计与实现24.1数据库需求与功能分析24.2数据库模块设计结构34.3数据库物理结构设计54.4各数据表关系图74.5数据库结构实现74.5.1数据库的连接74.5.2数据库连接后实现数据的调用74.5.3数据存储过程的实现84.5.4实现数
8、据库调用的部分关键语句85汽车销售管理系统前台模块实现115.1模块实现部分:运行主登录界面115.2销售人员登陆页面125.3客户管理服务页面145.4客户定购信息以及回馈页面176系统测试总结216.1系统实现的特点216.2系统实现的功能测试总结21结 论22参考文献221引言 1.1 课题研究背景汽车产业的兴旺发展带动顾客对于汽车类型选择的大步前进,目前大多数汽车销售连锁店的销售管理是用简易进行的。随着汽车款式的不断更新,汽车各项功能配置会不断的增多,简易工作已不能适应时代的发展需求,由于各销售店每天的销售量很大,难免会在业务方面及财务方面出现漏洞,给企业的经营带来种种弊端,有时还会带
9、给客户不必要的麻烦。要想解决这些难题,就必须有一套科学、高效、严密汽车销售管理系统作为依托进行和客户的交易。当今的中小企业,一般应具有产品开发、生产、销售、服务的能力,为此企业都设有相应的机构,以管理各个环节的业务。以此前提作为系统设计的基础,开发一个更适合客户和销售人员交流的这样一个汽车销售系统,来满足日益发展的汽车销售业.的要求。1.2 本课题的研究意义为了更好的适应汽车销售管理市场发展的不平衡性,更好的为客户在选择汽车类型方面便利,为更多不了解汽车的客户提供一个交流平台,我们选择这样一个MIS信息管理系统来进行。1.3 本课题的研究方法本系统是在充分理解MIS系统,具备了一定的软件设计与
10、开发的能力的前提条件下。综合以前所学理论知识,结合自己的实际开发水平,设计并开发完成的一个汽车销售管理系统。该系统运用了C/S模式开发,用C#语言作为开发的前台语言,数据库采用SQLserver2000。 2 开发工具的选择2.1 SQL Server数据库管理系统简介本系统的开发选择了SQL数据库,它适用于中小型事物处理及客户端/服务端结构的应用系统。它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Serve
11、r 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。MSSQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。2.2 C语言简介C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于Mi
12、crosoft .NET平台的解决方案。这种框架使C#组件可以方便地转化为XML网络服务,从而使任何平台的应用程序都可以通过Internet调用它。 C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。我认为程序员可以快速进行网络开发,同时也保持了开发者所需要的强大性和灵活性。 使得我们在语言和模块实现方面更加快捷和方便。 3 系统需求分析与设计3.1 系统功能结构本课题的具体任务就是设计一个汽车销售管理信息系统,它是一款利用现代计算机和数据库开发技术来代替人工处理,从而减轻企业各部门工作人员的劳动强度,提高工作质量和效率,提高信息资源的利用率和企业管理水平的实用软件。其主要
13、的功能设计有:对汽车类型的购进,客户信息及销售情况进行日常的管理,如:添加、删除、修改数据库信息;查询信息;系统维护等。该系统还有在销售人员登录后能够自动库存更新的功能,使得企业能够对汽车信息进行实时的管理,提高工作效率。3.2 系统管理模块分析通过对汽车销售管理业务的调查分析与资料查询,弄清了汽车销售管理的工作业务流程和管理功能。 汽车销售管理信息系统主要有以下几项管理功能:信息数据管理:管理员对汽车信息的输入、存库和维护。客户请求信息管理:对销售业务涉及的问题进行交流回馈。客户定购信息管理:对客户定购需求的信息进行归档管理。汽车信息管理:对新进汽车的信息进行归档管理。信息查询统计管理:管理
14、员通过对客户提供的汽车信息找到客户所需的汽车并通过客户信息库对客户的核查后,把客户所需的汽车信息提供给客户。对销售、库存等的统计。4 数据库的详细设计与实现4.1 数据库需求与功能分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。同时在完成基本功能的同时还要实现销售人员对于客户问题回答,以及客户对于汽车选购等等实现功能。仔细分析调查有汽车销售公司管理信息需求的基础上,将得到如图所示的本系统所处理的数据流程。图 4-1 客户与销售人员交易图4.2
15、数据库模块设计结构 有了以上数据项以及数据结构后,以及实现的各项以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。根据上面得出有以下数据项:ACASE(客户信息实体);AutoMobile(汽车信息实体);Emploee(销售人员信息实体);FQ(客户服务信息实体);Picture(图片信息实体);Resolvecase(回馈信息实体)ACASE(客户信息实体)E-R图:IDCCommentsautoIDCustomECommentsaCase图4-2 ACASE(客户信息实体)E-R图A
16、utoMobile(汽车信息实体)E-R图: IDCostaNameCompanyPriceAutoMobile图4-3 AutoMobile(汽车信息实体)E-R图Emploee(销售人员信息实体)E-R图:PwdeNamePositionEmploeeID图4-4 Emploee(销售人员信息实体)E-R图FQ(客户服务信息实体)E-R图:IDAnswerautoIDQuestionStateFQ图4-5 FQ(客户服务信息实体)E-R图Picture(图片信息实体)E-R图:PicaNamePicture图4-6 Picture(图片信息实体)E-R图Resolvecase(回馈信息实体
17、)E-R图:IDautoIDresolvedCaseProfit图4-7 Resolvecase(回馈信息实体)E-R图购买汽车客户m1图4-8 购买关系E-R图4.3 数据库物理结构设计现在需要将上面的数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。汽车销售管理系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。表4-1客户信息表aCase列名数据类型长度是否为空IDint40autoIDint40Customchar100CCommentschar1000ECommentschar1000orderDate
18、datetime80Paymentchar500Citychar200表4-2 汽车信息表AutoMobile列名数据类型长度是否为空IDint40aNamechar400Companychar500Costint40Priceint40Amountint40Descriptionchar4000表4-3 销售人员信息表Emploee列名数据类型长度是否为空IDint40eNamechar100Positionchar200Pwdchar200uvaluenvarchar2551lvalueimage161versionint40表4-4 客户服务信息表FQ列名数据类型长度是否为空IDint4
19、0autoIDint40Questionchar2000Answerchar4000Stateint40表4-5 图片信息表Picture列名数据类型长度是否为空aNamechar400Picimage160表4-6 回馈信息表resolvedCase列名数据类型长度是否为空IDint40autoIDint40Profitint404.4 各数据表关系图图4-8 数据表关系图4.5 数据库结构实现通过前面对于数据库部分的分析,现在可以在SQL Server 2000数据库系统中实现该逻辑结构。这是利用SQL Server 2000数据库系统中的SQL 查询分析器实现的。下面给出部分实现上面各种
20、关系的SQL语句。4.5.1 数据库的连接表示使用当前登录到系统的帐号访问后台数据库,进行数据相关的调用class opAutoMobileprivate string conStr = server=D9J5732X;Integrated Security=SSPI;DataBase=SaleDB;private DbObject db;public opAutoMobile()db = new DbObject(conStr);4.5.2 数据库连接后实现数据的调用通过以下被设定的参数访问SQLServer,并且通过sqlcommand和sqlconnection来实现数据库更新,通过想数
21、据库发送更新数据库的SQL语句实现.class DbObjectprivate SqlConnection connection;private string connectString;public DbObject(string constring)this.connectString = constring;this.connection = new SqlConnection(this.connectString);private SqlCommand buildCommand(string storedProc,SqlParameter parameters) SqlCommand
22、command = new SqlCommand();command.Connection = this.connection;command.CommandText = storedProc.Trim();command.CommandType = CommandType.StoredProcedure;if(parameters != null)foreach(SqlParameter p in parameters)command.Parameters.Add(p);return command;/buildCommand4.5.3 数据存储过程的实现SqlDataReader实现单项数
23、据操作,不提供数据的缓存,并且在整个过程中它由Buildcommond产生,实现数据参数的传递,在实现过程中,构造了sql Command对象cmd,然后调用cmd的ExecuteReader方法,并且返回一个Reader对象,实现存储.public SqlDataReader runProcedure(string storedProc,SqlParameter parameters)SqlDataReader reader;SqlCommand cmd = this.buildCommand(storedProc,parameters);if(connection.State = Conn
24、ectionState.Closed )connection.Open();Reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);/connection.Close();return reader;public void extProcedure(string storedProc,SqlParameter parameters)SqlCommand cmd = this.buildCommand(storedProc,parameters);if(connection.State = ConnectionState.Close
25、d)connection.Open();cmd.ExecuteNonQuery();connection.Close();4.5.4 实现数据库调用的部分关键语句(1)更新汽车信息模块的实现,定义SQL数据参数,运用UPDATE实现对于数据的更新:public void updateMobile(string name,int price,int amount,string Description)SqlParameter parameters = new SqlParameter(aName,SqlDbType.Char,40), new SqlParameter(Price,SqlDbTy
26、pe.Int,4), new SqlParameter(Amount,SqlDbType.Int,4), new SqlParameter(Description,SqlDbType.Char,400);parameters0.Value = name;parameters1.Value = price;parameters2.Value = amount;parameters3.Value = Description;db.extProcedure(updateMobile,parameters);/opAutoMobile(2)实现将后台的数据填充到DS中去,并且实现对于汽车信息的查询,运
27、用SELECT语句进行数据的查询:public DataSet MoblieTable()SqlConnection con = new SqlConnection(conStr);if(con.State = ConnectionState.Closed)con.Open();string s = select * from AutoMobile;SqlCommand cmd = new SqlCommand(s,con);SqlDataAdapter da = new SqlDataAdapter(cmd); cmd.ExecuteNonQuery(); DataSet ds = new
28、DataSet();da.Fill(ds,AutoMobile);con.Close();return ds;(3)通过数据库和前台的连接,并且对于SqlDataReader中reader对象的更新,并且根据其后的参数进行操作,实现对于客户信息的回答: public string GetAnswer(int ID)string s = string.Empty;/ArrayList al = new ArrayList();SqlParameter parameters =new SqlParameter(ID,SqlDbType.Int,4);parameters0.Value = ID;S
29、qlDataReader reader = dbo.runProcedure(GetAnswer,parameters);if(reader.Read()s = Convert.ToString(readerAnswer);reader.Close();return s;/opFQ(4)对于信息的添加,添加相关的参数,对于新的参数的定义,通过存储和构造函数的调出来实现:public void AddCase(int autoID,string custom,string ccomments,string ecomments)SqlParameter parameters = new SqlPa
30、rameter(autoID,SqlDbType.Int,4), new SqlParameter(Custom,SqlDbType.Char,10), new SqlParameter(CComments,SqlDbType.Char,100),new SqlParameter(EComments,SqlDbType.Char,100);parameters0.Value = autoID;parameters1.Value = custom;parameters2.Value = ccomments;parameters3.Value = ecomments;dbo.extProcedur
31、e(AddCase,parameters);/addCase/opCase#endregion(5)销售人员登陆的实现过程,主要表现在先对销售人员的一个参数定义,定义ename和pwd两个变量,并且通过对于Sqlparameter中reader中的对象进行传递,在dbo.runProcedure中添加数据参数,并实现整个过程:public Emploee Login(string pwd,string name)Emploee em = null;SqlParameter parameters = new SqlParameter(pwd,SqlDbType.Char,20), new Sql
32、Parameter(eName,SqlDbType.Char,10);parameters0.Value = pwd;parameters1.Value = name;SqlDataReader reader = dbo.runProcedure(Login,parameters);if(reader.Read() em = new Emploee();em.ID = Convert.ToInt32(readerID);em.name = name;em.Position = Convert.ToString(readerPosition);em.Pwd = pwd;elseem = new
33、Emploee();reader.Close();return em; 5 汽车销售管理系统前台模块实现5.1 模块实现部分:运行主登录界面进入图5-1进行,在这个可以进行汽车车型的阅览和车型的查询,对于用户来说这是一个展示汽车详细信息的页面,进入用户登录界面进行查询。可以在这个生成页面里面,根据系统的语言通过第三方控件,在销售人员我和客户直接搭建一个展示窗口,通过这个第三方控件实现汽车销售系统的最初的展示,并且给与用户更多的选择信息。整个系统主页面实现以下几个功能:文件销售人员登陆输入用户名和密码登陆进行新车入库更新。SUV汽车类型选择购车类型点击进入汽车信息界面选择需要汽车。顾客操作常见消
34、费者问题输入问题(暂时不能实现问题的回馈)。SUV汽车类型选择定购此车输入相应的客户选择信息初步交易。图5-1 汽车销售系统主页面主页面前台代码中用到的数据库图表(如图5-2):图5-2 客户信息图实现代码如下:class Casepublic int ID = -1;public int autoID = -1;public string Custom = string.Empty;public string CComments = string.Empty;public string EComments = string.Empty;class opCaseDbObject dbo = n
35、ull;private string conStr = server=D9J5732X;Integrated Security=SSPI;DataBase=SaleDB;public opCase()this.dbo = new DbObject(conStr);public void AddCase(int autoID,string custom,string ccomments,string ecomments)SqlParameter parameters = new SqlParameter(autoID,SqlDbType.Int,4), new SqlParameter(Cust
36、om,SqlDbType.Char,10), new SqlParameter(CComments,SqlDbType.Char,100),new SqlParameter(EComments,SqlDbType.Char,100);parameters0.Value = autoID;parameters1.Value = custom;parameters2.Value = ccomments;parameters3.Value = ecomments;dbo.extProcedure(AddCase,parameters);/addCase/opCase5.2销售人员登陆页面5.3客户管
37、理服务页面5.4客户定购信息以及回馈页面作为程序的开始,运行主页面,进行销售分析,了解客户的需求,对于需求进行市场采购,然后对于汽车信息以及客户信息进行适时的更新,满足客户的需要。在程序的整个运行过程中,进行适时的分析,在前台加入了第三方控件 ,对于在程序过程中的数据的更新,查询,添加等都得到很好的实现,并且能够按照客户信息进行交易.在这个销售系统中,进入主页面以后,可以根据不同人的需求进行不同的运行操作,通过点击“左边生成的相关汽车的文件夹”,选择你喜欢的汽车类型,然后点击“订购此车”,再根据我们的需求进行调取数据库中的内容,获得相关汽车订购消息,并且选择,进行约定交易。图5-7 预定汽车销
38、售页面在主页面选择汽车的信息以后,进入上下两个界面进行交易的衔接,实现客户信息输入和确认以及客户要求的获取,并在汽车服务的有限条件里获取自己想要的汽车类型,按照自己希望购买的汽车类型填写详细的汽车以及相关问题,然后选择客户信息和客户要求部分填写,根据商家的承诺得到更多的相信信息。图5-8 销售人员回复客户要求页面汽车信息实体在前台代码中的图表(如图5-9):图5-9 汽车信息图实现代码如下:class autoMobilepublic int ID = 0;public string aName = string.Empty;public string Company = string.Emp
39、ty;public int Cost = 0;public int Price = 0;public int Amount = 0;public string Description = 没有任何的描述;/AutoMobile相关操作。class opAutoMobileprivate string conStr = server=D9J5732X;Integrated Security=SSPI;DataBase=SaleDB;private DbObject db;public opAutoMobile()db = new DbObject(conStr);public ArrayList
40、 getTitle()ArrayList al = new ArrayList();autoMobile name = null;SqlDataReader reader = db.runProcedure(GetAuto,null);while(reader.Read()name = new autoMobile();name.ID = Convert.ToInt32(readerID);name.aName = Convert.ToString(readeraName);al.Add(name);reader.Close();return al;public autoMobile getD
41、etails(int ID)/ArrayList al = new ArrayList();autoMobile details = null;SqlParameter parameters = new SqlParameter(autoID,SqlDbType.Int,4);parameters0.Value = ID;SqlDataReader reader = db.runProcedure(DisplayAuto,parameters);if(reader.Read()details = new autoMobile();details.aName = Convert.ToString
42、(readeraName);details.Company = Convert.ToString(readerCompany);details.Price = Convert.ToInt32(readerPrice);details.Description = Convert.ToString(readerDescription);reader.Close();return details;/autoMobileopublic DataSet MoblieTable()SqlConnection con = new SqlConnection(conStr);if(con.State = Co
43、nnectionState.Closed)con.Open();string s = select * from AutoMobile;SqlCommand cmd = new SqlCommand(s,con);SqlDataAdapter da = new SqlDataAdapter(cmd); cmd.ExecuteNonQuery(); DataSet ds = new DataSet();da.Fill(ds,AutoMobile);con.Close();return ds;public void AddautoMobile(string name,string company,int cost,int price,int amount,string description)SqlParameter param