2024年2月11日发(作者:伏凌兰)
编号
毕 业 设 计(论文)
完整源代码68661508
题目 二手车交易平台的分析、设计与实现
二级学院 计算机科学与工程学院
专 业 软件工程
班 级
学生姓名 学号
指导教师 职称 副教授
时 间 2014年6月12日
摘 要 ........................................................................................................................................... 5
Abstract ............................................................................................................................................. 6
1 绪论 ............................................................................................................................................. 7
1.1
系统开发背景 ............................................................................................................................... 7
1.2
二手车交易网站的优势 ............................................................................................................... 7
1.3
二手车交易网站的基本特征 ....................................................................................................... 8
1.4
设计目的....................................................................................................................................... 9
2 系统目标及开发可行性 ............................................................................................................... 10
2.1
系统目标..................................................................................................................................... 10
2.2
可行性分析 ................................................................................................................................. 10
2.2.1 市场可行性分析 ................................................................................................................. 10
2.2.2 技术可行性分析 ................................................................................................................. 10
2.2.3操作可行性分析 .................................................................................................................. 11
2.2.4 经济可行性分析 ................................................................................................................. 11
2.2.5 社会因素方面的可行性 ..................................................................................................... 11
2.2.6 可行性分析结论 ................................................................................................................. 11
3 需求分析 ..................................................................................................................................... 12
3.1功能需求...................................................................................................................................... 12
3.1.1 前台用户登录注册业务概述 ............................................................................................. 12
3.1.2 用户买车的业务概述 ......................................................................................................... 13
3.1.3 用户卖车的业务概述 ......................................................................................................... 15
3.1.4 用户求购的业务概述 ......................................................................................................... 15
3.1.5 后台管理人员登录的业务概述 ......................................................................................... 16
3.1.6 管理员信息管理的业务概述 ............................................................................................. 17
3.1.7 前台用户管理的业务概述 ................................................................................................. 19
3.1.8 车辆管理的业务概述 ......................................................................................................... 20
3.1.9 留言评论的业务概述 ......................................................................................................... 21
3.1.10 其他的业务概述 ............................................................................................................... 22
3.2
非功能性需求 ............................................................................................................................. 22
3.2.1 性能需求 ............................................................................................................................. 22
3.2.2 软硬件环境需求 ................................................................................................................. 22
3.2.3 产品质量需求 ..................................................................................................................... 23
4 系统设计 ..................................................................................................................................... 24
4.1
系统总体结构 ............................................................................................................................. 24
4.2
总体类图设计 ............................................................................................................................. 25
4.3
功能设计..................................................................................................................................... 26
4.3.1 前台用户登录注册的功能设计 ......................................................................................... 26
4.3.2 用户买车的功能设计 ......................................................................................................... 28
4.3.3 用户卖车的功能设计 ......................................................................................................... 31
4.3.4 用户求购的功能设计 ......................................................................................................... 32
4.3.5 后台管理人员登录的功能设计 ......................................................................................... 34
4.3.6 管理员信息管理的功能设计 ............................................................................................. 35
4.3.7 前台用户管理的功能设计 ................................................................................................. 37
4.3.8 车辆管理的功能设计 ......................................................................................................... 38
4.3.9 留言评论的功能设计 ......................................................................................................... 39
4.3.10 其他的功能设计 ............................................................................................................... 40
5 数据库设计 .................................................................................................................................. 42
5.1
数据库需求分析 ......................................................................................................................... 42
5.2
数据库概念设计 ......................................................................................................................... 42
5.3
数据库逻辑设计 ......................................................................................................................... 43
5.4
数据库表设计 ............................................................................................................................. 44
5 系统实现 ..................................................................................................................................... 47
5.1
前台登录注册实现 ..................................................................................................................... 47
5.1.1 实现原理 ............................................................................................................................. 47
5.1.2 具体效果 ............................................................................................................................. 47
5.2
首页实现..................................................................................................................................... 48
5.2.1 实现原理 ............................................................................................................................. 48
5.2.2 具体效果 ............................................................................................................................. 49
5.3
买二手车页面实现 ..................................................................................................................... 49
5.3.1 实现原理 ............................................................................................................................. 49
5.3.2 具体效果 ............................................................................................................................. 50
5.4
卖二手车页面实现 ..................................................................................................................... 51
5.4.1 实现原理 ............................................................................................................................. 51
5.4.3 具体效果 ............................................................................................................................. 51
5.5
个人信息页面实现 ..................................................................................................................... 52
5.5.1 实现原理 ............................................................................................................................. 52
5.5.2 具体效果 ............................................................................................................................. 52
5.6
求购信息页面实现 ..................................................................................................................... 53
5.6.1实现原理 .............................................................................................................................. 53
5.6.2 具体效果 ............................................................................................................................. 54
5.7
管理员登录页面 ......................................................................................................................... 55
5.7.1 实现原理 ............................................................................................................................. 55
5.7.2 具体效果 ............................................................................................................................. 55
5.8
管理员信息管理实现 ................................................................................................................. 56
5.8.1 实现原理 ............................................................................................................................. 56
5.8.2 具体实现 ............................................................................................................................. 56
5.9
前台用户管理实现 ..................................................................................................................... 57
5.9.1 实现原理 ............................................................................................................................. 57
5.9.2 具体实现 ............................................................................................................................. 57
5.10
车辆管理实现 ........................................................................................................................... 58
5.10.1 实现原理 ........................................................................................................................... 58
5.10.2 具体效果 ........................................................................................................................... 58
6 系统测试 ..................................................................................................................................... 61
6.1
测试环境..................................................................................................................................... 61
6.2
测试记录..................................................................................................................................... 61
7 结语 ............................................................................................................................................. 63
致谢 ................................................................................................................................................. 65
参考文献 ......................................................................................................................................... 66
摘
要
随着时代的发展,经济提升速度的加快,产品更新速度也在不停的提速,随着而来的网络购物也开始越来越接近人们的生活。与此同时,政府提出和深入可持续化发展的,以及环境友好型,资源节约型社会的提出,人们更多的认可资源的合理利用的观念。
二手车交易平台,通过每个用户发布自己要卖的车辆形成信息来源,每个人可以查看别的用户发布的车辆信息,以此来寻找自己想要的车辆。当然你也可以发布求购信息让别人来联系你。在你想买车的时候,你可以通过多条件的组合查询来寻找让自己满意的车辆。找到车辆查看其详细信息,你可以联系卖主约定试车时间,并且你可以在车辆详细信息页面添加你对该车的评价。
本网站设计采用了Struts2和Hibernate,JSP等和网页设计的相关技术和MYSQL数据库技术来实现平台的搭建以及后台管理的设计,完成本次毕业设计的主要功能实现。
关键字:二手车交易平台 毕业设计 Struts2 Hibernate MYSQL
ABSTRACT
With the development of the times, economy increase speed, product
updates speed is quickened ceaselessly, the network shopping also became more
and more close to people's life. At the same time, the government put forward
and further sustainable development, and environment friendly, the
resource-saving society, rational use of resources more people recognized the
idea.
The second-hand car trading platform, by each user to publish their own to
sell vehicles forming sources of information, everyone can see other vehicle
information users, in order to find their desired vehicle. Of course, you can also
purchase information release and let others to contact you. When you want to
buy a car, you can through the multi condition combination query to find
yourself a satisfactory vehicle. To find the vehicle view the detailed information,
you can contact the seller agreed test time, and you can add your evaluation for
the vehicle in the vehicle details page.
This web design uses the Struts2 and Hibernate, JSP and Webpage design
technology and MYSQL database technology to realize the platform as well as the
background management of the system, complete the main functions of this
graduation design.
Key words: The second-hand car trading platform Graduation design
Struts2 Hibernate MYSQL
1
绪论
1.1
系统开发背景
随着社会的不断发展和提高,以及商品经济的高效化,使得计算机的应用已经普及到经济和社会生活的各个领域。经济的不断发展带来的不只是人民生活质量的提升,随着而来的是大量的闲置物品以及淘汰品。人们利用自己闲置的车辆去交换自己需要的车辆或者出售获得金钱,从而达到车辆使用价值最大化和经济利益最大化。本着节约型经济和方便用户的原则,为用户节约大量的时间,开发了二手车交易网站。
与现实世界中的二手车市场相比,处在虚拟网络上的二手车交易网站,更能带给用户方便的车辆信息查看以及快速询问。大大的方便了人们的去购买车辆,符合而今人们生活习惯,用户不仅可以在本网站上买到自己想要的二手车,还可以发布自己不要的二手车。不需要用户花费大量的时间去出售和宣传自己的车辆,买主会自动在网上搜索自己想要的车辆。
本二手车交易网站从商务运作模式来看类似于一般的电子商务,从根本上说,绝大数的买家和卖家都是个人。为用户提供一个交流的机会,和“e-Bay易趣”,“淘宝”等这种纯粹的商业性网站不同,本二手车交易网站没有自己的支付系统,靠的是买家和卖家的见面来确定最后的交易金额,以及交易方式。以此来确认商品车辆的真实性,避免人财两空。
1.2
二手车交易网站的优势
二手车交易网站的最大优势不是最便宜,而是最实用。因为二手车出售的价格本身就不会太高,而且会用来出售的二手车,一般都是放在家里闲置多时,弃之可惜存之无地的。所以才想通过网站转手给更需要的人,因此也不会开太高的价格,所以价格方面一般不是太会考虑,而是更考虑二手车的性能和使用情况,以及购买后的相关手续问题。二手车交易网站的出现使欲购买物件又觉得新的价格过高而承受不起的人有了更多的选择空间,在二手市场可购得性价比较好的车辆。而且二手车交易网站全天候服务,你随时可以来这里浏览或购置二手车,省时省力,闭门家中坐,车从“网”上来,你要做的只有移动一下你的鼠标。二手车交易网站拥有功能强大的信息查询系统,它像一个指路牌,把你带到需要搜寻
的二手车面前,省了你在二手市场里找得心急如焚,汗流浃背,砍价砍得口干喉痛,面红耳刺的痛苦。
1.3
二手车交易网站的基本特征
企业的电子商务系统一般是面向广大的社会公众,有公司注册等,而二手车交易网站服务对象是以个人为中心的,它们之间是存在着一定的区别的。二手车交易网站除开具有数字化、跨时空、公开、透明等一般特征以外,还有着其独特的特征。如:
① 良好的网络购物环境。
21世纪的人们生活水平的提高,电脑得到了普及,网络购物也是被人们所接受。其次,不得不说的是,有车的人家庭,肯定是有着不错的生活环境,以及良好的上网条件。
② 节省购物浏览的时间,增加用户的选择余地。
二手车交易网站通过网络可以为大众提供更多的选择,可以更方便的达到信息资源共享,有利于提高购车效率,优化资源的再次分配。网络还能使人有足够的时间查看车辆的信息,方便购买自己满意的车辆。
③ 良好的信用机制
如今这个时代,不完善的信用体系,大大的阻碍了我国电子商务的发展。在二手车交易网站环境下,由于是当面交流,见货付款不用担心钱财两空的情况出现。同时很方便信息交流,一旦出现违规现象,曝光的可能性会很大。因此,大家都会自觉地养成良好的个人信用和商业信用。
④ 交易成本低
二手车交易网站使得买卖双方的交易成本大大降低。
一、通过网络进行信息的交流,其成本远远低于信件等其他的交流方式。因为每个人都是“商家”,所以大大缩短了数据录入也降低了信息成本。
二、买卖双方通过网络电话交流,不需要中介者参与,因此减少了交易的相关环节中需要使用的费用。
三、网站实行“无纸贸易”,可减少大量的文件处理费用。交易成本为零,符合价格敏感因素要求调查统计数字表明,价格是人群消费最为敏感的因素之一。网站交易采用零交易成本,符合人群消费的心理特征。
1.4
设计目的
在Internet飞速发展的今天,互联网成为人们快速获取信息,传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用,伴随这经济的发展,汽车也开始走入大众的世界,于此而来的还有二手的车辆的大量交易。
本交易平台基于方便各阶层的人员有一个合适的平台来处理自己不需要的车辆以及方便那些想要买二手车的人。为此,设计了这个交易平台,毕竟在互联网的今天,人们并没有多少时间去一些市场查看车辆,而且去交易市场会有太多的时间浪费在选择和比较上,也不方便去比较各种车辆之间的优劣。本着与人方便自己方便的原则,设计了这个二手车交易平台。为卖方解决“废之不用,弃之可惜”的车辆,为买方提供方便便捷的购买方式。
随着电子商务的不断发展,以后大部分东西也都将可以实现网上购物。也是这个原因,我们应该及早的进入这个领域。同时也是为了推进社会经济的稳定发展起到了积极的作用。
2
系统目标及开发可行性
2.1
系统目标
本网站主要分前台和后台两部分。其中前台包括的功能模块有:首页,买车,卖车,个人信息,求购,以及登录和注册;后台包括的功能模块有:管理员管理,前台用户管理,车辆管理,留言管理,其他等。
⑴ 首页:查看最新发布的车辆信息,查看热门车辆信息,快速搜索,以及部分求购信息。
⑵ 买车:包括搜索,以及查看车辆的详细信息。
⑶ 卖车:发布车辆信息。
⑷ 个人信息:包括个人简单信息,详细信息,修改个人密码,发布车辆,以及已发布的车辆信息列表。
⑸ 求购:其中有求购车辆信息的列表和发布求购信息两部分。
⑹ 登录:用户登录。
⑺ 注册:新用户注册。
⑻ 管理员管理:增加后台管理人员信息、删出已经不需要的后台管理员信息、修改后台管理员信息、查看后台管理人员的信息列表。
⑼ 前台用户管理:添加前台用户,查看用户信息列表以及该用户发布的车辆信息和求购信息,删除用户信息。
⑽ 车辆管理:添加车辆种类,车辆信息统计。
⑾ 留言管理:留言列表。
⑿ 其他:添加地区(省、市)。
2.2
可行性分析
2.2.1
市场可行性分析
经过初步的市场调查,了解了目前有闲置的二手车用户还是很多的,而且二手车交易也有成熟的规章制度。拥有着广泛的群众基础,比较实用,有着较好的反应。因此在市场上来说这个网站的建立是有可行性的。
2.2.2
技术可行性分析
二手车交易网站是使用MyEclipse集成开发环境下进行开发的,以JSP来设计页面,使用Struts2和Hibernate来进行数据操作以及数据库的连接。使得数据完整性得到保证,并使得数据库操作简单化,方便实现模块化的设计。
该网站是根据科学的关了方法与编程技术,用软件工程的思想开发设计的,能符合主要的技术要求,具有较高的实用性,能够较好的保证用户信息的安全。采用B/S结构的二手车交易网站拥有较为广泛的应用。
虽然本人技术不是很熟悉,很纯熟,但是前期的分析和设计工作是没有问题的,而且在指导老师的帮助下,通过自己的认真学习我详细是可以完成该网站是开发和设计,所以在技术上是具有可行性的。
2.2.3操作可行性分析
本网站在一般浏览器上具有想死的界面,使用起来简单明了,就算是不熟悉计算机操作的人也是可以很快上手,明白怎么操作,去发布自己的车辆信息,去搜索自己想要的车辆信息。
2.2.4
经济可行性分析
经济可行性分析是指对组织的经济状况和投资能力进行分析,对网站的建设运营以及维护费用进行大体上的估算,对系统建成后可能取得的社会经济效益进行大概的估计。
由于本网站设计所需要的全部软件都是可以从网络上免费下载的,因此其开发费费用比较低。而这些支持技术主要是软硬件设备和软件技术支持,可是因为这是本人做的毕业设计,一切从简,没有所谓的开发费用,管理费用和维护费等。因此在经济上也是可行的。
2.2.5
社会因素方面的可行性
法律方面的可行性:本网站是本人独立开发的,因此不涉及到侵权以及版权问题,更不会侵犯专利权的法律问题。所以在社会法律上来看是可行的。
2.2.6
可行性分析结论
综上所述,本网站是从市场,技术,操作,经济,社会因素等方面来看,都是可行的。并且此项目技术成熟,具有完备的测试手段,具有良好的市场前景,因此本工程可以实施开发工作。
3
需求分析
3.1功能需求
3.1.1
前台用户登录注册业务概述
作为网站中一个重要的功能登录和注册,这是必不可少的一部分。网站的前台,用户需要登录才能浏览车辆信息以及发布车辆信息和发布求购信息。如果用户之前没有注册过,必须先注册才能够登录。
游客注册的用例图如图3.1所示:
图3.1游客注册用例图
游客注册的活动图如图3.2所示:
a ct 活动图填写用户信息提交用户信息用户是否存在进入注册页面[存在][不存在]提示注册成功,并返回登录界面开始结束图3.2 游客注册活动图
用户登录的用例图如图3.3所示:
uc 用例图
登录账号用户
图3.3 用户登录用例图
用户登录的活动图如图3.4所示:
act 活动图
开始进入登录页面提示错误信息填写用户名密码[用户名和密码不匹配]提交登录信息用户名密码是否匹配[用户名和密码匹配]进入首页结束
图3.4 用户登录活动图
3.1.2
用户买车的业务概述
当用户登录了之后可以查看和搜索二手车的车辆信息,以此来寻找自己满意的二手车。当找到另自己满意的车辆时候,需要用户自己打电话联系卖家现场看
车以及试驾并商讨如何支付购车费用等细节问题,本站只提供信息查看,不会经手交易细节。
用户买车的用例图如图3.5所示:
uc 用例图
二手车搜索«include»买车用户«include»查看车辆信息
图3.5 用户买车的用例图
用户买车的活动图如图3.6所示:
act 活动图
开始进入买车页面浏览车辆信息列表[找不到满意的车辆]是否寻找到满意车辆寻找自己满意的车辆[不满意][找到满意的车辆]查看车辆信息联系卖家是否满意现场看车预订看车时间[满意]确认交易方式成功交易结束
图3.6 用户买车的活动图
3.1.3
用户卖车的业务概述
用户卖车是二手车交易网站中不可缺少的一部分,使得本站有着大量的信息来源,有利于网站的持续化发展。同时也因为有这大量的车辆信息来源会给本站带来大量的游客,提升点击率,由此带来了在群众中的知名度。
用户登录网站,进入卖车页面则可以发布自己想卖的车辆信息。方便其他人来搜索和查看车辆信息。
用户卖车的用例图如图3.7所示:
uc 用例图
卖车用户«include»发布车辆信息
图3.7 用户卖车用例图
用户卖车的活动图如图3.8所示:
act 活动图
开始进入卖车页面发布车辆信息提交车辆信息结束
图 3.8 用户卖车的活动图
3.1.4
用户求购的业务概述
用户求购这是一个方便自己买车的功能,当我们讨厌在茫茫多的车辆中寻找自己满意的车辆时,当我们在车海中依旧难以找到自己喜欢,让自己和家人都满意的车辆时,或者当你没有足够的时间去寻找那个适合你的车辆时,你可以通过求购的方式来得到自己想要的车辆。填写你想要的车辆信息,发布出去,人们就可以看到你发布的求购信息。当他有出售意向时会主动联系你的,而不需要 你苦苦的去寻找车源。
用户求购的用例图如图3.9所示:
uc 用例图
发布求购信息«include»求购«include»用户«include»查看求购信息查找求购信息
图3.9 用户求购的用例图
用户求购的活动图如图3.10所示:
act 活动图
开始进入求购页面是卖车还是买车[卖车]查找车辆求购信息[买车]是否有满意的车辆发布车辆求购信息[有]填写想要的车辆信息[没有]结束查看车辆信息提交信息联系求购人结束
图3.10 用户求购的活动图
3.1.5
后台管理人员登录的业务概述
网站有前台自然也会有后台的存在,而后台则需要管理员的登录才能进行相应的操作。
管理员登录用例图如图3.11所示:
uc 用例图
登录账号管理员
图3.11 管理员登录的用例图
管理员登录活动图如图3.12所示:
act 活动图
开始进入后台管理登录页面提示错误信息填写管理员账号和密码[用户名和密码不匹配]提交登录信息用户名密码是否匹配[用户名和密码匹配]进入后台管理结束
图3.12 管理员登录的活动图
3.1.6
管理员信息管理的业务概述
管理员,是可以查看和使用网站后台的所有功能的,使得网站可以正常的运行以及更好的服务,但是不得不说的是只有一两个管理员总会感觉太少了。所以就有了这个管理员信息管理模块。这个模块有添加管理员以及管理员列表的功能。
管理员信息管理的用例图如图3.13所示:
uc 用例图
添加管理员«include»管理员信息管理管理员«include»管理员信息列表«include»删除管理员信息«include»修改管理员信息
图3.13 管理员信息管理的用例图
管理员信息管理的活动图如图3.14所示:
act 活动图
开始点击管理员信息管理添加管理员信息[需要]是否需要添加管理员信息[不需要]填写管理员信息查看管理员信息列表提交管理员信息[有]是否有管理员信息错误[没有]结束修改管理员信息结束是否有管理员账号长期不用[有][没有]结束删除管理员信息结束
图3.14 管理员信息管理的活动图
3.1.7
前台用户管理的业务概述
作为一个二手车交易网站的后台必不可少的会有前台用户的管理,对前台用户进行一些数据的统计等等,这是有利于去收集客户样本,更好的为客户服务。并且提高网站的运营效率等等。
前台用户管理的用例图如图3.15所示:
uc 用例图
添加前台用户信息详细信息«include»已发布的车辆信息«include»前台用户列表管理员«include»已发布的求购信息«include»用户信息统计删除
图3.15 前台用户管理用例图
前台用户管理的活动图如图3.16所示:
act 活动图
是否需要添加用户信息进入前台用户信息管理开始[不需要]进入添加用户信息页面填写用户信息提交用户信息结束是否想查看用户详细信息查看用户信息列表[否][不需要]是否查看用户已发布的车辆信息是否需要查看用户信息统计[否][需要]是否需要查看已发布的求购信息进入用户信息统计页面[否]是否需要删除用户信息结束[否][是]点击删除结束[是]点击已发布求购信息结束[是]点击已发布车辆信息结束点击详细信息结束[需要]是否需要查看用户信息列表[需要][是]结束[不需要]结束
图3.16 前台用户管理活动图
3.1.8
车辆管理的业务概述
作为二手车交易网站的后台,车辆管理是必不可少的一部分。车辆管理中包括了,添加车辆种类,求购车辆信息统计以及发布的车辆信息统计几个部分组成的。添加车辆种类是可能存在本站可能没有考虑到的车辆种类,而留下的补救措施。
车辆管理的用例图如图3.17所示:
uc 用例图
添加车辆种类«include»车辆管理«include»管理员«include»已发布的求购信息统计已发布的车辆信息统计
图3.17 车辆管理用例图
车辆管理的活动图如图3.18所示:
act 活动图
开始进入车辆管理页面是否需要添加车辆种类[是][否]是否需要查看车辆信息统计[是][否]是否需要查看求购信息统计[是][否]点击车辆信息统计结束添加车辆种类填写车辆种类提交点击查看你求购信息统计结束结束
图3.18 车辆管理活动图
3.1.9
留言评论的业务概述
留言评论是指前台用户可以在每个车辆信息下面对该车进行相关的留言评论。可以方便其他用户去了解该车的实际情况,避免其他人去浪费时间重复一些相同的验证。
用户留言评论的用例图如图3.19所示:
uc 用例图
留言评论用户
图3.19 用户留言评论用例图
管理员留言评论管理的用例图如图3.20所示:
uc 用例图
留言评论管理管理员«include»留言列表
图3.20 管理员留言评论管理用例图
用户留言评论的活动图如图3.21所示:
act 活动图
进入车辆详细信息开始填写留言评论提交结束
图3.21 用户留言评论活动图
管理员留言评论管理的活动图如图3.22所示:
act 活动图
点击留言评论管理开始查看留言列表结束
图3.22 管理员留言评论管理活动图
3.1.10
其他的业务概述
这个模块之中包括添加地区省市的功能。
添加地区省市的用例图如图3.23所示:
uc 用例图
其他管理员«include»添加地区省市
图3.23 添加地区省市的用例图
添加地区省市的活动图如图3.24所示:
act 活动图
开始点击其他选择添加地区省市提交结束填写相关信息
图3.24 添加地区省市的活动图
3.2
非功能性需求
3.2.1
性能需求
响应时间:0.5s
更新处理时间:0.5s
数据传输与转换时间:0.5s
运行时间:0.1s
该网站采用全中文界面操作,按照页面提示进行操作,设计页面方便理解,操作方法简单易懂。
3.2.2
软硬件环境需求
硬件:一台电脑
软件:该网站采用现在比较流行的页面,标准的B/S模式,可以在大部分的Windows操作系统上运行。
3.2.3
产品质量需求
安全性:使用者的使用权限可识别,抗干扰能力较强,可以进行有效的控制网站。
性能和效率:响应时间快,更新内容快。
易用性:界面人性化,操作应简易。
兼容性:可适合多浏览器运行浏览。
4
系统设计
4.1
系统总体结构
本二手车交易网站的系统总体结构如图4.1所示,主要分为前台和后台两个部分。其中前台包括首页,买车,卖车,个人信息,求购以及登录注册等几个主要功能;后台则包括管理人员管理,前台用户管理,车辆信息管理,留言管理以及其他几个方面。
求购:包括查看详细求购信息,求购信息查询,发布求购信息这三个功能模块。
卖车:只有发布车辆信息。
首页:则包括快速搜索,热门车辆,最新发布的二手车车辆信息。
买车:搜索车辆信息,查看车辆信息,查看车辆信息时能够对该车辆进行评论留言。
个人信息管理:个人信息和车辆信息管理两个,其中个人信息包括简单信息,详细信息以及修改密码几个功能模块,可以对用户个人信息进行简单的修改。而车辆信息管理则包括发布车辆和查看已发布的车辆信息列表。
其他:这之中有添加地区省市的功能模块。
车辆信息管理:包括添加车辆种类和查看已发布的车辆信息统计还有已发布的求购信息统计。
管理员信息管理:包括添加管理员和管理员列表两个模块。
前台用户信息管理:添加用户和用户信息列表两个功能模块。
留言管理:具有留言列表这个功能模块。
二手车交易网站
前台
后台
求购
卖车
首页
买车
个人信息管理
登录注册
其他
车辆信息管理
管理员信息管理
前台用户信息管理
留言管理
查看详细求购信息求购信息查询
发布求购信息发布车辆信息快速搜索热门车辆最新发布车辆信息搜索车辆信息查看车辆信息个人信息车辆信息管理添加省市添加车辆种类车辆信息列表车辆信息统计添加管理员管理员信息列表添加用户用户信息列表留言列表4.2
总体类图设计
(1)用户类:该类是用户信息的实体类,它被用来存储用户信息的。
(2)管理员类:是管理员信息的实体类,存储管理员信息。
(3)求购信息类:是求购单的实体类,对求购的信息进行存储。
(4)车辆类:是卖车的车辆信息,存储这车辆的相关信息。
(5)留言类:是用户留言所用的,可以存储留言时候的信息。
(6)车辆种类:车辆种类是记录着所有可能有的车辆。
(7)地区类:记录地区的实体类,保存地区名。
简单信息详细信息发布车辆已发布列的表车辆信息
图4.1 功能结构图
class 类图
留言类-
-
-
-
-
车辆种类类-
-
-
-
carId: intcarBrand: StringcaeSeries: StringcarModel: String0..*reviewID: intuserName: StringpublishCarId: intreviewMessage: StringreviewTime: int0..*1..用户类-
-
-
-
-
-
-
0..*-
-
-
-
-
-
-
-
userName: Stringpassword: Stringemail: StringrealName: StringIDNumber: Stringsex: Stringage: int1..province: Stringcity: Stringphone: StringdrivingExperience: StringfamilySituation: StringhasCar: StringlastLoginTime: StringloginNumber: int1..0..*车辆类-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
publishCarId: intuserName: StringcarBrand: StringcarSeries: StringcarModel: StringsaleOfSpecies: StringsalePrice: doublelocationProvince: StringlocationCity: StringcarCardFirstTime: StringinsuranceTime: Stringmileage: doublecarColor: StringclickNumber: intregistrationCard: StringdrivingLicense: StringpurchaseInvoice: StringcontactPeople: Stringphone: StringQQ: StringcontactTime: Stringpostscript: StringuploadFileName: StringreleaseTime: String-
-
-
-
-
-
-
0..*-
-
-
-
-
-
-
-
求购信息类carID: intuserName: StringcarInfo: StringcarBrand: StringcarSeries: StringcarCity: StringcarPrice: StringvehicleAge: StringcarMileage: Stringgearbox: StringpersonName: StringpersonPhone: StringaddThat: StringbrowseNumber: intreleaseTime: String1..-
-
-
-
1..-
0..*管理员类userName: Stringpassword: StringuserRealName: String1..userPhoneNum: StringuserAddress: String地区类-
-
-
areaId: intprovince: Stringcity: String
图4.2 总体类图
4.3
功能设计
4.3.1
前台用户登录注册的功能设计
用户的登录和注册功能中涉及的类主要有LoginAction,R_UserDao,R_UserDdaoService。其中LoginAction类是用来接受登录和注册时候提交的数据,并调用R_UserDdaoService中的方法来实现登录检验的。其中R_UserDao是进行数据库的数据操作的。
用户登录和注册所涉及的几个主要的类如图4.3所示:
class 类图
ActionSupportLoginAction- serialVersionUID: long = 1L {readOnly}- user: R_User~ r_UserDaoService: R_UserDaoService = new +
+
+
+
r_login() : Stringr_register() : StringsetUser(R_User) : voidgetUser() : R_User~r_UserDaoServiceR_UserDaoService-
+
+
+
+
+
+
+
+
+
+
r_UserDao: R_UserDao = new R_UserDao()addR_User(R_User) : booleandisplayAllUser(int) : List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
R_UserDaomaxNumber: int = 5add(R_User) : voiddisplayAllUser(int) : List
图4.3 用户登录和注册涉及的主要类
用户登录的顺序图如图4.4 所示:
sd 顺序图
登录页面用户进入登录页面()r_login()Validation()Validation()Boolean()Boolean()Boolean()进入()LoginActionR_UserDaoServiceR_UserDao首页
图4.4 用户登录的顺序图
用户注册的顺序图如图4.5 所示:
sd 顺序图
注册页面用户进入注册页面()r_register()userNameSearch()List
图4.5 用户注册的顺序图
4.3.2
用户买车的功能设计
用户买车之中包括两个功能模块,一个是车辆的搜索,另一个是查看车辆的详细信息。其中车辆的搜索功能的设计主要包括BuyCarAction,SellCarBillDao以及SellCarBillDaoService三个类,当用户进入这个页面时,首先调用的是BuyCarAction,之后再Action中调用SellCarBillDaoService中的方法,并将结果返回到页面,让页面可以显示信息。
车辆搜索功能所用的主要类大概有一下几个,如图4.6所示:
class 类图
ActionSupportBuyCarAction-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}nowPageNumber: intmaxNumber: int = 20userName: StringsortType: StringappointPage: intcarBrand: StringcarSeries: StringcarModel: StringcarProvince: StringcarPrice: StringcarMileage: StringcarColor: StringcarMinPrice: doublecarMaxPrice: doublecarMinMileage: doublecarMaxMileage: doubleTopSearchConditions: StringsellCarBillService: SellCarBillDaoService = areaDaoService: AreaDaoService = new AreaDaoService()carTypeDaoService: CarTypeDaoService = buyCarList() : StringbuyCarSearchTime() : StringbuyCarSearchHot() : StringbuyCarSearchPrice() : StringbuyCarSearchMileage() : StringbuyCarAppointPage() : StringbuyCarSearchAnother() : StringcarSearchAppointAnother() : StringgetUserName() : StringsetUserName(String) : voidgetSortType() : StringsetSortType(String) : voidgetAppointPage() : intsetAppointPage(int) : voidgetCarBrand() : StringsetCarBrand(String) : voidgetCarSeries() : StringsetCarSeries(String) : voidgetCarModel() : StringsetCarModel(String) : voidgetCarProvince() : StringsetCarProvince(String) : voidgetCarPrice() : StringsetCarPrice(String) : voidgetCarMileage() : StringsetCarMileage(String) : voidgetCarColor() : StringsetCarColor(String) : voidgetNowPageNumber() : intsetNowPageNumber(int) : voidSellCarBillDaoService~ sellCarBillDao: SellCarBillDao = new SellCarBillDao()+
+
+
+
+
+
+
+
+
+
addSellCarBill(SellCarBill) : booleantraversalSellCarBill(String) : List
+
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 20add(SellCarBill) : voidtraversalSellCarBill(String) : List
图4.6 车辆搜索功能的主要类图
车辆搜索功能的顺序图,如图4.7所示:
sd 顺序图
买车页面用户进入()BuyCarList()SellCarBillNumber()size()displaySellCarBill()List
图4.7 搜索车辆功能的顺序图
该模块的第二个主要功能就是查看车辆信息,当用户找到满足自己条件的车辆时候,用户要进一步了解本车,并且获得卖主的信息,用户就需要去查看车辆详细信息。这个模块功能所涉及的类有SellCarBillDaoService,SellCarBillDao以及DetailedInfoAction这三个类。当你查看车辆信息首先调用的是Action中的方法,在方法中调用SellCarBillDaoService中我们所需要的,并返回结果。再将结果显示在页面上。
查看车辆信息的主要类图,如图4.8所示:
class 类图
ActionSupportDetailedInfoAction-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}userName: StringpublishCarId: intcarID: intsellCarBillDaoSerivce: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = viewDaoService: ReviewDaoService = CarDetailed() : StringPuchInfoDetailed() : StringgetUserName() : StringsetUserName(String) : voidgetPublishCarId() : intsetPublishCarId(int) : voidgetCarID() : intsetCarID(int) : voidSellCarBillDaoService~ sellCarBillDao: SellCarBillDao = new SellCarBillDao()+
+
+
+
+
+
+
+
+
+
addSellCarBill(SellCarBill) : booleantraversalSellCarBill(String) : List
+
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 20add(SellCarBill) : voidtraversalSellCarBill(String) : List
图片4.8查看车辆详细信息的主要类图
查看车辆信息的顺序图:如图4.9所示:
sd 顺序图
买车页面用户点击车辆详细信息()CarDetailed()IDSearch()SellCarBill()进入()DetailedInfoActionSellCarBillDao车辆详细信息页面
图片4.9 查看车辆详细信息的顺序图
4.3.3
用户卖车的功能设计
作为本交易网中不可获取的功能之一。该功能所涉及的类有SellCarBill和SellCarAction以及SellCarBillDao这三个主要的类,具有发布车辆信息的功能,当你需要卖车的时候,你可以通过点击页面卖车进入卖车的页面,只要填写相关的车辆信息,以及联系方式就可以发布车辆信息,让其他用户看到你所发布的信息。从而可能去购买你的车辆。
车辆发布的类图如图4.10所示:
图4.10 车辆发布所设计的类图
发布车辆的顺序图如图4.11所示:
sd 顺序图
买车页面用户SellCarActionSellCarBillDaosellCar()result()r_SellCar()add()result()result()
图4.11 发布车辆的顺序图
4.3.4
用户求购的功能设计
用户求购的功能设计中包括了三个部分,分别是发布求购信息,搜索求购信息,以及之后的查看详细求购信息的功能。而发布求购信息所要涉及的主要类有PurchaseInformationDao , PurchaseInformationDaoService,PurchaseInformationAction。当用户进入发布求购信息的时,需要先填写相应的信息,然后将信息提交个Action,在Action中得到提交的信息,然后调用Service中的相关方法实现发布求购信息的功能。
发布求购信息所涉及的主要几个类如图4.12所示:
class 类图
ActionSupportPurchaseInformationAction-
-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}maxNumber: int = 15userName: StringappointPage: intpurInfo: PurchaseInformationareaDaoService: AreaDaoService = new AreaDaoService()carTypeDaoService: CarTypeDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = BuyList() : StringbuyListAppointPage() : StringBuyAdd() : StringBuyVehicle() : StringbuyListAsceTime() : StringbuyListDesceTime() : StringgetAppointPage() : intsetAppointPage(int) : voidgetUserName() : StringsetUserName(String) : voidgetPurInfo() : PurchaseInformationsetPurInfo(PurchaseInformation) : voidgetPurchaseInformationDaoService() : PurchaseInformationDaoServicesetPurchaseInformationDaoService(PurchaseInformationDaoService) : void~purchaseInformationDaoServicePurchaseInformationDaoService~ purchaseInformationDao: PurchaseInformationDao = +
+
+
+
+
+
+
+
+
addPurchaseInformation(PurchaseInformation) : booleantraversalPurchaseInformation() : List
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 15add(PurchaseInformation) : voidtraversalPurchaseInformation() : List
图4.12 发布求购信息的主要类图
发布求购信息的顺序图如图4.13所示:
sd 顺序图
发布求购信息页面用户进入页面()填写求购信息()BuyVehicle()addPurchaseInformation()result()result()PurchaseInformationActionPurchaseInformationDao
图4.13 发布求购信息的顺序图
求购功能中另一个比较大的功能是搜索求购信息。实现搜索求购信息所涉及的类主要包括PurchaseInformationDao , PurchaseInformationDaoService,SearchAction。在SearchAction中得到页面传过来的查询条件,之后调用Service中的方法将得到的查询条件当作参数来查询满足于条件的所有信息。并将信息返回到页面显示。
其功能实现所需要的几个主要类图如图4.14所示:
class 类图
ActionSupportSearchAction-
-
-
-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}maxNumber: int = 15carProvince: StringcarBrand: StringcarPrice: Stringgearbox: StringuserName: StringpurchaseInformationDaoService: PurchaseInformationDaoService = areaDaoService: AreaDaoService = new AreaDaoService()carTypeDaoService: CarTypeDaoService = searchCar() : StringbuyListSearchAsceTime() : StringbuyListSearchDesceTime() : StringgetCarProvince() : StringsetCarProvince(String) : voidgetCarBrand() : StringsetCarBrand(String) : voidgetCarPrice() : StringsetCarPrice(String) : voidgetGearbox() : StringsetGearbox(String) : voidgetUserName() : StringsetUserName(String) : void~purchaseInformationDaoServicePurchaseInformationDaoService~ purchaseInformationDao: PurchaseInformationDao = +
+
+
+
+
+
+
+
+
addPurchaseInformation(PurchaseInformation) : booleantraversalPurchaseInformation() : List
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 15add(PurchaseInformation) : voidtraversalPurchaseInformation() : List
图4.14 搜索求购信息功能的主要类图
搜索求购信息功能的顺序图如图4.15所示:
sd 顺序图
求购页面用户SearchActionPurchaseInformationDao点击搜索条件()searchCar()SearchPurchaseInformation()List
图4.15 搜索求购信息的顺序图
在本模块中还有一个相对比较重要的功能是查看求购的详细信息。这个模块所涉及的类有SellCarBillDaoService,SellCarBillDao,DetailedInfoAction三个比较重要的类。查看求购信息则需要先访问Action,调用Action中对应的方法,在去调用Service中相应的方法以实现该功能模块设计。
实现查看求购详细信息功能的几个主要类图如图4.16所示:
class 类图
ActionSupportDetailedInfoAction-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}userName: StringpublishCarId: intcarID: intsellCarBillDaoSerivce: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = viewDaoService: ReviewDaoService = CarDetailed() : StringPuchInfoDetailed() : StringgetUserName() : StringsetUserName(String) : voidgetPublishCarId() : intsetPublishCarId(int) : voidgetCarID() : intsetCarID(int) : voidPurchaseInformationDaoService~ purchaseInformationDao: PurchaseInformationDao = +
~purchaseInformationDaoService+
+
+
+
+
+
+
+
addPurchaseInformation(PurchaseInformation) : booleantraversalPurchaseInformation() : List
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 15add(PurchaseInformation) : voidtraversalPurchaseInformation() : List
图4.16 查看求购详细信息的主要类图
查看求购详细信息功能的顺序图如图4.17所示:
sd 顺序图
求购页面用户进入()PuchInfoDetailed()carIDSearch()PurchaseInformation()reslut()DetailedInfoActionPurchaseInformationDao求购详细信息页面
图4.17 查看求购详细信息的顺序图
4.3.5
后台管理人员登录的功能设计
后台管理人员登录类似于前台用户登录的功能设计,其中主要涉及的类有B_LoginAction,BackgroundUserDao,BackgroundUserDaoService三个主要的
部分。通过Action去调用相关的方法对得到的数据进行相应操作,完成管理员登录校验,实现管理员登录功能。
管理员登录所涉及到的几个类如图4.18所示:
class 类图
ActionB_LoginAction- username: String- password: String~ b_userDaoService: BackgroundUserDaoService = +
+
+
+
+
execute() : StringsetUsername(String) : voidgetUsername() : StringsetPassword(String) : voidgetPassword() : StringBackgroundUserDao-
+
+
+
+
+
+
+
+
+
maxNumber: int = 5validation(String, String) : booleanadd(User) : voiduserNameSearch(String) : List
+
+
+
+
+
+
+
+
+
userDao: BackgroundUserDao = Validation(String, String) : booleanaddUser(User) : booleanuserNameSearch(String) : List
图4.18 管理员登录涉及的主要类
管理员登录的顺序图如图4.19所示:
sd 顺序图
登录页面管理员进入登录页面()B_LoginActionbackgroundUserDaoexecute()validation(userName,password)boolean()result()
图4.19 管理员登录的顺序图
4.3.6
管理员信息管理的功能设计
管理员信息管理是后台功能的一部分,它涉及管理员信息的查看,以及添加管理员这两个功能。它涉及的几个主要类有:SystemManagerAction,BackgroundUserDaoService,BackgroundUserDao。
管理员信息管理所涉及的主要类如图4.20所示:
class 类图
ActionSupportSystemManagerAction-
-
-
-
-
-
-
-
~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
user: UseruserName: StringoldPassword: StringnewPassword: Stringb_againPassword: StringoldUserName: StringmaxNumber: int = 5appointPage: intb_userDaoService: BackgroundUserDaoService = AddSystemManager() : StringpersonalInformation() : StringChangePassword() : StringSystemManagerList() : StringAppointSystemManagerList() : StringModify() : StringDelete() : StringsetB_againPassword(String) : voidgetB_againPassword() : StringgetUser() : UsersetUser(User) : voidsetUserName(String) : voidgetUserName() : StringsetOldPassword(String) : voidgetOldPassword() : StringsetNewPassword(String) : voidgetNewPassword() : StringsetAppointPage(int) : voidgetAppointPage() : intsetOldUserName(String) : voidgetOldUserName() : String-
+
+b_userDaoService+
+
+
+
+
+
+
+
BackgroundUserDaoServiceuserDao: BackgroundUserDao = Validation(String, String) : booleanaddUser(User) : booleanuserNameSearch(String) : List
+
-userDao+
+
+
+
+
+
+
+
BackgroundUserDaomaxNumber: int = 5validation(String, String) : booleanadd(User) : voiduserNameSearch(String) : List
4.20 管理员信息管理所涉及的类
管理员信息管理的顺序图如图4.21所示:
sd 顺序图
管理员信息管理管理员进入()点击添加()AddSystemManager()add()SystemManagerActionBackgroundUserDaoresult()result()点击查看列表()SystemManagerList()displayAllUser()List
4.21 管理员信息管理的顺序图
4.3.7
前台用户管理的功能设计
用户信息管理是对前台用户管理,该功能的实现,是后台管理人员对前台用户的信息的管理。该功能中包块对用户的基本操作,如增删改查等。同时还具有部分的统计功能。该功能所设计的主要类有ReceptionUserAction,R_User,R_UserDao几个类。
用户信息管理功能所涉及的类如图4.22所示:
class 类图
ActionSupportReceptionUserAction-
-
-
-
+
-
-
~
~
~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}user: R_UseruserName: StringoldUserName: StringcityAddress: StringappointPage: intmaxNumber: int = 5r_UserDaoService: R_UserDaoService = new sellCarBillDaoService: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = -
AddReceptionUser() : StringReceptionUserList() : StringReceptionPersonalInformation() : StringReceptionModify() : StringReceptionDelete() : StringAppointReceptionUserList() : StringDetailInfo() : StringpublishCarInfo() : StringpublishBuyInfo() : StringuserStatistical() : StringgetUser() : R_UsersetUser(R_User) : voidgetUserName() : StringsetUserName(String) : voidgetOldUserName() : StringsetOldUserName(String) : voidgetAppointPage() : intsetAppointPage(int) : voidgetCityAddress() : StringsetCityAddress(String) : void+
~r_UserDaoService+
+
+
+
+
+
+
+
+
R_UserDao-
R_UserDaoServicer_UserDao: R_UserDao = new R_UserDao()addR_User(R_User) : booleandisplayAllUser(int) : List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 5add(R_User) : voiddisplayAllUser(int) : List
图4.22 用户信息管理涉及的主要类
用户信息管理的顺序图如图4.23 所示:
sd 顺序图
前台用户信息页面管理员进入()添加()AddReceptionUser()add()result()ReceptionUserActionR_UserDaoresult()查看()ReceptionUserList()displayAllUser()List
图4.23 用户信息管理的顺序图
4.3.8
车辆管理的功能设计
该功能的设计是为了方便管理人员对信息进行相关的添加和统计。车辆信息管理是具有添加车辆种类,以及对车辆信息和求购信息的部分统计功能。这些功能所设计的类有:CarTypeDao,PurchaseInformationDao,
SellCarBillDao,
CarAction,, PurchaseInformation, SellCarBill。
车辆信息管理所涉及的主要类图如图4.24所示:
class 类图
ActionSupportCarTypeDaoService~ carTypeDao: CarTypeDao = new CarTypeDao()+
+
+
+
+
+
+carTypeDaoServiceaddCarType(CarType) : voidtraversalCarBrand() : List
~
~
~
+
+
+
+
+
CarActioncarType: CarTypecarTypeDaoService: CarTypeDaoService = sellCarBillDaoService: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = addCarType() : StringcarAllList() : StringbuyCarAllList() : StringsetCarType(CarType) : voidgetCarType() : CarType+purchaseInformationDaoServicePurchaseInformationDaoService~carTypeDaoCarTypeDao+
+
+
+
+
+
add(CarType) : voidtraversalCarBrand() : List
+
+
+
+
+
+
+
+
addPurchaseInformation(PurchaseInformation) : booleantraversalPurchaseInformation() : List
+
+
+
+
+
+
+
+
+
+
add(SellCarBill) : voidtraversalSellCarBill(String) : List
+
+
+
+
+
+
+
+
+
addSellCarBill(SellCarBill) : booleantraversalSellCarBill(String) : List
+
+
+
+
+
+
+
+
+
add(PurchaseInformation) : voidtraversalPurchaseInformation() : List
图4.24 车辆信息管理涉及的主要类
车辆信息管理的顺序图如图4.25所示:
sd 顺序图
车辆信息管理页面管理员进入()添加车辆种类()addCarType()addCarType()result()result()查看车辆统计信息()carAllList()sellCarBillList()List
图4.25 车辆信息管理的顺序图
4.3.9
留言评论的功能设计
留言评论有两种,一种是用户对车辆信息的评论,还有一个是管理员查看所有的车辆信息。其中用户对车辆信息的评论所涉及的类有ReviewDaoService,CommentAction,ReviewDao。用户通过填写评论信息,之后将信息提交给Action,在Action中对信息进行读取并调用Service中的方法实现保存。从而让评论得以实现。
用户留言评论所涉及的主要类图如图4.26所示:
class 类图
ActionSupportCommentAction-
-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}userName: StringpublishCarId: intpostScript: Stringreview: ReviewsellCarBillDaoSerivce: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = viewDaoService: ReviewDaoService = submitComment() : StringgetUserName() : StringgetPublishCarId() : intsetPublishCarId(int) : voidsetUserName(String) : voidgetPostScript() : StringsetPostScript(String) : voidgetReview() : ReviewsetReview(Review) : voidReviewDaoService+reviewDaoService~ reviewDao: ReviewDao = new ReviewDao()+
+
+
+
addReview(Review) : voidtraversalReview() : List
+
+
+
add(Review) : voidtraversalReview() : List
图4.26 用户留言评论涉及的主要类图
用户留言评论的顺序图如图4.27所示:
sd 顺序图
车辆详细信息页面用户进入()评论()submitComment()CommentActionReviewDaoServiceresult()result()
图4.27 用户留言评论的顺序图
而管理员查看留言列表的功能设计则涉及到了ReviewAction,ReviewDao以及ReviewDaoService 这几个主要的类,同个访问Action来调用Service中的方法,之后实现管理员查看留言列表的功能。
管理员查看留言评论列表所涉及的主要类图如图4.28所示:
class 类图
ActionSupportReviewAction~ reviewDaoService: ReviewDaoService = + reviewAllList() : String~reviewDaoServiceReviewDaoService~ reviewDao: ReviewDao = new ReviewDao()+
+
+
+
addReview(Review) : voidtraversalReview() : List
+
+
+
add(Review) : voidtraversalReview() : List
图4.28 管理员查看留言列表涉及的主要类图
管理员查看留言列表的顺序图如图4.29所示:
sd 顺序图
留言评论页面管理员进入()ReviewAllList()traversalReview()List
图4.29 管理员查看留言列表的顺序图
4.3.10
其他的功能设计
在这个模块里面有一个添加地区的设计,这个功能涉及的类有AreaDao ,AreaDaoService,以及AreaAction,通过Action来得到页面数据,之后将得到的数据进行相应的处理。实现添加地区的功能。
所涉及的主要类如图4.30所示:
class 类图
ActionSupportAreaAction- area: Area~ areaDaoService: AreaDaoService = new AreaDaoService()+ provinceCityAdd() : String+ getArea() : Area+ setArea(Area) : void+areaDaoServiceAreaDaoService~ areaDao: AreaDao = new AreaDao()+
+
+
+
addArea(Area) : voidtraversalProvince() : List
+
+
+
+
AreaDaoadd(Area) : voidtraversalProvince() : List
图4.30 添加地区涉及的主要类图
添加地区的顺序图如图4.31所示:
sd 顺序图
其他页面管理员进入()provinceCityAdd()addArea()result()result()AreaActionAreaDaoService
图4.31 添加地区的顺序图
5
数据库设计
5.1
数据库需求分析
根据本次毕业设计的需求,设计对应的数据表如下所示:
1) 用户信息基本表:存放的是所有用户的基本信息。
2) 管理员信息基本表:存放的是所有管理员的基本信息。
3) 车辆信息基本表:存放的是卖的车辆信息。
4) 求购信息基本表:存放的是所有求购信息。
5) 留言信息表:存放的是所有留言信息。
6) 车辆种类表:存放的是所有车辆种类信息。
7) 地区名称表:存放的是所有地区名称信息。
根据以上的分析,确定出本设计的实体有:
1) 用户实体:存放用户信息。
2) 管理员实体:存放管理员信息。
3) 车辆实体:存放车辆信息
4) 求购实体:存放求购信息。
5) 留言实体:存放留言信息。
6) 车辆种类实体:存放车辆种类信息。
7) 地区名称实体:存放地区名称信息。
5.2
数据库概念设计
本设计主要设计到的有两个部分,分别是前台用户和后台管理员。
前台的E-R图如图5.1所示:
erd ER图
留言评论添加1查看车辆信息0..*1..*用户0..*发布,查看求购信息10..*
图5.1 用台E-R图
后台的E-R图如图5.2所示:
erd ER图
地区添加车辆信息统计管理员查看求购信息查看添加评论留言车辆种类
图5.2 后台E-R图
5.3
数据库逻辑设计
数据库逻辑设计就是将E-R图转化成如下所示的关系模型:
地区(地区名称ID,省份,城市);
管理员(管理员名称,管理员密码,管理员真实姓名,管理员电话,管理员地址);
车辆种类(车辆种类ID,车辆品牌,车系,车型);
求购信息(求购ID,用户名,车辆信息,车辆品牌,车系,省份,城市,求购价格,车龄,里程,变速箱,联系人,联系电话,附言,点击次数,发布日期);
用户信息(用户名,密码,邮箱,真实姓名,身份证号,性别,年龄,省份,城市,电话,驾龄,家庭状况,是否有车,最近登录时间,点击次数);
评论留言(留言ID,用户名,车辆ID,留言内容,留言时间);
车辆信息(车辆ID,用户名,车辆品牌,车系,车型,包不包括过户费,出售价格,车辆所在省份,车辆所在城市,里程,颜色,上牌时间,交强险时间,
是否有登记证,是否有行驶证,是否有购买发票,联系人,电话, QQ,联系时间,附言,车辆图片,点击次数,发布时间)。
5.4
数据库表设计
表5-1 地区表
字段名 中文名 类型 主键/外键 备注
AreaId
Province
City
地区名称ID
省份
城市
Int
String
String
表5-2 管理员表
主键
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
b_username
b_password
b_userRealName
b_userPhoneNum
b_userAddress
管理员名称
密码
真实姓名
电话
地址
String
String
String
String
String
表5-3 车辆种类表
主键
不为空
不为空
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
carId
carBrand
carSeries
carModel
车辆种类ID
车辆品牌
车系
车型
String
String
String
String
表5-4 求购信息表
主键
不为空
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
carID
userName
carInfo
carBrand
carSeries
carProvince
carCity
carPrice
vehicleAge
carMileage
gearbox
personName
求购车辆ID
用户名
车辆信息
车辆品牌
车系
车辆所在省份
车辆所在城市
车辆价格
车龄
里程
变速箱
联系人
int
String
String
String
String
String
String
String
String
String
String
String
主键
外键
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
personPhone
addThat
browseNumber
releaseTime
联系电话
附言
访问此数
发布时间
String
Text
Int
String
表5-5 用户信息表
不为空
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
r_userName
r_password
r_email
r_realName
r_IDNumber
r_sex
r_age
r_provinceAddress
r_cityAddress
r_phone
r_drivingExperience
r_familySituation
r_hasCar
r_lastLoginTime
r_loginNumber
用户名
密码
邮箱
真实姓名
身份证号
性别
年龄
所在省
所在市
电话
驾龄
家庭状况
是否有车
最近登录时间
访问次数
String
String
String
String
String
String
Int
String
String
String
String
String
String
String
Int
表5-6 评论留言表
主键
不为空
不为空
不为空
不为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
字段名 中文名 类型 主键/外键 备注
reviewID
r_userName
publishCarId
reviewMessage
reviewTime
留言ID
用户名
车辆ID
留言内容
留言时间
Int
String
int
text
String
表5-7 车辆信息表
主键
外键
外键
不为空
不为空
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
publishCarId
userName
carBrand
carSeries
车辆ID
用户名
车辆品牌
车系
int
String
String
String
主键
外键
不为空
不为空
不为空
不为空
carModel
saleOfSpecies
salePrice
locationProvince
locationCity
mileage
carColor
carCardFirstTime
insuranceTime
registrationCard
drivingLicense
purchaseInvoice
contactPeople
phone
contactTime
postscript
uploadFileName
clickNumber
releaseTime
车型 String
String
Double
String
String
Double
String
String
String
String
String
String
String
String
String
String
Text
String
Int
String
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
包不包括过户费
出售价格
车辆所在省份
车辆所在城市
里程
颜色
上牌时间
交强险时间
是否有登记证
是否有行驶证
是否有购买发票
联系人
电话
联系时间
附言
车辆图片
点击次数
发布时间
6
系统实现
6.1
前台登录注册实现
6.1.1
实现原理
在JSP页面通过From表单来提交用户登录和注册时候的信息,当用户添加相关信息后,首先会进行相关的JS验证,当验证符合的时候,系统会将From表单中的数据提交给Action,然后再Action中得到相关的数据,并调用连接数据库的类中的方法,实现用户的登录验证和用户注册这两个功能。
6.1.2
具体效果
登录页面如图6.1所示:
图6.1 登录页面
注册页面如图6.2所示:
图6.2 注册页面
6.2
首页实现
6.2.1
实现原理
首页是先进入Action,然后得到首页所需要的所有信息,再将这些信息,全部按照固定的样子,模板显示出来。同时在首页中也会有快速搜索车辆的功能。这个功能和买车时候所实现的功能是近似一样的,这里就不在细说了,后面会有介绍。首页还会有热门车辆,和最新发布的车辆信息,以及少量的求购。
6.2.2
具体效果
首页如图6.3所示:
图6.3 首页
6.3
买二手车页面实现
6.3.1
实现原理
该页面主要包括车辆信息列表和搜索两个主要的功能。车辆信息列表是通过调用Action中的方法来实现页面的车辆信息列表的显示。在Action中调用Dao层中的方法,实现和数据库的连接和操作。车辆搜索则是通过得到不同的条件来
2024年2月11日发(作者:伏凌兰)
编号
毕 业 设 计(论文)
完整源代码68661508
题目 二手车交易平台的分析、设计与实现
二级学院 计算机科学与工程学院
专 业 软件工程
班 级
学生姓名 学号
指导教师 职称 副教授
时 间 2014年6月12日
摘 要 ........................................................................................................................................... 5
Abstract ............................................................................................................................................. 6
1 绪论 ............................................................................................................................................. 7
1.1
系统开发背景 ............................................................................................................................... 7
1.2
二手车交易网站的优势 ............................................................................................................... 7
1.3
二手车交易网站的基本特征 ....................................................................................................... 8
1.4
设计目的....................................................................................................................................... 9
2 系统目标及开发可行性 ............................................................................................................... 10
2.1
系统目标..................................................................................................................................... 10
2.2
可行性分析 ................................................................................................................................. 10
2.2.1 市场可行性分析 ................................................................................................................. 10
2.2.2 技术可行性分析 ................................................................................................................. 10
2.2.3操作可行性分析 .................................................................................................................. 11
2.2.4 经济可行性分析 ................................................................................................................. 11
2.2.5 社会因素方面的可行性 ..................................................................................................... 11
2.2.6 可行性分析结论 ................................................................................................................. 11
3 需求分析 ..................................................................................................................................... 12
3.1功能需求...................................................................................................................................... 12
3.1.1 前台用户登录注册业务概述 ............................................................................................. 12
3.1.2 用户买车的业务概述 ......................................................................................................... 13
3.1.3 用户卖车的业务概述 ......................................................................................................... 15
3.1.4 用户求购的业务概述 ......................................................................................................... 15
3.1.5 后台管理人员登录的业务概述 ......................................................................................... 16
3.1.6 管理员信息管理的业务概述 ............................................................................................. 17
3.1.7 前台用户管理的业务概述 ................................................................................................. 19
3.1.8 车辆管理的业务概述 ......................................................................................................... 20
3.1.9 留言评论的业务概述 ......................................................................................................... 21
3.1.10 其他的业务概述 ............................................................................................................... 22
3.2
非功能性需求 ............................................................................................................................. 22
3.2.1 性能需求 ............................................................................................................................. 22
3.2.2 软硬件环境需求 ................................................................................................................. 22
3.2.3 产品质量需求 ..................................................................................................................... 23
4 系统设计 ..................................................................................................................................... 24
4.1
系统总体结构 ............................................................................................................................. 24
4.2
总体类图设计 ............................................................................................................................. 25
4.3
功能设计..................................................................................................................................... 26
4.3.1 前台用户登录注册的功能设计 ......................................................................................... 26
4.3.2 用户买车的功能设计 ......................................................................................................... 28
4.3.3 用户卖车的功能设计 ......................................................................................................... 31
4.3.4 用户求购的功能设计 ......................................................................................................... 32
4.3.5 后台管理人员登录的功能设计 ......................................................................................... 34
4.3.6 管理员信息管理的功能设计 ............................................................................................. 35
4.3.7 前台用户管理的功能设计 ................................................................................................. 37
4.3.8 车辆管理的功能设计 ......................................................................................................... 38
4.3.9 留言评论的功能设计 ......................................................................................................... 39
4.3.10 其他的功能设计 ............................................................................................................... 40
5 数据库设计 .................................................................................................................................. 42
5.1
数据库需求分析 ......................................................................................................................... 42
5.2
数据库概念设计 ......................................................................................................................... 42
5.3
数据库逻辑设计 ......................................................................................................................... 43
5.4
数据库表设计 ............................................................................................................................. 44
5 系统实现 ..................................................................................................................................... 47
5.1
前台登录注册实现 ..................................................................................................................... 47
5.1.1 实现原理 ............................................................................................................................. 47
5.1.2 具体效果 ............................................................................................................................. 47
5.2
首页实现..................................................................................................................................... 48
5.2.1 实现原理 ............................................................................................................................. 48
5.2.2 具体效果 ............................................................................................................................. 49
5.3
买二手车页面实现 ..................................................................................................................... 49
5.3.1 实现原理 ............................................................................................................................. 49
5.3.2 具体效果 ............................................................................................................................. 50
5.4
卖二手车页面实现 ..................................................................................................................... 51
5.4.1 实现原理 ............................................................................................................................. 51
5.4.3 具体效果 ............................................................................................................................. 51
5.5
个人信息页面实现 ..................................................................................................................... 52
5.5.1 实现原理 ............................................................................................................................. 52
5.5.2 具体效果 ............................................................................................................................. 52
5.6
求购信息页面实现 ..................................................................................................................... 53
5.6.1实现原理 .............................................................................................................................. 53
5.6.2 具体效果 ............................................................................................................................. 54
5.7
管理员登录页面 ......................................................................................................................... 55
5.7.1 实现原理 ............................................................................................................................. 55
5.7.2 具体效果 ............................................................................................................................. 55
5.8
管理员信息管理实现 ................................................................................................................. 56
5.8.1 实现原理 ............................................................................................................................. 56
5.8.2 具体实现 ............................................................................................................................. 56
5.9
前台用户管理实现 ..................................................................................................................... 57
5.9.1 实现原理 ............................................................................................................................. 57
5.9.2 具体实现 ............................................................................................................................. 57
5.10
车辆管理实现 ........................................................................................................................... 58
5.10.1 实现原理 ........................................................................................................................... 58
5.10.2 具体效果 ........................................................................................................................... 58
6 系统测试 ..................................................................................................................................... 61
6.1
测试环境..................................................................................................................................... 61
6.2
测试记录..................................................................................................................................... 61
7 结语 ............................................................................................................................................. 63
致谢 ................................................................................................................................................. 65
参考文献 ......................................................................................................................................... 66
摘
要
随着时代的发展,经济提升速度的加快,产品更新速度也在不停的提速,随着而来的网络购物也开始越来越接近人们的生活。与此同时,政府提出和深入可持续化发展的,以及环境友好型,资源节约型社会的提出,人们更多的认可资源的合理利用的观念。
二手车交易平台,通过每个用户发布自己要卖的车辆形成信息来源,每个人可以查看别的用户发布的车辆信息,以此来寻找自己想要的车辆。当然你也可以发布求购信息让别人来联系你。在你想买车的时候,你可以通过多条件的组合查询来寻找让自己满意的车辆。找到车辆查看其详细信息,你可以联系卖主约定试车时间,并且你可以在车辆详细信息页面添加你对该车的评价。
本网站设计采用了Struts2和Hibernate,JSP等和网页设计的相关技术和MYSQL数据库技术来实现平台的搭建以及后台管理的设计,完成本次毕业设计的主要功能实现。
关键字:二手车交易平台 毕业设计 Struts2 Hibernate MYSQL
ABSTRACT
With the development of the times, economy increase speed, product
updates speed is quickened ceaselessly, the network shopping also became more
and more close to people's life. At the same time, the government put forward
and further sustainable development, and environment friendly, the
resource-saving society, rational use of resources more people recognized the
idea.
The second-hand car trading platform, by each user to publish their own to
sell vehicles forming sources of information, everyone can see other vehicle
information users, in order to find their desired vehicle. Of course, you can also
purchase information release and let others to contact you. When you want to
buy a car, you can through the multi condition combination query to find
yourself a satisfactory vehicle. To find the vehicle view the detailed information,
you can contact the seller agreed test time, and you can add your evaluation for
the vehicle in the vehicle details page.
This web design uses the Struts2 and Hibernate, JSP and Webpage design
technology and MYSQL database technology to realize the platform as well as the
background management of the system, complete the main functions of this
graduation design.
Key words: The second-hand car trading platform Graduation design
Struts2 Hibernate MYSQL
1
绪论
1.1
系统开发背景
随着社会的不断发展和提高,以及商品经济的高效化,使得计算机的应用已经普及到经济和社会生活的各个领域。经济的不断发展带来的不只是人民生活质量的提升,随着而来的是大量的闲置物品以及淘汰品。人们利用自己闲置的车辆去交换自己需要的车辆或者出售获得金钱,从而达到车辆使用价值最大化和经济利益最大化。本着节约型经济和方便用户的原则,为用户节约大量的时间,开发了二手车交易网站。
与现实世界中的二手车市场相比,处在虚拟网络上的二手车交易网站,更能带给用户方便的车辆信息查看以及快速询问。大大的方便了人们的去购买车辆,符合而今人们生活习惯,用户不仅可以在本网站上买到自己想要的二手车,还可以发布自己不要的二手车。不需要用户花费大量的时间去出售和宣传自己的车辆,买主会自动在网上搜索自己想要的车辆。
本二手车交易网站从商务运作模式来看类似于一般的电子商务,从根本上说,绝大数的买家和卖家都是个人。为用户提供一个交流的机会,和“e-Bay易趣”,“淘宝”等这种纯粹的商业性网站不同,本二手车交易网站没有自己的支付系统,靠的是买家和卖家的见面来确定最后的交易金额,以及交易方式。以此来确认商品车辆的真实性,避免人财两空。
1.2
二手车交易网站的优势
二手车交易网站的最大优势不是最便宜,而是最实用。因为二手车出售的价格本身就不会太高,而且会用来出售的二手车,一般都是放在家里闲置多时,弃之可惜存之无地的。所以才想通过网站转手给更需要的人,因此也不会开太高的价格,所以价格方面一般不是太会考虑,而是更考虑二手车的性能和使用情况,以及购买后的相关手续问题。二手车交易网站的出现使欲购买物件又觉得新的价格过高而承受不起的人有了更多的选择空间,在二手市场可购得性价比较好的车辆。而且二手车交易网站全天候服务,你随时可以来这里浏览或购置二手车,省时省力,闭门家中坐,车从“网”上来,你要做的只有移动一下你的鼠标。二手车交易网站拥有功能强大的信息查询系统,它像一个指路牌,把你带到需要搜寻
的二手车面前,省了你在二手市场里找得心急如焚,汗流浃背,砍价砍得口干喉痛,面红耳刺的痛苦。
1.3
二手车交易网站的基本特征
企业的电子商务系统一般是面向广大的社会公众,有公司注册等,而二手车交易网站服务对象是以个人为中心的,它们之间是存在着一定的区别的。二手车交易网站除开具有数字化、跨时空、公开、透明等一般特征以外,还有着其独特的特征。如:
① 良好的网络购物环境。
21世纪的人们生活水平的提高,电脑得到了普及,网络购物也是被人们所接受。其次,不得不说的是,有车的人家庭,肯定是有着不错的生活环境,以及良好的上网条件。
② 节省购物浏览的时间,增加用户的选择余地。
二手车交易网站通过网络可以为大众提供更多的选择,可以更方便的达到信息资源共享,有利于提高购车效率,优化资源的再次分配。网络还能使人有足够的时间查看车辆的信息,方便购买自己满意的车辆。
③ 良好的信用机制
如今这个时代,不完善的信用体系,大大的阻碍了我国电子商务的发展。在二手车交易网站环境下,由于是当面交流,见货付款不用担心钱财两空的情况出现。同时很方便信息交流,一旦出现违规现象,曝光的可能性会很大。因此,大家都会自觉地养成良好的个人信用和商业信用。
④ 交易成本低
二手车交易网站使得买卖双方的交易成本大大降低。
一、通过网络进行信息的交流,其成本远远低于信件等其他的交流方式。因为每个人都是“商家”,所以大大缩短了数据录入也降低了信息成本。
二、买卖双方通过网络电话交流,不需要中介者参与,因此减少了交易的相关环节中需要使用的费用。
三、网站实行“无纸贸易”,可减少大量的文件处理费用。交易成本为零,符合价格敏感因素要求调查统计数字表明,价格是人群消费最为敏感的因素之一。网站交易采用零交易成本,符合人群消费的心理特征。
1.4
设计目的
在Internet飞速发展的今天,互联网成为人们快速获取信息,传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用,伴随这经济的发展,汽车也开始走入大众的世界,于此而来的还有二手的车辆的大量交易。
本交易平台基于方便各阶层的人员有一个合适的平台来处理自己不需要的车辆以及方便那些想要买二手车的人。为此,设计了这个交易平台,毕竟在互联网的今天,人们并没有多少时间去一些市场查看车辆,而且去交易市场会有太多的时间浪费在选择和比较上,也不方便去比较各种车辆之间的优劣。本着与人方便自己方便的原则,设计了这个二手车交易平台。为卖方解决“废之不用,弃之可惜”的车辆,为买方提供方便便捷的购买方式。
随着电子商务的不断发展,以后大部分东西也都将可以实现网上购物。也是这个原因,我们应该及早的进入这个领域。同时也是为了推进社会经济的稳定发展起到了积极的作用。
2
系统目标及开发可行性
2.1
系统目标
本网站主要分前台和后台两部分。其中前台包括的功能模块有:首页,买车,卖车,个人信息,求购,以及登录和注册;后台包括的功能模块有:管理员管理,前台用户管理,车辆管理,留言管理,其他等。
⑴ 首页:查看最新发布的车辆信息,查看热门车辆信息,快速搜索,以及部分求购信息。
⑵ 买车:包括搜索,以及查看车辆的详细信息。
⑶ 卖车:发布车辆信息。
⑷ 个人信息:包括个人简单信息,详细信息,修改个人密码,发布车辆,以及已发布的车辆信息列表。
⑸ 求购:其中有求购车辆信息的列表和发布求购信息两部分。
⑹ 登录:用户登录。
⑺ 注册:新用户注册。
⑻ 管理员管理:增加后台管理人员信息、删出已经不需要的后台管理员信息、修改后台管理员信息、查看后台管理人员的信息列表。
⑼ 前台用户管理:添加前台用户,查看用户信息列表以及该用户发布的车辆信息和求购信息,删除用户信息。
⑽ 车辆管理:添加车辆种类,车辆信息统计。
⑾ 留言管理:留言列表。
⑿ 其他:添加地区(省、市)。
2.2
可行性分析
2.2.1
市场可行性分析
经过初步的市场调查,了解了目前有闲置的二手车用户还是很多的,而且二手车交易也有成熟的规章制度。拥有着广泛的群众基础,比较实用,有着较好的反应。因此在市场上来说这个网站的建立是有可行性的。
2.2.2
技术可行性分析
二手车交易网站是使用MyEclipse集成开发环境下进行开发的,以JSP来设计页面,使用Struts2和Hibernate来进行数据操作以及数据库的连接。使得数据完整性得到保证,并使得数据库操作简单化,方便实现模块化的设计。
该网站是根据科学的关了方法与编程技术,用软件工程的思想开发设计的,能符合主要的技术要求,具有较高的实用性,能够较好的保证用户信息的安全。采用B/S结构的二手车交易网站拥有较为广泛的应用。
虽然本人技术不是很熟悉,很纯熟,但是前期的分析和设计工作是没有问题的,而且在指导老师的帮助下,通过自己的认真学习我详细是可以完成该网站是开发和设计,所以在技术上是具有可行性的。
2.2.3操作可行性分析
本网站在一般浏览器上具有想死的界面,使用起来简单明了,就算是不熟悉计算机操作的人也是可以很快上手,明白怎么操作,去发布自己的车辆信息,去搜索自己想要的车辆信息。
2.2.4
经济可行性分析
经济可行性分析是指对组织的经济状况和投资能力进行分析,对网站的建设运营以及维护费用进行大体上的估算,对系统建成后可能取得的社会经济效益进行大概的估计。
由于本网站设计所需要的全部软件都是可以从网络上免费下载的,因此其开发费费用比较低。而这些支持技术主要是软硬件设备和软件技术支持,可是因为这是本人做的毕业设计,一切从简,没有所谓的开发费用,管理费用和维护费等。因此在经济上也是可行的。
2.2.5
社会因素方面的可行性
法律方面的可行性:本网站是本人独立开发的,因此不涉及到侵权以及版权问题,更不会侵犯专利权的法律问题。所以在社会法律上来看是可行的。
2.2.6
可行性分析结论
综上所述,本网站是从市场,技术,操作,经济,社会因素等方面来看,都是可行的。并且此项目技术成熟,具有完备的测试手段,具有良好的市场前景,因此本工程可以实施开发工作。
3
需求分析
3.1功能需求
3.1.1
前台用户登录注册业务概述
作为网站中一个重要的功能登录和注册,这是必不可少的一部分。网站的前台,用户需要登录才能浏览车辆信息以及发布车辆信息和发布求购信息。如果用户之前没有注册过,必须先注册才能够登录。
游客注册的用例图如图3.1所示:
图3.1游客注册用例图
游客注册的活动图如图3.2所示:
a ct 活动图填写用户信息提交用户信息用户是否存在进入注册页面[存在][不存在]提示注册成功,并返回登录界面开始结束图3.2 游客注册活动图
用户登录的用例图如图3.3所示:
uc 用例图
登录账号用户
图3.3 用户登录用例图
用户登录的活动图如图3.4所示:
act 活动图
开始进入登录页面提示错误信息填写用户名密码[用户名和密码不匹配]提交登录信息用户名密码是否匹配[用户名和密码匹配]进入首页结束
图3.4 用户登录活动图
3.1.2
用户买车的业务概述
当用户登录了之后可以查看和搜索二手车的车辆信息,以此来寻找自己满意的二手车。当找到另自己满意的车辆时候,需要用户自己打电话联系卖家现场看
车以及试驾并商讨如何支付购车费用等细节问题,本站只提供信息查看,不会经手交易细节。
用户买车的用例图如图3.5所示:
uc 用例图
二手车搜索«include»买车用户«include»查看车辆信息
图3.5 用户买车的用例图
用户买车的活动图如图3.6所示:
act 活动图
开始进入买车页面浏览车辆信息列表[找不到满意的车辆]是否寻找到满意车辆寻找自己满意的车辆[不满意][找到满意的车辆]查看车辆信息联系卖家是否满意现场看车预订看车时间[满意]确认交易方式成功交易结束
图3.6 用户买车的活动图
3.1.3
用户卖车的业务概述
用户卖车是二手车交易网站中不可缺少的一部分,使得本站有着大量的信息来源,有利于网站的持续化发展。同时也因为有这大量的车辆信息来源会给本站带来大量的游客,提升点击率,由此带来了在群众中的知名度。
用户登录网站,进入卖车页面则可以发布自己想卖的车辆信息。方便其他人来搜索和查看车辆信息。
用户卖车的用例图如图3.7所示:
uc 用例图
卖车用户«include»发布车辆信息
图3.7 用户卖车用例图
用户卖车的活动图如图3.8所示:
act 活动图
开始进入卖车页面发布车辆信息提交车辆信息结束
图 3.8 用户卖车的活动图
3.1.4
用户求购的业务概述
用户求购这是一个方便自己买车的功能,当我们讨厌在茫茫多的车辆中寻找自己满意的车辆时,当我们在车海中依旧难以找到自己喜欢,让自己和家人都满意的车辆时,或者当你没有足够的时间去寻找那个适合你的车辆时,你可以通过求购的方式来得到自己想要的车辆。填写你想要的车辆信息,发布出去,人们就可以看到你发布的求购信息。当他有出售意向时会主动联系你的,而不需要 你苦苦的去寻找车源。
用户求购的用例图如图3.9所示:
uc 用例图
发布求购信息«include»求购«include»用户«include»查看求购信息查找求购信息
图3.9 用户求购的用例图
用户求购的活动图如图3.10所示:
act 活动图
开始进入求购页面是卖车还是买车[卖车]查找车辆求购信息[买车]是否有满意的车辆发布车辆求购信息[有]填写想要的车辆信息[没有]结束查看车辆信息提交信息联系求购人结束
图3.10 用户求购的活动图
3.1.5
后台管理人员登录的业务概述
网站有前台自然也会有后台的存在,而后台则需要管理员的登录才能进行相应的操作。
管理员登录用例图如图3.11所示:
uc 用例图
登录账号管理员
图3.11 管理员登录的用例图
管理员登录活动图如图3.12所示:
act 活动图
开始进入后台管理登录页面提示错误信息填写管理员账号和密码[用户名和密码不匹配]提交登录信息用户名密码是否匹配[用户名和密码匹配]进入后台管理结束
图3.12 管理员登录的活动图
3.1.6
管理员信息管理的业务概述
管理员,是可以查看和使用网站后台的所有功能的,使得网站可以正常的运行以及更好的服务,但是不得不说的是只有一两个管理员总会感觉太少了。所以就有了这个管理员信息管理模块。这个模块有添加管理员以及管理员列表的功能。
管理员信息管理的用例图如图3.13所示:
uc 用例图
添加管理员«include»管理员信息管理管理员«include»管理员信息列表«include»删除管理员信息«include»修改管理员信息
图3.13 管理员信息管理的用例图
管理员信息管理的活动图如图3.14所示:
act 活动图
开始点击管理员信息管理添加管理员信息[需要]是否需要添加管理员信息[不需要]填写管理员信息查看管理员信息列表提交管理员信息[有]是否有管理员信息错误[没有]结束修改管理员信息结束是否有管理员账号长期不用[有][没有]结束删除管理员信息结束
图3.14 管理员信息管理的活动图
3.1.7
前台用户管理的业务概述
作为一个二手车交易网站的后台必不可少的会有前台用户的管理,对前台用户进行一些数据的统计等等,这是有利于去收集客户样本,更好的为客户服务。并且提高网站的运营效率等等。
前台用户管理的用例图如图3.15所示:
uc 用例图
添加前台用户信息详细信息«include»已发布的车辆信息«include»前台用户列表管理员«include»已发布的求购信息«include»用户信息统计删除
图3.15 前台用户管理用例图
前台用户管理的活动图如图3.16所示:
act 活动图
是否需要添加用户信息进入前台用户信息管理开始[不需要]进入添加用户信息页面填写用户信息提交用户信息结束是否想查看用户详细信息查看用户信息列表[否][不需要]是否查看用户已发布的车辆信息是否需要查看用户信息统计[否][需要]是否需要查看已发布的求购信息进入用户信息统计页面[否]是否需要删除用户信息结束[否][是]点击删除结束[是]点击已发布求购信息结束[是]点击已发布车辆信息结束点击详细信息结束[需要]是否需要查看用户信息列表[需要][是]结束[不需要]结束
图3.16 前台用户管理活动图
3.1.8
车辆管理的业务概述
作为二手车交易网站的后台,车辆管理是必不可少的一部分。车辆管理中包括了,添加车辆种类,求购车辆信息统计以及发布的车辆信息统计几个部分组成的。添加车辆种类是可能存在本站可能没有考虑到的车辆种类,而留下的补救措施。
车辆管理的用例图如图3.17所示:
uc 用例图
添加车辆种类«include»车辆管理«include»管理员«include»已发布的求购信息统计已发布的车辆信息统计
图3.17 车辆管理用例图
车辆管理的活动图如图3.18所示:
act 活动图
开始进入车辆管理页面是否需要添加车辆种类[是][否]是否需要查看车辆信息统计[是][否]是否需要查看求购信息统计[是][否]点击车辆信息统计结束添加车辆种类填写车辆种类提交点击查看你求购信息统计结束结束
图3.18 车辆管理活动图
3.1.9
留言评论的业务概述
留言评论是指前台用户可以在每个车辆信息下面对该车进行相关的留言评论。可以方便其他用户去了解该车的实际情况,避免其他人去浪费时间重复一些相同的验证。
用户留言评论的用例图如图3.19所示:
uc 用例图
留言评论用户
图3.19 用户留言评论用例图
管理员留言评论管理的用例图如图3.20所示:
uc 用例图
留言评论管理管理员«include»留言列表
图3.20 管理员留言评论管理用例图
用户留言评论的活动图如图3.21所示:
act 活动图
进入车辆详细信息开始填写留言评论提交结束
图3.21 用户留言评论活动图
管理员留言评论管理的活动图如图3.22所示:
act 活动图
点击留言评论管理开始查看留言列表结束
图3.22 管理员留言评论管理活动图
3.1.10
其他的业务概述
这个模块之中包括添加地区省市的功能。
添加地区省市的用例图如图3.23所示:
uc 用例图
其他管理员«include»添加地区省市
图3.23 添加地区省市的用例图
添加地区省市的活动图如图3.24所示:
act 活动图
开始点击其他选择添加地区省市提交结束填写相关信息
图3.24 添加地区省市的活动图
3.2
非功能性需求
3.2.1
性能需求
响应时间:0.5s
更新处理时间:0.5s
数据传输与转换时间:0.5s
运行时间:0.1s
该网站采用全中文界面操作,按照页面提示进行操作,设计页面方便理解,操作方法简单易懂。
3.2.2
软硬件环境需求
硬件:一台电脑
软件:该网站采用现在比较流行的页面,标准的B/S模式,可以在大部分的Windows操作系统上运行。
3.2.3
产品质量需求
安全性:使用者的使用权限可识别,抗干扰能力较强,可以进行有效的控制网站。
性能和效率:响应时间快,更新内容快。
易用性:界面人性化,操作应简易。
兼容性:可适合多浏览器运行浏览。
4
系统设计
4.1
系统总体结构
本二手车交易网站的系统总体结构如图4.1所示,主要分为前台和后台两个部分。其中前台包括首页,买车,卖车,个人信息,求购以及登录注册等几个主要功能;后台则包括管理人员管理,前台用户管理,车辆信息管理,留言管理以及其他几个方面。
求购:包括查看详细求购信息,求购信息查询,发布求购信息这三个功能模块。
卖车:只有发布车辆信息。
首页:则包括快速搜索,热门车辆,最新发布的二手车车辆信息。
买车:搜索车辆信息,查看车辆信息,查看车辆信息时能够对该车辆进行评论留言。
个人信息管理:个人信息和车辆信息管理两个,其中个人信息包括简单信息,详细信息以及修改密码几个功能模块,可以对用户个人信息进行简单的修改。而车辆信息管理则包括发布车辆和查看已发布的车辆信息列表。
其他:这之中有添加地区省市的功能模块。
车辆信息管理:包括添加车辆种类和查看已发布的车辆信息统计还有已发布的求购信息统计。
管理员信息管理:包括添加管理员和管理员列表两个模块。
前台用户信息管理:添加用户和用户信息列表两个功能模块。
留言管理:具有留言列表这个功能模块。
二手车交易网站
前台
后台
求购
卖车
首页
买车
个人信息管理
登录注册
其他
车辆信息管理
管理员信息管理
前台用户信息管理
留言管理
查看详细求购信息求购信息查询
发布求购信息发布车辆信息快速搜索热门车辆最新发布车辆信息搜索车辆信息查看车辆信息个人信息车辆信息管理添加省市添加车辆种类车辆信息列表车辆信息统计添加管理员管理员信息列表添加用户用户信息列表留言列表4.2
总体类图设计
(1)用户类:该类是用户信息的实体类,它被用来存储用户信息的。
(2)管理员类:是管理员信息的实体类,存储管理员信息。
(3)求购信息类:是求购单的实体类,对求购的信息进行存储。
(4)车辆类:是卖车的车辆信息,存储这车辆的相关信息。
(5)留言类:是用户留言所用的,可以存储留言时候的信息。
(6)车辆种类:车辆种类是记录着所有可能有的车辆。
(7)地区类:记录地区的实体类,保存地区名。
简单信息详细信息发布车辆已发布列的表车辆信息
图4.1 功能结构图
class 类图
留言类-
-
-
-
-
车辆种类类-
-
-
-
carId: intcarBrand: StringcaeSeries: StringcarModel: String0..*reviewID: intuserName: StringpublishCarId: intreviewMessage: StringreviewTime: int0..*1..用户类-
-
-
-
-
-
-
0..*-
-
-
-
-
-
-
-
userName: Stringpassword: Stringemail: StringrealName: StringIDNumber: Stringsex: Stringage: int1..province: Stringcity: Stringphone: StringdrivingExperience: StringfamilySituation: StringhasCar: StringlastLoginTime: StringloginNumber: int1..0..*车辆类-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
publishCarId: intuserName: StringcarBrand: StringcarSeries: StringcarModel: StringsaleOfSpecies: StringsalePrice: doublelocationProvince: StringlocationCity: StringcarCardFirstTime: StringinsuranceTime: Stringmileage: doublecarColor: StringclickNumber: intregistrationCard: StringdrivingLicense: StringpurchaseInvoice: StringcontactPeople: Stringphone: StringQQ: StringcontactTime: Stringpostscript: StringuploadFileName: StringreleaseTime: String-
-
-
-
-
-
-
0..*-
-
-
-
-
-
-
-
求购信息类carID: intuserName: StringcarInfo: StringcarBrand: StringcarSeries: StringcarCity: StringcarPrice: StringvehicleAge: StringcarMileage: Stringgearbox: StringpersonName: StringpersonPhone: StringaddThat: StringbrowseNumber: intreleaseTime: String1..-
-
-
-
1..-
0..*管理员类userName: Stringpassword: StringuserRealName: String1..userPhoneNum: StringuserAddress: String地区类-
-
-
areaId: intprovince: Stringcity: String
图4.2 总体类图
4.3
功能设计
4.3.1
前台用户登录注册的功能设计
用户的登录和注册功能中涉及的类主要有LoginAction,R_UserDao,R_UserDdaoService。其中LoginAction类是用来接受登录和注册时候提交的数据,并调用R_UserDdaoService中的方法来实现登录检验的。其中R_UserDao是进行数据库的数据操作的。
用户登录和注册所涉及的几个主要的类如图4.3所示:
class 类图
ActionSupportLoginAction- serialVersionUID: long = 1L {readOnly}- user: R_User~ r_UserDaoService: R_UserDaoService = new +
+
+
+
r_login() : Stringr_register() : StringsetUser(R_User) : voidgetUser() : R_User~r_UserDaoServiceR_UserDaoService-
+
+
+
+
+
+
+
+
+
+
r_UserDao: R_UserDao = new R_UserDao()addR_User(R_User) : booleandisplayAllUser(int) : List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
R_UserDaomaxNumber: int = 5add(R_User) : voiddisplayAllUser(int) : List
图4.3 用户登录和注册涉及的主要类
用户登录的顺序图如图4.4 所示:
sd 顺序图
登录页面用户进入登录页面()r_login()Validation()Validation()Boolean()Boolean()Boolean()进入()LoginActionR_UserDaoServiceR_UserDao首页
图4.4 用户登录的顺序图
用户注册的顺序图如图4.5 所示:
sd 顺序图
注册页面用户进入注册页面()r_register()userNameSearch()List
图4.5 用户注册的顺序图
4.3.2
用户买车的功能设计
用户买车之中包括两个功能模块,一个是车辆的搜索,另一个是查看车辆的详细信息。其中车辆的搜索功能的设计主要包括BuyCarAction,SellCarBillDao以及SellCarBillDaoService三个类,当用户进入这个页面时,首先调用的是BuyCarAction,之后再Action中调用SellCarBillDaoService中的方法,并将结果返回到页面,让页面可以显示信息。
车辆搜索功能所用的主要类大概有一下几个,如图4.6所示:
class 类图
ActionSupportBuyCarAction-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}nowPageNumber: intmaxNumber: int = 20userName: StringsortType: StringappointPage: intcarBrand: StringcarSeries: StringcarModel: StringcarProvince: StringcarPrice: StringcarMileage: StringcarColor: StringcarMinPrice: doublecarMaxPrice: doublecarMinMileage: doublecarMaxMileage: doubleTopSearchConditions: StringsellCarBillService: SellCarBillDaoService = areaDaoService: AreaDaoService = new AreaDaoService()carTypeDaoService: CarTypeDaoService = buyCarList() : StringbuyCarSearchTime() : StringbuyCarSearchHot() : StringbuyCarSearchPrice() : StringbuyCarSearchMileage() : StringbuyCarAppointPage() : StringbuyCarSearchAnother() : StringcarSearchAppointAnother() : StringgetUserName() : StringsetUserName(String) : voidgetSortType() : StringsetSortType(String) : voidgetAppointPage() : intsetAppointPage(int) : voidgetCarBrand() : StringsetCarBrand(String) : voidgetCarSeries() : StringsetCarSeries(String) : voidgetCarModel() : StringsetCarModel(String) : voidgetCarProvince() : StringsetCarProvince(String) : voidgetCarPrice() : StringsetCarPrice(String) : voidgetCarMileage() : StringsetCarMileage(String) : voidgetCarColor() : StringsetCarColor(String) : voidgetNowPageNumber() : intsetNowPageNumber(int) : voidSellCarBillDaoService~ sellCarBillDao: SellCarBillDao = new SellCarBillDao()+
+
+
+
+
+
+
+
+
+
addSellCarBill(SellCarBill) : booleantraversalSellCarBill(String) : List
+
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 20add(SellCarBill) : voidtraversalSellCarBill(String) : List
图4.6 车辆搜索功能的主要类图
车辆搜索功能的顺序图,如图4.7所示:
sd 顺序图
买车页面用户进入()BuyCarList()SellCarBillNumber()size()displaySellCarBill()List
图4.7 搜索车辆功能的顺序图
该模块的第二个主要功能就是查看车辆信息,当用户找到满足自己条件的车辆时候,用户要进一步了解本车,并且获得卖主的信息,用户就需要去查看车辆详细信息。这个模块功能所涉及的类有SellCarBillDaoService,SellCarBillDao以及DetailedInfoAction这三个类。当你查看车辆信息首先调用的是Action中的方法,在方法中调用SellCarBillDaoService中我们所需要的,并返回结果。再将结果显示在页面上。
查看车辆信息的主要类图,如图4.8所示:
class 类图
ActionSupportDetailedInfoAction-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}userName: StringpublishCarId: intcarID: intsellCarBillDaoSerivce: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = viewDaoService: ReviewDaoService = CarDetailed() : StringPuchInfoDetailed() : StringgetUserName() : StringsetUserName(String) : voidgetPublishCarId() : intsetPublishCarId(int) : voidgetCarID() : intsetCarID(int) : voidSellCarBillDaoService~ sellCarBillDao: SellCarBillDao = new SellCarBillDao()+
+
+
+
+
+
+
+
+
+
addSellCarBill(SellCarBill) : booleantraversalSellCarBill(String) : List
+
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 20add(SellCarBill) : voidtraversalSellCarBill(String) : List
图片4.8查看车辆详细信息的主要类图
查看车辆信息的顺序图:如图4.9所示:
sd 顺序图
买车页面用户点击车辆详细信息()CarDetailed()IDSearch()SellCarBill()进入()DetailedInfoActionSellCarBillDao车辆详细信息页面
图片4.9 查看车辆详细信息的顺序图
4.3.3
用户卖车的功能设计
作为本交易网中不可获取的功能之一。该功能所涉及的类有SellCarBill和SellCarAction以及SellCarBillDao这三个主要的类,具有发布车辆信息的功能,当你需要卖车的时候,你可以通过点击页面卖车进入卖车的页面,只要填写相关的车辆信息,以及联系方式就可以发布车辆信息,让其他用户看到你所发布的信息。从而可能去购买你的车辆。
车辆发布的类图如图4.10所示:
图4.10 车辆发布所设计的类图
发布车辆的顺序图如图4.11所示:
sd 顺序图
买车页面用户SellCarActionSellCarBillDaosellCar()result()r_SellCar()add()result()result()
图4.11 发布车辆的顺序图
4.3.4
用户求购的功能设计
用户求购的功能设计中包括了三个部分,分别是发布求购信息,搜索求购信息,以及之后的查看详细求购信息的功能。而发布求购信息所要涉及的主要类有PurchaseInformationDao , PurchaseInformationDaoService,PurchaseInformationAction。当用户进入发布求购信息的时,需要先填写相应的信息,然后将信息提交个Action,在Action中得到提交的信息,然后调用Service中的相关方法实现发布求购信息的功能。
发布求购信息所涉及的主要几个类如图4.12所示:
class 类图
ActionSupportPurchaseInformationAction-
-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}maxNumber: int = 15userName: StringappointPage: intpurInfo: PurchaseInformationareaDaoService: AreaDaoService = new AreaDaoService()carTypeDaoService: CarTypeDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = BuyList() : StringbuyListAppointPage() : StringBuyAdd() : StringBuyVehicle() : StringbuyListAsceTime() : StringbuyListDesceTime() : StringgetAppointPage() : intsetAppointPage(int) : voidgetUserName() : StringsetUserName(String) : voidgetPurInfo() : PurchaseInformationsetPurInfo(PurchaseInformation) : voidgetPurchaseInformationDaoService() : PurchaseInformationDaoServicesetPurchaseInformationDaoService(PurchaseInformationDaoService) : void~purchaseInformationDaoServicePurchaseInformationDaoService~ purchaseInformationDao: PurchaseInformationDao = +
+
+
+
+
+
+
+
+
addPurchaseInformation(PurchaseInformation) : booleantraversalPurchaseInformation() : List
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 15add(PurchaseInformation) : voidtraversalPurchaseInformation() : List
图4.12 发布求购信息的主要类图
发布求购信息的顺序图如图4.13所示:
sd 顺序图
发布求购信息页面用户进入页面()填写求购信息()BuyVehicle()addPurchaseInformation()result()result()PurchaseInformationActionPurchaseInformationDao
图4.13 发布求购信息的顺序图
求购功能中另一个比较大的功能是搜索求购信息。实现搜索求购信息所涉及的类主要包括PurchaseInformationDao , PurchaseInformationDaoService,SearchAction。在SearchAction中得到页面传过来的查询条件,之后调用Service中的方法将得到的查询条件当作参数来查询满足于条件的所有信息。并将信息返回到页面显示。
其功能实现所需要的几个主要类图如图4.14所示:
class 类图
ActionSupportSearchAction-
-
-
-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}maxNumber: int = 15carProvince: StringcarBrand: StringcarPrice: Stringgearbox: StringuserName: StringpurchaseInformationDaoService: PurchaseInformationDaoService = areaDaoService: AreaDaoService = new AreaDaoService()carTypeDaoService: CarTypeDaoService = searchCar() : StringbuyListSearchAsceTime() : StringbuyListSearchDesceTime() : StringgetCarProvince() : StringsetCarProvince(String) : voidgetCarBrand() : StringsetCarBrand(String) : voidgetCarPrice() : StringsetCarPrice(String) : voidgetGearbox() : StringsetGearbox(String) : voidgetUserName() : StringsetUserName(String) : void~purchaseInformationDaoServicePurchaseInformationDaoService~ purchaseInformationDao: PurchaseInformationDao = +
+
+
+
+
+
+
+
+
addPurchaseInformation(PurchaseInformation) : booleantraversalPurchaseInformation() : List
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 15add(PurchaseInformation) : voidtraversalPurchaseInformation() : List
图4.14 搜索求购信息功能的主要类图
搜索求购信息功能的顺序图如图4.15所示:
sd 顺序图
求购页面用户SearchActionPurchaseInformationDao点击搜索条件()searchCar()SearchPurchaseInformation()List
图4.15 搜索求购信息的顺序图
在本模块中还有一个相对比较重要的功能是查看求购的详细信息。这个模块所涉及的类有SellCarBillDaoService,SellCarBillDao,DetailedInfoAction三个比较重要的类。查看求购信息则需要先访问Action,调用Action中对应的方法,在去调用Service中相应的方法以实现该功能模块设计。
实现查看求购详细信息功能的几个主要类图如图4.16所示:
class 类图
ActionSupportDetailedInfoAction-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}userName: StringpublishCarId: intcarID: intsellCarBillDaoSerivce: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = viewDaoService: ReviewDaoService = CarDetailed() : StringPuchInfoDetailed() : StringgetUserName() : StringsetUserName(String) : voidgetPublishCarId() : intsetPublishCarId(int) : voidgetCarID() : intsetCarID(int) : voidPurchaseInformationDaoService~ purchaseInformationDao: PurchaseInformationDao = +
~purchaseInformationDaoService+
+
+
+
+
+
+
+
addPurchaseInformation(PurchaseInformation) : booleantraversalPurchaseInformation() : List
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 15add(PurchaseInformation) : voidtraversalPurchaseInformation() : List
图4.16 查看求购详细信息的主要类图
查看求购详细信息功能的顺序图如图4.17所示:
sd 顺序图
求购页面用户进入()PuchInfoDetailed()carIDSearch()PurchaseInformation()reslut()DetailedInfoActionPurchaseInformationDao求购详细信息页面
图4.17 查看求购详细信息的顺序图
4.3.5
后台管理人员登录的功能设计
后台管理人员登录类似于前台用户登录的功能设计,其中主要涉及的类有B_LoginAction,BackgroundUserDao,BackgroundUserDaoService三个主要的
部分。通过Action去调用相关的方法对得到的数据进行相应操作,完成管理员登录校验,实现管理员登录功能。
管理员登录所涉及到的几个类如图4.18所示:
class 类图
ActionB_LoginAction- username: String- password: String~ b_userDaoService: BackgroundUserDaoService = +
+
+
+
+
execute() : StringsetUsername(String) : voidgetUsername() : StringsetPassword(String) : voidgetPassword() : StringBackgroundUserDao-
+
+
+
+
+
+
+
+
+
maxNumber: int = 5validation(String, String) : booleanadd(User) : voiduserNameSearch(String) : List
+
+
+
+
+
+
+
+
+
userDao: BackgroundUserDao = Validation(String, String) : booleanaddUser(User) : booleanuserNameSearch(String) : List
图4.18 管理员登录涉及的主要类
管理员登录的顺序图如图4.19所示:
sd 顺序图
登录页面管理员进入登录页面()B_LoginActionbackgroundUserDaoexecute()validation(userName,password)boolean()result()
图4.19 管理员登录的顺序图
4.3.6
管理员信息管理的功能设计
管理员信息管理是后台功能的一部分,它涉及管理员信息的查看,以及添加管理员这两个功能。它涉及的几个主要类有:SystemManagerAction,BackgroundUserDaoService,BackgroundUserDao。
管理员信息管理所涉及的主要类如图4.20所示:
class 类图
ActionSupportSystemManagerAction-
-
-
-
-
-
-
-
~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
user: UseruserName: StringoldPassword: StringnewPassword: Stringb_againPassword: StringoldUserName: StringmaxNumber: int = 5appointPage: intb_userDaoService: BackgroundUserDaoService = AddSystemManager() : StringpersonalInformation() : StringChangePassword() : StringSystemManagerList() : StringAppointSystemManagerList() : StringModify() : StringDelete() : StringsetB_againPassword(String) : voidgetB_againPassword() : StringgetUser() : UsersetUser(User) : voidsetUserName(String) : voidgetUserName() : StringsetOldPassword(String) : voidgetOldPassword() : StringsetNewPassword(String) : voidgetNewPassword() : StringsetAppointPage(int) : voidgetAppointPage() : intsetOldUserName(String) : voidgetOldUserName() : String-
+
+b_userDaoService+
+
+
+
+
+
+
+
BackgroundUserDaoServiceuserDao: BackgroundUserDao = Validation(String, String) : booleanaddUser(User) : booleanuserNameSearch(String) : List
+
-userDao+
+
+
+
+
+
+
+
BackgroundUserDaomaxNumber: int = 5validation(String, String) : booleanadd(User) : voiduserNameSearch(String) : List
4.20 管理员信息管理所涉及的类
管理员信息管理的顺序图如图4.21所示:
sd 顺序图
管理员信息管理管理员进入()点击添加()AddSystemManager()add()SystemManagerActionBackgroundUserDaoresult()result()点击查看列表()SystemManagerList()displayAllUser()List
4.21 管理员信息管理的顺序图
4.3.7
前台用户管理的功能设计
用户信息管理是对前台用户管理,该功能的实现,是后台管理人员对前台用户的信息的管理。该功能中包块对用户的基本操作,如增删改查等。同时还具有部分的统计功能。该功能所设计的主要类有ReceptionUserAction,R_User,R_UserDao几个类。
用户信息管理功能所涉及的类如图4.22所示:
class 类图
ActionSupportReceptionUserAction-
-
-
-
+
-
-
~
~
~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}user: R_UseruserName: StringoldUserName: StringcityAddress: StringappointPage: intmaxNumber: int = 5r_UserDaoService: R_UserDaoService = new sellCarBillDaoService: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = -
AddReceptionUser() : StringReceptionUserList() : StringReceptionPersonalInformation() : StringReceptionModify() : StringReceptionDelete() : StringAppointReceptionUserList() : StringDetailInfo() : StringpublishCarInfo() : StringpublishBuyInfo() : StringuserStatistical() : StringgetUser() : R_UsersetUser(R_User) : voidgetUserName() : StringsetUserName(String) : voidgetOldUserName() : StringsetOldUserName(String) : voidgetAppointPage() : intsetAppointPage(int) : voidgetCityAddress() : StringsetCityAddress(String) : void+
~r_UserDaoService+
+
+
+
+
+
+
+
+
R_UserDao-
R_UserDaoServicer_UserDao: R_UserDao = new R_UserDao()addR_User(R_User) : booleandisplayAllUser(int) : List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
maxNumber: int = 5add(R_User) : voiddisplayAllUser(int) : List
图4.22 用户信息管理涉及的主要类
用户信息管理的顺序图如图4.23 所示:
sd 顺序图
前台用户信息页面管理员进入()添加()AddReceptionUser()add()result()ReceptionUserActionR_UserDaoresult()查看()ReceptionUserList()displayAllUser()List
图4.23 用户信息管理的顺序图
4.3.8
车辆管理的功能设计
该功能的设计是为了方便管理人员对信息进行相关的添加和统计。车辆信息管理是具有添加车辆种类,以及对车辆信息和求购信息的部分统计功能。这些功能所设计的类有:CarTypeDao,PurchaseInformationDao,
SellCarBillDao,
CarAction,, PurchaseInformation, SellCarBill。
车辆信息管理所涉及的主要类图如图4.24所示:
class 类图
ActionSupportCarTypeDaoService~ carTypeDao: CarTypeDao = new CarTypeDao()+
+
+
+
+
+
+carTypeDaoServiceaddCarType(CarType) : voidtraversalCarBrand() : List
~
~
~
+
+
+
+
+
CarActioncarType: CarTypecarTypeDaoService: CarTypeDaoService = sellCarBillDaoService: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = addCarType() : StringcarAllList() : StringbuyCarAllList() : StringsetCarType(CarType) : voidgetCarType() : CarType+purchaseInformationDaoServicePurchaseInformationDaoService~carTypeDaoCarTypeDao+
+
+
+
+
+
add(CarType) : voidtraversalCarBrand() : List
+
+
+
+
+
+
+
+
addPurchaseInformation(PurchaseInformation) : booleantraversalPurchaseInformation() : List
+
+
+
+
+
+
+
+
+
+
add(SellCarBill) : voidtraversalSellCarBill(String) : List
+
+
+
+
+
+
+
+
+
addSellCarBill(SellCarBill) : booleantraversalSellCarBill(String) : List
+
+
+
+
+
+
+
+
+
add(PurchaseInformation) : voidtraversalPurchaseInformation() : List
图4.24 车辆信息管理涉及的主要类
车辆信息管理的顺序图如图4.25所示:
sd 顺序图
车辆信息管理页面管理员进入()添加车辆种类()addCarType()addCarType()result()result()查看车辆统计信息()carAllList()sellCarBillList()List
图4.25 车辆信息管理的顺序图
4.3.9
留言评论的功能设计
留言评论有两种,一种是用户对车辆信息的评论,还有一个是管理员查看所有的车辆信息。其中用户对车辆信息的评论所涉及的类有ReviewDaoService,CommentAction,ReviewDao。用户通过填写评论信息,之后将信息提交给Action,在Action中对信息进行读取并调用Service中的方法实现保存。从而让评论得以实现。
用户留言评论所涉及的主要类图如图4.26所示:
class 类图
ActionSupportCommentAction-
-
-
-
-
~
~
~
+
+
+
+
+
+
+
+
+
serialVersionUID: long = 1L {readOnly}userName: StringpublishCarId: intpostScript: Stringreview: ReviewsellCarBillDaoSerivce: SellCarBillDaoService = purchaseInformationDaoService: PurchaseInformationDaoService = viewDaoService: ReviewDaoService = submitComment() : StringgetUserName() : StringgetPublishCarId() : intsetPublishCarId(int) : voidsetUserName(String) : voidgetPostScript() : StringsetPostScript(String) : voidgetReview() : ReviewsetReview(Review) : voidReviewDaoService+reviewDaoService~ reviewDao: ReviewDao = new ReviewDao()+
+
+
+
addReview(Review) : voidtraversalReview() : List
+
+
+
add(Review) : voidtraversalReview() : List
图4.26 用户留言评论涉及的主要类图
用户留言评论的顺序图如图4.27所示:
sd 顺序图
车辆详细信息页面用户进入()评论()submitComment()CommentActionReviewDaoServiceresult()result()
图4.27 用户留言评论的顺序图
而管理员查看留言列表的功能设计则涉及到了ReviewAction,ReviewDao以及ReviewDaoService 这几个主要的类,同个访问Action来调用Service中的方法,之后实现管理员查看留言列表的功能。
管理员查看留言评论列表所涉及的主要类图如图4.28所示:
class 类图
ActionSupportReviewAction~ reviewDaoService: ReviewDaoService = + reviewAllList() : String~reviewDaoServiceReviewDaoService~ reviewDao: ReviewDao = new ReviewDao()+
+
+
+
addReview(Review) : voidtraversalReview() : List
+
+
+
add(Review) : voidtraversalReview() : List
图4.28 管理员查看留言列表涉及的主要类图
管理员查看留言列表的顺序图如图4.29所示:
sd 顺序图
留言评论页面管理员进入()ReviewAllList()traversalReview()List
图4.29 管理员查看留言列表的顺序图
4.3.10
其他的功能设计
在这个模块里面有一个添加地区的设计,这个功能涉及的类有AreaDao ,AreaDaoService,以及AreaAction,通过Action来得到页面数据,之后将得到的数据进行相应的处理。实现添加地区的功能。
所涉及的主要类如图4.30所示:
class 类图
ActionSupportAreaAction- area: Area~ areaDaoService: AreaDaoService = new AreaDaoService()+ provinceCityAdd() : String+ getArea() : Area+ setArea(Area) : void+areaDaoServiceAreaDaoService~ areaDao: AreaDao = new AreaDao()+
+
+
+
addArea(Area) : voidtraversalProvince() : List
+
+
+
+
AreaDaoadd(Area) : voidtraversalProvince() : List
图4.30 添加地区涉及的主要类图
添加地区的顺序图如图4.31所示:
sd 顺序图
其他页面管理员进入()provinceCityAdd()addArea()result()result()AreaActionAreaDaoService
图4.31 添加地区的顺序图
5
数据库设计
5.1
数据库需求分析
根据本次毕业设计的需求,设计对应的数据表如下所示:
1) 用户信息基本表:存放的是所有用户的基本信息。
2) 管理员信息基本表:存放的是所有管理员的基本信息。
3) 车辆信息基本表:存放的是卖的车辆信息。
4) 求购信息基本表:存放的是所有求购信息。
5) 留言信息表:存放的是所有留言信息。
6) 车辆种类表:存放的是所有车辆种类信息。
7) 地区名称表:存放的是所有地区名称信息。
根据以上的分析,确定出本设计的实体有:
1) 用户实体:存放用户信息。
2) 管理员实体:存放管理员信息。
3) 车辆实体:存放车辆信息
4) 求购实体:存放求购信息。
5) 留言实体:存放留言信息。
6) 车辆种类实体:存放车辆种类信息。
7) 地区名称实体:存放地区名称信息。
5.2
数据库概念设计
本设计主要设计到的有两个部分,分别是前台用户和后台管理员。
前台的E-R图如图5.1所示:
erd ER图
留言评论添加1查看车辆信息0..*1..*用户0..*发布,查看求购信息10..*
图5.1 用台E-R图
后台的E-R图如图5.2所示:
erd ER图
地区添加车辆信息统计管理员查看求购信息查看添加评论留言车辆种类
图5.2 后台E-R图
5.3
数据库逻辑设计
数据库逻辑设计就是将E-R图转化成如下所示的关系模型:
地区(地区名称ID,省份,城市);
管理员(管理员名称,管理员密码,管理员真实姓名,管理员电话,管理员地址);
车辆种类(车辆种类ID,车辆品牌,车系,车型);
求购信息(求购ID,用户名,车辆信息,车辆品牌,车系,省份,城市,求购价格,车龄,里程,变速箱,联系人,联系电话,附言,点击次数,发布日期);
用户信息(用户名,密码,邮箱,真实姓名,身份证号,性别,年龄,省份,城市,电话,驾龄,家庭状况,是否有车,最近登录时间,点击次数);
评论留言(留言ID,用户名,车辆ID,留言内容,留言时间);
车辆信息(车辆ID,用户名,车辆品牌,车系,车型,包不包括过户费,出售价格,车辆所在省份,车辆所在城市,里程,颜色,上牌时间,交强险时间,
是否有登记证,是否有行驶证,是否有购买发票,联系人,电话, QQ,联系时间,附言,车辆图片,点击次数,发布时间)。
5.4
数据库表设计
表5-1 地区表
字段名 中文名 类型 主键/外键 备注
AreaId
Province
City
地区名称ID
省份
城市
Int
String
String
表5-2 管理员表
主键
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
b_username
b_password
b_userRealName
b_userPhoneNum
b_userAddress
管理员名称
密码
真实姓名
电话
地址
String
String
String
String
String
表5-3 车辆种类表
主键
不为空
不为空
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
carId
carBrand
carSeries
carModel
车辆种类ID
车辆品牌
车系
车型
String
String
String
String
表5-4 求购信息表
主键
不为空
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
carID
userName
carInfo
carBrand
carSeries
carProvince
carCity
carPrice
vehicleAge
carMileage
gearbox
personName
求购车辆ID
用户名
车辆信息
车辆品牌
车系
车辆所在省份
车辆所在城市
车辆价格
车龄
里程
变速箱
联系人
int
String
String
String
String
String
String
String
String
String
String
String
主键
外键
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
personPhone
addThat
browseNumber
releaseTime
联系电话
附言
访问此数
发布时间
String
Text
Int
String
表5-5 用户信息表
不为空
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
r_userName
r_password
r_email
r_realName
r_IDNumber
r_sex
r_age
r_provinceAddress
r_cityAddress
r_phone
r_drivingExperience
r_familySituation
r_hasCar
r_lastLoginTime
r_loginNumber
用户名
密码
邮箱
真实姓名
身份证号
性别
年龄
所在省
所在市
电话
驾龄
家庭状况
是否有车
最近登录时间
访问次数
String
String
String
String
String
String
Int
String
String
String
String
String
String
String
Int
表5-6 评论留言表
主键
不为空
不为空
不为空
不为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
可为空
字段名 中文名 类型 主键/外键 备注
reviewID
r_userName
publishCarId
reviewMessage
reviewTime
留言ID
用户名
车辆ID
留言内容
留言时间
Int
String
int
text
String
表5-7 车辆信息表
主键
外键
外键
不为空
不为空
不为空
不为空
不为空
字段名 中文名 类型 主键/外键 备注
publishCarId
userName
carBrand
carSeries
车辆ID
用户名
车辆品牌
车系
int
String
String
String
主键
外键
不为空
不为空
不为空
不为空
carModel
saleOfSpecies
salePrice
locationProvince
locationCity
mileage
carColor
carCardFirstTime
insuranceTime
registrationCard
drivingLicense
purchaseInvoice
contactPeople
phone
contactTime
postscript
uploadFileName
clickNumber
releaseTime
车型 String
String
Double
String
String
Double
String
String
String
String
String
String
String
String
String
String
Text
String
Int
String
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
不为空
包不包括过户费
出售价格
车辆所在省份
车辆所在城市
里程
颜色
上牌时间
交强险时间
是否有登记证
是否有行驶证
是否有购买发票
联系人
电话
联系时间
附言
车辆图片
点击次数
发布时间
6
系统实现
6.1
前台登录注册实现
6.1.1
实现原理
在JSP页面通过From表单来提交用户登录和注册时候的信息,当用户添加相关信息后,首先会进行相关的JS验证,当验证符合的时候,系统会将From表单中的数据提交给Action,然后再Action中得到相关的数据,并调用连接数据库的类中的方法,实现用户的登录验证和用户注册这两个功能。
6.1.2
具体效果
登录页面如图6.1所示:
图6.1 登录页面
注册页面如图6.2所示:
图6.2 注册页面
6.2
首页实现
6.2.1
实现原理
首页是先进入Action,然后得到首页所需要的所有信息,再将这些信息,全部按照固定的样子,模板显示出来。同时在首页中也会有快速搜索车辆的功能。这个功能和买车时候所实现的功能是近似一样的,这里就不在细说了,后面会有介绍。首页还会有热门车辆,和最新发布的车辆信息,以及少量的求购。
6.2.2
具体效果
首页如图6.3所示:
图6.3 首页
6.3
买二手车页面实现
6.3.1
实现原理
该页面主要包括车辆信息列表和搜索两个主要的功能。车辆信息列表是通过调用Action中的方法来实现页面的车辆信息列表的显示。在Action中调用Dao层中的方法,实现和数据库的连接和操作。车辆搜索则是通过得到不同的条件来