数据库应用课程设计

 

                                                                                          武汉纺织大学

                                                                                      数学与计算机学院

                                                                                数据库应用课程设计报告

 

 

 

                                                                               学生姓名:      xxxxxx               

                                                                               学号:          xxxxxxxxxx           

                                                                               班级:          xxxxxxxxxxxx         

                                                                               指导老师:      xxxx老师             

                                                                               评定成绩:                                    

                                                                               填写时间:      2019-06-29           

 

更多学习资源,请关注本人个人微信公众号:

                                           个人公众号:

                                            我的微信号:

                                                    

目录

一、.... 课程设计目的.. 1

二、.... 课程设计题目.. 1

三、.... 课程设计背景和主要内容.. 1

四、.... 可行性分析.. 1

4.1 技术可行性.... 1

4.2 经济可行性.... 1

4.2 法律可行性.... 1

4.2操作可行性.... 1

五、.... 业务需求分析.. 1

5.1 网上商城主要业务流程的活动图描述... 2

5.2 网上商城用例图描述.... 4

六、.... 系统总体设计.. 5

6.1 系统架构设计.... 5

6.2 功能模块设计.... 6

6.3 网上商城完整功能图:.... 7

6.4 系统数据流程分析:.... 8

6.5 系统E-R图:.... 10

七、.... 数据库表的详细设计.. 11

7.1 adminuser(管理员). 11

7.2 category(一级分类). 11

7.3 categorySecond(二级分类). 11

7.4 orderItem(订单列表). 11

7.5 orders(订单信息表). 11

7.6 product(产品信息表). 12

7.7 user(用户信息表). 12

八、.... 商城数据库shop建立.. 12

8.1 数据库建立.... 12

九、.... 商城系统实现.. 15

9.1 功能页面模块的实现.... 15

十、.... 课程设计的心得和体会.. 19

 

 

   (1)掌握进行数据库应用系统开发的基本思路、方法和步骤,通过整个数据库系统的设计流程,使学生进一步掌握数据库的操作、管理和维护、开发等数据库核心内容。

    (2)将之前所学的需求分析、java代码编写、数据库设计、软件测试技术结合起来完成此次课程设计。

    (3)培养学生在项目开发中团队合作精神、创新意识及能力。

 

   JavaWeb-网上商城系统

 

   随着人们生活水平的提高,对物质要求也越来越高。人们网购的消费也逐年增长,所以电子商务发展十分迅速,网上商城应运而生,为人们的网上购物提供了好的平台。电子商城,跟在线购物有关。它是一个JavaWeb项目,涉及到商品展示浏览,数据爬取,下单模拟支付,用户评论,加入购物车,搜索商品,购买商品等等,以及后台管理。并且为了增加用户体验,优化了前台页面,首页较为美观。

 

4.1 技术可行性

利用javaweb知识可以实现

    采用各种最新框架和技术

4.2 经济可行性

   该网上商城项目部署在了阿里云的云服务器上面, 9.9元/月

4.2 法律可行性

   可行,自己写的网站

4.2操作可行性

   操作较为简单,有网购经历的用户都可以快速适应商城操作

 

5.1 网上商城主要业务流程的活动图描述

    主要的业务流程有三个:商品信息浏览、商品订购信息删除或更新、订单信息处理。

                                     

                                                             图1:顾客进行商品浏览查询操作

    商品浏览:顾客可以浏览商城上商品的所有信息,如果需要查询,则需要登录后才能进行,在选购到自己所需的物品后,即可提交订单

                                  

                                                           图2:顾客进行商品订购删除或更新操作

 

    商品订购信息删除或更新:用户登录后,可在“我的订单”模块查找到待删除或更新的订购信息,并对该信息进行相应的操作。

                                     

                                                              图3:管理员进行订单处理操作

 

    订单信息处理:管理员登录后台系统后,即可进行客户订单的状态以及库存的更新。

 

5.2 网上商城用例图描述

游客:

                                                  

                                                                                                    图4:游客请求服务用例图

 

用户:

                       

图5:用户请求服务用例图

 

管理员:

                                  

                                                                     图6:管理员请求服务用例图

 

 

6.1 系统架构设计

                                              

                                                                        图7:系统架构设计

 

 

6.2 功能模块设计

 

                                             

                                                                                 图8:功能模块结构图

 

 

基本功能详细描述:

(1)初始显示首页,有导航栏,和二级菜单,用户可以浏览商品信息;

(2)用户登录成功后,在首页会显示用户信息,新用户可以选择注册账号,然后再登录;

(3)可以在首页搜索框里面搜索想要的相关商品,然后跳转到搜索结果页面显示所有相关商品信息;

(4)用户浏览商品时可以点击商品链接,进一步了解商品详细信息;

(5)在商品详情页面,用户可以将喜欢的商品加入购物车;

(6)在商品详情页面,用户可以发表对商品的评论,上传图片和点赞;

(7)用户可以在购物车里面看到自己所有收藏商品的信息,也可以删除商品,还可以将商品加入订单列表;

(8)用户在订单列表里面可以看到自己所有的订单详情,可以点击购买,从而进行支付。

(9)模拟支付,调用支付宝接口,相关数据会在支付页面显示,支付方式多种可选。

(10)在后台,管理员拥有所有权限,可以对用户,商品分类和商品还有订单等信息进行管理,比如CRUD。

 

扩展功能详细描述:

(1)商品推荐功能,根据用户这段时间搜索过的商品,推荐给用户类似的可能感兴趣的商品,并展示在首页。

(2)模拟支付

(3)二级菜单的展示

(4)商品分类展示,包含一二级分类。

    (5)数据库存储图片

    (6)分布式多线程爬虫,爬取大量数据,效率和安全性高。

 

 

6.3 网上商城完整功能图:

                              

                                                                           图9:完整功能结构图

 

 

6.4 系统数据流程分析:

                                                

                                                                                 图10:第一层流程图

 

                                         

                                                                        图11:第二层流程图(管理员)

 

 

                                       

                                                                       图12:第二层流程图(商品)

 

 

    

                                                                          图13:第二层流程图(订单)

 

6.5 系统E-R图:

 

                                                                                      图14:网上商城系统E-R图

 

7.1 adminuser(管理员)

描述:管理员信息表

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

id

管理员ID

int

10,0

 

2

password

密码

varchar

255

 

 

3

username

用户名

varchar

255

 

 

 

7.2 category(一级分类)

描述:一级分类信息表

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

cid

一级分类ID

int

10,0

 

2

cname

一级分类名称

varchar

255

 

 

 

7.3 categorySecond(二级分类)

描述:二级分类信息表

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

csid

二级分类ID

int

10,0

 

2

csname

二级分类名称

varchar

255

 

 

3

cid

一级分类ID

int

10,0

 

 

7.4 orderItem(订单列表)

描述:订单列表信息

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

itemid

订单列表ID

int

10,0

 

2

count

订单数量

int

11

 

 

3

subtotal

订单总价

double

11

 

 

4

pid

商品ID

int

10,0

 

5

oid

订单详情ID

int

10,0

 

6

uid

用户ID

int

10,0

 

 

7.5 orders(订单信息表)

描述:订单信息表

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

oid

订单编号ID

int

10,0

 

2

total

订单总价

double

11

 

 

3

ordertime

订单时间

datetime

 

 

 

4

state

订单状态

int

11

 

 

5

name

客户姓名

varchar

255

 

 

6

phone

联系电话

varchar

11

 

 

7

uid

客户id

int

10,0

 

 

7.6 product(产品信息表)

描述:产品信息表

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

pid

产品ID

int

10,0

 

2

pname

产品名称

varchar

255

 

 

3

market_price

交易价格

double

 

 

 

4

shop_price

售价

double

 

 

 

5

image

图片地址

varchar

255

 

 

6

pdesc

产品描述

varchar

255

 

 

7

is_hot

是否热卖

int

11

 

 

8

pdate

生产日期

datetime

 

 

 

9

csid

二级分类ID

int

10,0

 

 

7.7 user(用户信息表)

描述:用户信息表

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

uid

用户ID

int

10,0

 

2

username

用户姓名

varchar

255

 

 

3

password

用户密码

varchar

255

 

 

4

name

用户真实姓名

varchar

255

 

 

5

email

电子邮箱

varchar

255

 

 

6

phone

电话

varchar

255

 

 

7

addr

地址

varchar

255

 

 

8

state

是否激活

int

11

 

 

9

code

激活码

varchar

255

 

 

 

8.1 数据库建立

 

adminUser表:

DROP TABLE IF EXISTS `adminuser`;

CREATE TABLE `adminuser` (

  `uid` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(255) DEFAULT NULL COMMENT '管理员姓名',

  `password` varchar(255) DEFAULT NULL COMMENT '密码',

  PRIMARY KEY (`uid`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

category表:

DROP TABLE IF EXISTS `category`;

CREATE TABLE `category` (

  `cid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',

  `cname` varchar(255) DEFAULT NULL COMMENT '类型名称',

  PRIMARY KEY (`cid`)

) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

 

categorySecond表:

DROP TABLE IF EXISTS `categorysecond`;

CREATE TABLE `categorysecond` (

  `csid` int(11) NOT NULL AUTO_INCREMENT COMMENT '第二类型id',

  `csname` varchar(255) DEFAULT NULL COMMENT '第二类型名称',

  `cid` int(11) DEFAULT NULL COMMENT '第一类型id',

  PRIMARY KEY (`csid`),

  KEY `FK936FCAF21DB1FD15` (`cid`),

  CONSTRAINT `FK936FCAF21DB1FD15` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`)

) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8;

 

orderItem表:

DROP TABLE IF EXISTS `orderitem`;

CREATE TABLE `orderitem` (

  `itemid` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单条id',

  `count` int(11) DEFAULT NULL COMMENT '数量',

  `subtotal` double DEFAULT NULL COMMENT '售价',

  `pid` int(11) DEFAULT NULL COMMENT '产品id',

  `oid` int(11) DEFAULT NULL COMMENT '订单id',

  `uid` int(11) DEFAULT NULL,

  PRIMARY KEY (`itemid`),

  KEY `FKE8B2AB6166C01961` (`oid`),

  KEY `FKE8B2AB6171DB7AE4` (`pid`),

  KEY `FKE8B2AB6140ACF87A` (`oid`),

  KEY `FKE8A41F815ECEA8B2` (`uid`),

  CONSTRAINT `FKE8A41F815ECEA8B2` FOREIGN KEY (`uid`) REFERENCES `orders` (`oid`),

  CONSTRAINT `FKE8B2AB6140ACF87A` FOREIGN KEY (`oid`) REFERENCES `orders` (`oid`),

  CONSTRAINT `FKE8B2AB6171DB7AE4` FOREIGN KEY (`pid`) REFERENCES `product` (`pid`)

) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;

 

orders表:

DROP TABLE IF EXISTS `orders`;

CREATE TABLE `orders` (

  `oid` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单编号',

  `total` double DEFAULT NULL COMMENT '售价',

  `ordertime` datetime DEFAULT NULL COMMENT '订单时间',

  `state` int(11) DEFAULT NULL,

  `name` varchar(20) DEFAULT NULL COMMENT '客户姓名',

  `phone` varchar(20) DEFAULT NULL COMMENT '联系电话',

  `addr` varchar(50) DEFAULT NULL COMMENT '地址',

  `uid` int(11) DEFAULT NULL COMMENT '客户id',

  PRIMARY KEY (`oid`),

  KEY `FKC3DF62E5AA3D9C7` (`uid`),

  CONSTRAINT `FKC3DF62E5AA3D9C7` FOREIGN KEY (`uid`) REFERENCES `user` (`uid`)

) ENGINE=InnoDB AUTO_INCREMENT=9031 DEFAULT CHARSET=utf8;

product表:

DROP TABLE IF EXISTS `product`;

CREATE TABLE `product` (

  `pid` int(11) NOT NULL AUTO_INCREMENT COMMENT '产品id',

  `pname` varchar(255) DEFAULT NULL COMMENT '名称',

  `market_price` double DEFAULT NULL COMMENT '交易价格',

  `shop_price` double DEFAULT NULL COMMENT '售价',

  `image` varchar(255) DEFAULT NULL COMMENT '图片',

  `pdesc` varchar(255) DEFAULT NULL COMMENT '产品描述',

  `is_hot` int(11) DEFAULT NULL COMMENT '是否热卖',

  `pdate` datetime DEFAULT NULL COMMENT '日期',

  `csid` int(11) DEFAULT NULL COMMENT '第二类型id',

  PRIMARY KEY (`pid`),

  KEY `FKED8DCCEFB9B74E02` (`csid`),

  CONSTRAINT `FKED8DCCEFB9B74E02` FOREIGN KEY (`csid`) REFERENCES `categorysecond` (`csid`)

) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8;

 

user表:

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

  `uid` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(255) DEFAULT NULL,

  `password` varchar(255) DEFAULT NULL,

  `name` varchar(255) DEFAULT NULL,

  `email` varchar(255) DEFAULT NULL,

  `phone` varchar(255) DEFAULT NULL,

  `addr` varchar(255) DEFAULT NULL,

  `state` int(11) DEFAULT NULL,

  `code` varchar(64) DEFAULT NULL,

  PRIMARY KEY (`uid`)

) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;

 

9.1 功能页面模块的实现

    (1)初始显示首页,有导航栏和二级菜单,用户可以浏览商品信息,可以进行登录和注册以及查看购物车。

                      

                                                                    图15:商城系统首页

 

(2)用户登录成功后,在首页会显示用户信息,新用户可以选择注册账号,然后再登录;

                                                                           图16:商城系统登录页面

 

                                                                 图17:商城系统注册页面

 

(3)用户浏览商品时可以点击商品链接,进一步了解商品详细信息

                      

                                                         图18:商城系统商品详情页面

 

(4)在商品详情页面,用户可以将喜欢的商品加入购物车;

 

                                                                   图19:商城系统商品购物车页面

 

(5)用户可以在购物车里面看到自己所有收藏商品的信息,也可以删除商品,还可以将商品加入订单列表;

                                      

                                                                 图20:商城系统商品我的订单页面

 

(6)模拟支付,调用易宝支付接口,相关数据会在支付页面显示,支付方式多种可选。

 

                                                              图21:商城系统商品支付页面

 

(7)后台登录页面,管理员登录后,对后台数据进行操作

 

                                                                     图22:商城系统后台登录页面

 

(8)后台管理页面,可以对用户、一级分类、二级分类、商品、订单进行系统的管理。

                                                                      图23:商城系统后台管理页面

 

 

经过此次课程设计,将数据库、前后端完整的过了一遍,自己对于上学期学习的java知识更加的熟悉,用到了经典的mvc设计思想且对于StartUML等工具的使用更加的熟悉。虽然系统的基本功能已经实现,但还是存在系统不稳定、数据解析太慢,查询响应时间太长等一些缺点。这些问题虽然对于目前这种小型的系统影响并不是很大,但是当访问量和查询过大的时候,这些问题所带来的影响可能会被无限的放大。这也是作为一个程序设计者必须要考虑到的因素。

开发一套系统,最重要的就是细心,需要充分考虑到该系统的现实意义,也让我感受到网站的制作并不是很难,但是也不太容易做好。

总之,对于本系统的实现,也感觉到了很多的不足,对于原生的js代码比较陌生,对于接口的调用程序的介绍不习惯于去查看官方的API文档等等。但是总体来说,进一步提高了自己的编码规范和水平,不管是在以后的学习还是工作中都应该不断的学习,将课本知识与实践结合起来,才能更好的理解。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章