网上商城的设计与实现讲解学习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
( 2015 / 2016 学年第1学期)
题目:网上商城的设计与实现
-商品查询、订购、更改、支付模块
网上商城的设计与实现
——商品查询、订购、支付、更改模块
一、课题内容和要求
根据现有的网上购物系统的现状设计并实现一种基于web的网上商城,该商城能够实现用户注册,购物车管理,商品搜索,用户资料修改等功能,实现管理员的商品管理,用户信息管理等功能。要求实现的最基本的功能如下:
•网站公告模块;
•留言板模块;
•用户中心模块;
•商品查询模块;
•商品订购模块;
•在线支付模块;
•管理员模块(商品管理、用户管理、订单管理等,可以通过后台功能及时受理,修改,删除用户的定单等信息,还可以添加,修改,删除商品等信
息)
•其它个性化功能扩展
二、需求分析
1.随着网络技术的发展,越来越多的人喜欢在网上宣传自己的产品,喜欢网
上购物。图书产品从其外部特征来看,品种繁多,实体书店或其它图书发行者无法有足够大的店面来展示所有品种;单价不高,在网络信用还存在缺失的环境下能造成的损失较小,读者也乐于尝试在线购买。所以网上书店网站也在互联网上纷纷出现。本次课程设计我们小组做的课题就是网上书城,我负责部分是商品查询模块、商品订购模块、在线支付模块和用户模块中的图书管理部分。
2.商品查询模块:
进行书籍的查询,用户可以按图书类别、按书名、按作者、按出版社进行查询。每本书都显示了书名、作者、定价、特价等,如果想了解每本书的详细
信息可以点击书名,详细信息还包括了书籍描述、内容简介等。
3.商品订购模块:
用户在浏览书籍时,按下“放入购物车”按钮,就可以将书籍放入自己的购物车中,便于购买。用户还可以根据自己的需要,进行查看、修改和清空购物车的操作。确认购买可点击“购买”进入支付系统。
4.在线支付模块:
用户在确认购买书籍后可点击“购买”进入支付系统,进行网上支付。
5.管理员模块(添加,修改,删除,查询商品):
管理系统是系统管理员对整个网站后台数据库进行维护,是此网站最重要的大门。后台管理使用本地数据库,与因特网上的数据库实时同步,保证购书定单安全及时有效处理强大的统计分析功能,便于管理者及时了解财务状况、销售状况。在进入本栏目时系统会提示输入系统管理员的用户名和密码,对于其他用户此界面是不可见的。它包括用户管理、书籍管理、订单管理,这里重点介绍书籍管理。
书籍管理包主要为图书库存管理,管理员可以添加新书、添加书籍分类以及修改书籍库存信息和删除书籍。
三、概要设计
该网上书城系统由用户和管理员两个子系统构成
1.体系结构图:
图1 体系结构图2.系统数据流程图
图2 系统数据流程图3.图书选购—使用用例图
用户
图3 图书选购—使用用例图
4.图书管理—使用用例图
管理员
图4 图书管理—使用用例图
四、详细设计
1.开发设计思想:
(1)采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
(2)尽量达到操作过程中的直观、方便、实用、安全等要求。
(3)系统采用B/S体系结构,浏览器(浏览器端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。
(4)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
(5)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
2.系统具体实现:
(1)采用java、jsp语言编写代码实现各项功能。
(2)网上书城界面采用html语言实现。
(3)采用mysql实现后台数据库的管理。
我个人负责用户子系统中的查询模块和管理员系统中的书籍管理模块,采用java语言编写代码。相关代码如下:
商品查询模块:
public class GetBookByBookNameServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");//查询多少条数据
String pageSize_str = request.getParameter("pageSize");
int offset = 0;
int pagecurrentPageNo = 1;
int pageSize = 5;
if(pageSize_str != null) {
pageSize = Integer.parseInt(pageSize_str);
}
String bookName_str = request.getParameter("bookName");
if(bookName_str != null) {
byte[] buf = bookName_str.getBytes();
String bookName = new String(buf);
Model model = new Model();
BookPager bookPager = model.searchBook(bookName);
bookPager.setPageOffset(offset);
bookPager.setPagecurrentPageNo(pagecurrentPageNo);
bookPager.setPageSize(pageSize);
request.setAttribute("bookPager", bookPager);
request.setAttribute("bookList",
bookPager.getBookMap().values());
request.getRequestDispatcher("Admin/pages/manageBooks.jsp").forward( request, response);
}
}