《数据库原理与应用》课程设计网上书店系统的分析与实现(含源程序).doc

上传人:laozhun 文档编号:2395146 上传时间:2023-02-17 格式:DOC 页数:35 大小:2.88MB
返回 下载 相关 举报
《数据库原理与应用》课程设计网上书店系统的分析与实现(含源程序).doc_第1页
第1页 / 共35页
《数据库原理与应用》课程设计网上书店系统的分析与实现(含源程序).doc_第2页
第2页 / 共35页
《数据库原理与应用》课程设计网上书店系统的分析与实现(含源程序).doc_第3页
第3页 / 共35页
《数据库原理与应用》课程设计网上书店系统的分析与实现(含源程序).doc_第4页
第4页 / 共35页
《数据库原理与应用》课程设计网上书店系统的分析与实现(含源程序).doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《《数据库原理与应用》课程设计网上书店系统的分析与实现(含源程序).doc》由会员分享,可在线阅读,更多相关《《数据库原理与应用》课程设计网上书店系统的分析与实现(含源程序).doc(35页珍藏版)》请在三一办公上搜索。

1、配套源程序,包运行,联系QQ153893706数据库原理与应用课程设计题 目:网上书店系统的分析与实现姓 名: 专 业: 计科 班 级: 指导老师: 1系统简介1.1系统基本功能描述网上书店系统能够实现书店销售的一些流程,并将数据记录在数据库中。功能模块包括:用户登录系统(普通注册会员与后台管理员不同的登录方式);图书销售系统(实现图书的销售,订单的生成);后台管理系统(后台管理员可以对会员、图书进行管理,并处理订单)。总体目标设计一个软件能够合理有序地对书店进行信息化的管理。1.2系统需求分析本网上书店系统总体分为前后两个管理系统:前台管理系统是在Internet上接受客户访问的网上书店前台

2、销售管理系统(网站);后台管理系统是在Internet内部用于书店的管理员管理的网上书店后台管理系统。本系统的前台销售管理系统实现的功能类似于现实生活中的商店,顾客可以浏览图书,选择图书,购买并支付生成订单。本系统设计的网上购物的过程为,当客户通过Internet访问书店的网站时,如果他要购买图书,那么必须先注册成为会员,然后再选择进行会员登录,然后可以把图书放入购物车,通过购物车完成支付生成网上订单。1、通过对系统需求进行分析,我们可以确定系统中有两类用户:后台管理员和普通注册用户(即顾客)。各类用户描述如下:2、管理员:登入,操作图书(图书信息的录入、删除、修改),管理会员,处理订单等3、

3、顾客:注册,登入,搜索图书,下订单。1.2.1业务流程分析1、网上书店的整体规划如下所示:1、管理员与会员采取不同的登录方式以获取不同的权限,进行不同的业务操作。其业务流程图如下所示:1、后台管理系统主要由后台管理员操作。其业务流程图如下所示:4、 图书销售系统业务流程如下所示:1.2.2数据流分析根据业务流程分析,我们可以得到系统的数据流图。(1) 网上书店系统顶层数据流图如下图所示:(2) 网上书店系统第一层数据流图如下图所示:(3) 管理员登录数据流图:(4) 普通用户登录数据流图:(5) 购买过程数据流图:(6) 后台管理数据流图:2 系统设计2.1 数据库设计2.1.1 概念结构设计

4、 前台用户购书系统 前台购书系统中涉及的主要实体及其属性有: (1) 用户信息用户名,密码,用户类别 (2) 图书信息图书编号,图书名,图书简介,出版社,数量,会员价格,市场价格 (3) 订单信息订单编号,图书编号,图书名称,购买数量,单价,折扣率,支付金额,收货人,送货地址,联系电话,邮编,支付方式,快递方式,下单时间,下单者编号 E-R 模型如图 21、22 所示。图 2-1 购书过程实体及其属性 图 2-2 购书过程 E-R 图后台管理员管理子系统 后台管理员管理子系统涉及的主要实体及其属性有: (1) 图书信息图书编号,图书名,图书简介,出版社,数量,会员价格,市场价格 (2) 订单信

5、息订单编号,图书编号,图书名称,购买数量,单价,折扣率,支付金额,收货人,送货地址,联系电话,邮编,支付方式,快递方式,下单时间,下单者编号 (3) 管理员信息管理员名称,管理员密码 (4) 公告信息公告内容,公告标题 (5) 目录信息 目录编号,目录名称 (6) 用户信息 用户名,密码,用户类别 E-R 模型 图 2-3 后台管理过程实体及其属性图 2-4 购书过程 E-R 图网上购书系统总的ER图252.1.2 逻辑结构设计根据以上的分析,将 E-R 模型转换成逻辑模型,设计出本系统数据库。根据 需要,设计了 6 个数据表。如下所示: 管理员信息表:该表记录了管理员的相关信息,包括用户名,

6、密码 目录信息表:该表记录了目录的相关信息,包括目录名称,目录编号 图书信息表:该表记录了图书的相关信息,包括图书编号,图书名,图书简介,出版社,数量,会员价格,市场价格,折扣率,是否推荐,是否新品,目录编号,书本型号 订单信息表:该表记录了订单的相关信息,包括订单编号,图书编号,图书名称,购买数量,单价,折扣率,支付金额,收货人,送货地址,联系电话,邮编,支付方式,快递方式,下单时间,下单者编号 公告信息表:该表记录了公告的相关信息,包括公告标题,内容 用户信息表:该表记录了用户的相关信息,包括用户名,密码,问题提示,问题答案,昵称,身份证号,手机号码,座机号,QQ,邮编地址,地址,注册时间

7、根据上面的逻辑结构设计,设计相应的表结构如下所示 管理员信息表:该表记录了管理员的相关信息,包括用户名,密码 表结构如下:tb_admin字段说明类型(长度)备注id用于统计总记录数int自动编号(主键)name用户名Varchar(50)不为空pwd密码Varchar(50)不为空 目录信息表:该表记录了目录的相关信息,包括目录名称,目录编号 表结构如下: tb_class字段说明类型(长度)备注id目录编号int主键(不为空)name目录名Varchar(20)无图书信息表:该表记录了图书的相关信息,包括图书编号,图书名,图书简介,出版社,数量,会员价格,市场价格,折扣率,是否推荐,是否新

8、品,目录编号,书本型号表结构如下: tb_commo字段说明类型(长度)备注id用于统计总记录数int主键(不为空)name图书名Varchar(50)不为空pics图片名Varchar(200)不为空info图书简介Text不为空addtime添加日期Datetime不为空area出版社Varchar(50)不为空model书本型号Varchar(50)不为空classID目录编号int不为空Brand作者Varchar(50)不为空Stocks数量int不为空M_price市场价格float不为空V_price会员价格float不为空Fold打折率float不为空Isvew是否新品int无

9、Isnom是否推荐int无订单信息表:该表记录了订单的相关信息,包括订单编号,图书编号,图书名称,购买数量,单价,折扣率,支付金额,收货人,送货地址,联系电话,邮编,支付方式,快递方式,下单时间,下单者编号 tb_form 表结构如下: 字段说明类型(长度)备注id用于统计总记录数int主键(不为空)Formid订单编号Varchar(50)不为空Commo_id图书编号Varchar(200)不为空Commo_name图书名称Varchar(200)不为空Commo_num图书数量Varchar(200)不为空Agoprice单价Varchar(50)不为空Fold折扣率Varchar(50

10、)不为空Total支付金额Varchar(200)不为空Vendee处理人Varchar(50)不为空Taker收货人Varchar(200)不为空Address收货地址Varchar(200)不为空Tel联系电话Varchar(20)不为空Code邮编Varchar(10)不为空Pay_method支付方式Varchar(20)不为空Del_method快递方式Varchar(20)不为空Formtime下单时间Datetime不为空State订单状态Int不为空Userid下单者编号int不为空公告信息表:该表记录了公告的相关信息,包括公告标题,内容 表结构如下tb_public字段说明类

11、型(长度)备注id用于统计总记录数int自动编号(主键)Content公告类容text不为空Addtime添加时间datetime不为空Title公告标题Varchar(50)不为空用户信息表:该表记录了用户的相关信息,包括用户名,密码,问题提示,问题答案,昵称,身份证号,手机号码,座机号,QQ,邮编地址,地址,注册时间 表结构如下 Tb_user字段说明类型(长度)备注id用于统计总记录数int主键(不为空)name用户名Varchar(50)不为空Password密码Varchar(50)不为空Question问题提示Varchar(50)不为空Answer问题答案Varchar(50)不

12、为空Realname昵称Varchar(50)不为空Card身份证号Varchar(20)不为空Tel手机Varchar(20)不为空Phone座机Varchar(20)不为空QQQQVarchar(10)不为空Code邮编Varchar(10)不为空Address通信地址Varchar(200)不为空Addtime注册时间Datetime不为空Isfreeze是否冻结Int无Shopping订单状态Varchar(200)无 根据以上的分析,可以作出各表的关系图,如图 2-6 所示。在建立数据表的过程中应尽量避免冗余,并且在各相关的表之间建立约束,以从数据库本身来避 免数据冲突,保持数据的完

13、整性和一致性。图 26 数据库关系图2.2 系统模块设计模块设计的主要方法是结构化方法,主导思想是以系统的逻辑功能设计和数 据流关系为基础,采用“自顶向下,逐步求精”的设计方法,将本系统分解为功 能明确,易于修改,大小适中的模块结构。 本系统主要分为二大模块:网上购书模块,图书后台管理模块。系统各模块功能图如下所示:前台购书模块如上图:27后台管理如上图:2-8系统各模块功能说明:前台设计1、浏览图书模块无论有没有注册帐号,只要登入网站,就可以浏览图书,查看图书相关信息。2、购书模块当读者浏览到相关感兴趣的书籍,想要购买点击购买菜单,系统会提示请登入。有账号的直接登入,登入后加入购物车,根据系

14、统提示会一步步提交相应信息,提交后付完款,生成订单。提交到数据库。3、修改密码当用户感觉自己密码不太安全时,可以重新设定密码,设定密码后,会把信息提交到数据库,将原来的密码字段做出相应修改。下次登入是直接是修改后的密码这也增加了用户的账户安全4、 注销模块当用户登入后,不用购书,只是浏览书籍信息时,不需要登入,为了帐号安全会使用注销模块。当注销后 帐号的信息将从session中清除,这也为用户的帐号安全提供了一些安全保护 后台设计1、登入模块 当管理员需要管理图书处理订单时,必须先登入,当登入后才有权利进入后台管理界面。管理员的帐号在数据库中有一个原始帐号,当管理员登入后会初始化管理员帐号,对

15、管理员的帐号进行管理2、类别管理模块当管理员进入后台管理界面后,对图书的类别进行管理,可以添加,删除图书类别3、图书管理当管理员进入后台管理界面后,对图书信息进行管理,可以查看,添加,删除图书。4、订单管理当管理员进入后台管理界面后,对数据库中的订单信息进行管理,可以处理,删除订单。5、用户管理当管理员进入后台管理界面后,对数据库中的所有用户进行管理,可以查看,删除会员,删除,添加管理员。3.系统实现3.1 实现概况我们的网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。其中大致分为

16、两个登陆模块:用户登陆、管理员登陆;其中还包括图书查询需求当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者住处快速查询所需书目信息的功能;购物车管理需求;当客户选择购买某图书产品时,应该能够将对应图书信息,例如:价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息;清单处理需求对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依

17、据订单信息进行后续的出货、送货和处理;本系统还实现了两个用户登陆的入口;用户登陆和管理员登陆;用户登陆只可以实现基本的购书情况,例如一些图书分类查询,图书的详细信息,用户自己的基本信息,以及用户本身的收货地址等信息;然而管理员可以进行图书的增加,删除,修改等等操作;3.2 登录模块3.2.1 程序流程图不同的用户在使用该系统时,都要选择不同的登录身份,以取得不同的使用权限。在我们的网上书店首页中有普通用户的登陆入口,同时我们还加入了管理员登陆的入口,其中管理员登陆采用的是控件LINKBUTTON;将此处的管理员登陆跳转到backLogin.aspx这个管理员登陆的界面,这样做方便了用户和管理员

18、的登陆;其中管理员的登陆账号和密码均可在数据库表tb_admin中添加;用户的登陆账号以及密码均保存在数据库表tb_user中;这里的用户的默认登陆账号和密码我们分别设置成了user、user;管理员的默认登陆账号和密码也分别设置成了admin、admin;其中普通用户登陆流程图如下:3 .2.2 关键代码管理员登录子系统的关键页面是backLogin.aspx。这个页面为一个功能模块,根据用户权限的不同,根据自动匹配数据库tb_admin中的用户名,密码来实现管理员的登陆:管理员登陆实现代码: / / 登录 / / / protected void btnLogin_Click(object

19、 sender, EventArgs e) if (this.userName.Text = | this.userPass.Text = ) this.lblManage.Text = 用户名或密码不能为空; else AdminBLL abll = new AdminBLL(); tb_admin tbModel = new tb_admin(); tbModel = abll.GetUser(this.userName.Text); if (tbModel != null) if (tbModel.pwd != this.userPass.Text) this.lblManage.Tex

20、t = 用户名或密码不正确; return; else SessiontbModel = tbModel; Response.Redirect(BookTypeAdd.aspx); else this.lblManage.Text = 用户名不存在; 普通用户登陆实现代码: / / 登录 / / / Protected void ImageButton1_Click(object sender, ImageClickEventArgs e) if (this.userName.Text = ) this.lblManage.Text = 用户名不能为空; return; if (this.pw

21、d.Text = ) this.lblManage.Text = 密码不能为空; return; user = usBll.GetUser(this.userName.Text); if (user != null) if (user.password = this.pwd.Text) this.lblUserName.Text = user.name; this.realname.Text = user.realname; Sessionuser = user; ViewStateuser = user; HttpCookie ck = new HttpCookie(user); ck.Va

22、lue = user.id.ToString(); Response.Cookies.Add(ck); this.LinkButton7.Visible = true; StringBuilder str = new StringBuilder(); str.Append(); str.Append( document.getElementById(userManage).style.display=block;); str.Append( document.getElementById(login).style.display=none;); str.Append(); Page.Clien

23、tScript.RegisterStartupScript(this.GetType(), key, str.ToString(); else this.lblManage.Text = 用户名或密码不正确; return; else this.lblManage.Text = 用户名不存在; return; 3.3用户购书模块3.3.1 程序流程图用户购书模块是网上书店系统的基础,它除了提供用户注册功能,用户浏览图书大致信息的功能以外还提供了用户下订单,人性化的购物车功能,还实现了支付功能核心母版页面是 Index.master;其流程图如下所示:3.3.2 关键代码 用户界面中,提供了图书

24、分类浏览,查看图书详情,购买模块;账户的注销,防止网页保存了密码,注销按钮保证了用户账号的安全性;当然此系统也提供了购物车;会将用户即将购买的书本保存在购物车里; / / / / / protected void ImageButton2_Command(object sender, CommandEventArgs e) if (Sessionuser = null) Page.ClientScript.RegisterStartupScript(this.GetType(), key, alert(您尚未登录不能购买,请登录再购买);); else tb_user user = (tb_u

25、ser)ViewStateuser; int commId = int.Parse(e.CommandName.ToString(); tb_commo com = comBll.GetModel(commId); if (ViewStatecar != null) DataTable dt = (DataTable)ViewStatecar; DataTable dt1 = sc.GetShopCar(dt, com); Sessioncar = dt1; else DataTable d1 = new DataTable(); DataTable dt = sc.GetShopCar(d1

26、, com); Sessioncar = dt; Response.Redirect(ShopingCar.aspx); 3.4 管理员模块 3.4.1 程序流程图 本页面是管理员登陆后台操作界面之后进行各种管理活动的页面,包括:用户管理(添加用户、查看用户),图书管理(新书上架、图书查看、图书统计),订单管理(订单查看、订单统计),公告管理,在管理员界面也可以返回到一般用户界面,最后一项是退出系统。3.4.2关键实现代码 用户管理:添加用户,本功能不是添加普通客户,而是添加管理员,包括管理员的权限,姓名,性别等一些信息。查看用户,查看的是所有人的用户,包括客户和管理员,以表格的形式方便管理员

27、查看,并且进行分页显示。图书管理:新书上架,发布新书的信息,包括书名,出版社,作者,图片,图书介绍以及价格,这样就会在客户的页面显示新增的图书信息;图书查看:以表格形式展示了所有数据库存在的图书,以及他们的各种信息,并且进行了分页显示;订单管理:订单查看,以表格形式将客户的订单显示出来,并显示是否发货,点击发货按钮,在是否发货一栏下就会自动改成已发货,这样,管理员就可以一幕了然的知道订单的信息了,此表格也进行了分页显示;using System;using System.Collections;using System.Configuration;using System.Data;using

28、 System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using BookShopBLL;using BookShopModel;public partial class AddBook : System.Web.UI.Page ClassBLL

29、 cbll = new ClassBLL(); CommoBLL comBll = new CommoBLL(); tb_commo tbCom = new tb_commo(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) this.addtime.Text = DateTime.Now.ToString(yyyy-MM-dd); this.BindBookClass(); / / 书本类型 / private void BindBookClass() DataSet ds = cbll.GetL

30、ist(); if (ds.Tables0 != null & ds.Tables0.Rows.Count 0) foreach (DataRow row in ds.Tables0.Rows) ListItem item = new ListItem(); item.Value = rowid.ToString(); item.Text = rowname.ToString(); this.bookClass.Items.Add(item); / / 添加书本 / / / protected void btnAdd_Click(object sender, EventArgs e) if (

31、this.Name.Text = ) this.lblManage.Text = 书本名称不能为空; return; if (this.fulImage.HasFile = true) string type = this.fulImage.FileName.Substring(this.fulImage.FileName.LastIndexOf(.); string name = DateTime.Now.ToString(yyyyMMddhhssmm); string path = this.MapPath(images/); this.fulImage.SaveAs(path + nam

32、e + type); tbCom.pics = images/ + name + type; else tbCom.pics = ; tbCom.name = this.Name.Text; tbCom.model = this.Model.Text; if (this.m_price.Text != ) tbCom.m_price = Convert.ToDecimal(this.m_price.Text); tbCom.isnom = int.Parse(this.isnom.SelectedValue); tbCom.isnew = int.Parse(this.isNew.Select

33、edValue); tbCom.info = this.info.Text; if (this.fold.Text != ) tbCom.fold = Convert.ToDecimal(this.fold.Text); tbCom.classID = int.Parse(this.bookClass.SelectedValue); tbCom.brand = this.Brand.Text; tbCom.addtime = DateTime.Now; tbCom.area = this.Address.Text; if (this.Num.Text != ) tbCom.stocks = i

34、nt.Parse(this.Num.Text); if (this.v_price.Text != ) tbCom.v_price = Convert.ToDecimal(this.v_price.Text); if (comBll.Exists(this.Name.Text) != true) this.lblManage.Text = 书本已存在; else comBll.Add(tbCom); this.lblManage.Text = 添加成功; 3.5 其他模块简介本系统中所有模块的功能如下所示:(1) 首页:实现将整个系统回到首页信息。(2) 最新图书:列出管理员刚刚添加的一些新书

35、。(3) 购物车:将购买者的即将购买的书导入购物车中,方便用户的浏览和支付。(4) 注销:将普通用户的账号密码注销,返回到登陆界面。(5) 后台管理:根据用户权限的不同,根据自动匹配数据库tb_admin中的用户名, 密码来实现管理员的登陆。(6) 修改个人信息:这个模块是可以修改用户在注册的时候添加的一些个人信息,一旦以后有改动可以在这里修改。(7) 修改密码:用户可以在这里修改自己想要的密码,用户自己需要定期更换密码,以保证用户的安全性。(8) 分类浏览:方便用户查讯自己感兴趣的书籍。(9) 公告:这里是比较人性化的设计,以方便用户知道有什么新书要到了。(10) 后台管理登陆:这里是方便管理登陆的入口。(11) 用户管理:添加用户,本功能不是添加

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号