第一章 软件开发整体介绍

软件开发流程

软件开发流程

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

角色分工

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

软件环境

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

第二章 瑞吉外卖项目介绍

项目介绍

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

本项目分三期进行开发:

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

产品原型展示

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

ps:并不是最终的页面效果

技术选型

功能架构

角色

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

第三章 开发环境搭建

数据库环境搭建

数据表:

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

Maven项目搭建

Application.yml

server:port: 8080
spring:application:name: reggie_take_outdatasource:druid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: root
mybatis-plus:configuration:#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射map-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.stdout.StdOutImplglobal-config:db-config:id-type: ASSIGN_ID

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.5</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.yurrize</groupId><artifactId>reggie_take_out</artifactId><version>1.0-SNAPSHOT</version><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><scope>compile</scope></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.23</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.4.5</version></plugin></plugins></build></project>

建立包结构,建立启动类,开启日志

导入前端资源,开启静态资源映射

同时的,我们希望对于前端显示的数据进行一些处理,并不想将后端全部得到的数据直接通过响应返回给前端,因此我们需要一个通用信息common对信息进行一个封装

/*** 通用返回结果,服务端响应的数据最终会封装成此对象* @param <T>*/
@Data
public class R<T> {private Integer code; //编码:1成功,0和其它数字为失败private String msg; //错误信息private T data; //数据private Map map = new HashMap(); //动态数据public static <T> R<T> success(T object) {R<T> r = new R<T>();r.data = object;r.code = 1;return r;}public static <T> R<T> error(String msg) {R r = new R();r.msg = msg;r.code = 0;return r;}public R<T> add(String key, Object value) {this.map.put(key, value);return this;}}
 这是第一个项目实战,非常适合对于刚刚学完SpringBoot与MyBatisPlus的同学进行知识的巩固,以及对于项目开发进行一个较为全面的了解

瑞吉外卖项目(一)软件开发流程设计及环境搭建相关推荐

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

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

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

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

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

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

  4. 瑞吉外卖项目day01

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

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

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

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

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

  7. 瑞吉外卖项目笔记+踩坑1——基础功能

     导航: [黑马Java笔记+踩坑汇总]JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 目录 1 ...

  8. 瑞吉外卖项目详细分析笔记及所有功能补充代码

    目录 项目刨析简介 技术栈 项目介绍 项目源码 一.架构搭建 1.初始化项目结构 2.数据库表结构设计 3.项目基本配置信息添加 公共字段的自动填充 全局异常处理类 返回结果封装的实体类 二.管理端业 ...

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

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

最新文章

  1. C++——String类超详细介绍
  2. asp提供在线文章翻译的功能(转)
  3. 如何更好的格式化Objective-C代码
  4. Unity2017.1官方UGUI文档翻译——Visual Components
  5. linux6/7 下载、安装、配置JDK
  6. tp5设置session有效期
  7. Ubuntu20.04搭建ftp服务(亲测通过)
  8. 毕业后拉开距离的真正原因!
  9. C++ const型成员函数与 non-const型成员函数
  10. C++基础——非类型模板参数
  11. UE4 蓝图教程(一) 开始,一个转动的香蕉
  12. Matlab实现图像识别(十)
  13. 在家怎么做冰皮月饼 冰皮月饼的做法
  14. 《麦肯锡结构化战略思维》:4大原则 5个步骤,快速了解一个行业
  15. 计网笔记-计网总结-计网复习提纲-第一章.概述
  16. java520.1314表白_告白日表白公式 520.1314 临沂人知道怎么玩吗
  17. android 文字倾斜,TextView中文本倾斜
  18. 小说作者推荐:不问三九合集
  19. 利用EXCEL自动生成20以内加减法
  20. android 最简洁的日历,简洁日历 - 日历与 ToDo 的完美结合 #Android

热门文章

  1. vnr光学识别怎么打开_小区安装家用防盗报警系统方案
  2. 英文word文件怎样全篇翻译成中文?
  3. 浅谈:Java和C语言各自的学习难度
  4. 小红书购物笔记在哪里看?
  5. 有功功率、无功功率 和 视在功率之间的关联
  6. 【BDTC 2016】蚂蚁金服人工智能部技术总监李小龙:人工智能驱动金融生活
  7. 王阳明心学主要讲了什么
  8. HDU - 6769
  9. 我终于开通了微信公众号
  10. 短视频去水印多功能工具箱微信小程序源码下载支持多种流量主