汽车销售管理系统的研究与开发-毕业论文.doc

上传人:滴答 文档编号:1272705 上传时间:2019-01-25 格式:DOC 页数:19 大小:445KB
下载 相关 举报
汽车销售管理系统的研究与开发-毕业论文.doc_第1页
第1页 / 共19页
汽车销售管理系统的研究与开发-毕业论文.doc_第2页
第2页 / 共19页
汽车销售管理系统的研究与开发-毕业论文.doc_第3页
第3页 / 共19页
汽车销售管理系统的研究与开发-毕业论文.doc_第4页
第4页 / 共19页
汽车销售管理系统的研究与开发-毕业论文.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、 软件学院 1 本科毕业论文 (科研训练、毕业设计 ) 题 目: 汽车销售管理系统 的 研究与开发 姓 名: 学 院: 软件学院 系: 专 业: 软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日 软件学院 2 汽车销售管理系统的 研究与开发 摘要 汽车销售管理系统 实现了整个汽车销售过程的电脑化管理 ,大大降底了管理 成本,提高了工作效率。本文 介绍了使用 JSP 语言和 MYSQL 数据库,在 TOMCAT 的环境下,采用 B/S 的模式,并结合 HTML, JAVASCRIPT,JAVABEANS 等实现汽车销售管理 系统 的过程。分析了系统

2、的整体运作流程和项目模块组成,同时还分析讨论了在项目实现过程遇到的问题的解决策略和技术。 关键 词 入仓单 商品车检验单 合格证 调配单 信息管理系统 B/S 软件学院 3 目 录 引言 . 4 第一章 汽车销售管理系统 . 4 第一节 系统应用背景和效益分析 . 4 第二节 系统特点 . 4 第三章 系统实现的总体设计 . 5 第一节 数 据库 . 5 1.1 JNDI 链接数据库 . 5 1.2 连接数据库的 JAVABEAN. 5 第二节 系统总体结构 . 6 第四章 系统的详细设计与实现 . 7 第一节 经理数据统计模块 . 7 1.1 基本流程 . 7 1.2 实现方法 . 7 第二

3、节 经理图形统计模块 . 10 2.1 基本流程 . 10 2.2 实现方法 . 11 第三节 入仓模块设计 . 11 3.1 基本流程 . 11 3.2 实现方法 . 12 第四节 调配模块设计 . 14 4.1 基本流程 . 14 4.2 实现方法 . 14 第五章 遇到的问题和总结 . 15 1 从数据库中读取或写入数据时的乱码解决技术 . 15 2 在 JSP 页面中正常显示中文 . 15 3 Tomcat 中 SQL 语句错误提示的解决 . 16 3 翻页问题的解决 . 16 4 系统存在的问题 . 17 致谢语 . 18 参考文献 . 18 软件学院 4 引 言 一般汽车销售企业里

4、人少但事情较多,管理层既要管业务又要管仓库和财务,每天都要面对不同部门各种各样的报表,各个部门的数据缺乏共享性,许多资料重复录入,错漏难免,造成大量的人力资源浪费,并且资料缺乏一致性。 汽车销售管理系统 实现了整个汽车销售过程的电脑化 管理。从客户来访、咨询、报价、订购,到采购、车辆入库、签定购销合同、交款、提车等多个销售环节上,系统提供了严密的跟踪管理服务,对车辆库存、财务管理、业务分析都提供了一套科学的管理方法;既可以适合于多品牌车辆的销售,也可以适用于专卖店的管理;通过电脑化的管理,汽车销售企业能够掌握市场的第一手资料,有条不紊地开拓市场,更好地挖掘客户资源,进一步提高车辆销售的成功率,

5、同时可以降低销售成本,优化销售中的各个环节,盘活流动资金,提高服务质量,更灵活地适应外部市场环境、提升内部的管理水平、留住客户、赢得商机,从而提高企 业在市场上竞争能力。 第一章 汽车销售管理系统 第一节 系统应用背景与效益分析 汽车销售与普通商品销售有着极大的差别,在传统的汽车业管理模式中,纸单据及手工管理是其主流方式。这种方式带来是数据可靠性差,运行效率低下,统计分析难度大,抽取对企业有用信息的可能性极小!显然,这种传统的销售管理模式已经不能适应当今汽车销售企业的市场需求。采用先进管理模式来管理客户关系,采用信息化管理手段培源固本,成为企业提升竞争力的重要途径之一。 本汽车销售管理系统 就

6、 是 是针对汽车销售企业、汽车养护企业、汽车维修企 业和汽车配件企业开发的 MIS 系统( 管理信息系统 ) 。 本 汽车销售管理系统 涵盖汽车销售和服务产业的几乎所有业务环节,内置了科学的管理流程,既可以适用于业务单一的汽车服务企业(如只从事汽车销售,或者只从事汽车维修),也适合于包括多种业务种类的汽车服务企业。 第二节 系统特点 本汽车销售管理系统 的子系统之间有良好的接口,子系统之间可以方便的交换数据,保持了数据的一致性。 本汽车销售管理系统 基于流程而非单据的管理,内置科学的管理流程,实现了汽车企业业务流程化管理的需求。 软件学院 5 本汽车销售管理系统具有严格的角色和权限划 分; 不

7、同角色之间 相互限制,具有较高的安全性; 本汽车销售管理系统 支持 Windows 客户端和 IE 客户端,栏目布局以矩阵的形式安排,提供栏目跳转、历史线索轨迹和当前线索定位,真正实现 360 度的数据视图功能,用户使用极为方便。 本汽车销售管理系统 将简单查询、复合查询、图表和报表分析集成到模块中,用户获取分析结果极为便捷。 本汽车销售管理系统 支持各种单据 (如 网点定车计划表,定单表,入仓单,商品车检验单,车辆调配表,借用申请表,销售表,改装表等 )的生成、预览和打印功能。 第 二 章 系统实现的总体设计 本系统采用 JSP+MYSQL+TOMCAT 的模式。主要由 HTML 语言实现个

8、性化的静态页面,并 用 JNDI 的方法实现 JSP 与 MYSQL 数据库的动态交互,在不同的数据表之间传递数据,从而实现整个汽车销售管理流程数据的一致。 第一节 数据库 1.1 JNDI 链接 数据库 由于各模块频繁地与数据库打交道,如何与数据库链接就显得十分重要。JNDI( Java Naming and Directory Interface) 是一个为 JAVA 应用程序提供命名服务的应用程序编程接口( API)。 它支持通过一个单一的方法访问不同的新的和 已经存在的服务的方法。 因此我们采用了此种数据库链接的方法。 这种数据库链接的方法需要 重新配置 Tomcat 中的 serve

9、r.xml 和 web.xml 配置文件。 具体方法如下: 将 mysql 的 JDBC 连 接 库 mm.mysql-2.0.9-bin.jar 放入TOMCAT_HOME/common/lib 中 配置 TOMCAT_HOME/conf/serer.xml 文件在 段 中 加 入一 个Context: 其功能是 在 C:Apache GroupTomcat 4.1webapps 下创建一个用来存放本汽车销售管理系统的源程序的 carsold 文件夹。 在上面加入的 段加入 一段 由 Tomcat 的 Sample 提供的代码 ,然后修改 其 driverClassName, url,和用户

10、帐号 就可以了。 软件学院 6 1.2 连接数据库的 JAVABEAN 各功能模块中需要频繁的进行数据库操作,如果每遇到 要使用数据库便建立一次链接将在一定程度上增大系统开销,我们这里有效利用了 JAVABEAN,书写一个可操作数据库(添加,修改,删除,关闭链接)的 JAVABEAN, 每次需操作数据库时,就只需 实例化 该 JAVABEAN,从而提高了服务器效率。 一个连接数据库的 JAVABEAN,关键是 获得与数据源的连接 : Context ctx = new InitialContext(); /得到一个连接的实例 DataSource ds = (DataSource)ctx.lo

11、okup(“java:comp/env/jdbc/TestDB“); /寻找绑定的数据源 if (ds != null) conn = ds.getConnection(); /获得与数据源的连接 第二节 系统总体结构 此系统分为四个模块:录入员模块,经理模块,系统管理员模块和财务模块。不同的模块具有不同的权限和职能。录入员负责录入定车计划表,定单表,入仓单表,销售表,调配表,借用表,客户表,改装表等信息;但不具有修改和删除功能;一旦出现录入错误只能提交删除请求 ,经经理批准后才能真正从数据库中删除,否则无效;经理有决定是否删除记录的权利,可以查询所有表单,并可以统计销售情况;财务负责合格证的

12、管理;系统管理员负责添加删除登入人员并分配权限,管理电子公告,和部分数据表; 软件模块说明如下: 汽车销售管理系模块名称 功能名称 功能描述 录入员模块 定车计划 各网点向车行提交的订单计划表,表明要定的车 定单录入 车行向厂家 提交的 订货订单 ,可添加或删除此订单信息 入仓单录入 填写入仓单将车辆入库 ,并附带生成一份商品车检验 单表作为车辆跟踪记录(但前提是 财务已输入车辆合格证号,并且合格证状态为未入库) 调配 各个网点之间调配 车辆 ,填写车辆调配单表作为历史记录 销售 车辆买出后,填写销售表单,并附带填写客户质料表,作为售后服务的依据(前提是财务收到车款后,将该车的合格证状态为该车

13、已销售) 车辆改装 在销售过程中,根据客户需求, 可以 对某种车型软件学院 7 统 进行一定的改装 借用项目管理 当 从某辆车借用某个配件或者借用整车 时 ,填写借用申请单 作为记录 经理模块 查询 该模块不设置条件查询,只提供所有的表单查询,即选择 相应的表单,显示所有的列表值 删除 决定是否批准 录入员的删除要求 ,批准后,记录直接从数据库中删除;否决后, 不改动数据库,并 提示录入员要求未批准; 统计 统计销售数量,销售额,进货额,也可显示比例图形 系统管理员模块 添删登陆人员与权限分配 电子公告管理 添加和删除公告信息 维护数据表 具体的为:车型表、汽车颜色表、网点表,对这几张表有添加

14、、修改和删除功能。 财务人员模块 合格证管理 当一辆新车 运到 时, 财务在系统中添加合格证号 ,等车辆要销售时,财务 在系统中修改合格证的状态, 并将 合格证和车辆一并交给客户 第四章 系统详细设计与实现 第一节 经理数据统计模块 1.1 基本流程 经 理 主 页 面销 售 数 统 计 页 面( m a n a g e r _ c o u n t . j s p )统 计 条 件数 据 库显 示 统 计结 果继 续 统 计软件学院 8 1.2 实现方法 为了统计方便,我设想统计条件都使用下拉选择框,并且条件是可选的,有选择的都视为统计条件,没有选择的则不视为统计条件。显示结果时,将选中的条件

15、与统计结果(售车总数,销售总额,定货总额)一起显示。 要使用选择框选择统计条件,就要 在制定 HTML 页面的过程中 使用 JSP 与数据库交互 , 从数据库中找出对应的条件名字 。 以统计条件网点号为 例,我们使用了如下的 JSP 代码段: 网点号 “+sb2+“); % 特别注意 “+sb2+“,我在这里将option 的显示信息赋为网点名,却将 option 的值赋为网点号。 这与我们统计的销售表的格式有关: Sale_id( 销售单号 ) Car_id(车身号) Color_id(颜色号) Car_type_id (车型号) Branch_id(网点号) Saleman_name(售车

16、员名) Sale_price(销售价) Sale_date(销售日期) Delete_sta(是否删除标志) 表一: Sale(销售表 ) 销 售 表 中 保 存 的 是 branch_id ( 网 点 号 )。 这 样 一 来 , 使 用request.getParameter(“branch“),就能够获得可在 sale 中直接查询的branch_id 了。 要在同一页面中选择多个条件,有选则视为统计条件,没选则不视为条件,只需 将 用户没有选择 的 条件 值设为“”(代表所有值), 这样采用如下的 SQL语句,就可以查询出满足所有条件 (车型,网点,颜色,起始时间,终止时间)的记录总数,

17、即售车总数; 软件学院 9 sql=“select count(*) as counter from sale where car_type_id like %“+car_type_id+“%“; sql=sql+“and branch_id like %“+branch_id+“%“; sql=sql+“and color_id like %“+color_id+“%“; sql=sql+“and sale_date between “+from_time+“ and “+to_time+“; 售车总额 ,进货总额 的计算算法 描述 如下: 1. 用如上的 SQL 语句获得满足统计条件的记录

18、集 RS. 2. WHILE(RS.NEXT() 3. car_id=RS.getString(“car_id“); 4. price+=RS.getFloat(“sale_price“); 5. 用 SQL: “select price from car_list where car_id=“+car_id+“获得记录集 RS2; 6. WHILE( RS2.NEXT()) 7. inprice+=RS2.getFloat(“price“); 8. END WHILE 9. END WHILE 其含义为: 在满足统计条件的记录集 RS 中获得 car_id(车身号) ,sale_price(

19、销售价) ,将 RS 中每条记录的 sale_price 不断累加起来,就获得了售车总额 price; 进货总额需将所有满足条件的汽车的进货额累加起来, 而进货额只有在表car_list(商品车检验单表)中有,因此需连接 sale 和 car_list,而连接词是 car_id ( 车 身 号 )。 因 此 用 “select price from car_list where car_id=“+car_id+“就可以获得满足统计条件的 car_list 中的记录集,再累加其 price(进货价),就获得了进货总额 inprice. 显示选中的统计条件,只需将从上一表单中获得的信息如网点号,

20、int branch_id=request.getParameter(“branch“),加一判断条件: If branch_id.equals(“%”) Out.println(“”); /%代表没有选中,因此就不必显示 Else 用如下的 SQL 语句: branch_sql = “select branch_name from branch where branch_id=“+ branch_id; 获得网点名,显示在页面。 结果显示如下 : 软件学院 10 第二节 经理图形统计模块 2.1 基本流程 经 理 主 页 面图 形 统 计 页 面( m a n a g e r _ c o u n t _ p i c . j s p )按 扭 选 择数 据 库显 示 比 例图继 续 显 示2.2 实现方法 图形统计,就是要按不同的条件 (目前我只先设想了按 网点号,按车型,按颜色三个较容易实现的条件) ,显示内部的 售车数的比例图。以按网点统计为例,需知道各网点的售车数和售车总数。 售车总数的计算算法描述如下: 1. 用 sql=“select * from branch“获得记录集 RS;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。