目 录
前 言 1
第1章 概述 2
1.1 选题背景及意义 2
1.2 技术概述 2
1.2.1 JSP技术概述 2
1.2.2 Spring+SprngMVC介绍 3
1.2.3 MySQL数据库概述 3
1.2.4 Mybatis介绍 3
1.2.5 Maven介绍 3
1.3 开发平台介绍 4
1.3.1 Tomcat服务器 4
1.3.2 Eclipse简介 4
第2章 可行性研究 5
2.1 技术可行性 5
2.2 经济可行性 5
2.3 法律可行性 6
2.4 运行可行性 6
2.5 可行性研究结论 6
第3章 需求分析 7
3.1 用户需求描述 7
3.2用例模型 8
3.2.1 角色识别 8
3.2.2 用例识别 9
3.2.3 用例图 9
3.2.4 用例描述 12
3.3 概念模型 20
3.3.1 视图模型 21
3.6.2 逻辑模型 22
3.3.3 实体模型 22
3.4 实体-关系图 23
第4章 总体设计 24
4.1 设计目标 24
4.2 系统体系结构设计 24
4.2.1 体系结构概念 24
4.2.2 体系结构设计内容 25
4.3 系统功能设计 27
4.3.1 前台系统功能 27
4.3.2 后台系统功能 27
4.3.3 系统各功能模块功能描述: 28
4.4 模块结构设计 29
4.4.1 前台模块设计 29
4.4.2 后台模块设计 31
4.5 实体类设计 33
第5章 详细设计 34
5.1 系统文件组织结构 34
5.1.1 src/main/java文件夹 34
5.1.2 target文件夹 35
5.1.3 pom.xml文件 35
5.2 前台模块设计 35
5.2.1 用户登录 35
5.2.2 用户点餐 37
5.3 后台模块设计 39
5.4 数据库设计 40
5.4.1 数据库表结构详细设计 40
5.4.2 数据库连接详细设计 44
第6章 系统实现 46
6.1 前台界面系统实现 46
6.1.1 前台登陆 46
6.1.2 用户点餐 46
6.1.3 用户个人中心 47
6.2 后台界面系统实现 49
6.2.1 员工登录 49
6.2.2 菜品管理 50
6.2.3 餐桌管理 50
6.2.4 订单管理 51
结 论 53
致 谢 54
参考文献 55
第3章 需求分析
需求分析是与用户充分交流,获取详细的功能需求、数据需求以及性能需求的信息(见3.1节),对获得的原始信息进行整理、分析和加工得到需求模型和概念模型。本系统的分析和设计采用面向对象方法和过程,采用UML建立UseCase模型(见3.2.3节),用户的需求描述做到完整、准确、细致(见3.3.4节);在UseCase图的基础上按MVC模型划分类,得到概念模型的视图、逻辑和实体三大类模型(见3.4节),作为下一步软件设计的依据。
说明:本章只对用户的功能性需求进行简单的描述,未对数据需求和性能需求进行整理。
3.1 用户需求描述
1.餐饮管理系统是一个餐厅运营管理系统。餐厅在后台维护菜品信息,在前台系统界面上将菜品信息展示给前台用户。用户登录到系统前台后,可以浏览菜品,添加菜品到点餐单,提交菜品产生订单。用户可以在个人中心更新个人信息、查看历史订单、收藏商品,查看个人积分和消费支出。
(1)用户:具有注册、登录权限,可以添加菜品点餐单、提交菜单生成订单。可以收藏菜品、取消收藏。在个人中心修改个人信息、进行安全设置、查看积分明细、查看余额记录、查看收藏商品。
(2)注册登录:前台界面使用前需要餐桌登录,用户使用系统前需要注册后方可登录。
(3)点餐单和订单:用户可以在点餐中添加菜品、增减菜品数量、删除菜品、重置、提交点餐单。提交点餐单后生成订单,用户点击结账后,系统结账流程执行结束此订单状态改为已结账状态。
(4)个人中心:个人中心分为个人资料、个人资产、我的收藏。个人资料可以修改个人基本资料,进行安全设置:更改手机号、修改密码、启用/修改支付密码、实名认证、安全问题设置。
2.餐饮管理后台员工登录后,需要维护餐桌信息、菜品信息,查看订单数据。餐饮管理后台分为餐厅员工、餐厅管理者两个角色,餐厅员工可以修改本人部分信息,可以查看员工非隐私信息。餐厅管理者可以员工信息对进行增删改查操作。
(1)餐厅员工:餐厅员工有登录、餐桌管理、菜品管理、订单管理、员工管理的菜单权限。
(2)餐厅管理者:餐厅管理者和员工菜单权限一致。
(3)餐桌管理:员工可以查看所有餐桌的信息和运营状况,可以新增、修改、删除餐桌。
(4)菜品管理:员工可以查看菜品的详细信息,可以新增菜品、修改菜品信息、删除菜品。
(5)订单管理:员工可以查看未结账订单、历史订单和订单的明细信息。
(6)员工管理:餐厅管理者可以对于员工信息有增删改查操作权限。普通员工对本人部分信息有修改权限、对于非隐私信息有查看权限。
3.2用例模型
3.2.1 角色识别
用例图的建立采用角色驱动方式,首先确定系统角色Actor。分析的着手点是从需求描述中找出使用该系统有哪些人、与哪些外部系统交互、谁需要借助系统来完成工作、系统为那些人提供数据、谁来维护和管理系统[7]。
由用户需求的描述可知,系统包含两个角色:前台用户和后台员工。前台用户,主要是浏览菜品、点餐下单、个人信息管理等,后台员工包括餐厅员工和餐厅管理者,餐厅员工主要管理餐桌、订单、菜品等相关信息。餐厅管理者就主要是管理整个系统,对于餐厅各个模块都有最大管理权限,主要管理餐厅员工信息数据。
综上所述,此系统找到两个角色:前台用户,后台员工(餐厅员工和餐厅管理者)。系统Actor如图3-1所示。
图3-1 餐饮管理系统参与者
3.2.2 用例识别
用例识别的任务就是在角色的基础上,识别与角色有关的用例,从而得到系统的用例模型[7]。
餐饮管理系统按照使用者不同划分为后台管理子系统和前台子系统。核心功能可分为餐桌管理模块、菜品管理模块、订单管理模块、员工管理模块、注册登录模块、点餐单功能模块、用户个人中心模块。
经过分析,前台用户有两个模块:个人信息管理模块、浏览菜品及点餐功能,用户注册登录后,之后可以维护个人信息数据,用户点餐后产生订单及个人使用信息。
个人信息管理模块有十三个用例:用户注册、用户登录、查看个人基本及历史订单信息、个人基本信息修改、登录密码修改、支付密码修改、手机验证、实名认证、设置安全问题、浏览用户积分详情、浏览账户余额、浏览收藏商品、添加收藏及取消收藏。
浏览菜品及点餐功能模块有浏览分类菜品、浏览首页及点餐单、餐桌登录、用户登录、浏览菜品、加入菜单、增加数量、提交菜单、结账八个用例。
后台管理有四个模块,分别是餐桌管理、菜品管理、订单管理、员工管理,这四个模块通用用例为员工登录、增改查这五个用例,本文转载自http://www.biyezuopin.vip/onews.asp?id=13580员工管理的增删改根据登录角色进行权限控制。订单管理有历史订单、在处理订单、订单明细用例。
3.2.3 用例图
在用例识别的基础上得到系统的用例模型,以前台用户和后台员工为维度组建用例模型。前台用户用例图如图3-2。后台员工用例图如图3-3。
图3-2 前台用户用例模型