《基于Java的网上购物系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Java的网上购物系统的设计与实现.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录1 绪论01.1 课题的研究意义01.2 本论文的目的、内容及开发环境和工具02 研究现状及设计目标02。1 相近研究课题的特点及优缺点分析02.2 现行研究存在的问题及解决办法13 要解决的几个关键问题23。1 研究设计中要解决的问题23.2 具体实现复杂性分析34 系统设计及结构44。1 数据库设计44.2 系统结构图65 系统实现技术75。1 分模块详述系统各部分的实现方法75。2 程序流程136 性能测试与分析136。1 测试实例(测试集)的研究与选择136.2 测试环境146.3 性能分析147 结束语14参考文献151 绪论1。1 课题的研究意义近年来,网络技术迅猛发展,人类已
2、经进入了信息化社会.随着人们消费观念和生活方式的改变,网上购物凭借其简单、快捷的特点逐渐融入了人们的生活中适应了当今社会快节奏地生活,使人们足不出户便可以方便快捷轻松地选购自己喜欢的商品。1.2 本论文的目的、内容及开发环境和工具1. 论文的目的、内容网上购物系统,是在网络上建立一个虚拟的购物商场,避免了挑选商品的烦琐过程,使您的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制“商场”运营的成本,开辟了一个新的销售渠道。本系统是一个中小型的电子商务系统,可以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。用户可以再系统中实现注册、登录、修改个人信息、
3、分类查询商品信息、购物、管理购物车、结账和查看各种服务条款等功能。通过后台管理模块可以实现后台管理员对会员、商品、物流、订单和系统管理。2. 开发环境和工具开发系统:Windows7 旗舰版开发工具:MyEclipse2014+Tomcat7.0+IE 浏览器+MySQL 开发技术:Java+数据库+Jsp+Html2 研究现状及设计目标2.1 相近研究课题的特点及优缺点分析相比于传统购物模式少了言语交流而有了更多的填单与确认过程,让人稍感不便外.总的来说,不受时间、地域限制、便捷、安全、省时省力等优点还是为买卖双方带来了不少好处.2.2 现行研究存在的问题及解决办法网上购物系统是比较常见而求
4、被广泛应用的系统,本系统的开发主要是购物车功能、订单功能和支付的实现,传统的购物模式,最令人烦恼的问题就是-商品的进货、 出货、交易以及顾客对其所购商品不满而引发的退货问题等等。现在市场上类似流行的网站或平台有很多。3 要解决的几个关键问题3.1 研究设计中要解决的问题1. 界面设计0界面布局设计是本系统中的一个重要的环节,本系统采用 B/S 结构,即浏览器/服务器模式。2. 功能需求网上购物系统的功能模块有很多,大体可被简单地划分为两部分:前台模块和后台模块。(1)前台模块:该模块主要供顾客使用,包括登录模块、注册模块、搜索模块、购登注搜录册索模模模块块块前台模块购物车模块支付模块物车模块、
5、支付模块等。前台模块功能结构图如图 3.1 所示。图 3。1前台模块结构图 登录模块本系统的登录模块提供网站用户的登录功能,包括用户名和密码的输入,此模块连接数据库,点击登录按钮,验证核实之后进入系统主界面. 注册模块本系统的注册模块提供网站游客的注册功能,输入个人资料,注册成为网站会员。包括用户名、密码、确认密码、性别、年龄、电子邮箱、验证码、地址和联系方式。 搜索模块本模块提供了两种搜索功能。包括模糊搜索和条件搜索。模糊搜索即关键字搜索, 用户输入自己想要商品的关键字,点击搜索按钮,进行搜索。 购物车模块购物车模块相当于现实中的购物车,用于暂时存放用户挑选的商品。可以显示所选商品的价格、数
6、量、小计和总计.模块功能包括单件商品的增减及删除,小计表示同类商品的价格,总计表示所选商品的总计价格.确认无误后,点击结算,便可生成订单。4 支付模块本模块提供了网上购物系统的支付功能。用户接收商品,确认试用后,点击支付, 给予评价,完成此次交易的最后一步.后台模块(2)后台模块:该模块主要供管理员使用,包括商品管理模块、会员管理模块、订单管理模块、公告模块等。后台模块功能结构图如图 3.2 所示。商会订品员单公管管管告理理理模模模模块块块块 商品管理模块图 3.2后台模块结构图网上购物系统的商品管理模块主要为管理员提供商品管理功能。管理员可修改商品信息,包括价格、库存、上架以及下架。 会员管
7、理模块会员管理模块为管理员提供了管理网站会员的功能。可以分配网站会员一定权限,也可删除会员。 订单管理模块此模块的功能主要为订单处理功能。管理员查看订单信息,给用户派送商品,等用户支付之后,修改订单状态,完成此次交易。 公告模块公告模块用来显示网站的一些活动、奖励、上架新品、特价商品以及下架通知等信息.3. 数据库的设计数据库是所有信息类系统的基础核心,它把系统中出现的大量数据按照一定的规则存储起来,提供检索数据的功能.4 系统设计及结构4.1 数据库设计1。数据库表的设计(1) 用户信息表(User_id,User_name,Password,Real_name,Age,Gender, Ad
8、dress,Email,Is_Admin,Phone),其中 User_id 为关键字。该表用来存储用户 id、用户名、密码、真实姓名、年龄、性别、地址、电子邮箱、是否为管理员和联系方式。表的结构如表 41 所示。表 41用户信息表含义字段类型键标识用户 idUser_idIntPrimarykey用户名User_nameVarchar密码PasswordVarchar真实姓名Real_nameVarchar年龄AgeInt性别GenderVarchar地址AddressVarchar邮箱EmailVarchar是否管理员Is_AdminVarcharDefault联系方式PhoneVarch
9、ar(2) )商品表( Product_id , Name , Kind_id,Price,Uptime , Downtime,Count , Month_sell,Pro_picture,Describe),其中 Product_id 为主键,Kind_id 为外键。该表用来存储商品 id、商品名称、种类 id、商品单价、上架时间、下架时间、库存量、月销量、商品图片和商品描述.表的结构如下表 42 所示。含义表 4-2字段商品信息表类型键标识商品 id 商品名称种类 id 商品单价上架时间下架时间Product_id Name Kind_id Price UptimeDowntimeInt
10、Varchar Int Double DateDatePrimarykeyForeignkey库存量CountInt月销量Month_sellInt商品图片Pro_pictureVarchar商品描述DescribeVarchar(3)商品种类表(Kind_id,Father_id,Kind_name,Kind_grade),其中 Kind_id 为主键.该表用来存储种类 id、父种类 id、种类名称和种类等级.表的结构如表 4-3 所示。表 4-3商品种类表含义字段类型键标识种类 idKind_idIntPrimarykey父种类 idFather_idInt种类名称Kind_nameVar
11、char种类等级Kind_gradeInt(4) 订单项表( Item_id,Order_id,Product_id,Product_count,User_id),其中 Item_id 为主键。该表存储订单项 id、订单 id、商品 id、商品数量、用户 id。表的结构如表 4-4 所示。表 44订单项表含义字段类型键标识订单项 idItem_idIntPrimarykey订单 idOrder_idInt商品 idKind_idInt商品数量Product_idInt用户 idUser_idInt(5) 订单表(Order_id,Pay_way,Deliver_way,Address,Rece
12、ive_name,Postcode, Receive_phone,User_id,State,isPaid),其中 Order_id 是主键,User_id 为外键。该表用来存储订单 id、支付方式、送货方式、送货地址、收货人姓名、收货人联系方式、邮政编码、用户 id 、订单状态、是否付款。表结构如表 45 所示。表 4-5订单表含义字段类型键标识订单 idOrder_idIntPrimarykey支付方式Pay_wayVarchar送货方式送货地址 收货人姓名收货人联系方式邮政编码用户 id 订单状态是否付款Deliver_way AddressReceive_name Receive_ph
13、one PostcodeUser_id State isPaidVarchar Varchar Varchar Varchar Varchar Int Varchar VarcahrForeignkey Default Default2。数据库表的关系图根据需求分析和上述的数据库设计,我们得出数据库表的 ER 图,如下图 4.1所示。4。2 系统结构图图 4.1 数据库表的关系图结构图以模块的关系为线索,用自上而下的连线表示调用关系并注明参数传递的方向和内容。根据第三章节的功能分析,可以得出本系统总体结构图。如图 4。2 所示。5网上购物系统前台模块后台模块支商会订品员单管管管理理理模模模块块
14、块登注搜购公付录册索物告模模模模车模块块块块块模块5 系统实现技术图4.2 网上购物系统总体模块结构图5.1 分模块详述系统各部分的实现方法1. 登录经过上述的各项步骤之后,基本上完成了一个网上购物系统的开发。本系统的登录界面如下图所示。输入用户名和密码,单击登录按钮,与数据库的用户信息表进行验证,核实身份后进入系统主界面。登录界面如图 5.1 所示。图 5。1 登录界面对应的部分程序代码为:Overrideprotected void service(HttpServletRequest request, HttpServletResponse response)6throws Servle
15、tException, IOException request。setCharacterEncoding(utf-8); response.setContentType(text/html;charset=utf-8”); String username = request.getParameter(username); String password = request。getParameter(”password”); PrintWriter out=response.getWriter();try User u = Userdao。getUser(username); if(u != n
16、ull)if(u.getUser_password().equals(password)request.getSession().setAttribute(”user, u); response.sendRedirect(/dog_heaven/jsp/main。jsp);else/script);else/script);out.println(”scriptalert(密码错误);window.history.go(1)out。println(”alert(用户名不存在);window.history。go(-1)catch (SQLException e) e.printStackTra
17、ce();2。注册7如果用户还不是本网站会员,就只能浏览商品,没有购物车功能,也不购买商品。 这时就需要注册会员。本系统注册界面如下图所示。本界面采用 Ajax 验证,即时更新验证输入的信息。完成个人信息的填写后,单击立即注册按钮 ,即可成为本网站会员.注册界面如图 5.2 所示。3。搜索图 5.2注册界面本系统搜索功能如下图所示,大体提供了两种搜索功能。第一种:关键字查找(模糊查找),会员输入关键字,单击搜索按钮进行搜索;第二种:条件查找,具体可为价格区间查找和商品类别查找. 对应的部分程序代码为:Overrideprivate void keywords(HttpServletReques
18、t request, HttpServletResponse response) throws SQLException, IOException String key= request.getParameter(”keywords);ArrayList Dog dogs =(ArrayList)Dogdao.findKeyWordsDog(key);PrintWriter out = response.getWriter(); out.println(”); out.println(title/title”);out.println( div style=background-image:
19、url(image/main/memu。jpg);height: 600px; ”); out。println(”table align=”center”); if (dogs.size()=0) out.println(”brbrdiv align=center”没有符合条件的商品/h1/divbr”);out。println(”div align=”center”a href=/dog_heaven/jsp/main。jsp”如有需要,请重新搜索/a/h2”);14br);return;else out.println(div align=centerh1商品如下/h1/divout。pr
20、intln(”div align=”centerahref=/dog_heaven/jsp/main。jsp”返回首页/a); for (int i = 0; i dogs.size(); i+) Dog d = dogs。get(i); if(i = 0)out。println(tr”);if(i4=0&i!=0) out。println(”);out。println();out。println();out。println(”/a/tr”);out。println(tr”+d.getDog_describe()+/td td img src=image/main/price.jpg”/out
21、。println(” ”+d。getDog_now_price()+/tr”);out.println(”/td);out.println(”/div ”); out。println(”/body); out。println(”/html”); out.flush();out。close();4.购物车购物车模块相当于现实中的购物车,用于暂时存放用户挑选的商品。顾客可以选择单件商品数量或者删除商品.小计表示同类商品的价格,总计表示所选商品的总计价 格。确认无误后,点击结算,生成订单。核心程序代码为:private ArrayListCartItem printCartItem(PrintWri
22、ter out, ShoppingCart cart)ArrayListCartItem items = cart.getCart(); CartItem item = null;out.println(”); out。println();out.println(th width=100”图片”); out.println(th width=100价格/th); out。println(”th width=100”数量/th”); out。println(th width=100小计/th); out.println(操作/th”); out。println(/tr);for (int i =
23、 0; i ”);out。println(”);out。println(td);out。println(”td align=center”+item。getPrice()+元/td”); out。println(”font size=”5 +item.getQuantity() + /td);out.println(” + item。getSum() + 元”); out.println(td align=”center”ahref=/dog_heaven/DelShoppingCartServlet?id=”+ item.getId()+ ”font color=”red删除/td);out
24、.println(”);out。println(”tr”);out。println(总计:font color=”red”; size=6”;+ cart。getTotal() + ”元a href=”/dog_heaven/RemoveAllServlet清空/a);out。println(”input type=submit value=结算/td”);out。println(”); out.println(”);out。println(”/table); return items;5.2 程序流程开始购物网站登录注册N管理员前台填写信息Y后台查看商品加入购物车YN支付结束根据需求分析和详
25、细设计描述,能够得出本系统的运行流程,如图 5。5 所示.会订商公员单品告管管管管理理理理6 性能测试与分析图 5。5 系统程序流程图6。1 测试实例(测试集)的研究与选择该测试案例是以一个 B/S 的功能点为被测对象, 该测试用例为黑盒测试用例。所谓黑盒测试就是在程序接口进行测试,它是检查功能是否按要求实现各个功能,程序是否能适当地接收输入数据并产生正确的输出信息。白盒测试与黑盒测试相反,测试根据被测程序的内部结构设计测试用例,测试者需事先了解程序的结构.本系统的测试功能描述如下:1. 用户登录界面输入密码,进入购物网站主界面.2. 选择一件商品,放入购物车。3。更改购物车中商品数量、种类,
26、点击结算按钮,进入订单生成界面.4.填写订单信息,点击确定,完成订单,等待卖家发货。6.2 测试环境1. 硬件环境硬件配置主要包括硬件的选择.网上购物系统的硬件配置要根据用户对系统的稳定性要求、系统的容量来确定。2。软件环境网上购物系统的软件配置要根据用户对系统的稳定性要求以及用户的维护水平来确定。当然,一般情况下,对微软 Windows 界面比较熟悉,因此都使用 Windows XP 操作系统。6.3 性能分析1。对系统用户进行管理。2。为了加强数据保密性,为用户设置权限.3。系统最大限度地实现了易安装性、易维护性和易操作性.4.系统运行稳定、安全可靠.7 结束语本系统是的设计与研发基于软件
27、工程学,用来对网上商品等信息进行有效的管理. 大体可分为两大功能模块,前台模块和后台模块。往下又可分为许多子模块。前台模块提供了商品展示功能和用户购物功能。后台模块提供了管理用户信息 ,管理商品信息,以及处理订单信息等功能。本系统至上而下功能层次分明,为用户和管理员的使用提供了便利。本次毕业设计中,也体现出了自身的不足 .首先,在开发网上购物系统的前期, 由于对开发工具的掌握还不够全面,浪费了不少时间。其次,前期研发时缺少对本系统的总体设计,考虑的不够全面,导致在底层功能扩充时,遇到了不少困难.再次,网站制作方面的知识比较缺乏,开发软件的能力还有待提高。参考文献:1 程雯.我国网络购物现状浅析J.价格月刊,2009(09):18-26.2 管晶晶.足不出户购物是怎样实现的?J.今日科苑,2007(21):2042.3 来学伟.基于JSP 的学生信息管理系统的设计J.济源职业技术学院学报,2010(11):1-160.4 崔巍陈国青.数据库应用与设计M。北京:清华大学出版社,2009。5 梁小晓。基于B/S 结构学生信息管理系统的设计与实现D。成都。电子科技大学:2009.6 陈晓鹏. JavaWeb 应用技术开发
限制150内