## 系统分析及设计
[TOC]
### 系统可行性分析
#### 技术可行性
  校园外卖订餐系统是采用 `JavaWeb` 的 `SSM` 框架搭建和 `MySQL` 数据库开发的系统,开发工具选用 `IntelliJIDEA` ,可以在短时间内开发出复杂且高要求的 `JavaWeb` 系统,这样使得我们在开发中减少了设计难度。硬件方面,在硬件方面,由于我们自己使用的计算机硬件设备的优异性能足以实现网络系统的开发,因此可以很容易地实现用户浏览器和服务器交互的目的。因此,校园外卖订餐系统在技术方面是可行的。
#### 经济可行性
  校园外卖订餐系统是为了教师以及学生生活饮食设计,在线订购系统为人们带来了便利,并已成为一种全新的电子商务模式。因此,现在是一种新的时尚,无需外出就能订购食物。校园外卖订餐系统可以为教师以及学生提供软件条件,以便教师以及学生可以在宿舍或者办公楼里的情况下吃自己喜欢的食物。通过网络在线订餐系统,餐厅和用户都将从中受益,这是两全其美的办法。因此,校园外卖订餐系统在经济方面是可行的。
#### 运行可行性
  校园外卖订餐系统交互操作简单易行,并且系统面向用户为校园内的教师以及学生,高校学生属于新鲜事物易接受群体,所以越来越多的学生会接受校园外卖订餐系统这种订餐方式。因此,校园外卖订餐系统在运行方面是可行的。
#### 安全可行性
  在建立数据库时,对用户密码进行 `MD5` 加密,之后对数据库中数据进行 `ROW_FORMAT=COMPRESSED` 压缩,来保证用户数据的安全。在系统后端使用 `shiro` 对用户前台输入的数据进行字段过滤,防止系统 `SQL` 注入。因此,校园外卖订餐系统在安全方面是可行的。
### 系统设计
#### 系统开发流程设计
  校园外卖订餐系统开发流程采取软件工程中的敏捷开发流程,先完成项目的核心功能,然后通过迭代开发,完成项目的其他功能。这样能够提高我们软件系统的可扩展性以及维护性,便于以后扩展其它的功能以及日后的维护。
#### 系统架构设计
  校园外卖订餐系统在系统架构中采用 `B/S` 架构设计模式,即为浏览器 / 服务器架构模式。校园外卖订餐系统的功能全部集中部署在远程服务器上,通过系统防火墙能够保护系统数据以及用户的日常访问,以更加丰富的方式与用户交流。
系统架构图如图所示。
![系统B/S架构图](https://pic.ryanjie.xyz/blog/000005/1-bs-jia-gou-mo-kuai.jpg)
图 1.1 系统 B/S 架构图
JavaWeb 三层架构图如图 3.2 所示。
图 1.2 JavaWeb 三层架构图
JavaWeb 三层架构图映射关系如图 3.3 所示。
图 1.3 JavaWeb 三层架构映射关系图
1.2.3 系统总体功能设计
前台实现用户的注册登录、商品推荐、商品信息查看、购物车管理、订单管理、订单商品评价、通知资讯以及用户帮助。后台实现包含用户管理(对系统用户进行删改操作)、管理员模块(对系统用户权限进行增删改操作)、商品管理模块(对商品进行增删改操作)、评论管理模块(对商品评论进行删改操作)、通知资讯模块(对通知进行审核)和订单管理模块(对商品订单进行发货操作)。校园外卖订餐系统功能模块图如图 3.4 所示。
图 1.4 功能模块图
校园外卖订餐系统前台包括: 用户功能:包括用户注册,登录;订餐服务:用户订餐信息(品种,数量,送货地点等)提交,修改和删除;订餐查询:包括用户个人订餐信息查询和订单状态跟踪;商品推荐。对畅销商品进行首页轮播推荐。后台包括:用户管理:包括用户维护、权限和积分管理等功能; 餐品管理:包括添加、修改、删除以及下线前台外卖餐品;评论管理:包括用户对商品的评论信息管理;订单管理:订单的增删改查功能。通知管理:订单系统前台通知资讯功能。校园外卖订餐系统思维导图如图 3.5 所示。
图 1.5 思维导图
校园外卖订餐系统外部用户主要有用户和管理员。未登录的用户可以注册系统成为系统会员用户。会员登录之后可以进行购物车查看管理、订餐、评价、支付订单以及个人信息维护等功能。管理员主要对外卖订餐系统各种后台数据进行维护管理。校园外卖订餐系统顶层数据流图如图 3.6 所示。
图 1.6 顶层数据流图
1.2.4 系统用例设计
校园外卖订餐系统的用户在登录情况下进行浏览商品、将自己喜欢的商品添加购物车、购买商品、查看已支付的订单、评论订单中的商品操作。未登录用户只能进行浏览商品。校园外卖订餐系统用户用例图如图 3.7 所示。
图 1.7 用户用例图
校园外卖订餐系统的超级管理员可以进行发布系统通知、对系统通知资讯进行审核、商品评论信息管理以及对系统中的用户以及管理员进行增删改查操作。店铺管理员可以对订单列表中已支付订单进行发货、对商品上下线处理、商品类别增删改查操作、商品增删改查操作以及发布通知资讯操作。校园外卖订餐系统管理员用例图如图 3.8 所示。
图 1.8 管理员用例图