计算机毕业论文-基于SSM的汽车销售系统(下)

本文详细描述了一个汽车销售系统的概要设计、开发环境、数据库设计(包括MySQL连接和表结构)、登录注册、订单管理(包括在线订购和经销商信息)、销售车辆管理以及用户和管理员的操作说明。作者通过亲身实践分享了项目开发过程中的学习和挑战,强调了规范化设计和持续学习的重要性。
摘要由CSDN通过智能技术生成

3 概要设计

3.1 系统流程设计

        该系统的中心是前端和后台。根据以上模块划分和功能分析,系统主要描述了前台和后台功能的维护。尽管前台和后台分为不同的系统模块,但是联系非常紧密,因此该系统中只有一个业务流程。
        用户首先登录系统,然后跳转到网站的主页。此时,用户可以在此基础上查看车辆信息并在线订购车辆。还可以查看车辆信息,查看备件信息,查看企业信息以及对浏览和其他活动进行分组。
        在系统底部,有一个后台入口,管理员可以进入该入口,进入后台后,可以执行相关操作,例如销售车辆管理,订单数据管理,备件数据管理,企业信息管理和集团信息管理,并且在后台的底部有前台登出口。

3.2开发环境与运行环境

操作系统: Windows 7、10;
语言选择:JSP 、JavaScript;
开发环境:MyEclipse 10;
Web 应用服务器: Tomcat 7.0。

3.3 数据库的设计

3.31数据库的使用

        该系统使用 MySQL 关系数据库。选择 MySQL 数据库有两个原因:第一个原因其功能可以满足系统的所有需求,该数据库也为系统后台数据存储提供强有力的技术支持。第二个原因,相比于其他的数据库,MySQL 数据库小巧,没有什么操作难度。

3.32数据库表结构设计

        数据库的表可以根据功能需求的分析来确定,本系统的表包括 User 表、Car表以及 Order 表,具体字段设计和说明如下所示:

3.3数据库连接实现
数据库连接驱动程序,数据库连接帐户和密码,数据库初始连接等,主要代码如下:
//配置数据源

<?xml version="1.0”encoding="UTF-8"?><Context>
<Resource
name="jdbc/CarSales
auth="Container
type="javax.sql.DataSource
maxActive="100”
maxIdle="30
maxWait="10000%
username="sa
password="123"
driverClassName="com.mysql.jdbc.Driver
url="jdbc:mysql://localhost:3306/CarSales'</Context>
//在xml 文件中配置<resource-ref>
<resource-ref>
<res-ref-name>jdbc/CarSales</res-ref-name><res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>
</resource-ref>
//通过数据源获取数据库连接池中的 Connection 对象//得到数据库连接
public static Connection getConnection0fConnection conn=null;
try i
Context context = new InitialContext0;DataSource ds=(DataSource)
context.lookup("java:comp/env/jdbc/CarSales");//获得数据源conn=ds.getConnection0;//从数据源中得到连接 catch (Exception e) {
e.printStackTrace0 ;
return conn;

4 详细设计

4.1登陆注册模块的设计

在设计的初期,出于安全考虑,想要浏览详细信息的访问者必须注册,只有注册成功以后,通过输入正确的账号和密码才能登录本系统,才能使用系统的一些功能。
//注册方法
 

public static String registUser(String account,Stringpassword,String
sex)
Connection conn=null;
Date d=new Date0:
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String time=df.format(d) ;
PreparedStatement ps=null;
try i
Statement stmt=UseMySql. connectToMysql(conn).createStatement() :ResultSet rs=stmt.executeQuery("select * from tb user whereaccount=’”+ account + ”"):
if(rs.next0)
account="该账号已被注册”
else
ps=UseMySql.connectToMysql(conn).prepareStatement("insertinto tb_user (account,password, sex, createdtime) values(?,?,?,?)");
ps.setString(1, account);ps.setString(2,password);ps.setString(3,sex);
ps.setString(4, time);
int flag = ps.executeUpdate();// 执行 sql
if (flag >0) {// 如果被影响行数大于0
account="注册成功”:
else {
account="注册失败";
catch (SQLException el) {// TODO Auto-generated catch block
el.printStackTrace0;
return account;

每一个人在登陆汽车销售系统之前,都会根据自已所对应的身份进行账号的注册,如果账号已经出现了已注册,系统将提示您重新注册相应的帐户,注册的账号信息也会及时的存储到对应数据库这中,如若以后进行登录可及时进行匹配进入系统。
//用户登录方法
 

public static String login(String account,String password)Connection conn=null:
UseMySql.connectToMysql(conn)
try {
Statement stmt=UseMySql. connectToMysql(conn).createStatement();ResultSet rs=stmt.executeQuery("select *from tb user where account=
+account +”;”
if(rs.next0)
if(password.equals(rs.getString(3)))[account="登录成功”
else
account="用户名或密码错误”
else
account="没有找到该用户”
} catch (Exception e) {
e.printStackTrace0:
return account;

4.2订单管理模块的设计

        该模块主要用于实现用户在线订购。在线订购界面主要包括车主订购的类型,订购的数量,付款方式,颜色选择,买方的详细地址,联系电话,邮政编码,电子邮件地址以及需要选择相应的经销商,再次,购买者可进行查看经销商的详细资料,并且可备注详细信息。

其部分实现代码如下:
//获取页面传递过来的值

if(request.getParameter("order")!=null){
Stringname=request.getParameter("name");
int counts=Integer.parseInt(request.getParameter("counts"));
String color=request.getParameter(color");
String  payment=request.getParameter("payment");
String  enterprisename=request.getParameter("enterprisename");
String  address=request.getParameter("address");
String  region=request.getParameter("region");
String  dealer=request.getParameter("dealer");
String  linkman=request.getParameter("linkman");
String  phone=request.getParameter("phone") ;
String  email=request.getParameter("email");
phost=request.getParameter("phone"); String

remark=requeeter("remark");    java.util.Datetoday=new java.util.Date() :

java.sql.Datenow=new
java. sql.Date(today.getYear (, today. getMonth), today. getDate0);//sql语陪榜仓裹句
sql="insert into tb OrderForm
values(’"+name+",’"+color+”’,+payment+”’’"+eenterp+counts+~,risename+,"+address+”’,"”’,"+dealer+”’,"+linkmant+area++phone+”,,+email+”,,"+phost+”,,+now+”,+remark+”,,’未受理
i=data.getint(sql);


使用转接及时获取用户所提供的信息,然后完成信息及时获取。同时与之匹配用户所需要的,有使用需求的对应车辆。

4.3销售车辆管理模块的设计

在后台文件中管理员还可进行车辆数据的添加,管理员可以选择填写的是商用车还是乘用车,然后将相应的参数填写完整后,点击添加即可,此时相应的数据库中的相关数据表即自动添加该数据。

其核心代码如下所示:
public intgetint(Stringname,Stringdatas,StringType,inttypes)
//sql 语句
tryisql="select * from tb Cars whereName=’"+Type.trim()+”":rs=con.getrs(sql);
if(rs!=null&&rs.next 0)f
logo=rs.getInt("ID"); 
//关闭流
rs.close0;con.close();)
catch(Exception e){
e.printStackTrace();
//sql语句
try[ sql="selectfrom tb Basic2 where Name=’"+name.trim()+"水Home2="+logo;and
Beanl conl=new Bean1();rs=conl.getrs(sql);
if(rs!=null&&rs.next()) homo=rs.getInt("ID");
homol=rs.getInt(Homo1");
[sting="----":
Beanl con2=new Bean10;
//sql 语句
sql="inserttb Valuesinto
”’,"+homo+","+homol+","+logo+,"+types+")"values("+sting+"int i=con2.getint(sql);
//关闭流
con2.close0; return i:
catch(Exception e)f
e.printStackTrace0:
return  0:
public intgetmax0f
//SQL 语句
try  sql="select * fromtb Values order by Logo desc"Beanl con3=new Bean10:
rs=con3.getrs(sql):
if(rs!=null&&rs.next ())
type=rs.getInt("Logo")+1:
else[ type=1; )
con3.close0:
rs.close() ;
return type;
catch(Exception e)!
e.printStackTrace(;
return 0;
public String getsql0[ return sql; public  intgetupdate(String Varname,String cardata,String CarType, intlogo)
"select *tryi Beanl connl = new Beanl0;sql=30y n+ CarType.trim0+from tb Cars where Name=rsconn1.getrs(sql);
rs.beforeFirst0;if (rs != null && rs.next0)Carnumber = rs.getInt("ID");connl.close0;rs.close0;Bean1conn2= new Bean10;sgl =* fromselectwhere Name=’0and Home2=tb Basic2+ Varname.trim0++Carnumber;
rs.beforeFirst0;rs=conn2.getrs(sql);if (rs != null &&rs.next 0))carhomo = rs.getInt("ID");
carhomol = rs.getInt("Homol");
Beanl conn3= new Bean10:sql"update tb ValuesPrice=’"0where Homol=" + carhomosetcardata.trim0++pand Logo=” + logo;int i =conn3.getint(sql); returni;l
catch(Exception e)e.printStackTrace0;Return  0;

4.4客户备件数据查的设计
客户在首页可以打开备件数据查询,打开后会弹出备件查询页面,此时,用户可以根据具体要求填写相关内容,然后单击查询进行搜索。

其核心代码如下:

//SQL 语句
sql="select * from tb SparePart whereName like’%"+request.getParameter("name")+"%’andNumber like’%"+request.getParameter("numbers")+"%’rs=data.getrs(sql).
rst.size=10:
vari=request.getParameter("pages");if(vari==null)[pages=l;)
else(pages=Integer.parseInt(vari);
rst.page=pages;
rla="name="+request.getParameter("name)+"&numbers="+request.getparameter("numbers")+"&type=备件查询&search=1&”rs=rst.getrs(rs); nows=0;
nows=nows+1:while(rs!=null&&rs.next0&&(nows<rst.size))


5 使用说明

5.1 管理员说明

管理员使用相应的帐户和密码登录管理员界面

1.销售车辆信息管理

        查看所有可以销售的车辆的详细信息,可以添加、删除和修改等操作。同时也可与市面上所存在的汽车进行对比以及性能的优劣是筛选,通过同一要求不同方面的检测,让用户更加了解汽车信息。
2.备件信息管理
        查看所有的备件信息,并且可以添加、删除和修改等操作。备件的所有完备信息情况,以及不同配件所造成的不同使用寿命,不同配件所造成的不同使用情况,用曲线图和实物图树状图等方式进行合理的对比,让用户选择合理的配件。
3.订单信息管理
        查看所有的订单信息,并且可以添加、删除和修改等操作。不断地进行功能测试和整理所有的订单,可以形成相同车型,相同品牌在同一订单所造成的趋势同时不断的开放相应的功能,让用户拥有更多的权限查看自己的订单信息,比如贷款金额以及贷款政策。
4.企业信息管理
        查看所有的企业信息,并且可以添加、删除和修改等操作。对不符合求的企业进行引导规范处理或者其他改善,让所有的企业符合正确的标准。同时具备对优质企业进行企业推荐的功能

5.2 用户说明

        用户使用相应的账号和密码登录系统的首页之后可以进行如下操作:查看首页信息,其中包括了汽车销售网站的简介,车辆的活动,贷款信息各大汽车品牌的销售价格以及价格趋势,还存在于各大销售品牌的价格对比,以及价格的上升下降趋势。
        查看车辆信息,其中包括了详细的车辆信息,包括贷款期限,首付比例,首付金额,月供金额,客户利率以及市场指导价格,销售网站销售价格,购车服务政策、汽车在近三个月之内的销售情况、以及在近三年的价格浮动比例等等。
        查看订购信息,进入订购信息之后,可以清楚明显的看到汽车贷款所需要的手续费用以及价格及汽车销售的具体注意事项和所需证件。 

结论

        大学学习期间,自己动手做项目的经历几乎没有过,这也在一定程度上使我在毕业设计阶段碰到的困难比我几年的大学生活还要多,但是这个毕业项目使我学到了更多的知识和内容,并真正实现了艰苦奋斗和丰收之道。在这个毕业设计阶段,系统的每个部分都需要自已设计,查阅书籍等。从系统的初始阶段到详细设计,需要逐步进行。在开发阶段,我只发现自己学到的是毛发,因此我需要更加努力地学习以掌握这种开发语言。然后,我在开发过程中继续学习。尽管学习过程比较痛苦,但我也学到了很多有用的知识,从一个没独立完成过项目的人变成了也能独立完成实现多功能的系统了。
        在设计的过程中由于之前的需求分析和总体设计做的工作不足,在做后续工作的时候碰到了很大的难题,而且进度缓慢,我对标准设计有了深刻的了解,我必须多想一点,多一点经验。在以后的学习和工作中,我们必须继续加强对规范的学习和理解,只有这样,才不会有错误。为了彼此学习,专注于沟通,我们必须努力学习并提出问题,并努力发挥我们的热情和创造力,以提高工作效率。后来老师检查后让我将需求分析和总体设计重新做,做的详细点,因此,在重做之后,我对系统的整体结构和流程有了非常清晰的了解,极大地加快了开发进度和效率。在开发阶段,由于缺乏扎实的语言掌握,在开发过程中仍然存在一定的局限性,因此通过借用JSP 书籍,熟悉 JAVA 语法,并在同学的帮助下,逐渐掌握了开发能力,同时也发现 JSP 的开发上手极快,主要肯花时间就能快速的掌握开发技巧。在设计过程中,调试程序是最重要,最难受的任务之一,我对工具的掌握不熟悉,只能逐行查看代码,经常会因为一个错误花掉半天的时间在调,甚至更长的时间,改程序的错个很痛苦的过程。后来经过同学的帮助,对于工具的使用又有了很大的加快了调试程序和修改错误的效率。在毕业设计中,我深深的体会到了书到用时方恨少的含义。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值