网上书店系统设计报告(共30页).doc
《网上书店系统设计报告(共30页).doc》由会员分享,可在线阅读,更多相关《网上书店系统设计报告(共30页).doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上大理学院数学与计算机学院数据库系统设计课程设计报告班级: 2011级计算机科学与技术2班 学号: 姓名: 董卜菡 系统名称: 网上书店系统 总分: 目录2一、需求分析1.背景简介在如今互联网快速发展的时代,网络以其快捷高速的方式改变着我们的生活方式,越来越多的人开始意识到Internet所蕴含的无限商机和经济价值,并积极投身于电子商务。而网上书店就是这商业行为电子化的最典型例子。网上书店具有很多新的特性,例如:其经营成本要比传统书店低得多、不需要支付昂贵的店铺租金和装修费用、不需要大量的资金用于库存管理、同时可以实现24小时营业,不需要营业员,可以依靠数据库更人性化的
2、提供服务。网上书店在价格、时效性、品种、查询方式等方面的优势使用户只要使用鼠标点击浏览、查询下订单,就能送货上门。综上所述,网上书店已经成为互联网时代购书者的最佳选择,必将获得巨大的成功。2.功能需求对于网上书店系统中普通用户、会员和管理员的具体功能描述如下:(1)普通用户1)浏览图书、按类别查询图书、查看图书详细信息。2)注册为会员。普通用户用例图2-1(2)会员1)浏览图书、按类别查询图书、查看图书详细信息。2)加入购物车、修改购物车、订购图书、生成订单、查看订单等。3)查看、修改个人信息(登录密码,常用发货地址,发票抬头管理等)会员用例图2-2(3)管理员1)浏览图书、按类别查询图书、查
3、看图书详细信息。2)查看订单、处理订单进行发货处理等。3)查看、修改个人信息。4)更新图书信息,如增加、删除图书、更新库存量、商品名称、增加图书的属性列等。管理员用例图2-33.系统功能图从上述的功能分析可以得出,网上书店系统中需要有会员、图书、订单等信息。对于会员,需要有会员的账号、密码、姓名、邮箱、电话、联系地址等属性;对于图书,需要有书名、图书类别、出版社、作者、图书概况、定价、折扣、库存数量等属性;其中图书可以有折扣(如8折、7.5折等),实际售价由定价乘以折扣,再除以10计算得出;对于一个订单,需记录会员的订购日期、管理员进行发货的发货日期、订购总价等属性,其中订购总价是由多种图书实
4、际售价乘以订购数量,再进行累计计算得出的。网上书店系统中的图书销售基本规定如下:每个会员可以通过订购图书生成多个订单,每个订单仅属于一个会员,每个订单中可以包含多种图书商品,每种图书商品可以出现在多个订单中;在订单信息中,每种图书都有对应的订购数量。管理员在支付以后可以对其进行发货处理。网上书店系统流程图3-14.数据字典用户信息表4-1序号字段名类型长度字段描述1会员帐号varchar50记录用户的唯一标识2密码varchar8记录用户的登录密码3姓名varchar50记录用户的真实名字4邮箱varchar50记录用户的电子邮箱5电话varchar20记录用户的电话号码6联系地址varcha
5、r50记录用户的联系地址图书信息表4-2序号字段名类型长度字段描述1图书编号int4定义商品的唯一ID号2书名varchar50记录商品的名称3图书类别varchar50记录商品的类别4出版社varchar50记录商品的发行公司5作者varchar50记录商品的作者姓名6图书概况varchar50记录商品大致信息7定价money8记录商品的价格8折扣money8记录商品当前折扣9库存数量int4记录商品的数量订单信息表4-3序号字段名称类型长度字段描述1订单编号int4记录订购单的唯一ID号2书本名称varchar50记录购买书本的名称3订购数量int4记录购买图书的数量4订购总价money8
6、记录购买图书的总价5订购日期Datetime8记录购买图书的日期6发货日期Datetime8记录管理员发货日期管理员信息表4-4序号字段名称类型长度字段描述1管理员帐号varchar50记录管理员的唯一标识2密码varchar8记录管理员登录密码3姓名varchar50记录管理员的姓名4电话varchar20记录管理员的电话5联系地址varchar50记录管理员的联系地址二、数据库设计2.1 数据库概念设计 会员信息E-R图 图书信息E-R图 管理员信息E-R图姓名姓名电话密码会员 管理管理员 n 1. n 1订购数量订购日期 购买 管理发货处理订购总价 n 图书 m更新图书信息图书编号书名
7、实体之间的关系E-R图2.2数据库的逻辑设计用户信息表UserInfo字段名数据类型含义说明约束情况uaccountVarchar(50)会员帐号主关键字upasswordVarchar(8)会员密码不为空unameVarchar(50)会员姓名不为空uemailVarchar(50)会员邮箱不为空UnumberVarchar(20)会员电话不为空uaddressVarchar(50)会员联系地址不为空图书信息表BookInfo字段名数据类型含义说明约束情况bIDInt(4)图书编号主键bnameVarchar(50)图书名称不为空btypeVarchar(50)图书类别不为空bpressVa
8、rchar(50)图书出版社不为空bwriterVarchar(50)图书作者不为空bsummarizeVarchar(50)图书概况不为空bpriceInt(4)图书定价不为空bdiscountInt(4)图书当前折扣不为空bquantityInt(4)图书库存数量不为空管理员信息表ManagerInfo字段名数据类型含义说明约束情况maccountVarchar(50)管理员帐号主键mpasswordVarchar(8)管理员密码不为空mnameVarchar(50)管理员姓名不为空mnumberVarchar(20)管理员电话不为空maddressVarchar(50)管理员联系地址不为
9、空订单信息表OrderInfo字段名数据类型含义说明约束情况oIDInt(4)订单编号主键obooknameVarchar(50)书本名称不为空onumberVarchar(50)订购数量不为空opriceVarchar(50)订购总价不为空oorderdateDatetime订购日期不为空odeliverydateDatetime发货日期不为空三、系统实现3.1 数据库访问1) 数据访问类及实现代码package booksql;import java.sql.Connection;import java.sql.DriverManager;public class BOOKSQL /* *
10、 创建数据库的连接 * return */ public static Connection getconn() Connection conn=null; try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); String url=jdbc:microsoft:sqlserver:/localhost:1433;databasename=bookstore;user=sa;password=; conn=DriverManager.getConnection(url); catch(Exception e) Syst
11、em.out.println(e.getMessage(); return conn; /* * 关闭数据库 * */ public static void CloseSQL(Connection conn) try if(conn!=null) if(conn.isClosed() conn.close(); catch(Exception e) System.out.println(e.getMessage(); 2) SQL语句 1.访问图书信息表package booksql;import java.sql.Connection;import java.sql.PreparedStat
12、ement;import java.sql.ResultSet;import bean.Bookinfo;public class Bookbiz /* *数据库的修改 * return */public Bookinfo SeachBookByID(int bID) Bookinfo bookInfo = new Bookinfo();Connection conn = BOOKSQL.getconn();try String sql = select * from BookInfo;PreparedStatement pstm = conn.prepareStatement(sql);ps
13、tm.setInt(1, bID);ResultSet rs = pstm.executeQuery();while (rs.next() bID = rs.getInt(1);String bname = rs.getString(2);String btype = rs.getString(3);String bpress = rs.getString(4);String bwriter = rs.getString(5);String bsummarize = rs.getString(6);int bprice = rs.getInt(7);int bdiscount = rs.get
14、Int(8);int bquantity= rs.getInt(9);bookInfo.setbID(bID);bookInfo.setBname(bname);bookInfo.setBtype(btype);bookInfo.setBpress(bpress);bookInfo.setBwriter(bwriter);bookInfo.setBsummarize(bsummarize);bookInfo.setBprice(bprice);bookInfo.setBdiscount(bdiscount);bookInfo.setBquantity(bquantity); catch (Ex
15、ception e) System.out.println(按书号查询图书时出现错误 + e.getMessage(); finally BOOKSQL.CloseSQL(conn);return bookInfo;2.访问用户信息表package booksql;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import bean.Userinfo;import booksql.BOOKSQL;public class UserBiz boolean flag=fa
16、lse;Connection conn=BOOKSQL.getconn();/* * 检查用户帐号是否可用 */public boolean checkuser(String account)tryString sql= select * from UserInfo where uaccount=?;PreparedStatement pstm=conn.prepareStatement(sql);pstm.setString(1, account);int hang=pstm.executeUpdate();System.out.println(操作返回的行数是+hang);if(hang0
17、)flag=false;catch(Exception e)System.out.println(检索用户帐号时出错+e.getMessage();return flag;/* * 用户登陆时调用的方法 */public Userinfo CheckUserLogin(String uaccount,String upassword) Userinfo userInfo =new Userinfo(); try String sql=select * from userinfo where uaccount=? and upassword=?; PreparedStatement pstm=c
18、onn.prepareStatement(sql); pstm.setString(1, uaccount); pstm.setString(2, upassword); ResultSet rs=pstm.executeQuery(); if(rs.next() String uaccount=rs.getString(1); String upassword=rs.getString(2); String uname=rs.getString(3); String unumber=rs.getString(4); String uemail=rs.getString(5); String
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 书店 系统 设计 报告 30
限制150内