1、目 录摘 要1第一章 前 言21.1 开发背景21.2 开发目的21.3 开发意义2第二章 系统设计相关理论32.1 管理信息系统介绍32.1.1 MIS的定义32.1.2 Windows Forms的组成控件32.2 管理信息系统设计原则32.3 相关技术与开发工具介绍42.3.1 SQL语言和ADO.NET42.3.2 Windows Forms5第三章 系统总体设计63.1 需求分析63.1.1 问题定义及可行性研究63.1.2 问题定义63.1.3 可行性研究73.1.4 需求分析73.1.5 需求规格说明报告83.2 系统的设计103.2.1 系统概况103.2.2 后台数据库113
2、.2.3 需求规格说明报告13第四章 详细设计过程介绍144.1 系统介绍144.2 各窗体设计及功能详解144.2.1 数据库连接144.2.2 系统变量的设计144.2.3 用户登录154.2.4 管理员添加汽车信息174.2.5 汽车信息查询194.2.6 用户信息管理21致 谢27参考文献28- I -江西信息应用职业技术学院软件技术专业毕业论文摘 要随着世界的消费水平的提高,购买车辆人数也在急剧的上升,由于地方的购买车辆的种类有限,因此购买不同种类车辆而产生烦恼。初次购买者对车行,车的核心,什么样的车好都不怎么了解,以及销售人员,财政的管理,因此在这样的情况下,一个汽车销售系统成了购
3、买者和销售者交流的平台。购买者可以在系统上查询理想的车,根据销售人员的建议来选车,为购买者和销售者搭建一个交流的平台。用信息技术来实现这个平台,就出现了车辆,购买者信息,销售信息管理,所谓汽车销售系统是指根据购买者的描述或者通过销售人员的建议进行选车,并由购买者来对车辆进行筛选,购买理想的车。汽车销售系统将购买者、销售人员集成为一体,汽车销售系统详细记录了销售人员信息、用户资料、用户反馈和回访、车辆信息,根据这些记录并通过该系统进行财务的管理。关键字:管理员,员工,汽车销售系统,Windows Forms,数据库毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(
4、论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文
5、;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或
6、部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日第一章 前 言1.1 开发背景汽车销售市场主要是用账本来记录所有销售的物品,现在的账本不但容易损坏而且不易修改,维护与管理是十分困难的。目前所使用的系统仅仅只包括用户信息管理,汽车查询,没有实现汽车更新,财政管理,销售人员管理。用户无法根据自己的要求选择理想的车,销售公司也无法实现在系统上查询你所管理财政,汽车信息更新。所以从计算机专业的角度来说,这个系统并不是十分完善,不符合专业的开发要求。从用户的角度来说,使用不方便,功能
7、单一。在与销售公司的交流中,他们提出目前系统的维护和管理很困难,希望能有一个便于维护和管理的系统,包括九大部分功能,即汽车信息更新,用户信息查询,销售人员管理,财政管理,用户回访和反馈信息。1.2 开发目的随着网络技术的发展和普及,计算机管理在系统中扮演了一个重要的角色。高效率、无差错、易管理的汽车销售管理系统开发适合了时代的需要。本系统主要目的是进一步代替手工操作,安全快捷地保存数据信息,节约时间,从而提高速度和准确性。1.3 开发意义计算机已经成为我们学习和工作的得力助手,使用其可方便的管理员工、汽车、用户、财政和回访反馈信息。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经应
8、用于许多领域。我国的消费水平日益上升,汽车将要成为每个人出行的必备交通工具了,选车将会成为广大消费者头疼的事情,财务管理,用户信息管理等。我希望用我所学的知识帮他们解决选车、管理用户信息、财政管理、销售汽车管理。为将来汽车销售上网做好准备跟据年中国电信的调查报告显示我国的上网人数已达到互联网已十分普及,本系统为汽车销售公司将来的上网作了先期工作,比如汽车销售的网络管理模式的建立。第二章 系统设计相关理论2.1 管理信息系统介绍管理信息系统就是我们常说的MIS(Management Information System),它是20世纪80年代才逐渐形成的一门新科学,其概念至今尚无统一的定义,其理
9、论基础尚不完善。但从国外学者给MIS所下的定义看,人们对MIS的认识在逐步加深,MIS的定义在逐渐发展和成熟。2.1.1 MIS的定义MIS的定义有很多种,研究者们从各自的角度出发给出了不同定义。MIS的一个定义是:一个管理信息系统是能够提供过去、现在和将来预期信息的一种有条理的方式,这些信息涉及到内部业务和外部情报。它按适当时间间隔拱给格式相同的信息,支持一个组织的计划、控制和操作功能,以便辅助决策制定过程;MIS的另一个定义是:MIS是一个人、计算机等组成的能进行信息的收集、传送、储存、维护和使用的系统,能够实测企业的各种运行情况,并利用过去的历史数据预测未来,从企业全局的角度出发辅助企业
10、进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。2.1.2 Windows Forms的组成控件管理信息系统是一类面向管理的信息系统,它以解决结构化的管理决策问题为目的.它是三项主要功能是:信息处理、辅助事务处理和辅助组织管理、支持决策。1、信息处理。信息处理对组织的数据和信息进行收集、存储、传输、加工、查询等操作,以实现向管理人员及时提供所需的可靠、准确信息的功能。2、辅助事务处理、辅助组织管理。辅助事务处理,包括具有通用性的事务管理(如计划的制定和管理、人事管理、群众来信来访管理等)。它的深层次的功能是辅助组织管理、控制组织行为、帮助组织实现目标。3、支持决策。实测企业运行情况,
11、预测企业未来行为、辅助企业决策人员进行决策是管理信息系统的重要功能,管理信息系统主要是辅助结构化决策问题。2.2 管理信息系统设计原则1、实用性原则要力求最大限度地满足用户生产和管理业务作为第一要素进行考虑各业务层次、各管理环节数据处理的实用性,把满足用户生产和管理业务作为第一要素进行考虑。用户接口和操作界面设计尽可能做到界面美观大方,操作简便实用。2、可扩展性与可维护性原则为适应将来的发展,MIS系统应具有良好的可扩展性和可维护性。软件设计尽量模块化、组件化,使应用系统可灵活配置,适应不同的情况。数据库的设计尽可能考虑到未来的需要。3、安全可靠性原则应用软件与数据库系统的设计要做到安全可靠,
12、防止非法用户的入侵。数据库的备份策略恰当,以防止灾难事故发生。4、用户界面设计原则图形化原则:用户界面的设计应符合Windows规范的图形用户界面(GUI),做到美观。用户界面应当直观、明了、条理清晰。实现“傻瓜型”管理易学、易用、易管理。5、数据库设计原则一致性原则:对信息进行系统的分析与设计,协调数据源,做到“数出一门”、“算法统一”、“度量一致”。保证系统数据的一致性和有效性。2.3 相关技术与开发工具介绍2.3.1 SQL语言和ADO.NET异构型数据库之间的数据共享多年来一直是人们研究的课题。SQL(Structured Query Language)标准的制定给应用程序的移植带来一
13、线希望,但各个DBMS定义出来的SQL“方言”却在不同的DBMS之上的应用软件之间树立了一道隔墙。Microsoft推出的ODBC正是为解决这个问题而产生的。SQL有两种使用方法,一种是以与用户交互的方式联机使用,称为交互式SQL;另一种是作为子语言嵌入到其它程序设计语言中使用,称为宿主型SQL。SQL内容包括:1SQL查询即 SELECT 命令,其基本形式是SELECT-FROM-WHERE-ORDER。2SQL数据定义是指定义数据库的结构,包括定义基本表、定义视图、定义索引三个部分。3SQL数据操纵是指对关系中的具体数据进行增、删、改操作。4SQL数据控制是指通过对数据库各种权限的授予或回
14、收来管理数据库系统。Windows Forms是通过ADO.NET来访问数据库的。5Connection:用于连接到数据库或其它数据源。6Command:用于在数据库中检索、编辑、删除、或插入数据。7DataReader:从数据源提供数据流。这些数据只读(不可修改),我们只能向前经过这些数据。8DataReader对象没有公用的构造函数,所以不能使用DataReader对象的构造函数来创建一个DataReader对象,只能用Command对象中的ExecuteReader方法来创建一个DataReader对象。9DataSet :数据集,相当于驻留在内存中的数据库2.3.2 Windows F
15、orms1创建Windows Forms应用程序:A开发人员可以像今天创建基于Visual Basic的窗体那样创建Windows Forms应用程序(尽管使用Windows Forms,他们可以在Visual Studio中的所有语言,而不仅仅是在Visual Basic中获得相同的生产力)。2可视化继承(Visual Inheritance) :可视化集继承是Windows Forms中的一个重要的新特性,它将提高开发人员的生产力,促进代码的重用。3精确的窗体设计 :当开发人员设计Windows Forms应用程序的外观和感觉时,将拥有空前水平的控制能力和生产力。第三章 系统总体设计3.1
16、 需求分析3.1.1 问题定义及可行性研究3.1.2 问题定义对于南昌汽车销售市场,通过网络操作实现选车、购车、管理汽车等,现在汽车的种类繁多,而管理汽车销售系统很少,这个系统可以实现你选购,对汽车行业进行调查,了解汽车的内核,工作原理,工作流程等。1项目背景汽车销售市场主要是用账本来记录所有销售的物品,现在的账本不但容易损坏而且不易修改,维护与管理是十分困难的。目前所使用的系统仅仅只包括用户信息管理,汽车查询,没有实现汽车更新,财政管理,销售人员管理。用户无法根据自己的要求选择理想的车,销售公司也无法实现在系统上查询你所管理财政,汽车信息更新。所以从计算机专业的角度来说,这个系统并不是十分完
17、善,不符合专业的开发要求。从用户的角度来说,使用不方便,功能单一。在与销售公司的交流中,他们提出目前系统的维护和管理很困难,希望能有一个便于维护和管理的系统,包括九大部分功能,即汽车信息更新,用户信息查询,销售人员管理,财政管理、用户回访和反馈信息。2项目基本要求1)基本要求实现汽车信息更新,用户信息查询,销售人员管理,财政管理、用户回访和反馈信息,对其中的一些保密信息要设置管理权限,不同权限的人管理不同的模块,实现管理方便,保密信息不易泄漏。2)目标完全实现用户的需求。系统运行速度要快,查询速度快。系统的最低寿命为10年。3)约束。充分销售公司的今后管理,如员工今后不在工作,按目前销售公司发
18、展来看,近几年销售公司可能要增加优秀销售用工,及销售经理,因此在管理员界面的设计中要充分考虑到这些未来不可估测的因素。系统最迟运行时间为2009年12月10日。3设备与环境CPU:Intel Pentium IV 1.40GHz。内存:1024MB。硬盘:80G。操作系统:Microsoft Windows XP , Microsoft Windows 2003, Microsoft Windows Vista 等。3.1.3 可行性研究本系统可行性研究报告编写的目的在于说明本系统在技术、经济和社会条件等各方面实现的可行性,评述可能选择的各种方案,说明并充分论证所选定的各项方案的可行性,以便作
19、为参考。1开发新系统的必要性当今社会是网络化的信息社会,网络对于人们来说已成为获取信息不可缺少的途径,而且扮演着一种愈来愈重要的角色,尤其在新手选车的过程中。作为一个汽车销售系统不能只停留在潜层次上的销售管理,还要为新手提供更多的选择余地和机遇,因此开发出具有销售和财务管理功能的系统也是工作和社会所趋。2开发新系统的经济性本系统为商业型系统,主要是便于管理销售信息,其实创造的销售效益将是不可估量的。3.1.4 需求分析1功能性需求实现汽车信息更新,用户信息查询,销售人员管理,财政管理、用户回访和反馈信息,对其中的一些保密信息要设置管理权限,不同权限的人管理不同的模块,实现管理方便,保密信息不易
20、泄漏。2非功能性需求1)安全方面:保证开发的系统平台能够正常运行及作好相应备份,硬盘数据不丢失,硬盘不损坏;2)保密方面:对销售公司的基本情况及需求信息进行保密。其中销售人员只能管理用户信息,而财政收入与支出则不能管理,考虑到信息的保密型;3)不需要大量的人力与资金的投入;4)系统的运行速度要快,查询速度快;5)实现系统的“全智能”化管理,便于维护和操作;6)法律与政策方面:本系统内容不涉及国家政权、色情、暴力,坚决按照法律与各方面政策执行。3.1.5 需求规格说明报告1.数据流图依据对问题的分析做出了数据流,见图3-1所示。图3-1数据流图2数据字典(1)数据流条目 名字:汽车信息来源:数据
21、库CarSale去向:用户查看组成:型号+车名+数量数据流量:查询次数名字:用户信息来源:数据库CarSale去向:管理员查看组成:编号身份证号姓名+年龄性别联系电话销售数量家庭地址数据流量:所有用户信息(2) 加工条目 加工名字:销售人员信息查询编号:001输入:(姓名)处理逻辑:对所有销售人员的查询加工名字:用户信息查询编号:001输入:(身份证号)(姓名)处理逻辑:对所有用户的查询(3) 数据文件条目数据元素名称:管理权限数据类型:字符数据长度:20取值范围:管理员/员工3总体结构框架总体结构框架见图3-2所示。图3-2总体结构框架3.2 系统的设计3.2.1 系统概况汽车管理主要包括两
22、个模块:销售汽车信息查询,添加汽车信息。销售汽车信息查询是把销售的汽车信息查询出来,而且还可以查找没有销售的车辆信息。添加汽车信息是把新来的车辆信息进行添加,把汽车名称,汽车型号,数量,金额添加到数据库里。用户信息管理主要包括一大模块:用户信息管理。用户查询要根据两个条件,分别是用户名,身份证号。用户注册包括姓名,身份证号,车名,联系电话,销售地址,销售人姓名,销售金额。财务管理主要包括两大模块:财务收入和支出进行筛选。销售人员管理主要包括两个子模块:销售人员的查询和销售人员的添。销售人员信息包括姓名,身份证号,性别,年龄,联系电话,家庭地址。3.2.2 后台数据库数据库:SQLSever20
23、05库名:CarSale表结构:见如下所述。1、 角色信息表 此表存放角色信息,主要包括账号,密码,角色。表名:Admin序号列名数据类型长度小数位标识主键允许空默认值说明1YUserIdnchar200是否编号2YPWDnchar200是密码3Yleixingnchar100是角色2、 汽车管理信息表 此表存放汽车信息,主要包括编号,汽车型号,汽车名称,汽车售价表名:CarManagement序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否编号2CarIDnchar200是汽车型号3CarNamevarchar200是汽车名称4CarMoneymoney84是汽车售价
24、3、 入库汽车信息表 此表存放入库汽车信息,主要包括汽车型号,汽车名称,汽车数量表名:Cars序号列名数据类型长度小数位标识主键允许空默认值说明1CarIdnchar200否汽车型号2CarNamenchar200是汽车名称3CarCountint40是汽车数量4、 信息反馈表 此表存放用户回访反馈信息,主要包括编号,用户名,意见,回访反馈类型表名:ComeBackMessage序号列名数据类型长度小数位标识主键允许空默认值说明1UserNamenchar200是用户名2Messagenchar2000是意见3idint40是是否用户编号4leixingnchar200是回访反馈类型5、 财务
25、管理表 此表存放财务信息管理,主要包括编号,金额,收入/支出类型,时间,描述表名:MoneyManagement序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否编号2SaleMoneymoney84是金额3MoneyNumbernchar100是收入/支出类型4Timedatetime83是时间5miaoshunchar1000是描述6、 销售人员信息表 ,主要包括编号,身份证号,姓名等。表名:SalePeopleManagement序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否编号2SalesIdnchar200否身份证号3SalesNmae
26、nchar200是姓名4SalesSexnchar20是性别5SalesAgeint40是年龄6SalesPhonenchar150是联系电话7SalesCarCountint40是销售数量8SalesAddressnchar500是家庭地址7、 用户信息表 此表存放用户信息,主要包括标号,身份证号,姓名,联系电话,汽车名称,销售地址,销售时间,销售人名表名:UserTManagement序号列名数据类型长度小数位标识主键允许空默认值说明1idint40是是否编号2userIdnchar200否身份证号3UserNamenchar200是姓名4UserPhonenchar150是联系电话5Ca
27、rNamenchar200是汽车名称6SaleAddressnchar500是销售地址7SaleTimedatetime83是销售时间8SalesNamenchar200是销售人名9SalesMoneymoney84是金额3.2.3 需求规格说明报告1.数据流图流程图下图3-3所示。图3-3数据流图第四章 详细设计过程介绍4.1 系统介绍由于信息的保密性,所以在本系统中设置了两个权限,员工只能添加用户信息和查询用户信息,回访防反馈信息的添加和查询和汽车信息查询功能,员工可以看见有其他的功能,但是没有权限访问其他的窗体。而系统管理员可以进行任意操作,比如说,用户信息添加,查询,员工信息添加,财政
28、管理等功能.4.2 各窗体设计及功能详解4.2.1 数据库连接在数据库设计完成后,将进行数据库连接工作,主要是测试数据库的字段及相应功能。源码如下: 4.2.2 系统变量的设计(1) 用于对静态字段、只读字段等的初始化。(2) 添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。(3) 类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数。4.2.3 用户登录在窗体登录界面中输入用户名和密码登录后,如果与库中的某个用户名或密码相对应,则弹出欢迎登录提示框,否则弹出密码不正确提示框。在系统开发设计过程中设置的两种用户权限,
29、输入用户名和密码后要选择角色。如下图4-1:图4-1登录界面登录失败如下图4-2:图4-2报错信息登录成功如下图4-3:部分源码如下: private void Admin_Load(object sender, EventArgs e) comboBox1.Text = comboBox1.Items0.ToString(); private void button1_Click(object sender, EventArgs e) if (Usertbx.Text.Trim() != string.Empty & UserPwd.Text.Trim() != string.Empty)
30、CarSales.BLL.Admin CBAdmin = new CarSales.BLL.Admin(); bool Acount = CBAdmin.Exists(Usertbx.Text); if (Acount) CarSales.Model.Admin CMAdmin = new CarSales.Model.Admin(); CMAdmin = CBAdmin.GetModel(Usertbx.Text); string str1 = UserPwd.Text.Trim(); string str2 = CMAdmin.YPWD.Trim(); string str3 = CMAd
31、min.Yleixing.Trim(); if (str1 = str2) if (comboBox1.SelectedItem.ToString() = str3) Management management = new Management(); management.Show(); this.Hide(); else MessageBox.Show(你选择正确的角色!); else MessageBox.Show(密码错误!); UserPwd.Clear(); UserPwd.Focus(); else MessageBox.Show(用户名错误!); UserPwd.Clear();
32、 Usertbx.Clear(); Usertbx.Focus(); else MessageBox.Show(用户名,密码不能为空!); UserPwd.Clear(); Usertbx.Clear(); Usertbx.Focus(); private void button2_Click(object sender, EventArgs e) this.Close(); 4.2.4 管理员添加汽车信息如下图4-4:图4-4添加汽车信息部分代码如下: private void button2_Click(object sender, EventArgs e) textBox1.Clear(
33、); textBox2.Clear(); textBox3.Clear(); textBox1.Focus(); private void button1_Click(object sender, EventArgs e) try CarSales.BLL.Cars CBCars = new CarSales.BLL.Cars(); CarSales.Model.Cars CMCars = new CarSales.Model.Cars(); CMCars.CarId = textBox1.Text.Trim(); CMCars.CarName = textBox2.Text.Trim();
34、CMCars.CarCount = int.Parse(textBox3.Text.Trim(); CBCars.Add(CMCars); MessageBox.Show(数据成功添加); catch MessageBox.Show(数据库在维护当中!请稍后再操作!); 4.2.5 汽车信息查询根据条件或者不输入内容可以查找汽车信息如下图4-5:图4-5查询现有汽车售出的汽车信息查询如下图:部分代码如下:public partial class CarSelect : Form CarSales.BLL.Cars CBCars = new CarSales.BLL.Cars(); CarSal
35、es.BLL.UserTManagement CBUserTManagement = new CarSales.BLL.UserTManagement(); public CarSelect() InitializeComponent(); DataSet ds = new DataSet(); string str1 = ; ds = CBCars.GetList(str1); dataGridView1.DataSource = ds.Tables0; /dataGridView1.Columnsid.Visible = false; dataGridView1.ColumnsCarId.
36、HeaderText = 型号; dataGridView1.ColumnsCarName.HeaderText = 车名; dataGridView1.ColumnsCarCount.HeaderText = 数量; string str2 = ; ds = CBUserTManagement.GetList(str2); dataGridView2.DataSource = ds.Tables0; dataGridView2.Columnsid.Visible = false; dataGridView2.Columns1.Visible = false; dataGridView2.Columns2.Visible = false; dataGridView2.Columns3.Visible = false; dataGridView2.ColumnsCarName.HeaderText = 车名; dataGridView2.ColumnsSaleAddress.HeaderText = 销售地址; dataGridView2.ColumnsSaleTime.HeaderText = 销售时间; dataGridView2.ColumnsSalesName.HeaderText