## 需求分析及相关技术介绍
[TOC]
  系统软件的需求分析是软件软件开发中最重要的前提,一个系统软件需求分析的成功与否直接决定了这个系统软件的效率和质量。校园外卖订餐系统主要技术点包括MVC设计模式、Spring框架、Maven软件项目管理、H-ui前端框架以及Git版本控制。
### 需求分析
#### 系统性能需求分析
校园外卖订餐系统在系统性能方面必须要符合以下几个条件:
* 系统界面需要符合用户的习惯:操作简单高效,界面美观大方。
* 系统可扩展维护性强:便于以后对系统进行功能扩展以及维护。
* 系统安全性高:系统安全可靠稳定,定时对数据进行备份;防止SQL注入以及跨站脚本攻击。
#### 系统功能需求分析
  校园外卖订餐系统主要由两部分组成,系统用户在前台页面进行相关操作,超级管理员和店铺管理员在后端页面进行相关操作。店铺管理员实现对商品的增删改操作和对订单的发货配送操作,超级管理员实现对餐厅管理员的相关权限的管理。功能如下:
(1) 前台功能
* 用户登陆注册功能:包括用户注册,登录;
* 订餐服务:用户订餐信息(品种,数量,送货地点等)提交,修改和删除;
* 订餐查询:包括用户个人订餐信息查询和订单状态跟踪;
* 商品推荐。对畅销商品进行首页轮播推荐。
(2) 后台功能
* 用户管理:包括用户维护、权限和积分管理等功能;
* 餐品管理:包括添加、修改、删除以及下线前台外卖餐品;
* 评论管理:包括用户对商品的评论信息管理;
* 订单管理:订单的增删改查功能。
* 通知管理:订单系统前台通知资讯。
### 相关技术介绍
#### MVC设计模式
  MVC(模型视图控制器)是模型 - 视图 - 控制器的缩写。 MVC能够通过分离我们开发的业务逻辑,数据和接口来组织代码。在开发中,业务逻辑分别收集在一个组件中。当我们改进和个性化前端页面和用户交互时,我们不需要重新编辑业务逻辑。多个视图可以一起使用模型;极大地方便了应用程序和业务逻辑层的数据层的修改; 而且控制器能够将应用程序的灵活性和可配置性大幅度提高。
#### H-ui前端页面框架
  在搭建前端页面时使用H-ui前端框架,H-ui是基于Bootstrap的响应式页面处理框架,其中引用了Bootstracp中许多优秀的东西。同时H-ui提供了一套基于H-ui开发的后台模板,这样为我们的开发减少了大量的工作。
#### Spring框架
  Spring容器框架主要包含两点:面向切面编程(AOP)和控制反转(IOC)。在传统JavaWeb系统开发中,通常只能只能由JavaEE服务器端组件模型(EJB)来完成系统的功能模块设计。而在Spring框架中系统的功能模块设计由最基本的JavaBean就能完成。在Spring框架中使用面向对象设计允许我们直接使用接口而不是类,并减少开发中的许多不必要的异常捕获,使JavaEE开发更加简单。
#### Maven项目管理
  Maven使用pom.xml文件的配置信息来获取软件开发中所需的jar包,能够基于项目对象模型合理的叙述项目中的依赖关系,方便管理项目报告以及生成站点。