1、 1 移动订餐系统设计与实现 【摘 要】 该系统是一款在移动 平台 是 Android 为 基础 的订购菜肴系统,可以让拥有手机就有 能力可以 订购自己喜欢菜肴。该系统开发平台选择 Eclipse,开发语言采用 Java,系统后台管理采用 B/S结构,数据库采用 MySQL,并结合 JavaConnectionPool 数据库连接池技术;服务器采用 Tomcat; Android 手机端采用 JSON 数据传输技术 1。该移动订餐系统是针对拥有拥有智能手机的一个 Android App,主要提供给用户浏览食品信息,并进行点餐和评价,后台可以进行信息管理和用户管理。 【关键词】 B/S 结构;
2、Android; MySQL; 订餐管理2 目录 1 引言 . 1 1.1 选题的目的与意义 . 1 1.2 项目背景 . 1 2 开 发环境和相关技术 . 1 2.1 系统开发环境 . 1 2.1.1 客户端 APP . 1 2.1.2 服务器管理端 Web . 1 2.2 相关技术简介 . 1 2.2.1 Java 简介 . 1 2.2.2 MySQL 简介 . 1 3 总体设计及相关技术 .2 3.1 总体设计 . 2 3.1.1 系统规划 . 2 3.1.2 系统主要功能结构 . 2 3.2 系统设计 . 2 3.2.1 设计目标 . 2 3.2.2 数据库设计 . 2 4 总体设计及
3、相关技术 . 8 4.1 功能概述 . 8 4.1.1 用户 . 8 4.1.2 系统管理员 . 8 4.2 用例图 . 9 5 用例描述 . 11 5.1 注册用例 . 11 5.1.1 注册的用例说明 . 11 5.1.2 注册用例的活动图 . 11 5.1.3 注册用例的顺序图 . 12 5.1.4 注册用例的界面设计 . 12 5.1.5 注册用例 UX 协作顺序图 . 13 5.1.6 注册用例 UX 协作的类图 . 13 5.2 登录用例 . 14 5.2.1 登录用例的用例说明 . 14 5.2.2 登录用例的活动图 . 14 5.2.3 登录用例的顺序图 . 15 5.2.4
4、登录用例的界面设计 . 16 5.2.5 登录用例 UX 协作顺序图 . 17 5.2.6 登录用例 UX 协作类图 . 17 3 5.3 修改信息用例 . 18 5.3.1 修改信息用例的用例说明 . 18 5.3.2 修改信息用例的 活动图 . 18 5.3.3 修改信息用例的顺序图 . 18 5.3.4 修改信息用例的界面设计 . 19 5.3.5 修改信息用例 UX 协作的顺序图 . 20 5.3.6 修改信息用例的结构性 UX 协作的类图 . 20 5.4 下订单用例 . 21 5.4.1 下订单用例的用例说明 . 21 5.4.2 下订单用例的活动图 . 21 5.4.3 下订单的
5、顺序图 . 22 5.4.4 下订单用例的界面设计 . 22 5.4.5 下订单用例 UX 协作的顺序图 . 23 5.4.6 下订单用例 UX 协作的类图 . 23 5.5 查找单子用例 . 24 5.5.1 查找单子的用例说明 . 24 5.5.2 查找单子用例的活动图 . 24 5.5.3 查找单子用例的顺序图 . 24 5.5.4 查找单子用例的界面设计说明 . 25 5.5.5 查找单子用例 UX 协作的顺序图 . 26 5.5.6 查找单 子用例 UX 协作的类图 . 26 5.6 订单管理用例 . 27 5.6.1 订单管理的用例说明 . 27 5.6.2 订单管理例的活动图 .
6、 27 5.6.3 订单管理用例的顺序图 . 28 5.6.4 订单管理用例的界面设计 . 28 5.6.5 已购单子管理用例 UX 协作的顺序图 . 29 5.6.6 已购单子用例 UX 协作的类图 . 29 5.7 添加菜品用例 . 30 5.7.1 添加菜品的用例说明 . 30 5.7.2 添加菜品用例的活动图 . 30 5.7.3 添加菜品用例的顺序图 . 31 5.7.4 添加菜品用例的界面设计 . 31 5.7.5 添加菜品用例 UX 协作的顺序图 . 32 5.7.6 添加菜 品用例 UX 协作的类图 . 32 5.8 删除菜品用例 . 33 5.8.1 删除菜品的用例说明 .
7、33 5.8.2 删除菜品用例的活动 图 . 33 5.8.3 删除菜品用例的顺序图 . 34 5.8.4 删除菜品用例的界面设计 . 34 5.8.5 删除菜品用例 UX 协作的顺序图 . 35 5.8.6 删除菜品用例 UX 协作的类图 . 35 5.9 修改菜品用例 . 36 5.9.1 改动菜品的用例说明 . 36 4 5.9.2 改动菜 品用例的活动图 . 36 5.9.3 修改菜品用例的顺序图 . 37 5.9.4 修改菜品用例的界面设计 . 37 5.9.5 修改菜品用例 UX 协作的顺序图 . 38 5.9.6 改动菜品用例 UX 协作的类图 . 39 5.10 发布活动用例
8、. 39 5.10.1 发布活动的用例说明 . 39 5.10.2 发布活动用例的活动图 . 40 5.10.3 发布活动用例的顺序图 . 40 5.10.4 发布活动用例的界面设计 . 41 5.10.5 发布活动用例 UX 协作的顺序图 . 41 5.10.6 发布 活动用例 UX 协作的类图 . 42 5.11 添加用户用例 . 42 5.11.1 添加用户的用例说明 . 42 5.11.2 添加用户用例 的活动图 . 43 5.11.3 添加用户用例的顺序图 . 43 5.11.4 添加用户用例的界面设计 . 44 5.11.5 添加用户用例 UX 协作的顺序图 . 44 5.11.6
9、 添加用户用例 UX 协作的类图 . 45 5.12 修改用户用例 . 45 5.12.1 修改用户的用例说明 . 45 5.12.2 修改用户用例的活动图 . 46 5.12.3 修改用户用例的顺序图 . 46 5.12.4 修改用户用例的界面设计 . 47 5.12.5 修改用户用例 UX 协作的顺序图 . 48 5.12.6 修改 用户用例 UX 协作的类图 . 48 5.13 删除用户用例 . 49 5.13.1 删除用户的用例说明 . 49 5.13.2 删除用户用例 的活动图 . 49 5.13.3 删除用户用例的顺序图 . 49 5.13.4 删除用户用例的界面设计 . 50 5
10、.13.5 删除用户用例 UX 协作的顺序图 . 50 5.13.6 删除用户用例 UX 协作的类图 . 51 5.14 发表评论用例 . 51 5.14.1 发表评论的用例说明 . 51 5.14.2 发表评论用例的活动图 . 52 5.14.3 发表评论用例的顺序图 . 53 5.14.4 发表评论用例的界面设计 . 53 5.14.5 发表评论用例 UX 协作的顺序图 . 55 5.14.6 发表 评论用例 UX 协作的类图 . 55 5.15 删除评论用例 . 55 5.15.1 删除评论的用例说明 . 55 5.15.2 删除评论用例 的活动图 . 56 5.15.3 删除评论用例的
11、顺序图 . 56 5 5.15.4 删除评论用例的界面设计 . 57 5.15.5 删除评论用例 UX 协作的顺序图 . 57 5.15.6 删除评论用例 UX 协作的类图 . 57 5.16 修改密码用例 . 58 5.16.1 修改密码的用例说明 . 58 5.16.2 修改密码用例的活动图 . 58 5.16.3 修改密码用例的顺序图 . 58 5.16.4 修改密码用例的界面设计 . 59 5.16.5 修改密码用例 UX 协作的顺序图 . 60 5.16.6 修改 密码用例 UX 协作的类图 . 60 6 系统测试 . 60 6.1 查询订单测试用例 . 60 6.2 修改密码测试用
12、例 . 61 6.3 测试结论 . 61 7 结束语 . 62 参考文献 . 62 致谢 . 62 1 1 引言 1.1 选题的目的与意义 本系统的目的是开发一个可以让用户在手机上操作的点餐系统。本系统是在开发平台上是基于移动设备 Android 平台的订餐系统,这样就可以让拥有手机的用户在订餐上能更加方便 ,使得订餐在人们 的生活上 提供很大 的方便 ,让用户能随时随地都能订购自己喜欢的食品,使人们的生活更加多样化。 1.2 项目背景 本项目名称为“移动订餐系统 ” 2。系统功能主要包括:客户端浏览菜肴、点菜肴、交 订购菜单、搜索、未注册人注册、支付、留言评论。服务器端需实现:添加、删除、修
13、改菜品,对订单的处理,留言评论管理,以营业额统计及对会员的管理等功能 3。 2 开发环境和相关技术 2.1 系统开发环境 2.1.1 客户端 APP 系统开发平台: Eclipse 系统开发语言: JavaSE、 Android 数据通信: JSON 服务器: tomcat-6.0.53 运行平台: Android 智能手机 运行环境: Android2.2 或更高版本 最佳运行环境: Android4.2 智能手机 2.1.2 服务器管理端 Web 系统开发平台: MyEclipse 8 系统开发语言: JavaSE、 HTML、 CSS、 Jsp、 Servlet、 JavaBean 数据
14、库管理系统软件: MySQL 5.5 服务器: tomcat-6.0.53 运行平台: 360 浏览器 运行环境: Windows 7 操作系统 最佳运行环境: IE 游览器 2.2 相关技术简介 2.2.1 Java 简介 Java 语言它 有 符合 编写 时很大范围的、 是 已 对象 为基础的、 在平台有很大 兼容 优点。是一种 比较 流行编程语言, 多 用在移动 的 应用开发及企业应用技术开发 4。 2.2.2 MySQL 简介 MySQL 是 在当今比较 流行的数据库管理系统, MySQL 在 web 开发 应用 上还是 蛮好的, 而且 MySQL 体积小、查询速度快、 还 是免费 当
15、然 最重要的是源码 我们 是可以看到的, 通常 开发比较小的应用是 使用这种数据库 5。 2 3 总体设计及相关技术 3.1 总体设计 本系统名称为“移动订餐系统”。系统功能主要包括:客户端浏览菜品、选择菜品、订单提交、搜索、会员注册、支付、留言评论。服务器端需实现添加、删除、修改菜品,对订单的处理,留言评论管理,以营业额统计及对会员的管理等功能。 3.1.1 系统规划 Web 会员端 游客可以通过本订餐系统注册成为系统用户,然后登录系统后就可以查询菜品信息、评论,进行订购菜品,修改个人信息及 订单查询 6。 Web 管理端 管理员登陆在后台时,可以进行管理整个系统,包括用户、订购的菜单、公告
16、、和菜肴的管理;对数据库进行维护。 Android 客 户端 游客还可以通过 Android 手机注册成为系统用户然后登录成功后可以查询菜品信息、评论,进行订购菜品,修改个人信息及订单查询。 3.1.2 系统主要功能结构 移 动 点 餐 系 统客 户 端 W e b 管 理 端查看搜索食品留言公告查询修改个人信息下订单注册登录管理食品信息管理评论管理公告管理订单登录图 3-1 功能结构图 3.2 系统设计 3.2.1 设计目标 本系统是针对用户用手机在网上进行点餐的移动点餐系统,对需要在网上进行点餐的用户提供一个安全、方便、可靠的订餐平台。 3.2.2 数据库设计 Mysql 是 本系统选择的
17、 一个 简单数据存储库 ,名称为 dishdb,其中共有 11 个表。下面是对结构 化的表 联系做出了很容易 理解 的 说明 。 逻辑结构设计要点 图 3-2 整个系统实体联系图: 3 管 理 员管 理1食 品 信 息 订 单 信 息用 户评 论 信 息 系 统 参 数N N N N管 理个 人 信 息 订 餐 信 息 评 论 信 息 食 品 信 息N N N NN1图 3-2 实体联系图 数据表概要说明 如图 3-3 所示: 图 3-3 MySQL 表图 数据表 E-R 图 (1)系统管理员属性 E-R 图 : 管 理 员 ( a d m i n )用 户 名登 陆 密 码图 3-4 系统
18、管理员属性 E-R 图 (2)用户实体的属性 E-R 图: 4 用 户用 户 名登 陆 密 码Q Q 账 号电 话 号 码出 生 年 月真 实 姓 名电 子 邮 箱地 址性 别个 人 照 片图 3-5 用户实体的属性 E-R 图 (3)菜品实体的属性 E-R 图 : 菜 品人 气 值上 架 日 期菜 品 照 片菜 品 类 别菜 品 编 号菜 品 名菜 品 价 格菜 品 库 存图 3-6 菜品实体的属性 E-R 图 (4)订单实体的属性 E-R 图 : 订 单 信 息收 货 人 电 话收 货 人 姓 名订 单 总 金 额下 单 用 户订 单 编 号下 单 时 间订 单 状 态付 款 方 式邮 政
19、 编 码收 货 地 址图 3-7 订单实体的属性 E-R 图 (5)评论实体的属性 E-R 图 : 评 论 信 息评 论 内 容菜 品 名 称评 论 编 号用 户 名评 价 时 间图 3-8 评论实体的属性 E-R 图 (6)公告信息属性联系 E-R 图 : 公 告 信 息公 告 内 容记 录 编 号公 告 标 题发 布 日 期图 3-9 公告信息属性 E-R 图 主要数据表的结构 5 系统包括 10 张表,分别如下: (1)管理员信息表 (admin) 用于记录管理员信息,分别为管理员称呼和能 进入 正确 的 密码 表 3-1 管理员信息表 (admin) 说明 字段名 数据类型 登录密码
20、password Varchar(20) 用户名 username Varchar(20) (2)用户信息表 (t_memberinfo) 用于记录用户信息,包括用户名称、登陆密码、真正名字、性别、出生年月、常用号码、常用邮箱、企鹅账号、送餐地址、本人照片。 表 3-2 用户信息信息表 (t_memberinfo) 说明 字段名 数据类型 用户名 memberUserName Varchar(20) 登录密码 password Varchar(20) 真正名字 realName Varchar(20) 企鹅 账号 qq varchar(20) 出生年月 birthday varchar(30)
21、 本人照片 photo varchar(50) 常用邮箱 email varchar(40) 性别 sex Varchar(2) 送餐地址 address varchar(60) 常用号码 telephone varchar(20) (3)菜品类别表 (t_dishclass) 菜品 类别表 记录各种 菜 、 食品 类别,包括类别编号,类别称呼。 表 3-3 菜品类别表 (t_dishclass) 说明 字段名 数据类型 类别编号 classId Int(11) 类别称呼 className Varchar(20) (4)菜品信息表 (t_dishinfo) 用于记录菜肴的各种描述,包括菜肴 ID、菜品类别、菜肴名称、菜肴照片、菜肴单个价格、库存、人气值、上架日期。 表 3-4 菜品信息表 (t_dishinfo) 说明 字段名 数据类型 菜肴 ID dishNo Varchar(20) 菜品类别 dishClassObj Int(11) 上架日期 recommendFlag Int(11) 人气值 hotNum Int(11) 库存 dishCount Int(11) 菜肴名 dishName Varchar(20) 菜肴单个价格 dishPrice Float(20) 菜肴照片 dishPhoto Varchar(50) (5)购物车信息表 (t_dishcart)