一、本课题研究目标
本课题设计并实现腕表交易系统,此系统可以为用户提供一个平台,可以使用户能了解并购买各种喜爱的腕表,合理使用时间,降低人力物力等成本,减少用户在购买时不知如何选择的烦恼,最终为用户提供良好的交互服务。
本课题将完成系统的开发工作,掌握整个系统的开发流程,独立完成系统的需求分析、设计、编码、测试等工作。利用html+css+js+jquery技术完成前端页面的开发;连接Mysql数据库,tomcat作为服务器,采用Servlet等完成后端系统的开发。
本系统用户角色分为商家、用户和管理员。基于不同角色,分为三个子系统,主要分为商家子系统、用户子系统、管理子系统,每个子系统都有各自相应的功能。商家子系统的主要功能:注册、登录和发布开店信息。用户子系统的主要功能:注册和登录模块、修改密码模块、商品模块、智能推荐模块、检索模块、订单模块、个人中心模块、购物车模块、支付模块、评价留言模块。
后台管理的主要功能有:管理员的登录和以及修改管理员密码、商品管理、信息管理功能、订单管理功能和留言功能。
二、关键技术和难点
本系统存在的难点以及关键点如下:
(1)如何合理搭建数据库以及表之间的关系
本系统页面之间的关系很密切,需要表之间的逻辑性比较强,需要花一定的时间去思考表间的关系。采用MySQL关系型数据库,需要合理的创建数据库以及数据关系,使之能够尽可能有效,高效率地存储数据,满足用户群的操作需求。
(2)系统功能的确定
确定系统的需求,包括系统的功能性需求和非功能性需求,需要与用户进行多次的沟通协商,逐步确定了需求。保证用户能快速使用该系统,提高工作效率。
(3)智能推荐模块
模块实现主要采用协同过滤算法:根据用户搜索记录,浏览记录,以及购买记录等,采用组合推荐方式,将协同过滤和基于内容的推荐方法相结合,通过相似度计算,最终结果由这两者按照一定原则组合产生,对用户兴趣可以很好的建模,并通过对商品属性维度的增加,获得更好的推荐精度,减少了用户搜寻商品所花费的时间。在大量的交易中挖出重要信息,通过提取购买商品的信息特征数据,根据商品的的销售情况和关注的人群等来推荐热门商品,计算用户之间相似性,相似度最大结果由一个集合保存,而采用基于用户的协同过滤算法。此模块难度比较高,根据实际需要,可能会简化算法。
(4)实现商品的模糊查询
根据用户输入的搜索信息,通过关键字系统会自动筛选出符合条件的目标商品,并出现在页面。这里本系统准备使用模糊查询技术,进行相关关键字的匹配。
(5)系统界面的设计与实现
一个网站的人性化设计和美观程度是非常重要的,在这个腕表交易系统中关键是让页面让用户看得赏心悦目,不能杂乱无章,要有条理。在这个网站中的所有页面都用到CSS样式表,JS,JQUERY等前端开发语言。
三、现有的研究基础
本人现在所属学院是软件工程学院,接触过各种编码语言,也了解数据库的开发和使用。之前也开发过一些小型的项目。也会在公司实习,在这里,不仅能学习到java里面的知识,还能学习框架以及前端开发的HTML,CSS,JavaScript以及JQuery技术,老师也结合项目向我们讲解了Mybatis和SpringMVC的开发,这都为本系统开发做了很好的基础。
在平时自己也会在图书馆借阅一些java方面的书籍,如:轻量级JavaEE企业应用实践、JSP从入门到精通、java编程思想等,更深入的学习JSP技术,JavaBean技术,Servlet以及SSM三大框架,所有这些工作都为本系统的设计垫定了良好的基础。
四、实施方案
4.1.系统架构设计
本系统是基于JSP,通过MVC模式设计及实现腕表交易系统的,视图层通过JSP技术实现,用来与用户打交道,负责接受数据以及显示数据给用户。控制层通过Servlet技术实现,负责找合适模型对象来处理业务逻辑并转发给合适的视图处理。模型层通过JavaBean技术实现,完成具体的与数据库业务操作的流程。系统架构图如图4.1所示。
图4.1系统架构图
4.2系统功能模块设计
腕表交易系统是为了让用户不用花费大量的时间、金钱和精力在网上进行交易的系统。在此系统中打破了人与人时间和地域限制,降低了传统交易的成本,提供了一种方便和快捷的生活方式。在腕表交易系统中,用户有三类:商家、用户和管理员。因为各自的权限不同,所以三类用户所要实现的系统功能不同。系统功能模块图如图4.2所示。
图4.2 系统功能模块图
4.2.1商家子系统的主要功能 :
(1)注册登录:用户需要输入用户名、密码、邮箱、姓名等一些信息进行认证,注册成为商家,注册成功后,跳转到登录界面,输入用户名、密码等进行登录。
(2)发布开店信息:商家在已经注册成商家并且登录后,发布自己的开店信息进行提交审核,审核通过后可以正常开店。
4.2.2用户子系统的主要功能:
(1)用户注册登录模块:用户注册填写手机号、密码、真实姓名、身份证号码(对身份证号码进行加密)、性别、生日等信息,获取验证码输入正确后,完成注册,调用方法对密码进行加密操作。用户登录,输入手机号,输入密码以及验证码,对登陆的用户输入的密码进行加密,然后通过数据中的密码与用户登陆输入的密码进行比较。
(2)商品模块:展示商品信息,并且根据用户输入的关键字进行查询,可使用模糊查询,分类查询,准确查询,如时间、名称等搜索自己想要的腕表,也可按时间、按品牌进行选择自己需要的腕表,节约用户搜寻腕表的时间,提升用户使用感受。
(3)智能推荐模块:根据用户搜索记录,浏览记录,以及购买记录等,采用组合推荐方式,将协同过滤和基于内容的推荐方法相结合,通过相似度计算,最终结果由这两者按照一定原则组合产生,对用户兴趣可以很好的建模,并通过对商品属性维度的增加,获得更好的推荐精度,减少了用户搜寻商品所花费的时间。
(4)个人中心模块:进入个人中心可以修改个人资料,修改密码,添加收货地址,查看或删除已有订单。用户在登录状态下可以进入个人中心,查看订单,可以查看订单的详细信息,若用户收到商品则显示已完成。
(5)购物车管理模块:当会员选购商品时,可以将商品加入到购物车,显示商品的名称、价格、数量,同时也可以显示购物车中所有商品的总价格、总数量。并且可以给会员一定的编辑权力,可以增删改查购物车里的商品。
(6)在线支付模块:会员可以在提交订单后进行在线支付,避免出现重复支付以及支付不及时等问题。
(7)留言模块:主要是实现跟管理员交流的功能,当会员想要其他商品时,可以通过此模块,给管理员留言。也可以查看其他会员给管理员的留言。
(8)收藏夹模块:用户对喜欢的商品进行收藏
4.2.3管理员的主要功能:
(1)登录模块:管理员需要登录到系统中才能对商品进行管理,才能进行相关的操作。
(2)公布信息模块:管理员可以在此模块中发布商品消息、商品活动预售,可以实时更新现场动态,所有的会员都可以在公布的信息下面评论和评价,并且还可以在展示商品的图片上加一个超链接,显示商品的价格、名称、数量等。以此方便会员了解和购买。
(3)信息管理模块:管理员可以对会员进行管理,也可以对商品信息、商品库存进行管理。
(4)订单管理:查看订单状态,其中包括查看订单是否支付,确保在支付成功的基础上,对发出的商品进行整理,避免商品的多发或少发。
(5)留言板管理:查看留言板信息,回复会员的消息。
4.3系统流程设计
在这个腕表交易系统上,有商家、用户和管理员三个角色。当未注册用户打开页面进行浏览时,需要购物或者想在页面上评论时,需要进行用户登录。未注册的用户可以立即注册,未登录的用户可以选择登录,然后系统会跳转到主页上。其中可以根据用户的不同操作进行不同的处理,比如用户选择个人中心,就可以在个人中心进行资料修改。还可以查看订单,还可以留言、评论商品和订购商品,订购商品时,需要用户先将商品加入到购物车,选择支付,产生订单,管理员才会处理订单和商品。管理员主要是对此系统中的信息进行管理,发布商品信息,回复留言以及查看订单等。当管理员发布了商品信息之后,会员和游客才能看的见商品的信息。未注册商家需要进行注册,注册成功后登录,提交开店信息进行审核,审核通过后商家发布开店信息,进行正常销售。系统总体流程图如图4.3所示:
图4.3系统总体流程图
4.3.1商家子系统总体功能
未注册商家需要进行注册登录后成为商家,登录后提交开店的详细信息进行审核,审核未通过需要重新进行填写,审核通过后需要发布商品信息,进行销售。
具体流程如图4.4所示:
图4.4商家子系统总体功能流程图
4.3.2用户子系统总体功能
用户可以选择注册或登录,注册过程中需要输入自己的手机号码、姓名等信息进行实名验证,然后跳转到用户页面;选择登录时,需要输入账号和密码,正确后才能跳转到用户页面;在用户界面可以进行的操作有:浏览页面、查找商品、查看商品具体信息;选择好自己想要的商品后,加入购物车,在线支付,也可以进行留言评论;查看留言板上其他用户的留言,也可以自己留言;进入个人中心后,修改个人信息、添加地址和查看订单等。具体流程如图4.5所示:
图4.5用户子系统总体功能流程图
4.3.3管理子系统总体功能
管理员的登录注册会员信息管理,可以删除和查询会员信息;对商品类别管理,动态划分商品类别;对商品信息管理,发布腕表信息,在线修改和删除商品,查询商品;对订单信息管理,查询订单并在线发货和删除订单管理;对评价和留言管理,管理员可以在留言板处了解用户对商品或商家的想法,查看留言板信息,回复会员的消息。以便更好的管理和维护网站。如图4.6所示:
图4.6管理子系统总体功能流程图
4.3.4 用户注册登录
未注册用户只能浏览,当用户注册成功后,才可以进行其他操作。注册需要填写身份信息。用户需要进入注册页面,输入账号进行注册,注册时会检查注册账号是否被其他人注册过,判断格式是否正确,然后再输入密码并确认密码,判断两次输入的密码是否相同。然后就是确定所有的用户信息,接着系统会显示验证码并要求用户对验证码进行验证,确定验证码是否正确。注册成功后的账号可以进行账号登陆,系统会对账号、密码、验证码进行验证和对比数据库的正确性的验证,这些条件都正确才会登录成功。用户注册登录流程图如图4.7所示:
图4.7用户注册登录流程图
4.3.5智能推荐模块
根据用户搜索记录,浏览记录,以及购买记录等,采用组合推荐方式,将协同过滤和基于内容的推荐方法相结合,通过相似度计算,最终结果由这两者按照一定原则组合产生,对用户兴趣可以很好的建模,并通过对商品属性维度的增加,获得更好的推荐精度,减少了用户搜寻商品所花费的时间。智能推荐处理流程如图4.8所示:
图4.8智能推荐流程图
4.3.6 支付模块
用户点击选择自己想要购买的商品,支付时间限制为10分钟,用户需在此期间添加真实姓名,身份证号码,确认无误选择支付方式,支付方式包括支付宝和微信两种,支付完成。支付模块的处理流程图如图4.9所示:
图4.9支付模块流程图
4.3.7个人中心
在用户登录之后,可以进入到个人中心界面,用户可以选择修改个人资料还是修改密码、查询订单信息、添加地址。修改密码时要注意验证码的填写是否正确,个人中心的处理流程图如图4.10所示:
图4.10个人中心处理流程图
4.4数据库设计
腕表交易系统的实体有用户、订单、商品、购物车、管理员。
用户有编号、账号、密码、姓名、性别、年龄、电话、头像、邮箱等属性,其中主键为编号,如图4.11所示:
图4.11 用户实体E-R图
订单有订单编号、商品编号、商品数量、订单金额、订单日期、订单状态等属性,如图4.12所示:
图4.12订单实体E-R图
商品有商品编号、商品名称、商品图片、商品类型、商品数量、商品价格等属性,其中主键是商品编号,如图4.13所示
图4.13商品实体E-R图
购物车有商品编号、用户编号、商品数量等属性,如图4.14所示:
图4.14购物车实体E-R图
管理员有账号、密码等属性,其中主键为账号,如图4.15所示:
图4.15管理员实体E-R图
多个用户可以拥有多笔订单,查看多个商品;多个管理员可以管理多笔订单,管理多个商品。如图4.16所示:
图4.16数据库E-R图
五、可行性分析
1技术可行性:采用浏览器/服务器型的B/S架构。由于受条件所限制,数据库服务器端采用MySQL关系型型数据库,但 MySQL数据库也有其独特的优势,分别是体积小、速度快、成本低以及开放源码等特点,所以非常适合中小型网站的开发。这有利于缩短大批量数据的吞吐时间,使整个系统管理规范化,数据的完整性、安全性得到保障.现在的计算机各方面的技术都非常成熟,相对来说开发此系统的技术也要求比较简单,因此在技术方面是可行的。
2.经济可行性:本次设计的系统均有本人操作,所以人员技术的投入成本几乎为零。本次设计系统为校内局域网使用,面对的使用对象为在校生及教师,在硬件方面要求不是很高,不存在多余费用,软件上选择也是大众比较认可的免费Eclipse以及运行稳定快捷的Mysql版本,整体来讲,人员技术、硬件及软件均无额外的费用。
3操作可行性:随着互联网的发展,目前销售方式均有传统方式转变为传统加互联网方式,各大生产厂家及贸易公司均建立自己的销售网站,把自己经营的产品发布到网站,可供采购方方便浏览对比,达到广泛宣传目的,达到无成本宣传,节约采购方需要到公司选择产品的时间及成本,并在一定程度上加强供方与客户之间的联系。腕表销售网站的开发让客户方便快捷了解本公司腕表的特色,方便客户选择,节省客户多家跑的麻烦,并且可以在网上交流订购自己喜爱的腕表,网站预订购买操作等方便快捷。
分析结果:从以上的分析可知,腕表交易系统的解决方案无论在技术,经济还是操作上都是可行的,且开发本系统具有一定的经济价值和实用价值。
|