文章目录

  • 一、软件开发整体介绍
    • 1.1 软件开发流程
    • 1.2 角色分工
    • 1.3 软件环境分类
  • 二、苍穹外卖项目介绍
    • 2.1 定位
    • 2.2 功能架构
    • 2.3 技术选型
  • 三、开发环境搭建
    • 3.1 前端环境
    • 3.2 后端环境
    • 3.3 前后端联调
    • 3.4 登录功能优化
  • 四、接口文档管理
    • 4.1 YApi
    • 4.2 Swagger (Knife4j)

一、软件开发整体介绍

1.1 软件开发流程

需求分析:需求规格说明书、产品原型
设计:UI设计、数据库设计、接口设计
编码:项目代码、单元测试
测试:测试用例、测试报告
上线运维:软件环境安装、配置

1.2 角色分工

项目经理:整体负责、任务分配、进度控制
产品经理:需求调研、输出原型文档
UI设计师:界面设计
架构师:架构设计、技术选型
开发工程师:功能实现
测试工程师:测试用例与报告
运维工程师:环境搭建、上线

1.3 软件环境分类

开发环境:开发阶段专用
测试环境:测试人员专用
生产环境:正式对外提供服务

二、苍穹外卖项目介绍

2.1 定位

餐饮企业专用外卖软件
管理端:商家使用
用户端:点餐用户使用

2.2 功能架构

管理端:员工管理、菜品管理、订单管理、数据统计等
用户端:微信登录、商品浏览、购物车、下单、支付等

2.3 技术选型

前端:Vue.js、ElementUI、微信小程序、ECharts、Nginx
后端:Spring Boot、Spring MVC、MyBatis、Redis、JWT
工具:Git、Maven、Postman、Swagger、Knife4j

三、开发环境搭建

3.1 前端环境

基于 Nginx 运行,启动 nginx.exe 即可

3.2 后端环境

Maven 构建,多模块开发(sky-common、sky-pojo、sky-server)
Git 版本控制:创建本地仓库、推送远程仓库
数据库搭建:执行 SQL 建表脚本

3.3 前后端联调

Nginx 反向代理:前端请求转发到后端
负载均衡:分发请求到多个服务器,提高性能与安全

3.4 登录功能优化

明文密码改为 MD5 加密存储与验证

四、接口文档管理

4.1 YApi

设计阶段使用,管理与维护接口文档

4.2 Swagger (Knife4j)

开发阶段使用,生成接口文档并提供在线测试
通过注解优化文档可读性
访问路径:http://ip:port/doc.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91986.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91986.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/91986.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QT】Qt信号与槽机制详解信号和槽的本质自定义信号和槽带参数的信号和槽

文章目录前言一、信号的本质二、槽的本质三、 信号和槽的使⽤3.1 连接信号和槽四、使用步骤4.1 通过QtCreator⽣成信号槽代码五、 ⾃定义信号和槽5.1 ⽰例1:信号和槽函数初步使用5.2 ⽰例2 两个类使用5.3 示例3 按钮使用触发信号六、 带参数的信号和槽6.1 ⽰例1&…

【OD机试题解法笔记】文件缓存系统

题目描述 请设计一个文件缓存系统,该文件缓存系统可以指定缓存的最大值(单位为字节)。 文件缓存系统有两种操作: 存储文件(put)读取文件(get) 操作命令为: put fileName …

Python中的sys.path与PYTHONPATH全解析:模块导入路径的底层机制与最佳实践

在Python项目开发中,很多人遇到过类似“模块导入失败”、“路径找不到”、“相对导入与绝对导入混乱”等问题。而这些问题的根源,几乎都绕不开一个核心概念——Python模块搜索路径。 今天,我们围绕sys.path 和 PYTHONPATH环境变量&#xff0…

python:如何调节机器学习算法的鲁棒性,以支持向量机SVM为例,让伙伴们看的更明白

鲁棒性(Robustness)指模型在噪声数据或异常值干扰下保持性能稳定的能力。想详细了解的可参考本人之前的博文 python机器学习:评价智能学习算法性能与效果的常见术语:不收敛、过拟合、欠拟合、泛化能力、鲁棒性一句话、一张图给您…

号源加锁升级思路(解决高并发问题)

原先逻辑链接:号源预约加锁思路_java 预约 接口加锁-CSDN博客 一、进行治疗项目和号源数据缓存 1.新建一个定时任务,主要在凌晨时缓存治疗项目和号源数据 1.1.类中使用redission获取锁(用于分布式系统获取数据,保证原子性&…

MCP革命:AI世界的“USB-C”接口如何重塑智能体与外部工具的连接

> 一条标准化的数据通道,让AI从“对话专家”蜕变为“行动专家”,背后是一场由协议驱动的工具连接革命。 2024年11月,Anthropic公司开源了**Model Context Protocol(MCP)**。在短短9个月内,这项技术彻底改变了AI与外部世界的交互方式。截至2025年8月,MCP服务数量**从…

启用“安全登录”组合键(Ctrl+Alt+Delete)解锁

文章目录背景目标功能操作步骤效果背景 在日常工作中,我们有时需要让电脑长期开机运行(如处理长任务、作为服务器等)。然而,这其中存在一个潜在风险:当电脑处于锁屏或登录界面时,如果有人无意中触碰键盘比…

【08】C++实战篇——C++ 生成动态库.dll 及 C++调用DLL,及实际项目中的使用技巧

文章目录一、创建动态库dll (方法一)1 生成C 动态库dll1.1 创建项目MyDLL1.2 编写.h 和 .cpp文件1.3 设置 及 生成 DLL2 调用 C 动态库dll2.1 创建C 空项目DLLtest2.2 动态库配置 及代码调用测试3 实际项目中的使用技巧3.1 设置dll输出路径3.2 设置头文件引入路径3.3 改进后 测…

kettle插件-kettle http client plus插件,轻松解决https接口无法调用文件流下载问题

场景:小伙伴在使用kettle调用https接口过程中无法正常调用,程序出错问题,今天演示下用自研插件轻松解决这个问题。1、使用openssl 生成自签名证书openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 3652、使用…

C#中的除法

在C#中,除法操作可以通过使用 / 运算符执行。这个运算符可以进行整数除法或浮点除法,这取决于操作数的类型。整数除法当两个整数相除时,结果将自动向下取整到最接近的整数。这意味着结果是一个整数,而不是小数。int a 10; int b …

PPT文件密码解密工具推荐:Tenorshare PassFab for PPT绿色免安装一键解除密码限制,附详细教程和下载地址

前段时间,我帮朋友做一个商业演示的 PPT,为了防止文件被误操作或者内容泄露,我给 PPT 设置了密码。结果等朋友来拿文件的时候,我居然把密码忘得干干净净,这下可把我俩都急坏了。朋友那边马上就要用这个 PPT 去参加重要…

【数据结构】二叉树接口实现指南:递归方法的高效运用 (附经典算法OJ)

文章目录 1、前置说明 1、定义二叉树结点结构 2、创建新节点 3、手动创建二叉树 2、二叉树的遍历 1、前序,中序和后序遍历 1.1、二叉树前序遍历 1.2、二叉树中序遍历 1.3、二叉树后序遍历 2、二叉树层序遍历 3、二叉树的基础操作 1、二叉树节点总数 2、…

自动驾驶控制算法——LQR控制算法

自动驾驶控制算法——LQR控制算法 文章目录自动驾驶控制算法——LQR控制算法**一、LQR 是什么?**二、LQR 原理2.1 线性状态空间模型 (State–Space Model)2.2 二次型性能指标 JJJ2.3 代数黎卡提方程 (ARE)2.4 特点总结2.5 一句话总结 LQR 原理:2.5.1 场景…

Jotai:React轻量级原子化状态管理,告别重渲染困扰

简介 Jotai 是一个为 React 提供的原子化状态管理库,采用自下而上的方法来进行状态管理。Jotai 受 Recoil 启发,通过组合原子来构建状态,并且渲染基于原子依赖性进行优化。这解决了 React 上下文的额外重新渲染问题,并消除了对 m…

C语言数据结构(7)贪吃蛇项目2.贪吃蛇项目实现

8. 核心逻辑实现分析 8.1 游戏主逻辑 程序开始就设置程序支持本地模式,然后进入程序的主逻辑。 主逻辑分为3个过程: • 游戏开始(GameStart)完成游戏的初始化。 • 游戏运行(GameRun)完成游戏运行逻辑的…

知识蒸馏 - 最小化KL散度与最小化交叉熵是完全等价的

知识蒸馏 - 最小化KL散度与最小化交叉熵是完全等价的 flyfish KL散度与交叉熵的数学关系 对于两个概率分布 PPP(真实分布)和 QQQ(模型预测分布),KL散度的定义是: DKL(P∥Q)∑xP(x)log⁡(P(x)Q(x)) D_{KL}(P…

设计心得——网络包的处理

一、介绍 在程序的开发中,网络开发是一个重要的应用场景。毕竟这些年IT行业之所以火,主要还是互联网(移动互联网)带来的。网络开发,有各种平台、框架以及系统和库提供的API,如果说网络开发是一个特别复杂和…

sqli-labs通关笔记-第30关GET字符注入(WAF绕过 双引号闭合 手工注入+脚本注入两种方法)

目录 一、源码分析 1、index.php代码审计 2、login.php代码审计 3、java_implimentation函数 4、whitelist函数 5、SQL安全性分析 二、渗透实战 1、进入靶场 2、WAF探测 (1)触发WAF (2)绕过WAF 3、手工注入 &#xf…

【openlayers框架学习】九:openlayers中的交互类(select和draw)

文章目录openlayers进阶28 openlayers中的事件29 openlayers中select交互类的使用30 openlayers中select常见的配置选项31 openlayers中绘制交互类(Draw)openlayers进阶 28 openlayers中的事件 常用进行事件交互的对象:map\view\source29 o…

Java企业级应用性能优化实战

在企业级Java应用开发中,性能优化是确保系统稳定运行的关键因素。本文将从多个维度深入分析Java应用性能瓶颈,并提供实战优化方案。 🎯 性能优化核心领域 1. 对象操作性能优化 在企业应用中,对象拷贝是一个高频操作,特别是在分层架构中的DO、DTO、VO转换。选择合适的拷…