网上购物系统的实现毕业设计论文说明书(编辑修改稿)内容摘要:

还包含业务流程和页面表示。 这样编写出来的程序,既不利于程序员对业务代码的调试,同时也不利于编辑人员进行交互页面的设计。 同时系统也不具备可扩展性,当我们要在现有业务上进行扩展的时候,通常无法借助于现有的资源和应用,而只能够重新编写,大大增加了投资,延长了系统上线的时间,失去了竞争市场的优势。 Browse 浏览器 Web 服务器 数据库 河南理工大学毕业设计(论文)说明书 9 在本网上购物系统中,将采用通行的 MVC 模式来构建应用。 这种结构解决了前面所述的所有问题,在我们的应用集成网络中,通过企业级高端 J2EE应用服务器实现 MVC开发模型。 MVC 的逻辑图如图 42 所示,流 程图如 图 43 所示。 图 42 MVC 开发逻辑示意图 图 43 MVC 业务流程示意图 系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。 在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计 通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下。 Model(模型)层:由 javaBean 来实现,将具体的业务封装在业务逻辑层实现。 是系统结构更加明确。 河南理工大学毕业设计(论文)说明书 10 View(视图)层:由 JSP、 HTML 组成。 这一层次的特点是能够真 实地展示和客户交互的界面,具备可描绘的功能。 同时能够嵌套动态数据,可以进行动态页面的展示。 同时可以方便地进行客户端的个性化定制。 根据每个客户的需求来展示不同风格的界面。 Controller(控制器)层:是非常重要的一层,这一层是连接 View 和 Model 的纽带,同时也是将这两层进行最大限度分离的工具。 通常由 Servlet 来实现, Servlet 和 JSP 虽然同样都属于页面展示工具,但分属两层。 主要在于 JSP 以脚本语言的形式存在, 它的主要优势是进行动态数据的 Web 展示,而 Servlet 是一个完整的 Java 程序, 进行业务的调用和流程的处理是它的长处。 通过这种模型的建立,我们的应用系统具备了非常好的性能和可扩展性。 将业务组件和展示页面进行分离,并通过 Controller 来描述调用关系,一方面可以提高效率,另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展,以满足不同用户、不同阶段、各种各样的业务需求。 河南理工大学毕业设计(论文)说明书 11 5 系统的功能和流程分析 网上商城购物系统基本功能描述 本系统是一个中小 型的电子 商务系统,可以为各类用户提供方便的在线购物环境,符合 目前国内流行的电子商务模式。 该网上购物系统平台利用现在比较广泛的 MVC 的架构 实现的,此系统分为前台管理和后台管理。 前台管理是友好的操作界面, 前台用户可以在系统中实现注册、登录、分类查询商品信息、购物、支付,管理购物车、结账等功能。 通过后台管理模块可以实现后台管理员对商品、订单和系统管理功能,该系统操作简单,界面人性化。 是一个简易的网上购物系统。 系统整体布局模块的结构分析 在平台功能的分析基础上,得到本平台的功能模块图如图 51 所示。 图 51 平台购物模块 河南理工大学毕业设计(论文)说明书 12 系统前台功能分析 经过对购物系统的流程分析,购物流程如图 52 所示。 图 52 网上购物活动图 前台部分应包含一下几个模块和功能 : ( 1) 用户管理模块:能够完成用户基本信息的注册和用户的系统登录。 用户登录流程图如图 53 所示。 河南理工大学毕业设计(论文)说明书 13 图 53 用户登录流程图 ( 2) 分类模块 : 从后台数据库 查出所有 商品 分类并显示到 界面 左边。 ( 3) 商品 模块 : 查出所有 商品 显示在 body 页面 上 , 按照分类查找相应的 商品 , 浏览全部 商品, 查看 商品 详情 , 添加到购物车。 ( 4) 购物模块 : 如果想把购物车的信息添加 到数据库中,购物车里面包含的信息有用户 、 商品 、 分类 、 商品数量 等 , 一个用户有一个购物车,购物车中可以有多个商品,每个商品数量不唯一 ,添加到购物车 删除购物车中某件商品 , 清空购物车。 ( 5) 订单模块 : 创建订单表 ,创建订单项表, 填写信息生成订单 , 修改订单 , 提交订单 , 付款。 系统 后台模块 功能分析 后 台作为管理员管理系统的平台,根据购物系统分析,管理员的用例图 54 所示。 河南理工大学毕业设计(论文)说明书 14 图 54 管理员功能用例图 作为系统后台应包含以下模块: ( 1) 管理员登录 模块 : 功能与用户登录相同,只是两种用户不在一张表上,查询数据库时查询的表不同,因此可以直接复制前台的用户模块的代码,然后修改查询的用户表,以及跳转的页面即可。 ( 2) 分类模块 :应包含 添加分类 , 查询 已有 分类。 ( 3) 商品 模块 : 添加 商品, 查询所有 商品, 修改 商品 信息 , 删除 商品等功能。 ( 4) 订单模块 : 查询所有订单 , 查询所有未付款订单 , 查询所有已付款订单 , 查询所有未收获订单 , 查询所有已完成订单。 河南理工大学毕业设计(论文)说明书 15 6 系统功能的具体实现 系统 数据库 及 表的设计 在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调 用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。 数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。 尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。 实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。 结合系统结构以及对系统中各部分关系的分析,共建立了一个数据库和六张表。 创建数据库 数据库名为 myestore,该数据库是作为其他表建立的基 础,管理员表、用户 表、订单表等都在该数据库里面建立。 数据库创建代码以及所包含的的表如图 61 所示。 CREATE DATABASE MYESTORE。 SET FOREIGN_KEY_CHECKS=0。 图 61 数据库以及表结构 河南理工大学毕业设计(论文)说明书 16 表的创建 表的创建是在数据库创建之后,表的创建应清楚的了解各表之间的关系,以及表中应包含哪些字段,表与表之间的关系应划分清楚,确定好表的关键字,表中的外键,消除表中的冗余数据。 ( 1) 创建管理员表 admins, 管理员表是作为后台管理员登录后台程序时验证管理员身 份时使用, 管理员表应包括用户名以及用户密码等字段。 管理员表字段类型 定义 如图 62 所示。 DROP TABLE IF EXISTS `admins`。 CREATE TABLE `admins` ( `aid` char(32) NOT NULL, `username` varchar(30) DEFAULT NULL, `password` varchar(30) NOT NULL, `` varchar(30) DEFAULT NULL, PRIMARY KEY (`aid`), UNIQUE KEY `username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8。 INSERT INTO `admins` VALUES (39。 1cc6a795923f4013a467d096bd6d7a5b39。 , 39。 haha39。 , 39。 haha39。 , 39。 haha@estore39。 , 39。 139。 , null)。 图 62 管理员表字段类型定义 ( 2) 创建商品表,商品表作为商品信息存储的表,应包含商品名等信息,该表是前台和后台共同操作的表, 前台用户通过查询该表可获得商品的信息,在前台购物页面显示出来,后台管理通过操作该表进行商品的添加,以及商品的信息的修改。 商品表的字段类型定义如 图 63 所示。 CREATE TABLE `books` ( `bid` char(32) NOT NULL, `bname` varchar(20) NOT NULL, `author` varchar(20) DEFAULT NULL, `price` varchar(15) DEFAULT NULL, `image` varchar(100) DEFAULT NULL, `state` tinyint(4) DEFAULT NULL, 河南理工大学毕业设计(论文)说明书 17 `cid` varchar(32) DEFAULT NULL, PRIMARY KEY (`bid`), KEY `cid` (`cid`), CONSTRAINT `books_ibfk_1` FOREIGN KEY (`cid`) REFERENCES `categories` (`cid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8。 图 63 商品表字段类型定义 ( 3) 创建分类表 categories。 该表存储所有商品的分类信息,包括分类名称等字段,后台通过添加分类和修改分类对该表进行操作和访问。 分类表的字段和类型定义如图64 所示。 DROP TABLE IF EXISTS `categories`。 CREATE TABLE `categories` ( `cid` varchar(32) NOT NULL DEFAULT 39。 39。 , `ame` varchar(20) DEFAULT NULL, PRIMARY KEY (`cid`), UNIQUE KEY `ame` (`ame`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8。 图 64 分类表字段类型定义 ( 4) 创建订单项表 orderitems。 订单项表包括了订单项号、商品的数量、小计等字段,订单包括多个订单项。 订单项表字段 及 类型定义 如图 65 所示。 DROP TABLE IF EXISTS `orderitems`。 CREATE TABLE `orderitems` ( `oiid` char(32) NOT NULL, `oid` char(32) NOT NULL, `bid` char(32) NOT NULL, `count` smallint(6) NOT NULL, `subtotal` varchar(12) NOT NULL, PRIMARY KEY (`oiid`), KEY `oid` (`oid`), 河南理工大学毕业设计(论文)说明书 18 KEY `bid` (`bid`), CONSTRAINT `orderitems_ibfk_1` FOREIGN KEY (`oid`) REFERENCES `orders` (`oid`), CONSTRAINT `orderitems_ibfk_2` FOREIGN KEY (`bid`) REFERENCES `books` (`bid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8。 图 65 订单项表字段类型定义 ( 5) 创建订单表 orders。 订单表应包括订单编号、总计、用户编号等字段。 一个订单可以包含多个订单项。 订单表的字段和类型定义如图 66 所示。 DROP TABLE IF EXISTS `orders`。 CREATE TABLE `orders` ( `oid` char(32) NOT NULL, `orderTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `total` varchar(15) NOT NULL, `address` varchar(50) DEFAULT NULL, `state` tinyint(4) NOT NULL, `uid` char(32) DEFAULT NULL, PRIMARY KEY (`oid`), KEY `uid` (`uid`), CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。