资源描述
汽车销售网站设计与实现
──项目设计与分析
摘 要:当前,网络在人们生活中的应用越来越频繁,死守传统销售模式而不拥抱互联网的汽车制造企业将越来越难打开销量。在移动互联时代人们想更加方便地了解私家车的信息和更加方便地购买汽车产品。汽车的种类繁多,给人们购车行为带来了很大的麻烦,于是汽车销售网系统有效地解决了人们的购车网上购车需求。
系统以struts+spring+(hibernate)+jpa为开发框架,实现了用户注册、登陆、验证身份及汽车的预览查询、比对、收藏、分享,对私家车的购买通过购物车实现等功能。
关键词:设计;框架;系统
Abstract:Now , internet is applied more and more widely in the world , the old way to sale things is a dark way , so that every company must use internet to touch people and let them buy things . Internet will make a lot of convenience for people that they can buy a lot of cars which they want . In the internet time , people want to know the information of cars more easily , but the cars ` types is a huge number , so the ‘car sale system ‘ can solve the big problem effectively.
The system is signed of SSH + JPA frameset. It can let user register , logon in , verify id and look through the photos wall to share or collect the best . These functions are very necessary .
Key words:sign ; frameset; system
1 绪论
通过网络进行汽车销售,是这个时代发展的必然结果,是随着网络的普及和电子商务概念的兴盛而兴起的。这种全新出现的新型汽车销售形式,与传统通过4s店面进行销售的方式相比优势显著:1,降低了汽车销售成本;2,改变汽车传统的了解和购买方式,使用网络平台了解汽车信息并购买,使得商业活动没有空间和时间的限制;3,汽车信息的传递更有效率和直观,新车信息上传后,人们可以立即了解咨询,交易可以马上进行,从而大大提高了汽车交易的效率。正是由于这些巨大的优势,汽车销售网站才能得以迅速地开拓市场。汽车销售网站的主要是借助网站作为交易平台,将汽车的各项指标,优势劣势,精美图片以发布到网络中,人们能够借助网络登录汽车销售网站来查看各种汽车的信息并提交订单订购或者预定汽车,实现在线交易。
开发之前需要做好详细的系统架构,这种系统架构内容包括了市场需求分析,网站前端设计,后台设计,技术可行性分析,框架组合分析等
2 可行性分析
2.1 社会可行性
据权威官方网站统计,今天的互联网用户达到17。目前的全球人数67亿,未来会有更多的人使用互联网。美国国家科学基金会预计,到2020年,互联网用户将接近50亿。互联网民队伍的飞速扩充,为汽车销售的发展提供了巨大的购买市场。
2.2 技术可行性
本系统采用的是struts1.3,spring2.5,hibernate,jpa三种框架和MySQL数据库开发,操作系统为Windows win 7,用网络三剑客进行前台网页界面开发。由于struts,spring,hibernate三大框架功能强大,MySQL在开发方面具有方便快捷、使用灵活的特点,而Jpa更是在当前持久层发展趋势下于日后必将流行的持久层的代表性框架,通过注释即能完成相关的持久化操作,非常方便简单,容易上手。
另外,目前硬件的性能日益强大,更新换代速度日新月异,硬件存储容量越来越大,硬件可靠性能越来越高,硬件制造价格也越来越低,硬件平台完全能满足此系统的需要。
2.3 操作可行性
目前,大部分计算机基本可以运行该网站,本网站的安装、调试、运行都不会改变原来系统的所有设置和整体布局,将提示信息完整,能够方便的操作此软件。
2.4 系统技术介绍
2.4.1 js
JavaScript 的正式名称是 "ECMAScript"。这个标准由 ECMA 组织发展和维护。ECMA-262 是正式的 JavaScript 标准。这个标准基于 JavaScript (Netscape) 和 JScript (Microsoft)。Netscape (Navigator 2.0) 的 Brendan Eich 发明了这门语言,从 1996 年开始,已经出现在所有的 Netscape 和 Microsoft 浏览器中。ECMA-262 的开发始于 1996 年,在 1997 年 7 月,ECMA 会员大会采纳了它的首个版本。在 1998 年,该标准成为了国际 ISO 标准 (ISO/IEC 16262)。这个标准仍然处于发展之中。
2.4.2 jquery
jQuery是一个专门用于兼容多浏览器的javascript开源框架,其核心理念是写得更少,做得更多。jQuery于2006年1月由John Resig在纽约发布,吸引了来世界众多JavaScript高手参与,由Dave Methvin团队进行开发研制。如今,jQuery成为最流行的javascript框架,世界前10000个访问量最大的网站中,有超过55%的网站使用了jQuery。
jQuery是免费、开源的。jQuery的语法设计使开发者书写程序更加便捷,侏儒选择DOM元素与动画效果与事件处理等。还有使用Ajax或者其他功能。此外,jQuery提供的API给开发者编写插件的权利。模块化的使用方式让开发者能够非常容易地开发出功能强悍的静态与动态网页。
2.4.3 mysql
MySQL是一个开源的小型的关联式的数据库系统。由瑞典MySQL AB公司开发。MySQL被广泛应用在中小型网站。其体积小、运行速度快、其总体拥有成本低下,许多中小型网站为了把网站总体成本降低而选择了mysql关联式数据库。
2.4.4 mvc模式
MVC模式是一种开发设计模式,该模式强制性的使程序的输入、处理和输出分别开来。MVC程序可以被划分成三个核心内容:模型、视图、控制器-model,view,controller。各自处理各自的相关任务.
Model
model表示数据和规则。model拥有最多处理的任务。被模型返回的数据与数据格式无关,这样一个model能为多个view提供数据。由于应用于model的代码只需一次就能够被多个视图复用,因此减少了大量的代码重复。
View
view是用户看到然后与其交互的界面。对之前的网络应用程序来说,view是以HTML中的元素组成的界面,现在的网络应用程序中,之前的HTML依旧在起着重要的作用,但一些新的技术不断推出,包括Flash和XML/XSL,XHTML等一些标识性语言和Web services.处理web应用程序的界面变得越来越有挑战性。MVC模式一个最大的好处就是它能为应用程序解决非常多不同的视图。在视图中他们没有真正的处理过程发生,无论这些数据是联机存储或者是一个雇员列表。作为view,它只作为一种输出数据并且允许用户操纵的方式而已。
Controller
contorller接受用户的输入然后调用model和view去完成用户指令。当单击Web页面中的相关超链接与发送相关HTML表单的时候,controller本身并没有输出任何数据和做任何的相关处理。它只是完成接收请求然后决定应该调用哪个model构件去处理请求功能,接下来明确应该使用哪个view来显示model处理返回的数据。
综上所述,MVC模式的处理过程,首先是控制器接收用户指令,并分析出调用哪个model来进行处理,model用业务逻辑来分析用户的相关请求然后返回数据,最后controller使用相关的view格式化模型返回的相关数据,再通过表示层来呈现给用户。
2.4.5 jpa框架
Jpa(java persistence API)是sun官方提出的java持久化规范,它为java开发人员提供了一种对象/关系映射工具来管理java应用中的关系数据。他的出现主要是为了简化现有持久化开发工作和整合ORM技术,结束现在Hibernate,toplink,jdo等orm框架各自为营的局面。Jpa充分吸收现有的hibernate,toplink,jdo等orm框架的优势,易于使用,伸缩性强。
2.4.6 spring框架
Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发.
2.4.7 struts框架
Struts1是一个基于mvc之上的框架可以让我们更好的把mvc模式更好的应用到web程序中是为了解决mvc模式中复杂繁琐的视图jsp页面出现大量的java代码和出现多个servlet而出现的一个成熟框架。
2.4.8 c3p0连接池
C3P0是一个开源多年并且成熟稳重的JDBC连接池,实现了数据源和JNDI的绑定,可以支持JDBC3规范与JDBC2标准扩展。当前用它的开源项目包括Spring,Hibernate等等。
2.5 系统开发平台及运行环境
2.5.1 系统开发平台
carsale系统是在Tomcat环境下发布的。tomcat环境主要在以下几方面拥有技术优势:
*Tomcat中的应用是一个WAR的文件。WAR是Sun公司提出的Web应用程序的格式,其与JAR非常类似,也是许许多多文件中的一个压缩包。
*Tomcat中,web应用程序部署方式相当简单,只需将WAR放到Tomcat的webapp目录中,Tomcat就可以自动检测到该文件,并将其迅速解压。
*Tomcat不仅是Servlet容器,也具传统Web服务器的功能:处理静态html页面。
*Tomcat可以和其它一些软件共同集成起来实现更多的功能。
2.5.2 运行环境
服务器软件:Tomcat6.0版本。
操作系统:Windows XP版本。
浏览器:IE浏览器,Fire Fox浏览器,Google Chrome浏览器。
3 需求分析
3.1 系统开发平台及运行环境
根据使用用户的需求来陈述,可以基本确定本系统可以分为客户端和管理端两个方面。
客户端主要是用来展示销售车辆的信息,最新的活动信息。提供来销售汽车其相关的信息的检索功能。极大地方便用户查询所有的汽车的相关信息。
管理端对车辆信息开展全面管理。后台管理各类的订单信息,提供订单提供查询,删除功能,修改,增加。会员信息也将进行管理,可以提供查询,删除功能,修改,增加。会员预约信息也将进行管理,提供,增加,查询,删除,修改功能。对会员购物信息也将进行管理,提供查询,删除,修改,增加功能。对会员的评价信息也将进行管理,提供提供查询,删除,增加,修改功能。
3.2 系统功能模块设计
根据系统功能分析,可以画出系统的功能模块图3-1,图3-2,图3-3。
(1)
图3-1 系统结构图
(2)
图3-2 功能结构图
(3)
图3-3 手机产品结构图
3.3 数据库分析
3.3.1 概念模型设计
概念模型是用于信息范围内的建模,和具体的DBMS并无关联。为使现实世界中的相关具体事物进行抽象、组织以某一DBMS支持数据的模型。人们经常首先将现实生活抽象为信息世界,接下来再将信息世界变换称为二进制范围。换句话说,第一需要将现实生活中的客观事务对象先抽象为某一种信息的结构,然而这种信息的结构却并不依赖于某一个具体的操作系统和DBMS,是观念上的model,接下来再需要奖model变换为电脑上某个DBMS所支持的data model。观念上的模型是现实范围到二进制范围的世界的一个中间层次。
二进制范围中包括了基本概念的实体和联系。
* 实体
客观存在的并且可以相互区分的事物被称为实体。实体能够是具体的东西,也是抽象概念的或有联系的。
* 联系
在现实范围里,事物内部和事物之间具有联系,这些联系在二进制范围里反映为实体中的联系与实体之间的相互联系。实体内部的相互联系常常是组成实体的各属性之间的联系。两个实体型之间的联系一般可以分为3类一对多联系(1 : n);一对一联系,(1:1);多对多联系(m : n)。
概念模型为对信息范围的一个建模,所以概念模型可以方便、精确地表示出信息世界中的惯用概念。概念模型表示的方式也是很多,其中最常用是P.P.S.Chen提出的实体,联系方法简记为E-R表示。该方法用E-R图来表现现实中世界的概念模型,称实体-联系模型,简称为E-R模型。
根据数据流程来分析,可以绘制ITCAST全局的E-R模型如图3-4,图3-5所示。
(4)
图3-4 用例图
(5)
图3-5 状态图
3.3.2 数据库表设计
产品款式表ProductStyle图3-6
(6)
图3-6 产品款式图
产品类型表ProductType图3-7
(7)
图3-7 产品类型图
产品图片组表ProductImggroup图3-8
(8)
图3-8 产品图片组图
订单表t_order图3-9
(9)
图3-9 订单表图
订单项表OrderItem图3-10
(10)
图3-10 订单项表图
订单序列表Generatedorderid图3-11
(11)
图3-11 订单序列表图
活动表Activity图3-12
(12)
图3-12 活动表图
联系信息ContactInfo图3-13
(13)
图3-13 联系信息图
品牌Brand图3-14
(14)
图3-14 品牌图
商品评价Comment图3-15
(15)
图3-15 商品评价图
商品信息表ProductInfo图3-16
(16)
图3-16 商品信息表图
收藏夹Favorite图3-17
(17)
图3-17 收藏夹图
网站用户Buyer图3-18
(18)
图3-18 网站用户图
系统用户表Eployee图3-19
(19)
图3-19 系统用户表图
预约Appointment图3-20
(20)
图3-20 预约图
4 前台功能设计
4.1 首页功能
4.1.1 head部分
Head包含了logo,菜单栏,索引框以及登录和注册模块。当用户点击logo时,会跳转到首页页面,点击菜单栏中的各个位置的时候会跳转到相应的二级子页面。游客可以选择登录和注册进行登录个人中心或者注册成为用户。可以在索引框中添加关键词搜索关键信息。
4.1.2 Container部分
Contanier左上侧车型排行榜功能,收录了最新的车辆信息,按照字母表的顺序罗列出来,方便用户点击查看和索引。
Container部分左侧显示的是各种类型的车辆信息,鼠标移上图片图片就会放大,让用户清晰直观地了解车辆细节。
Container部分右侧是收藏夹功能,购物车功能,广告位功能,预约试驾功能,和浏览车型功能,用户可以随意收藏自己中意的汽车板块,可以点击进入回顾曾经的浏览车型界面,可以点击进入预约试驾界面。
4.1.3 footer部分
Footer部分包含了各种网站信息,友方网站超链接和ip icp备案信息。
4.2 最新车型功能
4.2.1 级别展示功能
包含车辆类型:微型车,小型车,紧凑型车,中型车,中大型车,豪华车,SUV,MVP类型,用户可以根据不同的车辆类型进行点击查看。
4.2.2 最新车型功能
包含一个车辆图标,车辆名字,参考价格和定金价格,方便用户点击进入该车辆的详细页面
4.3 热销车型功能
功能与最新车型功能相同。
4.4 最新活动功能
4.4.1 级别展示功能
包含市面上多种车型,方便用户索引和点击阅览。
4.4.2 活动车型
以照片墙的方式分页展示出来,方便用户直观地查看和点击。
4.4.3 活动内容
以一张banner显示在菜单下,文本内容包括活动信息和报名方式。
4.5 买家指南功能
以一张大图展示出来,将购车流程和提车过程展示出来。
4.6 售后服务功能
以一张大图展示出来,将服务理念,服务承诺,全国联保等信息展示出来。
4.7 车型排行功能
车型排行中有多种汽车类型,每个类型左边有个more键,方便用户点击查阅更加详细和丰富的界面以及查看相关资料。
4.8 车型展示功能
车型展示以照片墙的形式出现,每个图片下有收藏和预约试驾两个按钮,方便用户收藏和进入预约试驾界面。
4.9 汽车详情功能
汽车详情功能版本中,有一张大图展示,大图下有若干大图缩略图,方便用户点击试看。大图右方是汽车的相关配置参数,根据用户的选择出现相应的售价和库存。同时,用户可以实现购物车,收藏和立即购买功能
中间区域是各种关于汽车的视屏和配图,给用户直观和美观的享受,右方为顾客评论。
右方区域为收藏夹和购物车,用户可以点击查看收藏夹中和购物车中的汽车信息。
下方区域是各种推荐车型的罗列,点击每个车型,进入的同样是该车型的汽车详情功能页面。
4.10 个人中心功能
个人中心板块包含账户管理,更改账户信息,更改地址簿,更改购买记录,我的收藏几个功能。各个板块中的内容都可以进行相应的增加和删除。
4.11 登录功能
登录界面包含帐号输入和密码输入,帐号设定格式为邮箱形式,密码不能为空。
4.12 注册功能
注册界面包含信息:
邮箱:邮箱有验证邮箱格式
手机:手机号码为11位验证
用户名
创建密码:两次输入密码验证必须相同
确认密码:
所在城市
详细地址
邮编:邮编类型为整数型
用户协议
4.13 购物车功能
购物车功能包含以列表形式展示查阅和准备选购的车型,可以自定义删除记录
5 后台功能设计
5.1 商城用户管理功能
商城用户管理功能以列表和分页的形式显示用户数据,用户数据包含了以下内容:
*用户名
*email
*手机
*注册时间
*激活状态
*操作:禁用
该模块对用户的操作限制在禁用用户这个功能
5.2 商品信息功能
5.2.1 车型管理
商城车型管理功能以列表和分页的形式显示汽车数据,包含了以下内容:
*编号
*车型分类
*操作:(编辑和删除)
编辑界面图5-1:
(21)
图5-1 编辑界面图1
5.2.2 品牌管理
商城品牌管理功能以列表和分页的形式显示汽车数据,包含了以下内容:
*编号
*品牌分类
*品牌logo
*操作:(编辑和删除)
编辑界面图5-2:
(22) 编辑界面图2
图5-2
5.2.3 商品管理
商城商品管理功能以列表和分页的形式显示汽车数据,包含了以下内容:
收索栏:名称,品牌,车型,入库和出库,查询按钮
*商品名称
*所属车型
*所属品牌
*入库时间
*销量
*价格
*库存
*操作:(编辑和删除)
可以添加商品,添加界面如下,图5-3:
(22)
图5-3 添加界面图
5.3 订单管理功能
订单管理界面包含订单号,姓名,商品名称,下单时间,金额,数量,状态,操作这几个板块。
订单界面图5-4:
(23)
图5-4 订单界面图
5.4 活动管理功能
活动管理这个部分包含活动车型,活动商,截止日期,操作(编辑和删除)
编辑界面图5-5:
(24)
图5-6 编辑界面图1
5.5 预约管理功能
预约管理这个板块包含城市,姓名,手机号码,意向车型,预约时间,试驾时间,操作这个几个板块
5.6 系统管理功能
系统管理功能包含了用户名,帐号,操作(编辑,删除)这几个板块
编辑界面,图5-7:
(25)
图5-7 编辑界面图2
6 技术支持
6.1 spring2.5+JPA+Struts1.3框架整合
6.1.1 框架整合依赖环境
这里JPA的实现采用hibernate,需要使用到下面的jar文件
*Hiberante核心包(8个文件)
*hibernate-distribution-3.3.1.GA
*hibernate3.jar
*lib\bytecode\cglib\hibernate-cglib-repack-2.1_3.jar
*lib\required\*.jar
*Hiberante注解包(3个文件):hibernate-annotations-3.4.0.GA
*hibernate-annotations.jar
*lib\ejb3-persistence.jar、hibernate-commons-annotations.jar
*Hibernate针对JPA的实现包(3个文件):hibernate-entitymanager-3.4.0.GA
*hibernate-entitymanager.jar
*lib\test\log4j.jar、slf4j-log4j12.jar
6.1.2 框架整合技术难点
使用spring解决JPA因EntityManager关闭导致的延迟加载例外问题。
<filter><filter-name>Spring OpenEntityManagerInViewFilter</filter-name><filter-class>org.springframework.orm.jpa.support OpenEntityManagerInViewFilter</filter-class></filter><filter-mapping>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
6.2 工程目录结构架构
com.wtkj.bean
com.wtkj.bean.book
com.wtkj.bean.privilege
com.wtkj.bean.product
com.wtkj.bean.shopping
com.wtkj.bean.user
parator
com.wtkj.exception
com.wtkj.service.base
com.wtkj.service.book
com.wtkj.service.privilege
com.wtkj.service.product
com.wtkj.service.shopping
com.wtkj.service.user
com.wtkj.utils
com.wtkj.web.action
com.wtkj.web.action.book
com.wtkj.web.action.privilege
com.wtkj.web.action.product
com.wtkj.web.action.shopping
com.wtkj.web.action.user
com.wtkj.web.action.usercenter
com.wtkj.web.filter
com.wtkj.web.formbean.base
com.wtkj.web.formbean.book
com.wtkj.web.formbean.privilege
com.wtkj.web.formbean.product
com.wtkj.web.formbean.shopping
com.wtkj.web.formbean.user
com.wtkj.web.formdatetype.convertor
6.3 工程所需配置文件
arrowuploadfiletype.properties
beans.xml
email_template.properties
jdbc.properties
log4j.properties
oscache.properties
paoding-dic-home.properties
siteurl.properties
7 结论
通过开发《汽车销售网站》,在下较全面的掌握了JAVA的编程技巧,开发能力得到了进一步的提高。如:深入掌握了spring+jpa+struts1的框架开发技术,对mvc模式更加深入地进行了了解。
此次开发我自身拥有了一些经验:系统架构决定着的系统过程,好的分析设计将是开发成功的基础。在开发之前不要急于动手,把分析准备充分,做持久层设计工作,准备相关开发文档等。再开始写程序代码,每一步代码逻辑清晰,心底有数。
对我来说,这次开发本身所产生的教育意义,才刚刚开始,我从本次毕业设计中领会到许多开发实战知识。通过自己的不断学习和不懈努力;通过涂老师的精心指导和教育,让我不仅仅在认知水平和实战开发能力上有了一个跨越式提高。还深深地体会到,需要把自己的所学变成产品时,将要面对的每一种困难。
系统不免有错误之处,待改进之处,非常真诚地欢迎各位老师、同行百忙之中提出宝贵的修改意见。
8 参考文献
[1] 莫枢,深入理解Java虚拟机,机械工业出版社,2011
[2] 石志国,薛为民,董洁.JSP应用教程.北京:清华大学出版社.北京交通大学出版社,2004
[3] 李曙光.JSP开发实例完全剖析.北京:中国电力出版社,2006
[4] 杨易.JSP高级程序设计.人民邮电出版社,2006
[5] Vivek Chopra.JSP高级程序设计,机械工业出版社,2001
[6] 申吉红,廖学峰,余健.JSP课程设计案例精编.北京:清华大学出版社,2007
[7] 卢潇.软件工程.北京:清华大学出版社;北京交通大学出版社,2005
[8] 萨师煊,王姗.数据库系统概论.北京:高等教育出版社,2000
[9] 马运涛.Eclipse精要与高级开发技术.北京:电子工业出版社,2003
[10] PaulJPerrone etal,张志伟,谭郁松,张明杰.J2EE构建企业系统[M] .北京:清华大学出版社,2001
第21页 (共21页)
展开阅读全文