毕业论文--汽车销售系统

汽车销售管理系统的设计与实现汽车销售管理系统的设计与实现摘要近年来,随着计算机技术的发展和互联网时代的到来,给传统的汽车销售 模式提出了新的要求。运用高科技,将先进的管理思想应用在整个业务流程已经 成为汽车销售行业转变模式的关键。 论文详细的论述了汽车销售管理系统研究目 标、设计思想、模块功能以及使用工具等。 系统基于 B/S 模式, 采用 Struts 架构、 和 SUN 公司开发的 JAVA 进行编 jsp 辑;开发工具:Eclipse;开发环境:Windows xp;数据库工具:SQLServer 2005; 汽车销售管理系统的主要实现模块是:基础信息的录入、进货管理、销售管理、仓库管理、财务管理、查询统计、系统维护。关键字汽车销售管理系统的设计与实现、jsp、Eclipse、SQLServer 2005I汽车销售管理系统的设计与实现Car sales management system design and developmentABSTRACTIn recent years, with the development of computer technology and the Internet era, to the traditional sales model cars made new demands. Use of high technology, advanced management ideas used in the entire business process has become the car sales industry, the key to change modes. Paper discusses in detail management system for car sales objectives, design, module function and the use of tools and Etc. This system is base on the mode of B/S mode, using the Struts、JSP and JAVA released by SUN to programme, and the development environment is Eclipse;The data base development environment is SQL Server 2005. The function of news publishing system has: Input of basic information , Inventory Management , MANAGEMENT......................1 1.1 背景.................................................................................................1 1.2 未来发展及意义 ............................................................................1 2 需求分析..................................................................................................2 2.1 功能需求分析 ................................................................................22.1.1 操作员登陆............................................................................................. 2 2.1.2 基本信息的管理..................................................................................... 2 2.1.3 进货管理................................................................................................. 2 2.1.4 销售管理................................................................................................. 3 2.1.5 查询分析................................................................................................. 3 2.1.6 系统管理................................................................................................. 3 2.1.7 财务管理................................................................................................. 32.2 数据分析 ........................................................................................32.2.1 系统模块结构图..................................................................................... 4 2.2.2 数据库分析............................................................................................. 43 系统设计..................................................................................................5 3.1 系统结构 ........................................................................................63.1.1 概念结构设计....................................................................................... 83.2 系统流程 ......................................................................................15 3.3 系统实现工具 ..............................................................................16 3.4 系统实现技术 ..............................................................................163.4.1 jsp 技术................................................................................................ 17 3.4.2 Struts 介绍.......................................................................................... 17 3.4.3 JavaBean 介绍...................................................................................... 18 3.4.4 jQuery 介绍 ....................................................................................... 184 系统的具体实现 ...................................................................................19I汽车销售管理系统的设计与实现4.1 数据库的模块设计 ......................................................................194.1.1 数据库的建立....................................................................................... 194.2 系统开发平台的建立 ..................................................................21 4.3 系统具体模块功能和页面 ..........................................................214.3.1 网站主页............................................................................................... 21 4.3.2 采购管理模块....................................................................................... 23 4.3.3 财务管理模块....................................................................................... 23 4.3.4 销售管理模块....................................................................................... 24 4.3.5 仓库管理模块....................................................................................... 25 4.3.6 系统管理员模块................................................................................... 254.4 系统流程的代码实现 ..................................................................264.4.1 代码部分和简介................................................................................... 265 系统测试和发布 ...................................................................................31 5.1 系统测试 ......................................................................................315.1.1 测试方法的介绍................................................................................... 31 5.1.2 链接测试............................................................................................... 32 5.1.3 测试结果............................................................................................... 325.2 结论...............................................................................................33 结束语.......................................................................................................34 致谢...........................................................................................................35 参考文献...................................................................................................36II汽车销售管理系统的设计与实现1 引言1.1 背景目前,我国的汽车业销售管理大多沿用旧的管理模式,无论在仓储管理,还 是在销售管理方面以及其他方面都存在一些问题, 这些无疑制约了汽车业的发展 和腾飞。 在传统的汽车业管理模式中,纸单据及手工管理是其主流方式。这种方式具 有数据可靠性差,运行效率低下,统计分析难度大的缺点,快速抽取对企业有用 的统计信息的可能性很小。 这种传统的管理模式已不能适应当今汽车企业的发展 趋势,全球经济一体化的形成,国内外汽车销售业的竞争日趋激烈, 这无疑对寻 求生存和发展的汽车销售企业形成巨大压力。然而管理技术上的差距,汽车行业 普遍存在的与商业协作伙伴的沟通不及时, 不到位, 都严重影响了企业的竞争力。 因此,这是能够高效率的管理汽车销售和降低成本的等现代化,科学化的管 理的汽车销售管理系统就显得尤为重要了。1.2 未来发展及意义未来汽车销售主要是如何适应快速发展和变化多端的市场,如何运用高新技 术手段和现代化管理来降低成本,提高企业的竞争力。信息技术和网络技术的广 泛应用和发展成为企业降低成本,优化库存结构,拓展销售渠道,提高服务效率 等提供了便利、这是汽车企业增强自身竞争力的必经之路. 汽车销售管理系统是汽车销售企业的重要组成部分,本系统的开发加强了对 汽车销售企业对销售的管理, 提高了综合管理能力, 促进了汽车企业的快速发展。 本系统的开发对汽车产业树立对客户信息为企业战略资源的策略, 建立了以客户 对中心的管理理念以及规范化,信息化汽车销售进程,都具有实际的意义。1汽车销售管理系统的设计与实现2 需求分析2.1 功能需求分析汽车销售管理系统涉及到车辆采购,存库信息,公司收益,客户厂商的信息, 还要有一定的管理者来管理这个系统,能够对系统内容进行更新,修改和删除. 2.1.1 操作员登陆 因为操作员有权限之分,不同权限的操作员对系统能够进行的操作不同.1 级操作员可以对系统进行全部操作,而 2 级以上的就有限制了. 2.1.2 基本信息的管理 包括对厂商、客户、汽车的基本信息的管理。对厂商的基本信息的查询,修 改,增加.操作员在需要对厂商信息进行更新的时候可以对它进行操作.汽车销售 公司的厂商基本上是固定的,所以经常使用的是对厂商信息的查询,这个操作属 于公司内部人员操作的范围。 销售汽车需要各种类型的车,来适应不同使用人群.车型信息包括对车的基本 信息的描述.作为管理员要定时的对车型信息进行添加. 公司需要对购买车辆的用户进行基本信息的登记和定时的更新,这项工作对 于汽车销售的售后服务有重要作用.公司可以对客户进行产品使用情况跟踪.此 项功能应该包括对客户信息的添加,修改和不需要的资料的删除. 2.1.3 进货管理 汽车进货需要登记进货的价格,日期,厂家编号和车的基本信息.进货操作应 该是进货管理者应该进行的管理. 车辆采购:进货需要跟厂家进货,所以需要跟 厂家打交道.采购时不仅应该记录车辆的型号等基本信息,还要记录厂家的信2汽车销售管理系统的设计与实现息. 车辆退货:对有质量问题的汽车向厂家退货. 2.1.4 销售管理 汽车销售时的基本信息管理车辆销售: 要包括对汽车主要信息的记录,如成 交价,客户的编号,名称.车辆销售出去后,还要对销售信息进行复查,防止出现帐 目不准确的情况.2.1.5 查询分析 可以查询基本信息,比如:汽车销售数量,员工业绩,进出库数量,进退货 查询。 2.1.6 系统管理 系统管理员增加本系统的角色,包括角色添加,删除,查看。系统管理员添 加用户,删除某些不合法用户,修改用户信息。每一个角色都有系统管理员为其 分配权限 2.1.7 财务管理 总的管理所有的财务方面,包括客户的付款和退款,付厂商款及厂商退款。2.2 数据分析汽车销售管理系统中涉及的数据主要包括员工的基本信心、汽车的基本信 息、厂商的基本信息、客户的基本信息、财务账单的信息等,需要有严格的设计 要求。 系统管理员:对厂商,车型信息,客户信息的查询,添加,删除等操作,并且可以对 普通操作员的权限进行设置.该操作员拥有的权限是最高的。 普通管理员:对该管理员对应的职能进行相应的维护,更改,删除等操作.定期 对所管理的事务进行检查。3汽车销售管理系统的设计与实现2.2.1 系统模块结构图 根据系统的数据流程画出系统的模块结构图如图 2.1.1 所示 汽车销售管理系统基 础 信 息进 货 管 理销 售 管 理仓 库 管 理系 统 维 护财 务 管 理查 询 统 计客 户 信 息 管 理汽 车 信 息 管 理供 应 商 信 息 管入 库 单出 库 单采 购 计 划操 作 员 管 理更 改 密 码权 限 管 理进 货 表退 货 表销 售 单退 货 单收 客 户 款 管 理客 户 退 货 退 款付 供 应 商 款厂 商 退 回 的 货汽 车 销 售 排 行员 工 业 绩 查 询销 售 查 询销 售 统 计 查 询入 库 出 库 查 询进 货 退 货 查 询图 2.1.1 系统模块结构图2.2.2 数据库分析 数据库是一个系统的灵魂,合理的数据库设计对整个系统项目的开发变得更4汽车销售管理系统的设计与实现加高效灵活,因此根据之前的分析,我们对整个系统的实体以及联系进行了一下 总结规划:该数据库有六个实体(汽车实体、员工实体、部门实体、仓库实体、 厂商实体、客户实体)以及几种主要联系(采购联系、存入联系、取出联系、收 款联系、销售联系等) 。在设计完成之后,对数据库的建立以及连接也很重要, 一个系统只有正确的设计、建立及连接数据库之后才能真正实现所谓的交互,让 整个系统焕发生机。 数据项和数据结构大体如下: 1. 员工信息:员工号、员工姓名、员工性别、员工年龄、员工联系电话; 2. 客户信息:客户号、客户姓名、客户联系电话、客户所购买的车号、客户住 址、客户购车时间、客户购车时的销售人员号; 3. 销售信息:表单号、车型号 、厂商号、出售车辆数、出售车的时间、出售车 时的销售人员号; 4. 厂商信息:厂商号、厂商名称、厂商地址、厂商联系电话;3 系统设计总体设计的任务是要概要地给出系统的实现方法,划分组成系统的物理元 素,确定系统的软件结构,即组成系统的各个模块及模块之间的关系。 在总体设计中,主要采用面向数据流的设计方法,结构化设计(SD)方法 是一种典型的面向数据流的软件总体设计方法。 结构化设计方法主要是根据系统 分析过程中所得到的数据流的不同结构特征,映射为软件的初始结构图,再根据 模块设计的基本原则和启发式规则进行软件结构的优化。 在需求分析中得到的数据流图所表示的系统结构特征, 可以归纳为两种典型 的形式:变换型和事务型两种结构类型。在实际问题中,系统的 DFD 图可能比 较复杂,往往同时存在着变换型和事务型两类结构。 1. 2. 3. 4. 面向数据流的 SD 方法的主要步骤为: 复审需求分析阶段所得到的详细 DFD 图,必要时再次进行修改和细化; 鉴别软件系统的结构特征是变换型还是事务型; 根据软件系统的结构特征,按照从 DFD 图到 SC 图的不同映射规则和步骤,5汽车销售管理系统的设计与实现映射为初始的 SC 图。首先把数据流图映射到软件结构上去,建立软件的基 本框架结构,再把所得到的基本框架结构做进一步分解; 变换型 DFD 图 事务型 DFD 图 5.变换分析 初始 SC 图 事务分析 初始 SC 图按优化规则优化所得到的初始结构图。3.1 系统结构 系统基于 B/S 结构设计。如图 3.1.1 所示是 B/S 的结构图,B/S 模式,是随 着 Internet 技术的兴起, C/S 模式的一种变化或者改进的模式。 对 在这种模式下, 用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑 在服务器端实现。B/S 模式利用不断成熟和普及的浏览器技术实现原来需要复杂 专用软件才能实现的强大功能,井节约了开发成本,是一种全新的软件系统构造 技术。它具有界面统一、流程简单、操作方便的优点。图 3.1.1B/S 三层体系结构图 B/S 模式的前端是以 TCP / IP 协议为基础的,企业内部的万维网服务器可以 接受安装有 Web 浏览程序的 Internet 终端的访问,作为最终用户,只要通过 Web 浏览器,各种处理任务都可以调用系统资源来完成,用户只要拥有一台计算机就 能方便的进行相关的操作,而不需要下载任何客户端程序。这样大大简化了客户 端,方便了用户。同时,减轻了系统维护与升级的成本和工作量,降低了总体成 本,也是汽车销售管理系统能真正成为现实的基础。 目前大多数使用的 Client/Server 方式,虽然起到一定的作用,但由于当修改 和增强数据应用时,需要开发客户端应用程序。进行服务器端更改或客户端服务 器端同时更新,由此带来的工作量是巨大的。另外,客户端/服务器端方式中的 数据库系统之间的数据库结构和数据类型不一致, 导致数据库系统之间的转换困 难。再有,数据库应用系统是基于特定硬件平台和应用平台,这对数据库应用的 移动带来困难。6汽车销售管理系统的设计与实现而基于 Web 方式访问数据库,此问题就迎刃而解。客户端无论是何种平台, 只要具有浏览器就可以通过 Web 页面访问到数据库的内容,这大大降低了对客 户平台的要求,而且无论是数据或应用程序都存放与服务器,开发人员可以非常 方便地对系统进行更新和维护。免去了针对不同应用平台编写不同前端应用程 序。 本系统主要是在浏览器上实现对汽车销售的管理的, 这里根据需求分析所得 到的汽车销售管理系统数据流图,将其优化、求精后,得到系统的详细 DFD, 采用面向数据流的分析方法,由于系统是事务型的模式特征,因此按照事务分析 的映射规则把数据流图映射到软件结构上, 建立起系统的框架结构如图 3-1 所示: 用户层 Jsp 页面、Jsp 技术业务层 控制组件、业务逻辑数据层 JDBC、数据增改删 图 3-1 系统框架结构图 1>用户层 该层是一些 JSP 页面, 主要是利用 JSP 技术来实现, 同时还运用了 JavaScript 脚步,对一些数据进行页面上的计算,对一些参数和逻辑进行了校验。 2>业务层 该层是由控制 ActionServlet,Action 和业务逻辑类 JavaBean 来实现的。 JavaBean 里面封装了与数据层的交互关系, 以实现所有的业务逻辑。 该层通过面 向方面编程、面向接口编程,来降低业务之间的耦合度、提高代码的重用性和增 强系统拓展性。 3>数据层 开发中与数据库进行数据交互主要可以归为添加、读取、修改、删除,这些 操作占据了系统开发中的大部分时间,同时还需要考虑与数据库交互的性能问7汽车销售管理系统的设计与实现题。数据层主要设计目标是为了整个项目提供一个高层、统一、安全和并发的数 据持久机制。 3.1.1 概念结构设计 概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的 过程,是数据库设计的关键。概念结构是各种数据模型的共同基础,它比数据模 型更独立于机器,更抽象,从而更加稳定。 汽车销售管理系统的概念结构设计中,采用 E-R 模型来描述,采用自底向上 方法。首先利用分类、聚集等数据抽象机制对需求分析阶段收集到的数据进行分 类、组织(聚集) 、形成实体、实体的属性、标示实体的码,确定实体之间的联 系类型(1:1,1:N,M:N)设计出分 E-R 图,解决各分 E-R 图之间的属性、 命名等冲突,再采用分析法,利用规范化理论消除冗余,经过修改和重构,生成 基本 E-R 图,在合并的过程中,并不是所有的冗余数据和冗余联系都必须加以 消除,有时为了提高效率,不得不以冗余信息为代价。经分析,得到系统的基本 E-R 图如图 3-2 所示:客户 属 购买 收 款 汽车 存入 采购 员工 取出厂商销 售仓库属部门图 3-4 数据库的 E-R 图模型图 汽车实体 E-R 图如 3-3 图所示:8汽车销售管理系统的设计与实现车名进价出价 库存数型号汽车汽车厂商号图 3.3 汽车实体 E-R 图 员工实体 E-R 图如 3-4 图所示:员工号 姓名员工密码员工员工单位号图 3-4 员工实体 E-R 图 部门实体 E-R 图如 3-5 图所示:部门编号部门名称部门图 3-5 部门实体 E-R 图 仓库实体 E-R 图如图 3-6 所示:仓库号仓库工 作者号仓库名称仓库图 3-6 仓库实体 E-R 图9汽车销售管理系统的设计与实现厂商实体 E-R 图如图 3-7 所示:厂商名字 厂商号 厂商电话厂商图 3-7 仓库实体 E-R 图 客户实体 E-R 图如图 3-8 所示:联系电话 客户姓名 客户所购汽车号 购车时间客户号客户地址图 3-8 客户实体 E-R 图 2.逻辑结构设计 逻辑结构设计的任务就是把概念结构设计好的基本 E-R 图转换为与选用 DBMS 产品所支持的数据模型相符合的逻辑结构设计。 在汽车销售管理系统中,所选用的 DBMS 产品为 SQL Server 2000,因此应 将概念模型转换为关系数据模型,关系模型的逻辑结构是一组关系模式的集合。 E-R 图则是由实体、实体属性和实体之间的联系三个要素组成的。所以将 E-R 图 转换为关系模型实际上是要将实体、 实体的属性和实体之间的联系转换为关系模 式。 根据数据库设计的理论和方法,新闻发布系统的数据模型经过转换和优化, 并结合系统的实际处理需求,得到系统的全局逻辑模型,各关系模式如下: 1.汽车信息(汽车型号,汽车名称,汽车进价,汽车出价, 库存数,厂商 号)10汽车销售管理系统的设计与实现2.员工信息(员工号,员工姓名,员工单位号,员工密码) 3.部门信息(部门编号,部门名称) 4.仓库信息(仓库号,仓库员工号,仓库名称) 5.厂商信息(厂商号,厂商名字,厂商电话) 6.客户信息(客户号,姓名,联系电话,所购汽车号,购车时间,客户地址) 7.采购联系(采购单号,采购人员号,采购厂商号,采购时间,采购汽车数 量,购车价格) 8.存入联系(入库号,入库人员号,入库时间,入库数量,付款单号)9.取出联系(出库号,出库人员号,出库时间,入账单号) 10.收款联系(付账单号,付账操作人员号,付账时间,金额,所购汽车号, 所购汽车仓库号) 11.销售联系(销售单号,销售人员号,购车客户号,销售时间,售价) 数据库 css 包含以下 11 个表:汽车信息表、员工信息表、部门信息表、仓 库信息表、厂商信息表、客户信息表、采购表、入库表、出库表、入帐表、销售 表。这些数据表用 SQL Server 2005 实现的,其中所有字段名都用英语单词或其 缩写来命名。所有表的结构如下:表 1 汽车信息表 css_car 字段名 Car_no Car_name Car_pricein Car_priceout Car_storeno Car_factoryno 数据类型 Varchar Varchar int int Varchar Varchar 长度 50 50 20 20 50 50 说明 汽车号 主键 汽车名字 汽车进价 汽车售价 存放汽车仓库号 汽车厂商号此表记录汽车产品的基本信息。其表的名称叫做 css_car,汽车号这一属 性作为其主键是独一无二的。建立的这个表中包含六个属性,其中有四个数据类 型为 Varchar 而进价和售价则设定为 int 类型。表 2 员工信息表 css_worker 字段名 Worker_no Worker_name Worker_deptno Worker_password t 数据类型 Varchar Varchar Varchar Varchar11长度 50 50 50 50说明 员工号 主键 员工姓名 员工单位号 员工密码汽车销售管理系统的设计与实现此表记录员工的基本信息。其表的名称叫 css_worker,在建立这个表的 时候将员工号这一独一无二的属性作为其主键,所有属性都是用长度为 50 的 varchar 类型。表 3 部门信息表 css_dept 字段名 Dept_no Dept_name 数据类型 Varchar Varchar 长度 50 50 说明 部门编号 主键 部门名称此表记录员工的基本信息。 这个表的名称设为 css_dept, 部门编号则作为 其主键,这个表所包含的属性项很简单,并且都为长度 50 的 varchar 类型。表 4 仓库信息表 css_store 字段名 Store_no Store_name Store_workerno 数据类型 Varchar Varchar Varchar 长度 50 50 50 说明 仓库号 主键 仓库名称 仓库员工号此表记录仓库的基本信息。此表的名称建立为 css_store,其包含三种属 性,仓库号作为其唯一的主键来方便与其他表进行关联,其所有的属性类型都设 定为长度 50 的 varchar 类型。表 5 厂商信息表 css_factory 字段名 Factory_no Factory_name Factory_phone 数据类型 Varchar Varchar Varchar 长度 50 50 50 说明 厂商号 主键 厂商名称 联系电话此表记录厂商的基本信息。这个表的名称设为 css_factory,它包含三个属 性,这些属性中只有厂商号是其独一无二的代表,因此作为其主键,三个都使用 长度 50 的 varchar 类型。表 6 客户信息表 css_customer 字段名 customer _no customer _name customer _phone customer _address 数据类型 Varchar Varchar Varchar Varchar12长度 50 50 50 50说明 客户号 主键 客户姓名 联系电话 地址汽车销售管理系统的设计与实现customer _carno customer _timeVarchar Datatime50 50所购汽车号 购车时间此表记录客户的基本信息。该表中包含六个属性,每个客户都设定其单独的 客户号,因此将客户号作为其主键。其中的购车时间是时间属性因此其设为特殊 的长为 50 的 Datatime 属性,其他的属性都设为长 50 的 varchar 类型。表 7 采购表 css_buy 字段名 Buy _no Buy _workerno Buy _time Buy _factoryno Buy _count Buy _pricein Buy _process 数据类型 Varchar Varchar Datatime Varchar int int Varchar 长度 50 50 50 50 20 20 50 说明 采购单号 主键 采购人员号 采购时间 采购汽车厂商号 所购汽车数量 购车价格 是否采购此表记录采购的基本信息。 这个表是一个员工实体和汽车实体之间的联系所 对应的表,他所记录的是采购员工采购汽车时必须记录的一些重要信息,它的名 称设为 css_buy,采购员工的每一次采购都会有其唯一的采购单号,因此这个属 性作为其主键。表 8 入库表 css_in 字段名 In _no In _workerNo customer _time customer _count customer _payno 数据类型 Varchar Varchar Datatime int Varchar 长度 50 50 50 20 50 说明 入库单号 主键 入库人员号 入库时间 入库数量 付款单号此表记录存入的基本信息。 这个表反映的是汽车存入仓库时所形成的仓库与 汽车之间的存入联系, 它记录的是汽车存入仓库时由入库人员记录的汽车入库的 重要信息,其名称设为 css_in,每次存入仓库时所填的入库单所记录的入库单 号作为其标记的主键,而每次入库还得记录下其他以下几种重要信息,也就是其 属性:此次进行入库的入库人员号、入库时间、入库的汽车数量以及此次入库存 入的汽车在其购买时所填的付款单号,其中入库时间使用长度 50 的 Datatime 类型、入库数量使用长 20 的 int 型,其他的均使用长 50 的 varchar 型。13汽车销售管理系统的设计与实现表 9 出库表 css_out 字段名 Out _no Out _workerNo Out _time Out _recoredno 数据类型 Varchar Varchar Datatime Varchar 长度 50 50 50 50 说明 出库号 主键 出库人员号 出库时间 入账单号此表记录取出的基本信息。 这个表所反映的是仓库的汽车出库时的仓库和汽 车之间的取出联系, 该表所记录的则是汽车出库时有仓库员工记录的一些重要信 息,其名称设为 css_out,这个表中的出库号是每次出库时所填写的出库单的出 库号,所以作为出库单的唯一标记要设定为主键,这个出库单还得包含其他几种 必填的信息:此次出库时进行记录的仓库人员号、出库时间以及这次出库时的车 辆卖出时所记录的入库单号,其中出库时间用长 50 的 Datatime 型,其他使用长 50 的 varchar 型。表 10 付账表 css_pay 字段名 Pay _no Pay _workerno Pay _time Pay _money Pay _storeNo Pay _carno 数据类型 Varchar Varchar Datatime int Varchar Varchar 长度 50 50 50 20 50 50 说明 付账单号 主键 付账操作人员号 付账时间 金额 所购汽车仓库号 付款所购汽车号此表记录收款的基本信息。 其反映的是客户给收银员工付款时形成的客户与 员工之间的收款联系,其记录的也是收款时需要记录的一些信息,将其名称设为 css_pay,此表中独一的付账单号作为其主键,当然还有其他在记录是必须详细 记录的信息:此次收款的员工的员工号、付款的时间、本次付款所付的金额、所 购买的汽车号以及此车在公司仓库存放的仓库号,其中付账时间用长度为 50 的 Datatime 型,付款金额为长度 20 的 int 型,其他属性使用长为 50 的 varchar 型。表 11 销售表 css_sell 字段名 sell _no sell _workerno 数据类型 Varchar Varchar14长度 50 50说明 销售单号 主键 销售人员号汽车销售管理系统的设计与实现sell _customerno sell _time sell _price sell _timeVarchar Datatime int Datatime50 50 20 50购车客户号 销售时间 售价 购车时间此表记录销售的基本信息。这个表同样是联系的表,它反映的是销售员工在 销售汽车给客户时客户和销售员工之间的销售联系, 这个表记录的则是销售时所 必须的一些重要信息, 该表名称设为 css_sell, 在销售人员记录时所填写的销 售单号作为其标记的主键, 这张记录中还包含其他五种记录时所必须的一些重要 信息,也是该表的重要属性:成功完成此次销售的销售人员的编号、为此次交易 中购买车辆的客户所设定的编号,销售时间、该客户购买的车辆的售价以及客户 购车时的时间, 这些重要属性中销售时间和购车时间用长为 50 的 Datatime 型, 售价使用长 20 的 int 型,其他都使用长 50 的 varchar 型。3.2 系统流程系统流程是在使用系统时的工作过程。由于安全性考虑,本系统的操作要求 用户在登录后才能进行。用户登录时,将进行用户身份的判断。一般工作人员和 管理由于权限不同,可以实现的功能也不相同,在登录后,系统将限制他们只能 操作本身权限所能操作的页面。 用户登录后,可以对系统进行一些常用的业务操作。对与一般工作人员,比 如销售工作人员,可以在汽车信息管理、客户信息管理、销售信息管理进行相关 操作,但对修改权限、添加新员工就无法接触了。 具体流程如图 3.2 所示15汽车销售管理系统的设计与实现图 3.2 系统总体流程图3.3 系统实现工具汽车销售管理系统在设计中,以 windows xp 为开发环境,采用了 Eclipse 作为开发工具,以 Apache 下的 tomcat 为 JAVA 为服务器,SQLServer 2005 作为 后台数据库, 开发了基于浏览器/服务器 (Browser/Server, B/S) 模式的应用程序。3.4 系统实现技术主 要 使 用 开 发 语 言 和 技 术 为 : Jsp/Servlet+JavaBean+Struts+SQLServer 2005。本系统使用Java开发语言,以Struts2为基础的MVC大框架。用Struts的 controller进行流转的控制,用JSP进行页面显示,在页面中使用jQuery实现在 页面上检查是否重复,是否上下一致,并且运用Spring实现了各层的解耦,大大 提高了程序的可扩展性,并且易于维护。16汽车销售管理系统的设计与实现数据库使用微软下的 SQLServer 2005 来存储数据。 3.4.1 jsp 技术 JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生 动态网页的处理逻辑。 网页还能通过 tags 和 scriptlets 访问存在于服务端的资 源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件 的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将 执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。 插入的 Java 程序段可以 操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回给客户端的就 是一个 HTML 文本,因此客户端只要有浏览器就能浏览。 JSP 的 1.0 规范的最后版本是 1999 年 9 月推出的, 月又推出了 1.1 规范。 12 目前较新的是 JSP1.2 规范,JSP2.0 规范的征求意见稿也已出台。 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户 端请求以后对这些 Java 代码进行处理, 然后将生成的 HTML 页面返回给客户端的 浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需 要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用,完全 的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、Bea 公司等,所以 JSP 迅速成为商业应用的服务器端语言。 JSP 可用一种简单易懂的等式表示为:HTML+Java=JSP。 3.4.2 Struts 介绍 Struts 是 一 个 为 开 发 基 于 模 型 (Model) - 视 图 (View) - 控 制 器 (Controller)(MVC)模式的应用架构的开源框架,是利用 Java Servlet 和 JSP 构建 Web 应用的一项非常有用的技术。由于 Struts 能充分满足应用开发的需求,简单 易用,敏捷迅速,因而吸引了众多的开发人员的关注。 首先事件是指从客户端页面(浏览器)由用户操作触发的事件,Struts 使用17汽车销售管理系统的设计与实现Action 来接受浏览器表单提交的事件,这里使用了 Command 模式,每个继承 Action 的子类都必须实现一个方法 execute。 Struts 重要的表单对象 ActionForm 是一种对象,它代表了一种应用,这个对 象中至少包含几个字段,这些字段是 JSP 页面表单中的 input 字段,因为一个表 单对应一个事件,所以,当我们需要将事件粒度细化到表单中这些字段时,也就 是说,一个字段对应一个事件时,单纯使用 Struts 就不太可能,当然通过结合 JavaScript 也是可以转弯实现的。 Struts 是一个基于 Sun J2EE 平台的 MVC 框架,主要是采用 Servlet 和 JSP 技术来实现的。 Struts 把 Servlet、 JSP、 自定义标签和信息资源(message resources) 整合到一个统一的框架中, 开发人员利用其进行开发时不用再自己编码实现全套 MVC 模式,极大的节省了时间,所以说 Struts 是一个非常不错的应用框架。 3.4.3 JavaBean 介绍 JavaBean 是一种 JAVA 语言写成的可重用组件。为写成 JavaBean,类 必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符 合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名 称符合这种模式,其他 Java 类可以通过自省机制发现和操作这些 JavaBean 属性。 用户可以使用 JavaBean 将功能、处理、值、数据库访问和其他任何 可以用 java 代码创造的对象进行打包,并且其他的开发者可以通过内部的 JSP 页面、Servlet、其他 JavaBean、applet 程序或者应用来使用这些对象。 用户可以认为 JavaBean 提供了一种随时随地的复制和粘贴的功能,而不用 关心任何改变。 3.4.4 jQuery 介绍 query 是继 prototype 之后又一个优秀的 Javascrīpt 框架。它是轻量级的 js 库(压缩后只有 21k) ,它兼容 CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+) 。jQuery 使用户能更方便地处理 HTML documents、 events、实现动画效果,并且方便地为网站提供 AJAX 交互。jQuery 还有一个比18汽车销售管理系统的设计与实现较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多 成熟的插件可供选择。jQuery 能够使用户的 html 页保持代码和 html 内容分离, 也就是说,不用再在 html 里面插入一堆 js 来调用命令了,只需定义 id 即可。4 系统的具体实现4.1 数据库的模块设计数据库的概念结构设计完毕后, 现在可以将上面的数据库概念结构转化为某 种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。 根据数据量的大小不同,系统可以使用不同的数据库。本系统使用的是 SQLServer2005 数据库。SQLServer2005 数据库使用方便,数据存储量也比较大, 是比较适合中小型网站开发的数据库。对于大数据量的网站,可以使用 Oracle 数据库。 4.1.1 数据库的建立 启动 SqlServer 2005,输入正确的用户名字和密码,要确保用户名和密码与 系统中的配置文件的 userName,password 相同,建立数据库 css,然后依次建 立相关表,在表中记得添加主键,系列号主动生成,如图 4.1 所示:19汽车销售管理系统的设计与实现图 4.1表结构的设计完全是按照逻辑结构设计中为各表设计的结构来实现的, 各字 段的设置在逻辑结构设计中也有详细说明。这里仅以-----表为例,展示表的设计 结果如图 4-2 所示。20汽车销售管理系统的设计与实现图 4.24.2 系统开发平台的建立以 Java 为主流开发语言进行程序设计,应用 Web、Jsp、Servlet、JavaBean 等 J2EE 技术和以 Struts 为框架实现系统的开发。在 J2EE 体系中,用 Servlet 控制,用 JSP 变现,而业务层用 JavaBean 实现。 开发环境选择 Window xp ,开发工具使用 Eclipse,JDK 为 1.6,以 Apache 下 Tomcat 作为 J2EE 服务器,系统的数据库平台选用 SQLServer 2005 系统。硬 件开发环境为 1G 内存以上 pc。4.3 系统具体模块功能和页面4.3.1 网站主页 用户在浏览器输入网址,会出现一个 login 的登录界面,员工需要输入用 户名和密码进入不同的界面,并进行相关操作。以下以管理员身份登录并进入管 理员首页,如图 4.3.1.1 和 4.3.1.2 所示:21汽车销售管理系统的设计与实现图 4.3.1.1 登录界面图 4.3.1.2 网站首页管理员首页主要展示所有模块的基本信息列表,并通过首页上的标注可以连 接到二级页面,进行操作。严格权限限制,除管理员之外,任何角色都只能进入22汽车销售管理系统的设计与实现自己的模块,互不干涉。 4.3.2 采购管理模块 以采购人员身份进入到采购管理模块,查看库存信息,然后填写采购计划, 接着查看新的采购单,也就是被财务部门审批后的采购单,并可以对过期的采购 单进行管理,如图 4..3.2.1 所示:图 4.3.2.1 制定采购计划 采购计划主要是需要采购的产品的相关信息,是否处理默认是“N” ,并通过 提交,传给财务部。 4.3.3 财务管理模块 以财务人员的身份进入财务管理模块,查看库存信息和销售信息,核对采购 部门提交的采购单,然后点击修改进行处理,是否处理一栏则自动将“N”变为 “Y” ,然后返回给采购部门,如图 4.3.3.1 所示:23汽车销售管理系统的设计与实现图 4.3.3.1 处理采购单 4.3.4 销售管理模块 以销售人员身份进入销售管理模块,填写销售信息,提交给财务部。并对客 户进行信息注册,以方便售后服务和长远发展。如图 4.3.4.1 所示:图 4.3.4.1 销售信息录入24汽车销售管理系统的设计与实现4.3.5 仓库管理模块 以仓库人员身份进入仓库管理模块,根据采购计划填写入库单,根据销售信 息填写出库单,以入库和出库信息来统计仓库存储信息,并将存储信息提交给各 部门。如图 4.3.5.1 所示:图 4.3.5.1 仓库信息列表 4.3.6 系统管理员模块 系统管理员主要包括对公司员工、部门、产品以及客户等所有信息的相关操 作。如图 4.3.6.1 所示:25汽车销售管理系统的设计与实现图 4.3.6.1 员工信息列表4.4 系统流程的代码实现4.4.1 代码部分和简介 当系统在 Tomcat 中发布后,首次接受到来自浏览器的访问要求时,系统首 先会完成自身的初始化,加载解析系统的配置文件,如 data_sources.xml、 bean.xml 等。如代码: package com.softstone.mvc.db; import java.io.*; import java.net.*; import java.util.*; import javax.sql.DataSource; import org.dom4j.*t; public class DataSourceFactory { private static final String DEFAULT_DATA_SOURCE_NAME=然后对照相应的配置文件中的所要访问的 action 从而转发给该 action 去处理请求, action 再根据所处理的结果是 success 还 fail 来给系统转发相应的页面。如出库的 action: package com.car.cjz.action.impl; import java.util.List; import com.car.bean.ChuKu; import com.car.cjz.action.ChuKuAction; import com.car.cjz.dao.ChuKuDao; import com.car.cjz.sort.Add; import com.softstone.mvc.ActionSupport; import com.softstone.mvc.PagerImpl;28汽车销售管理系统的设计与实现public class ChuKuActionImpl extends ActionSupport implements ChuKuAction { private ChuKu chuKu; private ChuKuDao chuKuDao; public void setChuKuDao(ChuKuDao chuKuDao) { this.chuKuDao = chuKuDao; } @Override public void initModel() { chuKu=new ChuKu(); chuKu.setChuKuNo(request.getParameter(成功。分 别输入其他部门的用户名和密码, 进入各部门相关模块, 执行增删查改操作成功。 测试结果证明,各功能均已实现,暂未发现漏洞,整个系统业务流程顺利执行, 项目通过。 5.1.1 测试方法的介绍 软件测试一般分为静态测试和动态测试两大类, 而动态测试方法中又根据测 试用例设计方法不同,分为白盒测试和黑盒测试。 1.静态测试 静态测试是指测试程序不在机器上运行, 而是采用人工检测和计算机辅助静 态分析的手段对程序进行检测。 2.动态测试 动态测试是指通过运行程序而发现的错误。 动态测试又可以分为黑盒测试和 白盒测试两种。31汽车销售管理系统的设计与实现(1)黑盒测试 黑盒测试也称为功能测试。这种方法将软件看成是一个黑盒子,在完全不考 虑软件的内部结构和特性的情况下,测试软件的外部特性。利用黑盒测试设计测 试用例的方法主要有:等价类划分法、边界值分析法、错误推测法和因果图法。 (2)白盒测试 白盒测试也称为结构测试。这种方法将软件看成是透明的盒子。根据程序 的内部结构和逻辑来设计测试用例。白盒测试的主要方法有:逻辑覆盖、条件覆 盖、判定/条件覆盖、条件组合覆盖、路径覆盖。 5.1.2 链接测试 在编译完成后,就要对每个组件进行测试。本系统一共有 DaoImpl、 actionImpl、configImpl 等包链接是 Web 应用系统的一个主要特征,它是在页面之间切换和指导用户去 一些不知道地址的页面的主要手段。链接测试可分为三个方面: 1. 2. 3. 测试所有链接是否按指示的那样确实链接到了该链接的页面; 测试所链接的页面是否存在; 保证 Web 应用系统上没有孤立的页面, 所谓孤立页面是指没有链接指向 该页面,只有知道正确的 URL 地址才能访问。 链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集 成测试阶段完成,也就是说,在整个 Web 应用系统的所有页面开发完成之后进 行链接测试。该阶段测试主要检查各个网页中是否存在超级链接掉链的问题,包 括页面、图片、CGI 程序等的链接。如果是图片掉链,那么页面中该图片的位置 可能出现一个带叉标记的空框。遇到这种情况,需要检查文件名及文件路径是否 正确。在此阶段,我在认真分析、理清各模块、各页面关系的基础上,针对模块 之间相互调用时接口会出现的问题, 测试各模块接口及各页面中超链接页面中链 接的准确性,测试结果是所有链接接口都能正确接入相连页面。 5.1.3 测试结果 (1)用户登陆测试,系统为不同的用户设置不同的管理权限。分部以不同的 身份进行登录,都能按规定权限进入不同的界面。 (2)数据查询测试,数据查询时系统的一个主要功能。在查询界面下,输入 各种可能的查询条件,查询都能讲符合条件的记录显示在页面上。32汽车销售管理系统的设计与实现(3)数据输入、修改、删除已经更新以及更新测试,在数据录入界面上,输 入一条记录并对数据库进行更新,通过查询检测到数据已经记录到数据库中。输 入不符合规定的数据时,有效性验证控件能验证出数据的错误,要求用户重新输 入。数据修改和删除测试与录入测试相似,修改或删除后检测数据库的数据都发 生相应的改变。 汽车销售管理系统实现了汽车信息管理、客户信息管理、销售信息管理、报 表信息管理等功能。无论是录入、修改、删除还是查询、统计等功能都符合系统 设计的要求。实现了汽车销售管理系统的简洁化,方便信息交流。 汽车销售管理系统操作界面简单容易,人机交互方便快捷,使原先复杂、易 出错的操作变得非常简单迅速,大大缩短了业务处理流程,提高了工作效率。 经过测试,本汽车销售管理信息系统已经满足了汽车销售企业信息化的要 求。5.2 结论随着计算机技术的不断发展,企业信息化成了企业在竞争中处于不败地位的 有效手段之一。 而管理信息系统能够及时全面地提供信息和数据, 简化统计工作。 在汽车销售管理系统设计和开发实践中,主要进行下列工作: 详细了解汽车销售对软件的要求、工作环境、开发的目的已经该系统应达到 的效果,对系统进行大模块进行开发,保证了系统开发的效率。 根据模块化得构思,对该系统进行总体设计,包括系统的框架设计、结构设 计、组件设计等、并分配模块中的功能和所应达到的效果。 以模块为单位,介绍了每个模块的详细设计与具体实现。 采用黑盒测试完成系统的单元测试和功能测试。并对其测试出现的问题及时 反馈并做以及时的处理。 所开发的汽车销售管理系统功能相对而言比较集中,而且各个功能模块中重 复交叉的应用逻辑较多。 在这种环境下应用组件技术进行系统开发极大的方便了 软件的二次开发和代码重用, 可以大大提高软件跨系统平台和软件平台的通过性 并缩短开发周期、提高开发效率,并减少了后期维护工作量。经过测试和使用结 果表明,系统稳定可靠,满足了系统处设想的要求。33汽车销售管理系统的设计与实现结束语到此项目完成,虽然把握了大体上的主要业务,但是其中隐藏的业务联系, 如果不实际的去了解整个业务流程,是很难把握的。尤其是财务当面,因为一个 公司最重要的就是财务,所有的业务都要围绕着财务去运转。由于未进行实际的 调研和深入的考察,本系统忽略了较多实际的东西,这些处理起来异常困难。这 个项目,让我初步了解了汽车销售与管理所牵扯的大体流程,也明白了为什么需 求分析会在软件开发中占据那么重要的地位, 这对于以后我们进行开发提供有力 帮助。还有就是团队了,虽然开发这个系统只有两个人,但是缺少任何一方,这 个项目就无法完成,它集聚了两个人的知识,特长和宝贵的时间精力。这些所有 心得对于我以后做开发会有很大帮助。 由于由于受自身水平和能力的限制,因此对于有些问题可能考虑的不是非常 的全面,存在一定的问题。对于系统的测试还不够完善,所以还需要通过不断的 学习与实践对此系统进行改进与总结。 今后还要根据该系统运行出现的问题及提 出的要求,对系统进行进一步的改进和完善,恳请老师和同学予以批评指正。34汽车销售管理系统的设计与实现致谢现在,大学生活即将结束。回首这段时光有很多值得回忆的东西。自己的每 一点进步都是和老师、同学真诚的关怀和帮助分不开的。 在这里,我要感谢每一位教导过我的老师,是他们的谆谆教导,使我顺利的 完成了大学的学业。特别要感谢金松河老师在这半年中对我的指导。没有金老师 的指导,我现在恐怕还没有完成毕业设计。再次谢谢金老师的每次抽出休息的时 间帮我指导毕业设计。 感谢我的爸爸妈妈,是他们给与我这一切。可是,我们从来没有向爸爸妈妈 说过一句感谢的话。我们成长的过程中遗忘了太多。父母就是我们最容易遗忘的 人, 也是我们最应该感谢的人。 而我现在能做的, 也仅仅是在这里说句感谢的话。 感谢所有帮助和关心过我的同学、朋友,是他们和我一起渡过了这段难忘的 时光。 虽然本文经过我多次修改,但由于我的知识水平有限,仍然存在这许多不足 之处,敬请各位老师指正并提出宝贵意见。 最后感谢在百忙之中审阅我论文的老师和参加答辩会的全体老师和同学。35汽车销售管理系统的设计与实现参考文献[1] 王珊,萨师煊. 数据库系统概论[M]. 北京:高等教育出版社,2004 [2] 张建伟,梁树军. 数据库技术与应用—SQL Server[M]. 北京:人民邮电出版社,2008 [3] 程志艳,张亮,马建红. JSP 使用简明教程[M]. 北京:清华大学出版社,2008 [5] 叶核亚. Java 2 程序设计实用教程[M]. 北京:电子工业出版社,2007 [4] 邬继承. Struts 与 Hibernate 使用教程[M]. 北京:电子工业出版社,2008 [6] 文俊郝. 安全增强的数据库系统的模型构建[J]. 计算机应用2005第8期1734-1736 [7] 陈佳. 信息系统开发方法教程[M]. 北京:清华大学出版社,2000 [8] Venkata SR, R chaganti. Active Server Pages[M]. 西安:电子工业出版社,2000 [9] Stephen Walther. Active Server Pages 210 Unleashed 揭密[M].北京:北京希望电子出版社, 2000.11 [10] Mark Spenik. Access 2000 数据库管理员指南[M]. 北京:机械工业出版社 2001 [11] 藏杨,秦冬,李育龙. ASP 软件工程案例精解[M]. 北京:电子工业出版社,2005 [12] 汤代禄、韩建俊. ASP 案例开发集锦[M]. 北京:电子工业出版社,2004 [13] Bruce Eckel. Thinking In Java.America: electronic books, 2004: 41~56.[14] 季久峰、李志等. ASP 办公自动化系统开发实例导航[M]. 北京:人民邮电出版社,2003 [15] Timothy C Lethbridge, Robert Laganiere. Object - Oriented Software Engineering [M]. 北京: 机械工业出版社,200336汽车销售管理系统的设计与实现[16] Tonks, A., Smith, R [J]. Information in practice [J].BMJ 313: 438-438(1996)37


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn