《软件毕设课设4s店销售服务管理系统.doc》由会员分享,可在线阅读,更多相关《软件毕设课设4s店销售服务管理系统.doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、4s店销售服务管理系统班 级: R会计122姓 名: 赵谦 学 号:1218090227摘要随着计算机网络技术的飞速发展和日益普及,网络应用软件越来越多,面向网络的开发技术已经成为IT技术发展的重要分支之一。网络应用程序的设计和开发已成为各类应用软件中最主要的组成部分,其需求也相应增多,因此,计算机网络程序设计作为一项知识技能受到越来越多的重视,电子商务也因其便捷、高效的特点,受到人们越来越多的关注。基于以上原因,本论文设计开发一个4S店销售服务管理系统,其目的是为了搭建一个销售服务管理的平台,提高交易效率、更加便捷快速的完成地车辆查询,人员管理等活动。关键词:JAVA SQL 车辆销售管理目
2、 录4s店销售服务管理系统1摘要2第一章 概述41.1课题来源及意义41.2开发工具及相关简介4第二章 需求分析52.1可行性分析52.2业务流程52.3需求规范62.4数据字典72.5环境要求8第三章 概要设计93.1系统运行总体流程93.2系统体系结构9第四章 详细设计134.1数据库设计134.2其他模块设计18参考文献25第一章 概述1.1课题来源及意义经过四年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套4s店销售信息管理系统,在下面的各章中,我将以这套汽车销售系统为例,谈谈
3、其开发过程和所涉及到的问题。选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解汽车销售系统的构造以及顾客的相关信息。将这些信息输入到数据库中,使之能够进行查询、修改、删除并且与汽车销售系统执行相同的操作。在需求分析阶段,需要完成汽车销售系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计以及视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后是数据库的实施和运行 建好数据库之后,用java设计界面,并用相关的语句将java和SQL SERVER连接,实现界面连接数据库,查询数据库中的信息的功能。实践和巩固在课堂教学中学习的关于JAVA语言和关系数
4、据库原理的有关知识、SQL SERVER的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。1.2开发工具及相关简介1.21开发工具JAVA SQL1.22相关技术简介JAVA: JAVA是一门面向对象的编程语言,不仅吸收了C+语言的各种优点,还摒弃了C+里难以理解的多继承、指针等概念,因此JAVA语言具有功能强大和简单易用两个特征。JAVA语言作为静态面向对象编程语言的代表,极好的实现了面向对象理论,允许程序员以优雅的思维方式进行复
5、杂的编程 SQL: SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存储数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。第二章 需求分析2.1可行性分析本系统设计所需的开发环境可以通过网络下载并且大部分为开源软件,都可以在网上直接下载到。Windows是极为普遍的操作系统,且操作方便、易学、安全。所用开发工具选择ECLIPSE,容易获得、不需额外成本,且性能稳定。数据库使用占用空间小的SQL,其实现过程只需一台PC机就能够完成,开发成本低。本系统的图形界面和数据库的设计利用java语言和SQL SERVER实现,采用基于Windows的图形用户界面,
6、而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个员工信息管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的。2.2业务流程经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出客户信息、购车信息的具体需求。图2.1 客户需求图 图2.2员工需求图2.3需求规范汽车销售公司为方便买家,需开发一个汽车销售系统。为便于买家由汽车销售公司负责为顾客下订单,公司把预定汽车的顾客信息,包括客户名称、联系方式、地址, 业务联系记录,输入汽车销售系统的客户端程序,系统经过查询汽车销售公司内的数据服务器后,
7、为顾客安排服务员工,顾客在员工的介绍下预订汽车,包括汽车编号,型号,颜色,生产厂家,出厂日期,价格等信息,确定轿车销售信息准确无误后,打印销售报表。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。1. 调查用户需求a. 购车信息需求l 查询功能:u 车编号u 经手人u 款式 2.总服务台办公需求l 功能:客户去汽车销售公司总服务台咨询,询问自己感兴趣的产品的相关信息,由总服务台为其安排服务员工l 统计功能:u 按客户名称统计购买汽车种类u 按汽车编号和销售日期统计客户u 统计服务信息u 统计销售信息l 查询功能:u 购车顾客查询
8、 购车顾客姓名 购车日期号 购车的种类u 职工查询 查询职工的姓名 查询职工销售记录2.4数据字典所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到五个基本表:汽车销售表,客户表,员工信息表,服务信息表,销售信息表。数据结构定义如表2.1所示。表2.1 数据结构定义数据结构名含义说明组成汽车信息表定义了汽车的相关信息车的编号,种类,型号,颜色,生产厂家,出厂日期,价格客户定义了客户有关信息客户名称,联系方式,地址, 业务联系记录职工信息表定义了员工的有关信息员工编号,姓名,性别,年龄,学历服务信息表定义了服务的有关信息员工号,客户名,服务态度销售信
9、息表定义了销售有关信息销售日期2.5环境要求(1)系统开发环境要求:硬件环境:内存:2G硬盘:298GCPU:Intel i3 2.13GHZ软件环境:Windows操作系统开发工具:ECLIPSE数据库:MySQL5.5辅助工具:Office开发语言:Java(2)系统运行环境要求:操作系统:windows 2000版本以上数据库:SQL5.5内存:512M以上硬盘:80G以上第三章 概要设计3.1系统运行总体流程这个系统是对汽车销售的相关信息的查询,首先,在建立好的数据库中的客户信息表,员工信息表,汽车信息表,服务信息表,销售信息表中输入相关的记录,当在界面中查询相关信息时,输出相关内容。
10、图3.1 系统功能流程图3.2系统体系结构 3.2.1 数据库结构根据需求,设计实体属性图以及局部E-R图。图3.2汽车销售表信息实体属性图图3.3员工信息实体属性图图3.4客户信息实体属性图图3.5购买部分E-R图图3.6服务部分E-R图图3.7销售部分E-R图 经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构E-R图。 图3.8系统总体结构E-R图3.2.2 窗口结构窗口的实现用JAVA,其中各类的关系如图图 3.9 类关系图第四章 详细设计4.1数据库设计4.1.1数据库的概念当人么从不同角度描述数据库的概念是,往往会有不同的概念。例如,有人称数据库是一个
11、“记录保存系统”(该定义强调了数据库是若干记录的集合)。又比如说数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。也有人将数据库当做是“一个数据仓库”。当然,这些描述都很形象,但是并不是那么严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。本系统将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Orac
12、le,SQL Server 2000/7.0等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。4.1.2数据库的选择SQL Server是一个关系数据库管理系统,随着信息技术的发展,计算机处理数据的方式也发生着变化,文件管理系统数据库管理系统。Microsoft SQL Server是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-sql的sql语言在客户机与服务器间传递客户机的请求与服务器的处理结果。众所周知,SQL Server能够满足今天的商业环境要求不同类型的数据库解
13、决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些SQL Server的优点外,SQLServer还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。作为重要的
14、基准测试可伸缩性和速度奖的记录保持者,SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言 (XML)的核心支持以及在Internet上和防火墙外进行查询的能力4.1.3数据库的建立将图3.4总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三范式。(至少包括4张表,每个表都有主键,设必要的外键。) 汽车信息表(车的编号,种类,型号,颜色,价格,客户姓名)员工信息表(员工编号,姓名,性别,年龄,籍贯,学历)客户信息表(客户名称,联系方式,地址,)销售信息表(车的编号,客户名称,销售日期 )服务信息表(员工编号,客户名称,服务态度)汽车信息表N31
15、(车的编号,种类) N32(种类,型号,颜色,价格)员工信息表N21(员工编号,姓名) N22(姓名,性别,年龄,籍贯,学历)客户信息表本身为第三范式销售信息表N21(车的编号,销售日期) N22(车的编号,客户名称)服务信息表本身为第三范式4.1.4 基本表结构根据总体结构图设计各表的结构,其相应表的定义如下:表4-1汽车销售表的结构字段名数据类型长度是否为空主/外键描述CarnoVarchar50否主键车的编号categoryVarchar50种类sizeDecimal18型号colorVarchar50颜色PriceDecimal18价格ClientnameVarchar50否外客户名称
16、表4-2职工信息表的结构字段名数据类型长度是否为空主/外键描述StaffnumberVarchar50否主员工编号NameVarchar50否姓名SexVarchar50性别Age Varchar50年龄NativeVarchar50籍贯BackgroundVarchar50 学历表4-3 客户信息表的结构字段名数据类型长度是否为空主/外键描述ClientnameVarchar50否主客户名称TelNoDecimal50否联系方式AddressVarchar50地址表4-4销售信息表的结构字段名数据类型长度是否为空主/外键描述CarnoVarchar50否主外车的编号StaffnumberVa
17、rchar50否外员工编号DateDatetime销售日期表4-5服务信息表的结构字段名数据类型长度是否为空主/外键描述StaffnumberVarchar50否主外员工编号ClientnameVarchar50否外客户名称ServiceattitudeVarchar50否服务态度4.1.5数据库基本结构的建立CREATE DATABASE 4s店销售服务管理系统 CONTAINMENT = NONE ON PRIMARY ( NAME = N4s店销售服务管理系统, FILENAME = NE:R会计122_27_赵谦4s店销售服务管理系统.mdf , SIZE = 5120KB , MAX
18、SIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N4s店销售服务管理系统_log, FILENAME = NE:R会计122_27_赵谦4s店销售服务管理系统_log.ldf , SIZE = 2048KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)1、基本表的建立CREATE TABLE汽车信息 CARNO VARCHAR(50) NOT NULL CATEGORY VARCHAR(50) NOT NULL SIZE DECIMAL NOT NULL COLOR VARCHAR(50) NOT
19、NULL PRICE VARCHAR(50) NOT NULL PRIMARY KEY CAR.NOCREATE TABLE 职工信息 STAFFNUMBER VARCHAR(50) NOT NULLNAME VARCHAR(50) NOT NULLSEX VARCHAR(50) NOT NULLAGE VARCHAR(50) NOT NULLNATIVE VARCHAR(50) NOT NULLBACKGROUND VARCHAR(50) NOT NULLPRIMARY KEY(STAFF NUMBER)CREATE TABLE 客户信息 CLIENT NAME VARCHAR(50) NO
20、T NULLTELNO VARCHAR(50) NOT NULLADDRESS VARCHAR(50) PRIMARY KEY (CLIENT NAME) CREATE TABLE 销售信息 CARNO VARCHAR(50) NOT NULL STAFFNUMBER VARCHAR(50) NOTNULL DATE VARCHAR(50) NOT NULL AMOUNT VARCHAR(50) NOT NULLPRIMARY KEY(CAR NO. CLIENT)FOREIGN KEY(CAR NO.CLIENT)CREATE TABLE 服务信息 STAFFNUMBER VARCHAR(5
21、0) NOT NULL CLIENTNAME VARCHAR(50) NOT NULL SERVICE ATTITUDE VARCHAR(50) PRIMARY KEY(STAFF NUMBER,CLIENT NAME) FOREIGN KEY(STAFF NUMBER,CLIENT NAME)2、添加数据INSERT INTO 汽车信息VALUES(011,捷达,豪华型,黑,11.93万元,张一)INSERT INTO 职工信息VALUES(2001,王一,女,25,北京,本科)INSERT INTO 客户信息VALUES( 张一,1234567,大连市中山区)INSERT INTO 销售信
22、息VALUES( 2001,041,2014/12/01)INSERT INTO 服务信息VALUES( 2001,张四,好)4.2其他模块设计4.2.1 窗口的建立窗口界面的设计,利用JAVA设计,共有9个类,每个类的方法和功能如下表所示表4.1 类表类名方法名功能DatabaseWindowDatabaseWindow()Mina()初始化窗口主函数CaractionPerformed(ActionEventer)按钮的动作监听和实现ClientactionPerformed(ActionEventer)按钮的动作监听和实现ServeactionPerformed(ActionEvente
23、r)按钮的动作监听和实现StaffactionPerformed(ActionEventer)按钮的动作监听和实现SaleactionPerformed(ActionEventer)按钮的动作监听和实现AL1actionPerformed(ActionEventer)按钮的动作监听和实现AL2actionPerformed(ActionEventer)按钮的动作监听和实现AL3actionPerformed(ActionEventer)按钮的动作监听和实现4.2.2初始化窗口具体实现主类的实现import java.sql.*;import java.awt.*;import javax.sw
24、ing.*;import java.awt.event.*;import javax.swing.event.*;import java.util.*;import javax.swing.border.*;import .*;import java.util.LinkedList;import java.io.*;import java.applet.*;import java.util.ArrayList;import .URI;import .URL;import .MalformedURLException;import java.applet.AudioClip;import jav
25、ax.swing.filechooser.*;public class DatabaseWindow extends JFrame public static void main(String args) new DatabaseWindow(); public DatabaseWindow()JFrame window = new JFrame(4s店销售服务管理系统); Toolkit tool=window.getToolkit(); Image image=tool.getImage(tupian.jpg); JButton serveButton,clientButton,carBu
26、tton,saleButton,staffButton,buttonPlay,buttonTime,buttonStop; buttonPlay=new JButton(说明); / buttonTime=new JButton(时间); buttonStop=new JButton(作者); serveButton = new JButton(服务信息); clientButton=new JButton(客户信息); carButton=new JButton(汽车信息); staffButton=new JButton(职工信息); saleButton=new JButton(销售信息
27、); Client cc=new Client(); /监视器 clientButton.addActionListener(cc); /监视器 Serve ss=new Serve(); /监视器 serveButton.addActionListener(ss); CAR car=new CAR(); /监视器 carButton.addActionListener(car); Staff staff=new Staff(); /监视器 staffButton.addActionListener(staff); Sale sale =new Sale(); /监视器 saleButton.
28、addActionListener(sale); AL1 al1=new AL1(); AL2 al2=new AL2(); AL3 al3=new AL3(); buttonPlay.addActionListener(al2); buttonTime.addActionListener(al3); buttonStop.addActionListener(al1); JPanel panelLeft,panelRight; panelLeft=new JPanel(); panelRight=new JPanel(); panelLeft.setLayout(new BorderLayou
29、t(); panelRight.setLayout(new BorderLayout(); JPanel centerInLeft=new JPanel(); JPanel centerInRight=new JPanel(); panelLeft.add(centerInLeft,BorderLayout.WEST); centerInLeft.setLayout(new GridLayout(5,1); /网格布局五行一列 centerInLeft.add(serveButton); centerInLeft.add(clientButton); centerInLeft.add(carB
30、utton); centerInLeft.add(staffButton); centerInLeft.add(saleButton); JSplitPane split=new JSplitPane (JSplitPane.HORIZONTAL_SPLIT,panelLeft,panelRight) centerInRight.setLayout(new GridLayout(1,3); centerInRight.add(buttonTime); centerInRight.add(buttonPlay); / centerInRight.add(buttonStop); panelRig
31、ht.add(new Imagecanves(); panelRight.add(centerInRight,BorderLayout.SOUTH); window.add(split,BorderLayout.CENTER); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); window.setBounds(100,50,792,387); window.validate(); class Imagecanves extends Canvas Toolkit tool; Image
32、 image; Imagecanves() setSize(200,500); tool=getToolkit(); image=tool.getImage(tupian.jpg); public void paint(Graphics g) g.drawImage(image,0,0,700,320,this);监听器的实现import java.sql.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.event.*;public class CAR implements
33、ActionListener public void actionPerformed(ActionEvent e) try JTextArea result; result=new JTextArea(); result=new JTextArea(12,20); result.setEditable(false); result.setFont(new Font(宋体,Font.PLAIN,16); JFrame window = new JFrame(汽车信息); window.add(result); window.setDefaultCloseOperation(JFrame.DISP
34、OSE_ON_CLOSE); window.setVisible(true); window.setBounds(200,100,500,270); window.validate(); Connection con; Statement sql; ResultSet rs;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException ee) System.out.print(e); try con = DriverManager.getConnection(jdbc:odbc:PLY,); sql=
35、con.createStatement(); rs=sql.executeQuery(SELECT * FROM 汽车信息); result.setText(汽车编号+|+汽车品牌t+|+种类t+|+颜色+|+价格t+|+买主+|+n); while(rs.next() String number = rs.getString(Carno); String name = rs.getString(category); String type = rs.getString(type); String color = rs.getString(color); String price = rs.g
36、etString(Price); String clientname = rs.getString(Clientname); result.append( number+ | + name+ | + type + | + color+ | + price+ |+clientname+|+n); con.close(); catch(SQLException e2) System.out.println(请输入正确的表名+e); catch(Exception e1)4.2.3运行效果图 图4.1初始窗口效果图图4.2查询窗口效果图参考文献1 耿祥义,张跃平.Java 2实用教程M.北京:清华大学出版社,2004.