《面向对象程序设计Ⅱ》课程设计说明书题目:购物系统学院:计算机与信息工程学院专业:计算机科学与技术班级:AA姓名:AA学号:07起止时间:2009.12.7--2009.12.18课程设计任务书一、设计题目:《购物系统》二、设计内容:本任务要实现一个购物系统,可以为购书,购花等内容的购物系统。
三、设计要求:系统用户分成两级,普通用户可以使用注册、登陆、浏览用品、查看商品详细信息、查询商品、管理购物车、查看自己订单、修改个人信息的功能。
系统管理员可以进行用户管理、包括查询、修改、删除用户信息,进行商品管理包括查看、查询、添加、修改、删除商品,订单管理包括查看订单、修改订单、删除订单的功能。
具体功能:1.新用户注册、登陆:用户信息的注册、登陆功能2.查询商品:商品可选择查询类别和字段进行查询,如书籍可以包括按书名、作者、价格、ISBN、出版社等,并分页显示3.查看商品:主页显示最新商品或推荐商品。
用户点击查看商品详细信息,点击购买放入购物车4.修改个人信息:可以修改个人注册信息5.订单查看功能:用户可以查看自己的订单。
包括购买的商品信息和订单状态6.添加、修改、删除商品功能:管理员功能,可以实现商品的添加、修改和删除功能7.查看、查询、修改、删除订单功能:管理员功能,对订单进行查看,查询,修改和删除功能8.订单生产,用户选定商品后最终系统生成订单,订号号唯一9.购物车:用户点击购买商品,商品的名称、价格、数量、总价等信息保留在购物车中,直到订单生成,还可修改购物车中的数量,删除商品指导教师:教研室主任:2009 年12月7 日课程设计成绩评定表摘要随着计算机科学的发展,计算机技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。
个性化已逐渐成为当今Web应用的潮流。
现如今网上购物已经成为一种时尚,成为潮流一族的必备武器。
网上购物系统,可以使人们足不出户就可以购买到自己喜欢的商品,给人们带来了诸多的便利和实惠。
基于J2EE开发的购物系统设计是采用JDK 1.5.0作为开发环境,Oracle作为数据库服务器,Tomcat6.0为Web服务器,满足了人们在网上购物的需求。
关键词:J2EE 购物系统Oracle数据库Tomcat6.0目录课程设计任务书....................................................................................................................... I I 摘要...................................................................................................................................... I II 目录 (V)一、设计内容 (1)二、设计过程 (1)2.1需求分析 (1)2.2概要设计...................................................................................... 错误!未定义书签。
2.3详细设计 (7)2.4代码实现 (8)2.5程序运行与发布 (14)三、总结 (15)四、参考文献............................................................................................ 错误!未定义书签。
一、设计内容购物系统可以称为网上电子系统。
该系统可以实现在网上购物的功能,客户从浏览器端,在页面上进行登录注册,浏览网页上罗列的各种商品,然后进行选择,最后加入购物车,整个流程使用户操作简单。
同时管理员有特权在商品架上添加商品,以及商品的价格等相关内容。
该购物系统采用B/S结构模式,界面简洁,操作简单,满足了潮流人士在网上购物的需要。
二、设计过程需求分析1引言本系统的主要目的是为各类商品信息提供分类管理、维护和网上订购功能,不但能够方便用户购买,而且有效地扩大了销售范围。
利用本系统,用户可以足不出户的进行商品信息的查询和订购,和传统的购买方式相比有着较大的优势。
本系统遵循软件工程标准,并按照软件工程规定的流程进行项目的开发。
2项目名称购物系统3系统概述本系统是一个电子购物系统,系统用户分为两级管理,分别为:普通用户和系统管理员。
其中,普通用户可以使用的功能主要包括:注册新用户,登陆电子购物系统,浏览商品,查看商品的详细信息,查询商品,管理购物车,查看自己的订单,管理自己的订单等功能。
系统管理员具有管理系统的权限,可以进行电子商品用户管理,包括查询,删除,修改等:可以进行商品管理,包括查看,查询,添加新商品等。
4任务概述4.1 功能定义管理员登陆:系统初始化好部分的管理员用户,这些管理员能够通过该入口进入后台进行管理操作管理员管理商品:管理员能够添加商品,在添加商品时包括商品的相关信息,如价格,图片,数量,类别等,还可以进行删除、修改操作。
用户注册:网络用户均能够注册,注册信息包括:用户名,密码,性别,联系地址,电话等,用户不能重复。
用户在线购物:用户可以查看所有的上架商品,选择并购买,并可以购买多个。
用户管理购物车:用户可以查看自己已经选购的商品和数量、金额等相关信息,也可以修改购买数量,可以清空购物车用户查看订单:用户可以查看自己下达的订单4.2 目标用户可以再浏览器端在网页上进行商品的查看,选购,最后加入购物车,进行购买,为广大的网上购物达人提供便利与快乐4.3范围可应用在学校内部现有的这个网络环境下,或者公司的局域网,以及小型网站等,由专人授权管理负责。
5 系统模块结构图6测试环境1.硬件环境:处理器:Intel Pentium Ⅲ或更高内存:32M或者更大硬盘空间:1GB显卡:SVGA显示适配器2.软件环境:操作系统:windows98/ME/2000/XPweb服务器:Tomcat 6.0或者以上版本数据库:Oracle客户端:IE5.0或以上版本开发语言:JSP JA V A概要设计1.引言设计电子购物系统的目的是为广大的网络用户提供一个网上购物平台,利用网络的便捷方便人们的日常生活。
为了使它适合更多的用户使用,系统的界面设计应该尽量做到又好,简洁,功能的实现更注重人性化,方便用户的购买,使用户很快可以熟练掌握使用方法。
本系统采用B/S结构模式,服务器端使用JSP进行动态网页的开发1.1编写目的此文档作为用户对即将开发的软件的功能要求,是软件设计和开发者的主要依据。
1.2背景项目名称:购物系统用户:网上购物一族1.3参考资料《软件工程导论》(第五版)清华大学出版社张海潘编著《软件工程课程设计》2总体设计2.1需求规定用户可以浏览商品,并了解商品的相关信息,将所需商品放入购物车,并管理购物车中的商品,系统管理员可以对商品进行管理,如增删改查等。
2.2运行环境1.硬件环境:处理器:Intel Pentium Ⅲ或更高内存:32M或者更大硬盘空间:1GB显卡:SVGA显示适配器2.软件环境:操作系统:windows98/ME/2000/XPweb服务器:Tomcat 6.0或者以上版本数据库:Oracle客户端:IE5.0或以上版本开发语言:JSP JA V A2.3基本设计概念和处理流程1、数据流图登陆成功2、模块设计(1) 数据库访问模块:利用JavaBean 封装对数据库的操作,主要包括连接数据库,添加,修改,删除,关闭连接功能等。
当Jsp 页面中需要访问数据库时直接调用这个JavaBean 即可。
(2)用户管理模块:负责管理系统所有用户的信息(3)商品管理模块:负责管理所有商品的相关信息,包括查看,修改等(4)购物车模块:包括将商品加入拿出购物车,显示购物车的内容等功能(5)订单管理模块:负责当前订单所有管理模块(6)分页显示模块:分页显示模块包括显示商品信息列表和订单信息列表3运行设计3.1运行模块的组合模块命名方式按照相应模块结合特性制定。
3.2运行时间各模块运行时间均应控制在1—3秒内(其中大部分为响应用户的动作)。
由于系统采用事件驱动方式,有效提高计算机的利用率.4出错处理设计所出现的故障可能为以下两个方面以及处理方法:a. 硬件故障。
微机监控系统担负着网络的参数测量、信息传递、数据显示、实时控制和分析计算等多项任务,因此维护这套系统各个部件的正常运行至关重要。
故障诊断系统对微机监控系统本身的硬件故障进行诊断,及时通知有关人员进行处理。
b. 操作故障。
可能由于用户的操作不当造成错误,页面静止,无反应,自动退出等。
详细设计1.引言随着计算机技术和现代通信技术的发展,人们的生活已经变得日益便利。
该系统的设计能够满足潮流人士网上购物的需要。
系统的功能的实现更注重人性化,方便用户的购买,使用户很快可以熟练掌握使用方法1.1项目名称购物系统2.系统流程图Index.jsp<html><head><title>登陆页</title> </head><body><br><br><br><br><form action="/ShopCar/servlet/login" method="post"><center>账号:<input type="text" name="name"><br><br>密码:<input type="password" name="password"><br><br>级别:<input type="radio" name="leve" value="putong" checked>普通<input type="radio" name="leve" value="admin">管理员<br><br><input type="submit" value="提交"> <input type="reset" value="重置"> <a href="/ShopCar/ZhuCe.jsp?leve=putong">注册</a></center></form></body></html><html>Add.jsp<head></head><body><br><br><br><br><center><form action="/ShopCar/servlet/Add" method="post">商品名: <input type="text" name="proname"><br><br>商品种类:<input type="text" name="profile"><br><br>所属类型:<input type="text" name="type"><br><br>商品价格:<input type="text" name="price"><br><br>库存量: <input type="text" name="totalnum"><br><br><input type="submit" value="提交"> <input type="reset" value="重置"></form></center></body></html>Mycar.jsp<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%@ page import="com.CRQ.Car.vo.*" %><html><head><title>列出购买商品页面</title></head><body><% ArrayList array = (ArrayList)session.getAttribute("myList");int money = 0;if(array!=null){%><center> <img src="/ShopCar/image/BANNER3.JPG"/><hr><br><table><tr><th>  图片  </th><th>  名字  </th> <th>  类型  </th><th>  单价  </th><th>  数量  </th><th>  删除  </th></tr><%for(int i=0;i<array.size();i++){ItemVo vo = (ItemV o)array.get(i);%><tr><td><img src="/ShopCar/image/<%=vo.getPicname()%>" width="80" high="80"/></td> <td>  <%=vo.getProname()%>  </td><td>   <%=vo.getProfile()%>  </td><td>    <%=vo.getPrice()%>  </td><td>    <%=vo.getNum()%>  </td><td>   <a href="/ShopCar/servlet/DeleteProduct?id=<%=vo.getId()%>">删除</a>  </td></tr><%money += vo.getPrice()*vo.getNum();}%></table>总价为:<%=money%><a href="/ShopCar/servlet/ListProduct"><font size=4 color="blue" face="隶书">继续购买</font></a></center><%}else{%>啥也没买<%}%></body></html>Updata.jsp<html><head> </head><body><%int id = Integer.parseInt(request.getParameter("id"));%><br><br><br><br><center><form action="/ShopCar/servlet/Update" method="post">商品名: <input type="text" name="proname"><br><br>商品种类:<input type="text" name="profile"><br><br>所属类型:<input type="text" name="type"><br><br>商品价格:<input type="text" name="price"><br><br>库存量: <input type="text" name="totalnum"><br><br><input type="hidden" name="id" value=<%=id%>><input type="submit" value="提交"> <input type="reset" value="重置"></form></center></body></html>Listproduct.jsp<html><head><title>列出商品页面</title></head><body><% ArrayList array = (ArrayList)request.getAttribute("array");String name = (String)session.getAttribute("name");int num = Integer.parseInt((String)application.getAttribute("num"));%><center><img src="/ShopCar/image/BANNER3.JPG"/><br><form action="/ShopCar/servlet/ListProduct" method="post"><select name='type'><option value="all">所有</option><option value="food">食品</option><option value="chec">医用</option><option value="elect">电器</option><option value="sport">运动</option><option value="study">学习</option><option value="other">其他</option></select><select name='bigOrsmall'><option value="asc" selected>升序</option><option value="desc">降序</option><input type="submit" value="提交"></form><font size=3 color="blue" face="隶书">欢迎:<%=name%></font><hr><br><table><tr><th> 图片 </th><th> 名字 </th><th> 类型 </th><th> 单价 </th><th> 加入购物车 </th></tr><%for(int i=0;i<array.size();i++){ProductPO Pp = (ProductPO)array.get(i);%><tr><td><img src="/ShopCar/image/<%=Pp.getPicname()%>" width="80" high="80"/></td> <td> <%=Pp.getProname()%> </td><td> <%=Pp.getProfile()%> </td><td> <%=Pp.getPrice()%> </td><td> <a href="/ShopCar/servlet/AddCar?id=<%=Pp.getId()%>"> <img src="/ShopCar/image/buy.jpg"/></a> </td></tr><%}%>Update.javaimport java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.CRQ.Car.dao.ProductDAO;import com.CRQ.Car.po.ProductPO;public class Update extends HttpServlet {/*** Constructor of the object.*/public Update() {super();}/*** Destruction of the servlet. <br>*/public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here} /*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);} /*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post. ** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("GBK");String proname = request.getParameter("proname");String profile = request.getParameter("profile");String type = request.getParameter("type");int price = Integer.parseInt(request.getParameter("price"));int totalnum = Integer.parseInt(request.getParameter("totalnum"));int id = Integer.parseInt(request.getParameter("id"));ProductPO po = new ProductPO();po.setId(id);po.setProname(proname);po.setProfile(profile);po.setPrice(price);po.setType(type);po.setTotalnum(totalnum);ProductDAO dao = new ProductDAO();boolean flag = dao.Update(po);if(flag){response.sendRedirect("/ShopCar/servlet/Admin_List");}}/*** Initialization of the servlet. <br>** @throws ServletException if an error occure*/public void init() throws ServletException {// Put your code here}}3.4程序运行与发布本系统需布置到网络服务器上(如:Tomcat),用户及管理员通过浏览器对信息进行相应的操作。