基于BS模式的汽车销售管理系统的设计与实现毕业论文.docx
《基于BS模式的汽车销售管理系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于BS模式的汽车销售管理系统的设计与实现毕业论文.docx(39页珍藏版)》请在冰点文库上搜索。
![基于BS模式的汽车销售管理系统的设计与实现毕业论文.docx](https://file1.bingdoc.com/fileroot1/2023-6/14/daa698fd-909b-4a56-9d88-f96cb403b1bb/daa698fd-909b-4a56-9d88-f96cb403b1bb1.gif)
基于BS模式的汽车销售管理系统的设计与实现毕业论文
基于B/S模式的汽车销售管理系统的设计与实现毕业论文
第一章引言
1.1背景
目前,我国的汽车业销售管理大多沿用旧的管理模式,无论在仓储管理,还是在销售管理方面以及其他方面都存在一些问题,这些无疑制约了汽车业的发展和腾飞。
在传统的汽车业管理模式中,纸单据及手工管理是其主流方式。
这种方式具有数据可靠性差,运行效率低下,统计分析难度大的缺点,快速抽取对企业有用的统计信息的可能性很小。
这种传统的管理模式已不能适应当今汽车企业的发展趋势,全球经济一体化的形成,国内外汽车销售业的竞争日趋激烈,这无疑对寻求生存和发展的汽车销售企业形成巨大压力。
然而管理技术上的差距,汽车行业普遍存在的与商业协作伙伴的沟通不及时,不到位,都严重影响了企业的竞争力。
因此,这是能够高效率的管理汽车销售和降低成本的等现代化,科学化的管理的汽车销售管理系统就显得尤为重要了。
1.2未来发展及意义
未来汽车销售主要是如何适应快速发展和变化多端的市场,如何运用高新技术手段和现代化管理来降低成本,提高企业的竞争力。
信息技术和网络技术的广泛应用和发展成为企业降低成本,优化库存结构,拓展销售渠道,提高服务效率等提供了便利、这是汽车企业增强自身竞争力的必经之路.
汽车销售管理系统是汽车销售企业的重要组成部分,本系统的开发加强了对汽车销售企业对销售的管理,提高了综合管理能力,促进了汽车企业的快速发展。
本系统的开发对汽车产业树立对客户信息为企业战略资源的策略,建立了以客户对中心的管理理念以及规范化,信息化汽车销售进程,都具有实际的意义。
第二章需求分析
2.1功能需求分析
汽车销售管理系统涉及到车辆采购,存库信息,公司收益,客户厂商的信息,还要有一定的管理者来管理这个系统,能够对系统内容进行更新,修改和删除.
2.1.1操作员登陆
因为操作员有权限之分,不同权限的操作员对系统能够进行的操作不同.1级操作员可以对系统进行全部操作,而2级以上的就有限制了.
2.1.2基本信息的管理
包括对厂商、客户、汽车的基本信息的管理。
对厂商的基本信息的查询,修改,增加.操作员在需要对厂商信息进行更新的时候可以对它进行操作.汽车销售公司的厂商基本上是固定的,所以经常使用的是对厂商信息的查询,这个操作属于公司内部人员操作的范围。
销售汽车需要各种类型的车,来适应不同使用人群.车型信息包括对车的基本信息的描述.作为管理员要定时的对车型信息进行添加.
公司需要对购买车辆的用户进行基本信息的登记和定时的更新,这项工作对于汽车销售的售后服务有重要作用.公司可以对客户进行产品使用情况跟踪.此项功能应该包括对客户信息的添加,修改和不需要的资料的删除.
2.1.3进货管理
汽车进货需要登记进货的价格,日期,厂家编号和车的基本信息.进货操作应该是进货管理者应该进行的管理.车辆采购:
进货需要跟厂家进货,所以需要跟厂家打交道.采购时不仅应该记录车辆的型号等基本信息,还要记录厂家的信息.车辆退货:
对有质量问题的汽车向厂家退货.
2.1.4销售管理
汽车销售时的基本信息管理车辆销售:
要包括对汽车主要信息的记录,如成交价,客户的编号,名称.车辆销售出去后,还要对销售信息进行复查,防止出现帐目不准确的情况.
2.1.5查询分析
可以查询基本信息,比如:
汽车销售数量,员工业绩,进出库数量,进退货查询。
2.1.6系统管理
系统管理员增加本系统的角色,包括角色添加,删除,查看。
系统管理员添加用户,删除某些不合法用户,修改用户信息。
每一个角色都有系统管理员为其分配权限
2.1.7财务管理
总的管理所有的财务方面,包括客户的付款和退款,付厂商款及厂商退款。
2.2数据分析
汽车销售管理系统中涉及的数据主要包括员工的基本信心、汽车的基本信息、厂商的基本信息、客户的基本信息、财务账单的信息等,需要有严格的设计要求。
系统管理员:
对厂商,车型信息,客户信息的查询,添加,删除等操作,并且可以对普通操作员的权限进行设置.该操作员拥有的权限是最高的。
普通管理员:
对该管理员对应的职能进行相应的维护,更改,删除等操作.定期对所管理的事务进行检查。
2.2.1系统模块结构图
根据系统的数据流程画出系统的模块结构图如图2.1.1所示
图2.1.1系统模块结构图
2.2.2数据库分析
数据库是一个系统的灵魂,合理的数据库设计对整个系统项目的开发变得更加高效灵活,因此根据之前的分析,我们对整个系统的实体以及联系进行了一下总结规划:
该数据库有六个实体(汽车实体、员工实体、部门实体、仓库实体、厂商实体、客户实体)以及几种主要联系(采购联系、存入联系、取出联系、收款联系、销售联系等)。
在设计完成之后,对数据库的建立以及连接也很重要,一个系统只有正确的设计、建立及连接数据库之后才能真正实现所谓的交互,让整个系统焕发生机。
数据项和数据结构大体如下:
1.员工信息:
员工号、员工姓名、员工性别、员工年龄、员工联系电话;
2.客户信息:
客户号、客户姓名、客户联系电话、客户所购买的车号、客户住址、客户购车时间、客户购车时的销售人员号;
3.销售信息:
表单号、车型号、厂商号、出售车辆数、出售车的时间、出售车时的销售人员号;
4.厂商信息:
厂商号、厂商名称、厂商地址、厂商联系电话;
第三章系统设计
总体设计的任务是要概要地给出系统的实现方法,划分组成系统的物理元素,确定系统的软件结构,即组成系统的各个模块及模块之间的关系。
在总体设计中,主要采用面向数据流的设计方法,结构化设计(SD)方法是一种典型的面向数据流的软件总体设计方法。
结构化设计方法主要是根据系统分析过程中所得到的数据流的不同结构特征,映射为软件的初始结构图,再根据模块设计的基本原则和启发式规则进行软件结构的优化。
在需求分析中得到的数据流图所表示的系统结构特征,可以归纳为两种典型的形式:
变换型和事务型两种结构类型。
在实际问题中,系统的DFD图可能比较复杂,往往同时存在着变换型和事务型两类结构。
1.面向数据流的SD方法的主要步骤为:
2.复审需求分析阶段所得到的详细DFD图,必要时再次进行修改和细化;
3.鉴别软件系统的结构特征是变换型还是事务型;
4.根据软件系统的结构特征,按照从DFD图到SC图的不同映射规则和步骤,映射为初始的SC图。
首先把数据流图映射到软件结构上去,建立软件的基本框架结构,再把所得到的基本框架结构做进一步分解;
变换分析
事务分析
变换型DFD图初始SC图
事务型DFD图初始SC图
5.按优化规则优化所得到的初始结构图。
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方式,虽然起到一定的作用,但由于当修改和增强数据应用时,需要开发客户端应用程序。
进行服务器端更改或客户端服务器端同时更新,由此带来的工作量是巨大的。
另外,客户端/服务器端方式中的数据库系统之间的数据库结构和数据类型不一致,导致数据库系统之间的转换困难。
再有,数据库应用系统是基于特定硬件平台和应用平台,这对数据库应用的移动带来困难。
而基于Web方式访问数据库,此问题就迎刃而解。
客户端无论是何种平台,只要具有浏览器就可以通过Web页面访问到数据库的内容,这大大降低了对客户平台的要求,而且无论是数据或应用程序都存放与服务器,开发人员可以非常方便地对系统进行更新和维护。
免去了针对不同应用平台编写不同前端应用程序。
本系统主要是在浏览器上实现对汽车销售的管理的,这里根据需求分析所得到的汽车销售管理系统数据流图,将其优化、求精后,得到系统的详细DFD,采用面向数据流的分析方法,由于系统是事务型的模式特征,因此按照事务分析的映射规则把数据流图映射到软件结构上,建立起系统的框架结构如图3-1所示:
图3-1系统框架结构图
1>用户层
该层是一些JSP页面,主要是利用JSP技术来实现,同时还运用了JavaScript脚步,对一些数据进行页面上的计算,对一些参数和逻辑进行了校验。
2>业务层
该层是由控制ActionServlet,Action和业务逻辑类JavaBean来实现的。
JavaBean里面封装了与数据层的交互关系,以实现所有的业务逻辑。
该层通过面向方面编程、面向接口编程,来降低业务之间的耦合度、提高代码的重用性和增强系统拓展性。
3>数据层
开发中与数据库进行数据交互主要可以归为添加、读取、修改、删除,这些操作占据了系统开发中的大部分时间,同时还需要考虑与数据库交互的性能问题。
数据层主要设计目标是为了整个项目提供一个高层、统一、安全和并发的数据持久机制。
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图所示:
图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图
厂商实体E-R图如图3-7所示:
图3.7仓库实体E-R图
客户实体E-R图如图3-8所示:
图3.8客户实体E-R图
2.逻辑结构设计
逻辑结构设计的任务就是把概念结构设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构设计。
在汽车销售管理系统中,所选用的DBMS产品为SQLServer2000,因此应将概念模型转换为关系数据模型,关系模型的逻辑结构是一组关系模式的集合。
E-R图则是由实体、实体属性和实体之间的联系三个要素组成的。
所以将E-R图转换为关系模型实际上是要将实体、实体的属性和实体之间的联系转换为关系模式。
根据数据库设计的理论和方法,新闻发布系统的数据模型经过转换和优化,并结合系统的实际处理需求,得到系统的全局逻辑模型,各关系模式如下:
1.汽车信息(汽车型号,汽车名称,汽车进价,汽车出价,库存数,厂商号)
2.员工信息(员工号,员工姓名,员工单位号,员工密码)
3.部门信息(部门编号,部门名称)
4.仓库信息(仓库号,仓库员工号,仓库名称)
5.厂商信息(厂商号,厂商名字,厂商电话)
6.客户信息(客户号,姓名,联系电话,所购汽车号,购车时间,客户地址)
7.采购联系(采购单号,采购人员号,采购厂商号,采购时间,采购汽车数量,购车价格)
8.存入联系(入库号,入库人员号,入库时间,入库数量,付款单号)
9.取出联系(出库号,出库人员号,出库时间,入账单号)
10.收款联系(付账单号,付账操作人员号,付账时间,金额,所购汽车号,所购汽车仓库号)
11.销售联系(销售单号,销售人员号,购车客户号,销售时间,售价)
数据库css包含以下11个表:
汽车信息表、员工信息表、部门信息表、仓库信息表、厂商信息表、客户信息表、采购表、入库表、出库表、入帐表、销售表。
这些数据表用SQLServer2005实现的,其中所有字段名都用英语单词或其缩写来命名。
所有表的结构如下:
表3.1.1汽车信息表css_car
字段名
数据类型
长度
说明
Car_no
Varchar
50
汽车号主键
Car_name
Varchar
50
汽车名字
Car_pricein
int
20
汽车进价
Car_priceout
int
20
汽车售价
Car_storeno
Varchar
50
存放汽车仓库号
Car_factoryno
Varchar
50
汽车厂商号
此表记录汽车产品的基本信息。
其表的名称叫做css_car,汽车号这一属性作为其主键是独一无二的。
建立的这个表中包含六个属性,其中有四个数据类型为Varchar而进价和售价则设定为int类型。
表3.1.2员工信息表css_worker
字段名
数据类型
长度
说明
Worker_no
Varchar
50
员工号主键
Worker_name
Varchar
50
员工姓名
Worker_deptno
Varchar
50
员工单位号
Worker_passwordt
Varchar
50
员工密码
此表记录员工的基本信息。
其表的名称叫css_worker,在建立这个表的时候将员工号这一独一无二的属性作为其主键,所有属性都是用长度为50的varchar类型。
表3.1.3部门信息表css_dept
字段名
数据类型
长度
说明
Dept_no
Varchar
50
部门编号主键
Dept_name
Varchar
50
部门名称
此表记录员工的基本信息。
这个表的名称设为css_dept,部门编号则作为其主键,这个表所包含的属性项很简单,并且都为长度50的varchar类型。
表3.1.4仓库信息表css_store
字段名
数据类型
长度
说明
Store_no
Varchar
50
仓库号主键
Store_name
Varchar
50
仓库名称
Store_workerno
Varchar
50
仓库员工号
此表记录仓库的基本信息。
此表的名称建立为css_store,其包含三种属性,仓库号作为其唯一的主键来方便与其他表进行关联,其所有的属性类型都设定为长度50的varchar类型。
表3.1.5厂商信息表css_factory
字段名
数据类型
长度
说明
Factory_no
Varchar
50
厂商号主键
Factory_name
Varchar
50
厂商名称
Factory_phone
Varchar
50
联系电话
此表记录厂商的基本信息。
这个表的名称设为css_factory,它包含三个属性,这些属性中只有厂商号是其独一无二的代表,因此作为其主键,三个都使用长度50的varchar类型。
表3.1.6客户信息表css_customer
字段名
数据类型
长度
说明
customer_no
Varchar
50
客户号主键
customer_name
Varchar
50
客户姓名
customer_phone
Varchar
50
联系电话
customer_address
Varchar
50
地址
customer_carno
Varchar
50
所购汽车号
customer_time
Datatime
50
购车时间
此表记录客户的基本信息。
该表中包含六个属性,每个客户都设定其单独的客户号,因此将客户号作为其主键。
其中的购车时间是时间属性因此其设为特殊的长为50的Datatime属性,其他的属性都设为长50的varchar类型。
表3.1.7采购表css_buy
字段名
数据类型
长度
说明
Buy_no
Varchar
50
采购单号主键
Buy_workerno
Varchar
50
采购人员号
Buy_time
Datatime
50
采购时间
Buy_factoryno
Varchar
50
采购汽车厂商号
Buy_count
int
20
所购汽车数量
Buy_pricein
int
20
购车价格
Buy_process
Varchar
50
是否采购
此表记录采购的基本信息。
这个表是一个员工实体和汽车实体之间的联系所对应的表,他所记录的是采购员工采购汽车时必须记录的一些重要信息,它的名称设为css_buy,采购员工的每一次采购都会有其唯一的采购单号,因此这个属性作为其主键。
表3.1.8入库表css_in
字段名
数据类型
长度
说明
In_no
Varchar
50
入库单号主键
In_workerNo
Varchar
50
入库人员号
customer_time
Datatime
50
入库时间
customer_count
int
20
入库数量
customer_payno
Varchar
50
付款单号
此表记录存入的基本信息。
这个表反映的是汽车存入仓库时所形成的仓库与汽车之间的存入联系,它记录的是汽车存入仓库时由入库人员记录的汽车入库的重要信息,其名称设为css_in,每次存入仓库时所填的入库单所记录的入库单号作为其标记的主键,而每次入库还得记录下其他以下几种重要信息,也就是其属性:
此次进行入库的入库人员号、入库时间、入库的汽车数量以及此次入库存入的汽车在其购买时所填的付款单号,其中入库时间使用长度50的Datatime类型、入库数量使用长20的int型,其他的均使用长50的varchar型。
表3.1.9出库表css_out
字段名
数据类型
长度
说明
Out_no
Varchar
50
出库号主键
Out_workerNo
Varchar
50
出库人员号
Out_time
Datatime
50
出库时间
Out_recoredno
Varchar
50
入账单号
此表记录取出的基本信息。
这个表所反映的是仓库的汽车出库时的仓库和汽车之间的取出联系,该表所记录的则是汽车出库时有仓库员工记录的一些重要信息,其名称设为css_out,这个表中的出库号是每次出库时所填写的出库单的出库号,所以作为出库单的唯一标记要设定为主键,这个出库单还得包含其他几种必填的信息:
此次出库时进行记录的仓库人员号、出库时间以及这次出库时的车辆卖出时所记录的入库单号,其中出库时间用长50的Datatime型,其他使用长50的varchar型。
表3.1.10付账表css_pay
字段名
数据类型
长度
说明
Pay_no
Varchar
50
付账单号主键
Pay_workerno
Varchar
50
付账操作人员号
Pay_time
Datatime
50
付账时间
Pay_money
int
20
金额
Pay_storeNo
Varchar
50
所购汽车仓库号
Pay_carno
Varchar
50
付款所购汽车号
此表记录收款的基本信息。
其反映的是客户给收银员工付款时形成的客户与员工之间的收款联系,其记录的也是收款时需要记录的一些信息,将其名称设为css_pay,此表中独一的付账单号作为其主键,当然还有其他在记录是必须详细记录的信息:
此次收款的员工的员工号、付款的时间、本次付款所付的金额、所购买的汽车号以及此车在公司仓库存放的仓库号,其中付账时间用长度为50的Datatime型,付款金额为长度20的int型,其他属性使用长为50的varchar型。
表3.1.11销售表css_sell
字段名
数据类型
长度
说明
sell_no
Varchar
50
销售单号主键
sell_workerno
Varchar
50
销售人员号
sell_customerno
Varchar
50
购车客户号
sell_time
Datatime
50
销售时间
sell_price
int
20
售价
sell_time
Datatime
50
购车时间
此表记录销售的基本信息。
这个表同样是联系的表,它反映的是销售员工在销售汽车给客户时客户和销售员工之间的销售联系,这个表记录的则是销售时所必须的一些重要信息,该表名称设为css_sell,在销售人员记录时所填写的销售单号作为其标记的主键,这张记录中还包含其他五种记录时所必须的一些重要信息,也是该表的重要属性:
成功完成此次销售的销售人员的编号、为此次交易中购买车辆的客户所设定的编号,销售时间、该客户购买的车辆的售价以及客户购车时的时间,这些重要属性中销售时间和购车时间用长为50的Datatime型,售价使用长20的int型,其他都使用长50的varchar型。
3.2系统流程
系统流程是在使用系统时的工作过程。
由于安全性考虑,本系统的操作要求用户在登录后才能进行。
用户登录时,将进行用户身份的判断。
一般工作人员和管理由于权限不同,可以实现的功能也不相同,在登录后,系统将限制他们只能操作本身权限所能操作的页面。
用户登录后,可以对系统进行一些常用的业务操作。
对与一般工作人员,比如销售工作人员,可以在汽车信息管理、客户信息管理、销售信息管理进行相关操作,但对修改权限、添加新员工就无法接触了。
具体流程如图3.2所示
图3.2系统总体流程图
3.3系统实现工具
汽车销售管理系统在设计中,以windowsxp为开发环境,采用了Eclipse作为开发工具,以Apache下的tomcat为JAVA为服务器,SQLServer2005作为后台数据库,开发了基于浏览器/服务器(Browser/Server,B/S)模式的应用程序。
3.4系统实现技术
主要使用开发语言和技术为:
Jsp/Servlet+JavaBean+Struts+SQLServer2005。
本系统使用Java开发语言,以Struts2为基础的MVC大框架。
用Struts的controller进行流转的控制,用JSP进行页面显示,在页面中使用jQuery实现在页面上检查是否重复,是否上下一致,并且运用Spring实现了各层的解耦,大大提高了程序的可扩展性,并且易于维护。
数据库使用微软下的SQLServer2005来存储数据。
3.4.1jsp技术
JSP技术使用Java编程语言编写类XML的tags和