您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页Java数据库课程设计报告

Java数据库课程设计报告

来源:华佗小知识


课 程 设 计 课程名称:设计题目:学 院:专 业:年 级:学生姓名:指导教师:日 期: 数据库、软件工程课程设计 网上书店设计与实现 信息工程与自动化学院 计算机科学与技术 2008级 李师林 200810405104 刘晓燕 2011年6月27日 教 务 处 制

1

数据库、软件设计

信息工程与自动化 学院 计算机科学与技术 专业 2008 年级 课程设计题目: 网上书店设计与实现 学 生 姓 名: 李师林 200810405104 课程设计主要内容:

设计说明与要求:

前台:

1、会员登录 2、图书搜索 3、图书购买 4、在线交易 5、图书信息展示 6、客户付款 7、客户注册 8、用户密码修改 9、用户账户充值

后台:

1、会员管理 2、图书类别管理 3、图书管理 4、订单管理

其中,我实现的是前台的第6个客户付款、第7个客户注册以及第9个用户账户充值。

2

一、 需求分析

B 1 需求功能确定

B 1.1 参与者列表 ․ 普通用户 ․ 会员 ․ 管理员

B 1.2 用例列表 B 1.2.1、前台

⑴、普通用户可以通过系统浏览图书详细信息(价格及作者);⑵、普通用户可以通过系统搜索图书(书本名、作者); ⑶、普通用户可以通过系统下订单(享受市场价);

⑷、普通用户可以通过系统注册成网上书城会员(免费注册); ⑸、会员登录;

⑹、会员可以浏览和检验图书; ⑺、会员可以下订单(享受会员价); ⑻、会员可以浏览自己历史订单; ⑼、会员可以管理购物车; ․ 查看购物车 ․ 添加图书

․ 删除图书

3

⑽、会员可以修改自己的信息(自助服务);

․ 密码 ․ 联系电话 ․ 送货地址

․ Email地址

(11)、用户可以完成付款 (12)、用户可以完成账户充值 B 1.2.2、后台

1、管理员管理会员 ․ 会员浏览

․ 会员历史订单浏览 ․ 会员删除

2、管理员管理图书类别 ․ 浏览 ․ 添加类别 ․ 修改类别 ․ 删除类别

3、管理员管理图书 ․ 添加图书

․ 修改图书 ․ 删除图书 ․ 浏览图书

4

․ 图书上柜 ․ 图书下柜 ․ 图书销量浏览

4、管理员管理订单 ○

․ 浏览订单 ․ 处理订单 ․ 订单搜索

B 1.3 用例图

B 1.3.1 普通用户用例图

Object-Oriented ModelModel: 普通用户用例图Package: Diagram: UseCaseDiagram_1Author: hzkDate: 2011/6/29 Version: 浏览图书搜索图书普通用户注册成系统会员下订单

5

B 1.3.2 系统会员用例图

<>会员登录<>身份验证密码验证查看购物车<>管理购物车<><>添加图书删除图书下订单系统会员浏览和检验图书修改用户名<>修改密码<><>修改自己信息<>修改送货地址<>修改联系电话修改Email地址

6

B 1.3.3 管理员用例图

会员浏览<><>管理会员会员历史订单浏览<>会员删除浏览<>添加类别<>管理图书类别<><>修改类别删除类别浏览图书管理员添加图书<><>删除图书<>管理图书<>修改图书<><>图书上柜图书下柜浏览订单<>管理订单<>处理订单<>订单搜索

7

B 2 架构分析与设计 B 2.1 逻辑架构

․ JSP + JavaBean + Database

․ JSP负责表现

․ JavaBean负责业务逻辑 ․ Database负责持久保持数据

B 2.2 物理架构

․ Web服务器一台

․ 配置

․Database服务器一台

․ 配置

B 2.3技术解决方案

WebServer – Tomcat6.0 Database - MySQL5.0

B 3业务逻辑分析

B 3.1 会员类 ․ 包装系统会员

․ 与订单类有一对多的关系 B 3.2 类别类 ․ 包装图书的类别 ․ 树状结构

․ 与图书类是一对多的关系 B 3.3 图书类 ․ 包装图书的信息

8

․ 与订单是多对多的关系 B 3.4 订单类 ․ 包装订单的信息 ․ 与图书类是多对多的关系 ․ 与会员是多对一的关系 B 3.5 购物类 ․ 包装购物车的信息 ․ 与图书类是多对多的关系

B 4业务逻辑设计

B 4.1 管理员:Administrator ․ 属性:

․ 用户名:username ․ 密码:password ․ 方法:

․ 登录:login( ) B 4.2会员类:User ․ 属性:

․ 用户ID:userid ․ 用户名:username ․ 密码:password ․ 联系电话:phone ․ 送货地址:addr ․ Email地址:email ․ 注册时间:rdate

9

․ 方法:

․ 保存会员信息到数据库:save() ․ 修改会员信息:change() ․ 删除会员信息:delete() ․ 回去订单:getOrders()

․ 搜索:search()

B 4.3类别类:Category ․ 属性:

․ 类别ID:categoryid ․ 类别名称:name ․ 类别描述:descr ․ 父ID:pid ․ 方法:

․ 保存类别到数据库中:save() ․ 修改类别:change() ․ 删除类别:delete() ․ 统计类别:getBookCount() B 4.4图书类:Books ․ 属性:

․ 图书编号:bookid

․ 图书所属列别ID:categoryid ․ 图书名称:bookname ․ 作者:author

10

․ 出版社:pbulisher ․ 市场价:normalprice ․ 会员价:memberprice ․ 图书描述:descr ․ 方法:

․ 保存图书信息到数据库中:save() ․ 修改图书信息:change() ․ 删除图书:delete()

․ 获取图书的类别:getCategory() ․ 获取图书销售总量:getSalesCount() B 4.5订单类:SalesOrder & SaleItem ․ 属性:

․ 订单ID:orderid ․ 用户ID:userid ․ 用户地址:addr ․ salesltem[] ․ 下订单时间:odate ․ 订单状态:statue ․ 方法:

․ 保存订单信息到数据库:save() ․ 修改订单状态:change() ․ 计算总金额:getTotalPrice() B 4.6 购物车类:ShoppingCar & Cartltem

11

․ 属性

․ 用户ID: userid ․ 购物车:cartitem[] ․方法:

․ 获取总金额:getTotalPrice() ․ 保存购物车:save() ․ 修改购物车:change() ․ 读取购物车:getCartItem() B 4.7 类图:

User------+++++useridusernamepasswordphoneaddremail: int: string: string: string: string: string: void: void: void: void: void0..10..*-----SalesOrderorderiduseridaddrodatestatue: int: int: string: java.util.Date: intsave ()change ()delete ()getOrders ()search ()+save (): void+change (): void+getTotalPrice (): void0..*0..*Bookscategory----++++categoryidnamedescrpid: int: string: string: int: void: void: void: void0..10..*save ()change ()delete ()getBookCount ()--------+++++bookidcategoryidbooknameauthorpublishernormalpricememberpricedescr: int: int: string: string: string: double: double: string: void: void: void: void: voidShoppingCar0..*0..*-userid: int-cartitem: int++++getTotalPrice ()save ()change ()getCartItem (): void: void: void: voidsave ()change ()delete ()getCategory ()getSalesCount ()

B 5 数据库设计 B 5.1 用户表:user 字段名 userid username password phone

字段类型 int Varchar(40) Varchar(20) Varchar(20) 说明 用户ID 用户名 密码 联系电话 12

addr email rdate B 5.2 类别表:category 字段名 categoryid name descr pid isleaf B 5.3 图书表:books 字段名 bookid bookname author publisher normalprice memberprice categoryid descr pdade B 5.4 订单类:salesorder 字段名 orderid userid addr odate statue B 5.5 saleitem 字段名 id bookid unitprice pcount orderid B 5.6 ER图: Varchar(255) Varchar(50) Datetime 字段类型 int Varchar(40) Varchar(255) int int 字段类型 int Varchar(40) Varchar(40) Varchar(255) double double int Varchar(255) datetime 字段类型 int int Varchar(255) datetime int 送货地址 Email地址 注册时间 说明 类别ID 类别名称 类别描述 父ID 0表示leaf/1表示非leaf 说明 图书ID 图书名称 作者 出版社 市场价 会员价 图书类别 图书描述 图书 说明 订单ID 用户ID 送货地址 下单时间 订单状态/0订单未处理、1处理订单成功、2废单 字段类型 int int double int int 说明 主键/自动递增 图书ID 单价 数量 订单id/引用salesorder的id 13

usersalesorderouseridIntegerousernameCharacters (40)Relationship_1oorderidIntegerouseridIntegeropasswordCharacters (20)oaddrCharacters (255)ophoneCharacters (20)oodateTimestampoaddrCharacters (255)ostatueIntegerordateTimestampRelationship_2booksobookidIntegerobooknameCharacters (40)saleitemoauthorCharacters (40)Relationship_3oidIntegeropublisherCharacters (255)obookidIntegeronormalpriceDecimalounitpriceDecimalomemberpriceDecimalopcountIntegerocategoryidIntegeroorderidIntegerodescrCharacters (255)Relationship_4categoryocategoryidIntegeronameCharacters (40)odescrCharacters (255)opidIntegeroisleafIntegerB 6界面设计

B 6.1 前台

B 6.1.1 首页:index.jsp

․ 显示图书 ․ 根据ID显示图片 ․ 搜索 ․ 免费注册 ․ 登录 ․ 自助服务

B 6.1.2 搜索界面:search.jsp

B 6.1.3 搜索结果界面:searchresult.jsp B 6.1.4 注册:

․ 注册界面:register.jsp B 6.1.5 登录:

․ 登录界面login.jsp

14

․ 登录成功longinok.jsp ․ 登录失败longinerr.jsp B 6.1.6 自助服务:selfservice.jsp

․ 修改密码changemima.jsp ․ 修改密码成功chenge.jsp

B 6.1.7结算

․ 结账fukuan.jsp

․ 用户使用书城账户直接完成付款 wancheng.jsp ․ 银行结帐页面 yinhang.jsp B 6.1.8账户充值

․ 用户账户充值chongzhi.jsp ․ 用户完成账户充值 czwancheng.jsp

B 7开发环境搭建 B 7.1 开软软件:

․ Myeclipse 6.6 B 7.2 数据库

․ Mysql B 7.3 Web Server

․ Tomcat

B 8 功能实现

B 8.1 功能一:用户注册

<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"UTF-8\"%> <%@ page import=\"com.kmust.bookshopping.action.*\"%> <%@ page import=\"com.kmust.bookshopping.*\" %> <%@ page import=\"java.sql.*\"%>

15

<%

request.setCharacterEncoding(\"UTF-8\"); response.setCharacterEncoding(\"UTF-8\");

String action = request.getParameter(\"action\");

if((action != null)&&(action.trim().equals(\"register\"))){ String username = request.getParameter(\"username\"); String password = request.getParameter(\"password\"); String phone = request.getParameter(\"phone\"); String addr = request.getParameter(\"addr\"); String email = request.getParameter(\"email\"); User u = new User();

u.setUsername(username); u.setPassword(password); u.setPhone(phone); u.setAddr(addr); u.setEmail(email);

u.setRdate(new Timestamp(System.currentTimeMillis())); UserAction.getInstance().save(u);

out.println(\"

注册成功!
\"); return; } %>

用户注册

16

用户注册
用 户 名:

密    码:

密码确认:

联系电话:

送货地址:

type=\"text\"

name=\"addr\"

size=\"40\"

Email地址:

   

17

B 8.1.1 register.jsp

18

19

B 8.2 功能二:用户付款 B8.2.1fukuan.jsp

20

B 8.2.2 Vote.jsp

21

B 8.2.3 Wancheng.jsp

B 8.2.4 Yinhang.jsp

22

B 8.3 功能三:用户账户充值

B 8.3.1 Chongzhi.jsp

23

B 8.3.2 Czwancheng.jsp

总结

通过此次课程实践,进一步了解了java 和数据库应用并深入了解小型项目开发运行测试过程,过程中遇到了相当多的问题,但都通过询问同学老师解决了。课程设计过程中我清晰地感受到软件开发的能力必须要通过自己亲身的参与才能有所提高,过程中让我认识到自己知识的缺漏之处和处理问题经验的缺乏,通过此次课程设计既提高了我运用知识和处理问题的能力,也通过亲身的参与积累了一些软件开发的经验。

设 计 指 导 教 师 (签字):

教学基层组织负责人(签字):

年 月 日

24

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务