1、第 1 页 (共 20 页)本科毕业论文(20 届)校园 B2C 网上订餐系统设计与实现数据库设计所在学院专业班级 信息与计算科学学生姓名指导教师完成日期第 2 页 (共 20 页)校园 B2C 网上订餐系统设计与实现数据库设计摘 要:餐饮业是一种个性化、多样化的服务产业。随着网络技术的发展和普及,加上软件开发平台的多样性与简便性,本论文运用 MYSQL 数据库与 JAVA 编程语言设计将餐饮服务与个性化,多样化服务的电子商务相结合,形成了方便、快捷、个性化的“校园 B2C 网上订餐系统”,通过网上订餐的界面化操作,顾客不必亲临现场,便可购买美食,实现了网上订餐的信息化科学管理。关键词:网上订
2、餐;MYSQL;JAVAAbstract:Catering is a personalized, diversified services industry. With the development and popularization of network technology, coupled with the diversity and ease of software development platform, this paper using the MYSQL database and the JAVA programming language, combining with t
3、he personalized food service,the diversified e-commerce services, creates a convenient , fast, personalized “Campus B2C Online Reservation System“.And the interface of the operating through online ordering, the customer does not have to visit the site to buy something for dinner ,and it has achieved
4、 an online ordering information technology and scientific management.Key words:Online Reservation System;MYSQL;JAVA第 3 页 (共 20 页)引言随着计算机技术的飞速发展,传统的学校餐饮方式已经无法满足新时期的客户需求。美团外卖、百度外卖等新兴互联网订餐产业正逐步吞噬着传统校园餐饮服务的蛋糕。为此,校园 B2C 网上订餐系统应运而生,既解决学生足不出户就餐需求,又满足校内餐饮的客户需要。因此,开发一个校园 B2C 网上订餐系统是非常有必要的。餐饮业商家通过对前台商品的信息展示和后
5、台的信息存储系统,整合餐饮的供应链,大步提升其信息化的科学管理水平和经济效益。1 需求分析 校园 B2C 网上订餐系统针对两种身份用户,主要是面向此系统的会员顾客,顾客可以直接网上查阅菜品和订餐,为其提供美味可口,丰富多样的菜肴;另外餐饮企业可以以管理员身份对网站信息及菜品详细内容进行增加、删除、修改、查询与更新等相关一系列操作 。菜品信息的上传和修改需要人工介入,系统订餐状态,包括取消,正在送餐,送餐结束,订餐完成后可再次登录系统进行评价。 1.1 会员订餐 此系统遵循开放模式,用户可以按照自己的角色权限进行相关操作。非会员用户可以登录此系统任意查看,但在订餐时,必须以会员身份登录,进而进行
6、下一步操作。菜肴的主要信息包括菜品 ID、名称、类型、价格、数量、介绍和相关实物图片等等。用户登陆后,可以直接订餐,也可以加入购物车,结账时可以选择外卖还是店内等候就餐,直接转跳到付款页面,支付完成后,订单形成,餐饮企业就可以根据顾客的订单进行下一步实物操作。顾客在用完餐后 15 天以内,可以对本次菜品和服务进行评价,商家会及时回复。1.2 管理员处理管理员拥有此系统的最大权限,可以进行页面管理和菜肴相关信息的更新、增加、删除、修改和查询等。另外还可以查看用户评价和回复顾客评价,以及查看订单详细信息,如所选菜品、数量、是否配送、是否在线支付等。 第 4 页 (共 20 页)图 1-1 系统业务
7、流程图 2 可行性分析 2.1 技术可行性分析校园 B2C 网上订餐系统的开发是一个复杂的系统项目。此系统的开发使用 JSP 作为前端展现,采用SSH 技术,Tomcat6.0 作为 Web 服务器,后台数据库采用关系型数据库 MYSQL 实现。同时为了保证软件的易用性和系统开发效率,采用工程化和模块化的系统开发,既大大加快了此系统的开发速度,保证了此系统的质量,还降低了开发成本。2.2 经济可行性分析 由于本项目的特殊性,该系统为本科毕业生的毕业设计项目,主要目的在于通过对此项目的设计,目的在于对个人技术的检验和提高,并非用于商业销售,所以无需投入额外的设备购买及人员培训费用。另外,此系统对
8、开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。本系统在任何一台连接 Internet 的机器上都可以运行,因此,订餐系统在经济上是完全可行的。 第 5 页 (共 20 页)2.3 运行可行性分析 随着计算机知识的普及和推广,越来越多的人已经熟练掌握计算机的基本上能使用方法,广大用户对于网络、Windows 等环境下的软件使用也比较熟悉。另外,该系统科学合理的将整个程序划分为多个功能模块,各个模块分别单独设计,降低了整个程序的设计难度和减少错误程序的影响范围,各个模块易于实现,整个程序也易于修改和衔接。综上所述,本系统的开发是符合现在的实际情况的,并具有一定的使用意义。在技术
9、、经济、运行上都可以看到此系统的可行性,并且很具有其实现的必要。3 数据库设计 3.1 背景说明开发的数据库名称为 Orders。使用此数据库的软件系统为 MYSQL。PLSQL Developer 数据管理系统用于装入、生成、修改、更新数据库的程序。其主要功能特性:该编 辑 器 具 有 语 法 加 强 、 SQL 和 PL/SQL 帮助 、 对 象 描 述 、 代 码 助 手 、 编 译 器 提 示 、 PL/SQL 完 善 、代 码 内 容 、 代 码 分 级 、 浏 览 器 按 钮 、 超 链 接 导 航 、 宏 库 等 许 多 智 能 特 性 , 能 够 满 足 要 求 性 最 高 的
10、 用 户需 求 。 当 您 需 要 某 个 信 息 时 , 它 将 自 动 出 现 , 至 多 单 击 即 可 将 信 息 调 出 。3.2 概念结构设计 概念结构设计是将分析得到的用户需求抽象为信息结构(即概念模型)的过程。它是整个数据库设计的关键。第 6 页 (共 20 页)图 3-1 实体与属性以及实体间关系图 3.3 逻辑结构设计 数据库逻辑设计可以分为三个阶段,即用户要求、建立 E-R 图模型和数据库模式设计。逻辑结构设计的要点:Hash 表在 Map 类实现该数据结构, service 类中经常用来盛装数据;链表结构在 List 类实现该数据结构,Action 类中经常使用。实体转
11、换出的关系模式如下:表 3.1 用户信息表字段名 数据类型 长度 说明 描述userid int 10 Not null,主键 自增,用户 idusername Varchar2 30 Not null 唯一 用户名truename Varchar2 30 Not null 真实名passwd Varchar2 30 Not null 用户密码Email Varchar2 40 Not null 邮箱phone Varchar2 20 Not null 电话表 3.2 商品信息表字段名 数据类型 长度 说明 描述第 7 页 (共 20 页)goodsid Int 10 Not null,主键
12、自增,商品 idgoodsname Varchar2 40 Not null 商品名称goodsprice float 6 Not null 商品价格goodsnum Int 6 Not null 商品数量publisher Varchar2 40 Not null 商品发布者goodsIntro Varchar2 500 Not null 商品介绍表 3.3 用户意见表字段名 数据类型 长度 说明 描述titleId Int 10 Not null,主键 自增,意见 idUserid Int 10 Not null,外键 用户的 idgoodsid Int 10 Not null,主键 自增
13、,商品 idcontext String 20 Not null 内容postTime date 默认 Not null 发布时间表 3.4 订单信息表字段名 数据类型 长度 说明 描述Ordersid Int 10 Not null,主键 自增,订单的 iduserId Int 10 Not null,外键 客户的 idpayMode Varchar2 20 Not null 支付方式isPayed char 2 Not null 是否付款totalPrice float 10 Not null 总额3.4 物理结构设计数据库物理设计包含四个方面,即选取存储结构、确定数据存储位置、确定存取方
14、法和选择存取路径。主要是为了解决确定文件存取方法和选择文件存储结构的问题。在数据库中访问数据的路径主要表现为如何建立索引。设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,选择一个优化方案作为数据库物理结构。在数据库物理设计中,最有效的方式是集中地存储和检索对象。在上面的实体以及实体之间关系模式的基础上,形成数据库中表以及各表之间关系。3.5 数据字典设计数据库名:Orders;用户名:ours;密码:ours ;User 表中的 email 字段可以用来表示当用户忘记密码时找回密码的条件;username 字段规定用手机号作为用户名,以方便用户记忆; type 字段 0:表
15、示管理者,1:表示普通用户。price 保留 2 位小数点;表中的 date 类型都以 yyyy-mm-dd hh24:mm:ss 格式;第 8 页 (共 20 页)ordernum 订单号由系统时间组成;status 字段 0:表示未送,1:表示已送。3.6 安全保密设计1. 使用者在使用此数据库时,对数据的访问设置了权限,不同的访问者的登陆号码和密码不同,所以数据可以说是比较安全的。2.管理员的权限最大,可以控制所有的数据,用户只能够看到与他们自己有关的信息,而不能随便修改他人信息。3.7 系统出错处理设计表 3.5 出错信息及处理方法表可能出错或故障情况 处理方法由于输入错误信息超出或不
16、符合预定格式的错误,属于处理错误对于处理错误需在操作成功判断及输入数据验证模块有数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到传输模块中由于系统的预设不能执行的错误,属于设定错误 对于设定错误,应在开始提交信息类别中,依据权限等判断错误类别,在生成相应出错信息语句,输出到输出模块中由于网络传输超时、服务器响应超时等属于系统错误对于系统错误,根据 resin 服务器的响应内容,判断错误类别输出4 核心功能流程说明此系统主要是针对顾客和餐厅开发的网上订餐系统。主要满足以下功能需求:a 顾客登录网上订餐系统,菜单浏览或者注册为会员b 会员可以对个人信息更改,以会员形式登陆的顾客享受订餐服务c 会员筛选适合自己的菜肴d 当顾客确定订餐完毕后,顾客可以将其提交至我们的餐厅后台系统,并生成订单第 9 页 (共 20 页)e 餐馆收到订餐信息后通过会员预留的地址送餐上门并进行线下交易f 完成交易后,顾客可以再次登录平台进行对餐厅的留言和评价图 4-1 主要功能用例图 综上可知,此系统核心功能主要包括三个方面,即管理员对菜品的添加、用户添加菜品和订单数据的形成。下面分别展开详述。 4.1 菜品添加管理员通过身份验证后登陆系统,可以进行对菜肴的添加管理,例如菜品 ID、名称、价格、数量、图片、介绍等详细信息。第 10 页 (共 20 页)图 4-2 管理员添加菜品主要代码截图