基于Java的网上购物系统的设计与实现_第1页
基于Java的网上购物系统的设计与实现_第2页
基于Java的网上购物系统的设计与实现_第3页
基于Java的网上购物系统的设计与实现_第4页
基于Java的网上购物系统的设计与实现_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、郑州大学(软件学院)实习报告学生姓名 王 鑫院(系) 软件学院专 业 软件工程指导教师 韩梦薇2014年 12月 目 录1 绪论11.1 课题的研究意义11。2 本论文的目的、内容及开发环境和工具12 研究现状及设计目标12。1 相近研究课题的特点及优缺点分析12.2 现行研究存在的问题及解决办法13 要解决的几个关键问题23。1 研究设计中要解决的问题23。2 具体实现复杂性分析34 系统设计及结构44。1 数据库设计44。2 系统结构图65 系统实现技术75.1 分模块详述系统各部分的实现方法75。2 程序流程136 性能测试与分析136.1 测试实例(测试集)的研究与选择136。2 测试

2、环境146。3 性能分析147 结束语14参考文献151 绪论1。1 课题的研究意义近年来,网络技术迅猛发展,人类已经进入了信息化社会。随着人们消费观念和生活方式的改变,网上购物凭借其简单、快捷的特点逐渐融入了人们的生活中适应了当今社会快节奏地生活,使人们足不出户便可以方便快捷轻松地选购自己喜欢的商品。1。2 本论文的目的、内容及开发环境和工具1。论文的目的、内容网上购物系统,是在网络上建立一个虚拟的购物商场,避免了挑选商品的烦琐过程,使您的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制“商场”运营的成本,开辟了一个新的销售渠道。本系统是一个中小型的电子商务系统,可

3、以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。用户可以再系统中实现注册、登录、修改个人信息、分类查询商品信息、购物、管理购物车、结账和查看各种服务条款等功能。通过后台管理模块可以实现后台管理员对会员、商品、物流、订单和系统管理.2. 开发环境和工具开发系统:Windows7旗舰版开发工具:MyEclipse2014+Tomcat7.0+IE浏览器+MySQL开发技术:Java+数据库+Jsp+Html2 研究现状及设计目标2.1 相近研究课题的特点及优缺点分析相比于传统购物模式少了言语交流而有了更多的填单与确认过程,让人稍感不便外。总的来说,不受时间、地域限制、便捷、安全

4、、省时省力等优点还是为买卖双方带来了不少好处。2.2 现行研究存在的问题及解决办法网上购物系统是比较常见而求被广泛应用的系统,本系统的开发主要是购物车功能、订单功能和支付的实现,传统的购物模式,最令人烦恼的问题就是-商品的进货、出货、交易以及顾客对其所购商品不满而引发的退货问题等等。现在市场上类似流行的网站或平台有很多。3 要解决的几个关键问题3。1 研究设计中要解决的问题1.界面设计界面布局设计是本系统中的一个重要的环节,本系统采用B/S结构,即浏览器/服务器模式。2.功能需求网上购物系统的功能模块有很多,大体可被简单地划分为两部分:前台模块和后台模块.(1)前台模块:该模块主要供顾客使用,

5、包括登录模块、注册模块、搜索模块、购物车模块、支付模块等。前台模块功能结构图如图3。1所示。图3。1 前台模块结构图 登录模块本系统的登录模块提供网站用户的登录功能,包括用户名和密码的输入,此模块连接数据库,点击登录按钮,验证核实之后进入系统主界面. 注册模块本系统的注册模块提供网站游客的注册功能,输入个人资料,注册成为网站会员.包括用户名、密码、确认密码、性别、年龄、电子邮箱、验证码、地址和联系方式。 搜索模块本模块提供了两种搜索功能。包括模糊搜索和条件搜索。模糊搜索即关键字搜索,用户输入自己想要商品的关键字,点击搜索按钮,进行搜索. 购物车模块购物车模块相当于现实中的购物车,用于暂时存放用

6、户挑选的商品。可以显示所选商品的价格、数量、小计和总计。模块功能包括单件商品的增减及删除,小计表示同类商品的价格,总计表示所选商品的总计价格.确认无误后,点击结算,便可生成订单. 支付模块本模块提供了网上购物系统的支付功能。用户接收商品,确认试用后,点击支付,给予评价,完成此次交易的最后一步. (2)后台模块:该模块主要供管理员使用,包括商品管理模块、会员管理模块、订单管理模块、公告模块等.后台模块功能结构图如图3。2所示。图3。2 后台模块结构图 商品管理模块网上购物系统的商品管理模块主要为管理员提供商品管理功能。管理员可修改商品信息,包括价格、库存、上架以及下架.会员管理模块会员管理模块为

7、管理员提供了管理网站会员的功能。可以分配网站会员一定权限,也可删除会员。订单管理模块此模块的功能主要为订单处理功能。管理员查看订单信息,给用户派送商品,等用户支付之后,修改订单状态,完成此次交易。公告模块公告模块用来显示网站的一些活动、奖励、上架新品、特价商品以及下架通知等信息。3。数据库的设计数据库是所有信息类系统的基础核心,它把系统中出现的大量数据按照一定的规则存储起来,提供检索数据的功能。4 系统设计及结构4.1 数据库设计1。数据库表的设计(1)用户信息表(User_id,User_name,Password,Real_name,Age,Gender,Address,Email,Is_

8、Admin,Phone),其中User_id为关键字。该表用来存储用户id、用户名、密码、真实姓名、年龄、性别、地址、电子邮箱、是否为管理员和联系方式。表的结构如表41 所示.表4-1 用户信息表含义字段类型键标识用户idUser_idIntPrimarykey用户名User_nameVarchar密码PasswordVarchar真实姓名Real_nameVarchar年龄AgeInt性别GenderVarchar地址AddressVarchar邮箱EmailVarchar是否管理员Is_AdminVarcharDefault联系方式PhoneVarchar(2)商品表(Product_id

9、,Name,Kind_id,Price,Uptime,Downtime,Count,Month_sell,Pro_picture,Describe),其中Product_id为主键,Kind_id为外键。该表用来存储商品id、商品名称、种类id、商品单价、上架时间、下架时间、库存量、月销量、商品图片和商品描述。表的结构如下表42所示。表42 商品信息表含义字段类型键标识商品idProduct_idIntPrimarykey商品名称NameVarchar种类idKind_idIntForeignkey商品单价PriceDouble上架时间UptimeDate下架时间DowntimeDate库存量

10、CountInt月销量Month_sellInt商品图片Pro_pictureVarchar商品描述DescribeVarchar(3)商品种类表(Kind_id,Father_id,Kind_name,Kind_grade),其中Kind_id为主键。该表用来存储种类id、父种类id、种类名称和种类等级.表的结构如表4-3所示。表43 商品种类表含义字段类型键标识种类idKind_idIntPrimarykey父种类idFather_idInt种类名称Kind_nameVarchar种类等级Kind_gradeInt(4)订单项表(Item_id,Order_id,Product_id,Pr

11、oduct_count,User_id),其中Item_id为主键。该表存储订单项id、订单id、商品id、商品数量、用户id。表的结构如表44所示.表44 订单项表含义字段类型键标识订单项idItem_idIntPrimarykey订单idOrder_idInt商品idKind_idInt商品数量Product_idInt用户idUser_idInt(5) 订单表(Order_id,Pay_way,Deliver_way,Address,Receive_name,Postcode,Receive_phone,User_id,State,isPaid),其中Order_id是主键,User_i

12、d为外键.该表用来存储订单id、支付方式、送货方式、送货地址、收货人姓名、收货人联系方式、邮政编码、用户id 、订单状态、是否付款。表结构如表45所示。表45 订单表含义字段类型键标识订单idOrder_idIntPrimarykey支付方式Pay_wayVarchar送货方式Deliver_wayVarchar送货地址AddressVarchar收货人姓名Receive_nameVarchar收货人联系方式Receive_phoneVarchar邮政编码PostcodeVarchar用户idUser_idIntForeignkey订单状态StateVarcharDefault是否付款isPa

13、idVarcahrDefault2.数据库表的关系图根据需求分析和上述的数据库设计,我们得出数据库表的ER图,如下图4。1所示。图4.1 数据库表的关系图4。2 系统结构图结构图以模块的关系为线索,用自上而下的连线表示调用关系并注明参数传递的方向和内容。根据第三章节的功能分析,可以得出本系统总体结构图。如图4.2所示.图4.2 网上购物系统总体模块结构图5 系统实现技术5。1 分模块详述系统各部分的实现方法1.登录经过上述的各项步骤之后,基本上完成了一个网上购物系统的开发.本系统的登录界面如下图所示。输入用户名和密码,单击登录按钮,与数据库的用户信息表进行验证,核实身份后进入系统主界面.登录界

14、面如图5.1所示。图5。1 登录界面对应的部分程序代码为:Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request。setCharacterEncoding(”utf8"); response。setContentType(”text/html;charset=utf8”); String username = request。getParameter(”username”);

15、 String password = request。getParameter(”password”); PrintWriter out=response。getWriter(); try User u = Userdao。getUser(username); if(u != null) if(u。getUser_password()。equals(password) request.getSession()。setAttribute(”user”, u);response。sendRedirect(”/dog_heaven/jsp/main.jsp"); elseout.print

16、ln(”scriptalert(密码错误);window。history。go(1)/script”); else out。println(”scriptalert(用户名不存在);window。history。go(-1)</script”); catch (SQLException e) e。printStackTrace(); 2.注册如果用户还不是本网站会员,就只能浏览商品,没有购物车功能,也不购买商品.这时就需要注册会员。本系统注册界面如下图所示.本界面采用Ajax验证,即时更新验证输入的信息.完成个人信息的填写后,单击立即注册按钮,即可成为本网站会员。注册界面如图5。2所示。

17、图5。2 注册界面3。搜索本系统搜索功能如下图所示,大体提供了两种搜索功能。第一种:关键字查找(模糊查找),会员输入关键字,单击搜索按钮进行搜索;第二种:条件查找,具体可为价格区间查找和商品类别查找。对应的部分程序代码为:Overrideprivate void keywords(HttpServletRequest request, HttpServletResponse response) throws SQLException, IOException String key = request.getParameter(”keywords”); ArrayListDog dogs = (

18、ArrayList)Dogdao。findKeyWordsDog(key); PrintWriter out = response.getWriter();out.println(”html");out。println(”head>title/title/head>");out。println("body>”); out。println(” div style=”backgroundimage: url(image/main/memu。jpg);height: 600px; ">”);out.println(”<table

19、align="center"");if (dogs.size()=0) out。println(”br<brdiv align=”center">h1没有符合条件的商品/h1/divbr”);out。println("div align="center”h2<a href="/dog_heaven/jsp/main。jsp”如有需要,请重新搜索</a/h2</div>br”);return;else out.println("<br<brdiv align=”cent

20、er”h1>商品如下/h1/divbr”);out.println(”<div align="center"h2>a href="/dog_heaven/jsp/main.jsp”>返回首页/a/h2</div>br>");for (int i = 0; i dogs。size(); i+) Dog d = dogs。get(i); if(i = 0) out。println("tr”); if(i%4=0i!=0) out。println(”/tr”); out。println(”<td&quo

21、t;);out。println(”<table width=” 200px"”);out。println("<trtd colspan=”2”>a href=”detailServlet?id="+d.getDog_id()+”>img width=”180px"; height=”220px"; src=”image/dog/”+d.getDog_picture()+”"/a/td>/tr”);out.println("<trtd colspan=”2”+d。getDog_describ

22、e()+”/td>/tr”);out。println(”tr <td ><img src="image/main/price。jpg"/td ");out。println(” td>”+d.getDog_now_price()+”</td /tr”);out.println(”</table>/td>”);out。println("/div>”);out.println(”/body");out。println(”</html”);out。flush();out。close();

23、4。购物车购物车模块相当于现实中的购物车,用于暂时存放用户挑选的商品。顾客可以选择单件商品数量或者删除商品.小计表示同类商品的价格,总计表示所选商品的总计价格。确认无误后,点击结算,生成订单.核心程序代码为: private ArrayListCartItem> printCartItem(PrintWriter out, ShoppingCart cart) ArrayList<CartItem> items = cart。getCart();CartItem item = null;out。println(”<table width="500” borde

24、r=”1" ”);out.println("tr”);out。println("th width=”100">图片</th>”);out.println(”<th width="100”价格/th>”);out。println(”th width=”100”数量/th”);out。println("th width="100”小计/th>”);out。println("th width=”100”操作/th");out。println("</tr&quo

25、t;);for (int i = 0; i items。size(); i+) item = items。get(i);out。println(”form action=”jsp/memu.jsp?price=”+item.getPrice()+”number=”+item。getQuantity()+”&dogid=”+item。getId()+” ”);out。println(”tr>”);out。println("tdimg width=” 100px"; height=” 100px”; src=”image/dog/”+ item.getPic()

26、+ ”" /td”);out。println("td align=”center”"+item。getPrice()+”元/td”);out。println("td align=”center”>font size="5”>" + item。getQuantity() + ”/font/td");out。println("td align="center”" + item。getSum() + ”元</td>");out。println(”td align=&q

27、uot;center”<a href=”/dog_heaven/DelShoppingCartServlet?id="+ item.getId()+ ""<font color="red”>删除/font>/a</td”);out。println("/tr>”);out.println(”tr”);out。println(”td colspan=”3” align=”center”总计:font color="red”; size="6">”+ cart.getTotal(

28、) + ”/font元/td");out。println(”td align="center”a href="/dog_heaven/RemoveAllServlet">清空</a></td”);out。println(”td align=”center”><input type="submit” value=”结算”/td>”);out。println(”/tr”);out。println(”/form>");out。println("</table”);return items;5。2 程序流程根据需求分析和详细设计描述,能够得出本系统的运行流程,如图5.5所示。图5。5 系统程序流程图6 性能测试与分析6。1 测试实例(测试集)的研究与选择该测试案例是以一个B/S的功能点为被测对象, 该测试用例为黑盒测试用例。所谓黑盒测试就是在程序接口进行测试,它是检查功能是否按要求实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论