【原创】网上书店销售管理系统课程设计报告
本文微博地址:http://weibo.com/ttarticle/p/show?id=2309404018664897676085
作者:@刘清lqing
文/@刘清lqing
一、需求分析及系统边界
随着 Internet 和 Web 技术日益发达的今天,电子商务正在逐渐改变人们的购买方式,同样正被越来越多的互联网用户接受。作为图书销售与电子商务相结合的产物,网上书城以其独具特色的销售理念,低廉的销售成本,图书资源丰富,交易不受时间空间的限制的特性,正逐渐被大众所接受,成为书友们购书的理想圣地。
网上书店是以网站作为交易平台,将图书的基本信息通过网站发布到 Web 上,然后用户可以通过该网站浏览商品的信息,并决定买与不买,以实现书籍的在线订购业务及购买。
本系统面向的是广大的互联网用户,以实现真正的图书销售与互联网结合。但为了简单起见,目前只支持普通用户,注册用户,管理员这三类用户。普通用户只能在网站浏览商品信息及网站内容,只有普通用户进行了注册之后成为了注册用户才可以进行购买。管理员会有专门的账号和密码登录网站后台进行书籍信息管理和用户订单的管理。
二、业务需求及主要处理流程设计
网上书店销售主要业务包括:书籍信息的增删改查、用户订购书籍(订单生成)、(管理员)处理用户订单。本次设计为简单起见,只设计出“订单生成(用户购书)”和管理员处理订单的流程图。见下图。


三、功能需求及数据需求分析
1、系统功能需求分析
a) 用户基本信息管理:用户基本信息录入、维护与查询。
b) 图书基本信息管理:图书基本信息录入、维护与查询。
c) 订单基本信息管理:订单基本信息录入、维护与查询。
d) 配送基本信息管理:配送基本信息录入、维护与查询。
e) 出版社基本信息管理:出版社基本信息录入、维护与查询。

2、数据需求及业务规则分析
(1) 用户注册信息管理。包括用户编号ID、姓名、登录密码、性别、身份证号、地址、邮政编码、电话。系统检查所有信息填写正确之后返回用户编号ID,并作为用户的唯一标识。
(2) 图书信息管理。图书信息包括ISBN、书名、作者、版次、出版社、出版年份、库存、定价。其中ISBN作为图书的唯一标识。
(3) 订单信息管理。订单信息包括订单号、订购日期、应收总金额、实收金额、订单状态、订单明细(订单明)细包括ISBN、书名、订购数量、定价、应收金额、实收金额、配送状态)。其中订单号作为订单的唯一标识。
(4) 配送信息管理。配送信息包括配送单号、配送日期、配送信息(包括收货人、送货地址、邮政编码、联系电话)、配送公司、配送明细(ISBN、书名、数量)、配送状态。其中配送单编号作为配送单唯一标识。
(5) 出版社信息管理。出版社信息包括出版社编号、出版社名称、出版社地址、联系人、联系人电话。出版社编号作为出版社信息的唯一标识。
四、主要业务的概念建模分析
1、订单生成以及订单处理
订单生成涉及到用户和书籍两个实体集,然后生成订单,所以订单为依赖实体集,它的属性有订单编号,订单日期,应收总金额,实收总金额,订单状态,订单数量。

五、确定实体集及属性
(1) 用户实体集。其属性包括用户编号(user_id),姓名(user_name)、登录密码(user_pwd)、性别(sex)、地址(user_addr)、邮政编码(post_num)、电话(tel)。

(2) 图书实体集。其属性包括书号(ISBN)、书名(book_name)、作者(author)、版次(version)、出版社(press_title)、出版年份(press_date)、库存(total_num)、定价(price)。

(3) 订单实体集。其属性包括订单号(order_no)、订购日期(order_date)、应收总金额(should_receive)、实收金额(exactly_receive)、订单状态(order_state)、订购数量(order_quantity)。

(4) 配送实体集。其属性包括配送单号(ship_no)、配送日期(ship_date)、收货人(receiver)、送货地址(ship_addr)、邮政编码(post_num)、联系电话(ship_tel))、配送公司(ship_company)、配送状态(ship_state)。

(5) 出版社实体集。其属性包括出版社编号(press_no)、出版社名称(press_title)、出版社地址(press_addr)、联系人(contact_person)、联系人电话(contact_tel)。

六、确定联系集及总体E-R图

七、逻辑数据库设计
(1) 用户(user)表:由用户(user)实体集转化而来。

(2)书籍(book)表:由书籍(book)实体集转化而来

(3)订单(order)表:由订单实体集转化而来。

(4)配送(ship)表。

(5)出版社(press)表:由出版社(press)实体集转化而来。

八、数据库设计(代码设计)
1、简介
利用 Sql Server 2008 工具,实现数据库的建立和表的创建,以及相关数据的增删查改。
Ø操作系统(OS):win 10
Ø数据库系统:Sql server 2008 R2
Ø画图工具:Visio 2016 Pro
2、代码设计
(1)创建数据库BookmallDB

(2)创建数据库表
2.1.1) 创建 books 表

2.1.2) 往 books 表中插入数据

2.1.3) 查询 books 表结果截图如下:

2.2.1) 创建 orders 表。

2.2.2) 插入数据。

2.2.3) 查询 orders 表结果截图如下:

2.3.1) 创建 press 表。

2.3.2) 插入数据。

2.3.3) 查询 press 表结果截图如下:

2.4.1) 创建 ship 表。

2.4.2) 插入数据。

2.4.3) 查询 ship 表结果截图如下:

2.5.1) 创建 users 表。

2.5.2) 插入数据。

2.5.3) 查询 users 表结果截图如下:

九、实践小结
通过本次实践周的学习和实践,对上学期的理论知识又有了深一层次的理解。都说要理论实践相结合,这样的实践周很有意义,遇到问题自己解决,既锻炼了本身解决问题的能力,也学到了一些在理论课堂上学不到的东西。丰富了自身的知识,对自己也是一次较大的提升吧。短短一周的实践周已经过去,但是那种把理论运用到实践中的方法还是要多加运用在平时的学习中的,只有这样,才能真正消化课堂上老师教的东西和自己在书本上看到的东西。总的来说,实践周带给我的收获是丰富且有意义的。但还是暴露了自己的很多不足,相信我会在以后的学习中逐步完善的。