一、软件开发整体介绍

1.1 软件开发流程

  • 需求分析:产品原型、需求规格说明书
  • 设计:产品文档、UI界面设计、概要设计、详细设计、数据库设计
  • 编码:项目代码,是单元测试
  • 上线运维:软件环境安装、配置

1.2 角色分工

  • 项目经理:对整个项目负责。任务分配、把控进度
  • 产品经理:进行需求调研,输出需求调研文档、产品原型等
  • UI设计师:根据产品原型输出界面效果图
  • 架构师:项目整体架构设计、技术选型等
  • 开发工程师:代码实现
  • 测试工程师:编写测试用例,输出测试报告
  • 运维工程师:软件换件搭建、项目上线

1.3 软件环境

  • 开发环境:开发人员在开发阶段使用的环境(一般外部用户无法访问)
  • 测试环境:专门给测试人员使用的环境,用于测试项目(一般外部用户无法访问)
  • 生产环境:即线上环境,正式提供对外服务的环境

二、瑞吉外卖项目介绍

2.1 项目介绍

本项目(瑞吉外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括系统管理后台和移动端应用两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的菜品、套餐、订单等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。

本项目共分为3期进行开发:
第一期主要实现基本需求,其中移动端应用通过H5实现,用户可以通过手机浏览器访问。
第二期主要针对移动端应用进行改进,使用微信小程序实现,用户使用起来更加方便。
第三期主要针对系统进行优化升级,提高系统的访问性能。

2.2 产品原型展示

  • 产品原型:一款产品成型之前的一个简单的框架,就是将页面的排版布局展现出来,使产品的初步构思有一个可视化的展示。通过原型展示,可以更加直观地了解项目的需求和提供的功能。

2.3 技术选型

  • 用户层:H5,VUE.js,ElementUI,微信小程序
  • 网关层:Nginx
  • 应用层:SpringBoot,SpringMVC,SpringSession,Spring,Swagger,lombok
  • 数据层:MySQL,MyBatis,MybatisPlus,Redis

2.4 功能架构

  • 移动端前台:手机号登录,微信登录,地址管理,历史订单,菜品规格,购物车,下单,菜品浏览
  • 系统管理后台:分类管理,菜品管理,套餐管理,菜品口味管理,员工登录,员工退出,员工管理,订单管理

2.5 角色

  • 后台系统管理员:登录后台管理系统,拥有后台系统中的所有操作权限
  • 后台系统普通员工:登录后台管理系统,对菜品、套餐、订单等进行管理
  • C端用户:登录移动端应用,可以浏览菜品、添加购物车、设置地址、在线下单等

三、开发环境搭建

3.1 数据库环境搭建

  • 数据表

    序号 表名 说明
    1 employee 员工表
    2 category 菜品和套餐分类表
    3 dish 菜品表
    4 setmeal 套餐表
    5 setmeal_dish 套餐菜品关系表
    6 dish_flavor 菜品口味关系表
    7 user 用户表(C端)
    8 address_book 地址簿表
    9 shopping_cart 购物车表
    10 orders 订单表
    11 order_detail 订单明细表

3.2 maven项目搭建

  1. 创建maven项目
  2. 查看maven配置
  3. 导入pom.xml文件
  4. 导入SpringBoot配置文件application.yml
  5. 编写启动类@SpringBootApplication,SpringApplication.run()
  6. 编写WebMvcConfig进行静态资源映射registry.addResourceHandler

四、后台登陆功能开发

4.1 需求分析

  1. 页面原型展示
  2. 登录页面展示(/resources/backend/page/login/login.html)
  3. 查看登录请求信息
    • 通过浏览器调试工具(F12)可以发现,点击登录按钮时,页面会发送请求(请求地址为http://localhost:8080/employee/login)并提交参数(username和password)
    • 此时报404,是因为我们的后台系统还没有响应此请求的处理器,所以我们需要创建相关类来处理登录请求
  4. 数据模型(employee表)

4.2 代码开发

  1. 创建实体类Employee,和employee表进行映射
  2. 创建Mapper、Service、Controller
  3. 导入返回结果类R(通用类,服务端响应的所有结果最终都会包装成此种类型返回给前端页面)
  4. 在Controller中创建登陆方法
    1. 将页面提交的密码password进行md5加密处理
    2. 根据页面提交的用户名username查询数据库
    3. 如果没有查询到则返回登陆失败结果
    4. 密码比对,如果不一致则返回登陆失败结果
    5. 查看员工状态,如果为已禁用状态,则返回员工已禁用结果
    6. 登陆成功,将员工id存入session并返回登陆成功结果

4.3 功能测试

五、后台退出功能开发

5.1 需求分析

  • 员工登录成功后,页面跳转到后台系统首页面(backend/index.html),此时会显示当前登录用户的姓名
  • 如果员工需要退出登录,直接点击右侧的退出按钮可退出系统,退出系统后页面应跳转回登陆页面

5.2 代码开发

用户点击页面中退出按钮,发送请求,请求地址为/employee/logout,请求方式为POST

我们只需要在Controller中创建对应的处理方法即可,具体的处理逻辑:

  1. 清理Session中的用户id
  2. 返回结果

5.3 功能测试

瑞吉外卖项目day01相关推荐

  1. 瑞吉外卖项目(一)软件开发流程设计及环境搭建

    第一章 软件开发整体介绍 软件开发流程 软件开发流程 需求分析:产品原型.需求规格说明书 设计:产品文档,ui界面设计,概要设计,详细设计,数据库设计 编码:项目代码,单元测试 测试:测试用例,测试报 ...

  2. 瑞吉外卖项目剩余功能补充

    目录 菜品启售和停售 菜品批量启售和批量停售 菜品的批量删除 菜品删除逻辑优化 套餐管理的启售,停售 套餐管理的修改 后台按条件查看和展示客户订单 手机端减少购物车中的菜品或者套餐数量(前端展示有一点 ...

  3. 黑马瑞吉外卖项目开发笔记

    目录 软件开发整体介绍 开发流程 角色分工 软件环境 瑞吉外卖项目介绍 项目介绍 产品原型展示 技术选型 功能架构 角色 开发环境搭建 数据库环境搭建 Maven环境搭建 1.直接创建maven项目( ...

  4. 瑞吉外卖项目 基于spring Boot+mybatis-plus开发 超详细笔记,有源码链接

    本项目是基于自学b站中 黑马程序员 的瑞吉外卖项目:视频链接: 黑马程序员Java项目实战<瑞吉外卖>,轻松掌握springboot + mybatis plus开发核心技术的真java实 ...

  5. 瑞吉外卖项目重难点及易错点知识点总结

    本文是对b站黑马程序员瑞吉外卖项目的总结,实现流程以及简单部分不做详解,重点归纳难点以及易错点.(前面是对项目的介绍,可以直接略过 看第四点总结) 视频链接:https://www.bilibili. ...

  6. 瑞吉外卖项目学习笔记:P1-项目介绍

    瑞吉外卖项目介绍 1.项目介绍 1.1开发步骤 1.2产品原型 1.3技术选型 1.4项目功能架构 1.5角色 1.项目介绍 1.1开发步骤 实现基本要求,移动端应用通过H5实现,用户可通过浏览器访问 ...

  7. 云服务器部署SpringBoot工程-瑞吉外卖项目

    Linux部署SpringBoot工程-瑞吉外卖项目 云平台:阿里云 终端软件:Tabby Terminal 部署项目项目: SpringBoot-瑞吉外卖 自己第一次从本地web项目搭建到云端部署发 ...

  8. 瑞吉外卖项目——瑞吉外卖

    软件开发整体介绍 软件开发流程 需求分析:产品原型.需求规格说明书 设计:产品文档.UI界面设计.概要设计.详细设计.数据库设计 编码:项目代码.单元测试 测试:测试用例.测试报告 上线运维:软件环境 ...

  9. 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)

    文章目录 软件开发整体介绍 软件开发流程 角色分工 软件环境 瑞吉外卖项目介绍 项目介绍 产品原型 技术选型 功能架构 角色 开发环境搭建 数据库环境搭建 创建数据库 数据库表导入 数据库表介绍 Ma ...

最新文章

  1. 定义python的色条_Python:定义颜色曲线部分
  2. python库整理:collections.defaultdict
  3. 4、JVM垃圾回收机制、新生代的GC、GC(Minor GC、FullGC)、GC日志、JVM参数选项、元空间(笔记)
  4. 通过自定义资源扩展Kubernetes
  5. Everything是如何搜索的
  6. MPU:鸿蒙轻内核的任务栈的溢出检察官
  7. python情感词典计算得分_基于情感词典的情感打分
  8. mysql怎么从1开始递增
  9. cogs——2416. [HZOI 2016]公路修建
  10. #python 颜色聚类处理
  11. de4dot 反混淆工具使用
  12. 使用Dosbox运行程序
  13. 独家对话阿里副总裁李飞飞:数据库的进化之路
  14. 交易系统的高盈亏比怎么实现?
  15. 这十个时间千万别受孕
  16. P4417 [COCI2006-2007#2] STOL
  17. HDF5数据库和mysql数据库_hdf5文件格式使用攻略
  18. 微信小程序添加音效createInnerAudioContext
  19. RS232、RS485、RS422、RJ45接口有什么区别
  20. IIS7+PHP安装教程

热门文章

  1. C++实现get与set
  2. 大数据处理系统都有哪些?(批处理系统与迭代计算系统)
  3. CRC16CCITT算法CcittKermit
  4. NYOJ-599-奋斗的小蜗牛-2013年11月4日22:22:22
  5. 初试Zookeeper---概念篇
  6. PHP导出word文档的简单实现方法(可导出图片)
  7. fastdfs存储空间不足报错:错误码:28,错误信息:没有足够的存储空间
  8. sgfdgfadsg
  9. VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
  10. 北京三日自驾游-和狗狗的秦皇岛之旅