团队作业3

GDUT外卖系统设计报告

团队名称:王炸
成员及分工

  • 蔡伯权 项目后端开发
  • 王文灏 项目前段开发

一、需求改进 & 原型优化

1. **核心功能聚焦

原功能模块 优化方案
多角色系统(用户/商家/骑手) 简化为用户+商家双角色(骑手功能由商家兼任)
复杂支付流程 保留微信支付+模拟校园卡支付(降级方案)
实时轨迹追踪 降级为订单状态推送(节省高德API成本)
智能推荐系统 改为"热销榜"静态推荐

2. 用户痛点与解决方案

  • 典型场景

    "学生小陈在课间通过GDUT外卖预约12:00送餐至教学楼,避免食堂排队"

3. 功能四象限分析

高价值高紧迫:在线支付、订单状态通知  
高价值低紧迫:菜品收藏、历史订单  
低价值高紧迫:商家评分、投诉入口  
低价值低紧迫:个性化头像、夜间模式  

4. WBS调整(甘特图)

gantt title GDUT外卖Alpha阶段计划 dateFormat YYYY-MM-DD section 核心功能 用户认证 :2025-04-23, 5d 菜品管理 :2025-04-28, 7d 订单流程 :2025-05-05, 10d section 质量保障 接口联调 :crit, 2025-05-12, 3d 压力测试 :2025-05-15, 2d

二、系统设计

1. 精简技术栈

层级 技术选型 降级方案
前端 Vue3 + Uni-app 去除TypeScript改用ES6
后端 Spring Boot 改用MyBatis替代MyBatis-Plus
数据库 MySQL主从 单库+定时备份
部署 Docker集群 腾讯云轻量服务器单机部署

2. 核心数据库表(ER图关键部分)

erDiagram USER ||--o{ ORDER : "1:N" USER { bigint id PK varchar(20) student_id varchar(50) dorm } ORDER ||--|{ ORDER_DETAIL : contains ORDER { bigint id PK varchar(10) status } DISH { bigint id PK decimal price varchar(10) canteen }

3. 安全与性能优化

  • 认证:JWT + 微信快捷登录
  • 支付:微信支付沙箱环境(模拟校园卡支付走本地虚拟账户)
  • 缓存:Redis仅缓存热门菜品(非必需可移除)

三、Alpha任务分配

1. Sprint Backlog

任务 时间 交付物
微信登录对接 8h 可获取openid的API
订单状态机实现 12h 状态流转单元测试
食堂档口选择器 6h 带地理筛选的Vue组件

2. 每日站会流程

09:00-09:15 站立会议 
09:30 更新Leangoo看板任务状态  
17:00 代码提交至GitHub主分支(强制)  

四、测试计划

1. 分层测试策略

测试类型 工具 覆盖率目标
单元测试 JUnit 核心模块60%
接口测试 Postman 100%关键API
UI测试 Cypress 主流程覆盖

2. 典型测试用例

用例ID:PAY_001

  • 场景:用户余额不足时支付
  • 步骤:提交订单→选择校园卡支付→余额不足
  • 预期:返回"余额不足"提示并保留订单30分钟

五、成本控制方案

项目 预算 实际方案
人力 2人月 1名全栈+1名测试
服务器 60元/年 腾讯云2核4G
域名备案 免费 使用学校二级域名

六、风险应对

风险 应对措施
微信支付审核延迟 使用沙箱环境演示
高并发订单崩溃 限流降级(Alpha阶段不处理)
菜品图片存储超支 压缩至<300KB/张
Info Detail
成员 3123004367(王文灏) / 3123004432(蔡伯权)
作业要求 作业要求链接
仓库链接 Github仓库传送门
posted @ 2025-04-20 21:44  qwedrftgyh2  阅读(41)  评论(0)    收藏  举报