团队作业3-需求改进&系统设计
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13482 |
| 这个作业的目标 | <对现有项目进行设计和需求&原型改进,进行Alpha任务分配> |
组名:接着奏乐接着5
小组成员:吴静欣、汪雨嫣、丁温婕、许晓喆、沙吉旦·乃吉米丁
一、需求&原型改进
1. 针对课堂讨论的问题及建议修改
-
问题1:用户身份验证流程不够清晰
-
修改1:增加游客模式,用户无需注册即可浏览商品,仅在支付环节需要登录,登录方式简化为手机号验证码登录
-
问题2:商家入驻流程未明确
-
修改2:明确商家入驻流程为:提交基本信息→平台审核→上架商品,审核周期控制在24小时内
-
问题3:物流跟踪功能过于简单
-
修改3:集成主流快递公司API,提供实时物流轨迹显示,而不仅仅是文字状态
-
问题4:客服系统响应时间不够具体
-
修改4:明确客服响应时间标准:工作日9:00-18:00内10分钟响应,其他时段30分钟内响应
2. 目标用户调研
用户痛点分析:
- 老年用户:界面复杂,字体太小,操作步骤太多
- 网购新手:不知道如何筛选商品,容易被冗余信息干扰
- 忙碌上班族:希望快速完成购物,讨厌繁琐流程
使用场景对比:
- 使用前:用户需要下载多个购物APP,注册繁琐,界面复杂难操作
- 使用后:直接进入简洁界面,快速找到商品,简单几步完成购买
调研方法:
- 对5名不同年龄段的潜在用户进行原型演示
- 收集用户对界面简洁度和操作流程的反馈
- 记录用户完成核心购物任务的时间
3. 需求规格说明书改进
改进内容:
1.增加用户故事描述:
"张阿姨,55岁,第一次网购,她想给孙子买一件衣服。她打开APP,首页直接看到热门童装推荐,点击喜欢的商品,选择尺寸后加入购物车,在购物车点击结算,输入收货地址后完成支付,整个过程不超过5分钟。"
2.完善功能描述:
- 明确各模块的输入输出
- 补充异常处理流程
- 细化性能指标要求
3.功能优先级象限分析:
| 象限 | 功能 |
|---|---|
| 紧急重要 | 商品浏览、购物车、下单支付、订单管理 |
| 重要不紧急 | 商品评价、客服咨询、物流跟踪 |
| 紧急不重要 | 页面加载优化、错误提示改进 |
| 不重要不紧急 | 个性化推荐、营销活动 |
4.更新WBS和项目进度计划:
- 调整开发优先级,优先实现核心购物流程
- 增加用户测试环节时间
- 优化前后端联调时间安排
二、系统设计
2.1 总体架构概览
本系统采用B/S架构 + 前后端分离 + 分层设计,主要划分为三层。各层职责说明:
1.表现层(Presentation Layer):
- 技术栈:Vue.js + Element UI + HTML/CSS/JavaScript
- 运行环境:现代浏览器
- 职责:用户界面展示、交互处理、调用后端API
2.业务逻辑层 (Business Layer)
- 技术栈:Flask (Python) + RESTful API设计
- 核心模块:
- 用户与权限模块
- 商品管理模块
- 购物车模块
- 订单管理模块
- 支付处理模块
- 客服咨询模块
- 职责:实现业务规则、数据验证、流程控制
3.数据访问层 (Data Access Layer)
- 技术栈:MySQL + SQLAlchemy ORM
- 职责:数据持久化、事务管理、查询优化
2.2 模块划分与接口说明
(1) 用户与权限模块
功能:
- 用户注册/登录/注销
- 角色区分:普通用户、商家、管理员
- 权限控制中间件
典型接口:
POST /api/auth/register # 用户注册
POST /api/auth/login # 用户登录
GET /api/users/me # 获取当前用户信息
PUT /api/users/profile # 更新用户资料
(2) 商品管理模块
功能:
- 商品信息增删改查
- 商品分类管理
- 库存管理
- 商品搜索和筛选
典型接口:
GET /api/products # 商品列表
GET /api/products/{id} # 商品详情
POST /api/admin/products # 添加商品(商家)
PUT /api/admin/products/{id} # 更新商品
(3) 购物车模块
功能:
- 添加商品到购物车
- 修改商品数量
- 删除购物车商品
- 购物车数据同步
典型接口:
GET /api/cart # 获取购物车
POST /api/cart/items # 添加商品到购物车
PUT /api/cart/items/{id} # 修改购物车商品数量
DELETE /api/cart/items/{id} # 删除购物车商品
(4) 订单管理模块
功能:
- 创建订单
- 订单状态管理
- 订单查询
- 物流跟踪
典型接口:
POST /api/orders # 创建订单
GET /api/orders # 获取订单列表
GET /api/orders/{id} # 获取订单详情
PUT /api/orders/{id}/cancel # 取消订单
(5) 支付处理模块
功能:
- 支付接口封装
- 支付状态回调处理
- 退款处理
典型接口:
POST /api/payments # 发起支付
POST /api/payments/callback # 支付回调
POST /api/payments/refund # 退款处理
(6) 客服咨询模块
功能:
- 客服对话管理
- 消息存储和查询
- 自动回复
典型接口:
GET /api/customer-service/conversations # 获取对话列表
POST /api/customer-service/messages # 发送消息
GET /api/customer-service/messages # 获取消息历史
2.3 数据库设计
(1) 用户表 (users)
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
phone VARCHAR(20),
role ENUM('customer', 'merchant', 'admin') DEFAULT 'customer',
avatar_url VARCHAR(255),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
(2) 商品表 (products)
CREATE TABLE products (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(200) NOT NULL,
description TEXT,
price DECIMAL(10,2) NOT NULL,
original_price DECIMAL(10,2),
stock_quantity INT NOT NULL DEFAULT 0,
category_id INT,
merchant_id INT,
main_image VARCHAR(255),
image_urls JSON,
status ENUM('active', 'inactive') DEFAULT 'active',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (merchant_id) REFERENCES users(id),
FOREIGN KEY (category_id) REFERENCES categories(id)
);
(3) 订单表 (orders)
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
order_no VARCHAR(50) UNIQUE NOT NULL,
user_id INT NOT NULL,
total_amount DECIMAL(10,2) NOT NULL,
status ENUM('pending', 'paid', 'shipped', 'delivered', 'cancelled') DEFAULT 'pending',
shipping_address TEXT,
payment_method VARCHAR(50),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
(4) 购物车表 (cart_items)
CREATE TABLE cart_items (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL DEFAULT 1,
selected BOOLEAN DEFAULT TRUE,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (product_id) REFERENCES products(id),
UNIQUE KEY unique_user_product (user_id, product_id)
);
(5) 地址表 (addresses)
CREATE TABLE addresses (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
recipient_name VARCHAR(100) NOT NULL,
phone VARCHAR(20) NOT NULL,
province VARCHAR(50),
city VARCHAR(50),
district VARCHAR(50),
detail_address TEXT NOT NULL,
is_default BOOLEAN DEFAULT FALSE,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
(6) 客服消息表 (customer_service_messages)
CREATE TABLE customer_service_messages (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
message_type ENUM('text', 'image') DEFAULT 'text',
content TEXT,
image_url VARCHAR(255),
is_from_customer BOOLEAN DEFAULT TRUE,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
索引设计:
-
orders(user_id, created_at)- 用户订单查询优化 -
products(category_id, status)- 商品分类查询优化 -
cart_items(user_id)- 购物车查询优化 -
users(email)- 登录查询优化
三、Alpha任务分配计划
3.1 Product Backlog选择Alpha功能项
3.1.1 Product Backlog功能清单
| 编号 | 功能模块 | 描述 | 优先级 |
|---|---|---|---|
| PB-1 | 用户注册登录 | 邮箱/手机号注册登录,密码加密 | P0 |
| PB-2 | 商品浏览展示 | 商品列表、详情页、分类浏览 | P0 |
| PB-3 | 购物车功能 | 添加商品、修改数量、删除商品 | P0 |
| PB-4 | 下单支付 | 地址管理、订单创建、支付流程 | P0 |
| PB-5 | 订单管理 | 订单列表、详情、状态跟踪 | P0 |
| PB-6 | 商家后台 | 商品管理、订单处理 | P0 |
| PB-7 | 客服咨询 | 在线客服对话功能 | P1 |
| PB-8 | 商品评价 | 用户评价和晒单 | P1 |
| PB-9 | 搜索功能 | 商品搜索和筛选 | P1 |
| PB-10 | 数据统计 | 销售数据统计和分析 | P2 |
3.1.2 Alpha阶段待实现功能 (MVP)
基于优先级和依赖关系,选择以下P0功能作为Alpha版本核心功能:
- PB-1 用户注册登录
- PB-2 商品浏览展示
- PB-3 购物车功能
- PB-4 下单支付
- PB-5 订单管理
- PB-6 商家后台
3.2 Sprint Backlog:任务分解与认领
3.2.1 任务列表 (1-10小时粒度)
| 任务ID | 所属功能 | 任务内容 | 负责人 | 预估工时 |
|---|---|---|---|---|
| T-1 | 环境搭建 | 初始化Flask项目结构,配置开发环境 | 许晓喆 | 4h |
| T-2 | 数据库设计 | 设计核心表结构,创建数据库 | 许晓喆 | 6h |
| T-3 | PB-1 | 用户注册登录后端API开发 | 许晓喆 | 8h |
| T-4 | PB-1 | 前端登录注册页面开发 | 丁温婕 | 6h |
| T-5 | PB-2 | 商品管理后端API开发 | 许晓喆 | 8h |
| T-6 | PB-2 | 前端商品列表和详情页开发 | 丁温婕 | 10h |
| T-7 | PB-3 | 购物车后端API开发 | 许晓喆 | 6h |
| T-8 | PB-3 | 前端购物车页面开发 | 丁温婕 | 8h |
| T-9 | PB-4 | 订单和支付后端API开发 | 许晓喆 | 10h |
| T-10 | PB-4 | 前端下单支付页面开发 | 丁温婕 | 8h |
| T-11 | PB-5 | 订单管理后端API开发 | 许晓喆 | 6h |
| T-12 | PB-5 | 前端订单管理页面开发 | 丁温婕 | 6h |
| T-13 | PB-6 | 商家后台后端API开发 | 许晓喆 | 8h |
| T-14 | PB-6 | 前端商家后台页面开发 | 丁温婕 | 8h |
| T-15 | 测试计划 | 编写测试用例和测试计划 | 汪雨嫣 | 5h |
| T-16 | 功能测试 | 核心功能测试执行 | 汪雨嫣 | 8h |
| T-17 | 集成测试 | 前后端联调测试 | 沙吉旦 | 6h |
| T-18 | 性能测试 | 基础性能测试 | 汪雨嫣 | 4h |
| T-19 | 项目管理 | 进度跟踪和协调 | 沙吉旦 | 10h |
| T-20 | 文档编写 | 项目文档整理 | 吴静欣 | 6h |
3.3Alpha冲刺甘特图
Alpha阶段周期:2周 (14天)
3.3.1 迭代计划甘特图

第一周重点任务:
第1-2天:完成项目基础框架和数据库设计
第3-5天:实现用户注册登录完整功能
第5-7天:完成商品模块前后端开发
第二周重点任务:
第8-10天:实现购物车完整功能
第11-14天:完成订单支付核心流程
第15-16天:开发商家后台管理功能
第17-18天:全面测试和验收
3.3.2详细时间安排
| 时间段 | 主要任务 | 参与成员 | 交付物 |
|---|---|---|---|
| 第1周 Day1-2 | 项目初始化,数据库设计 | 许晓喆、丁温婕 | 项目框架、数据库脚本 |
| 第1周 Day3-4 | 用户和商品模块开发 | 许晓喆(后端)、丁温婕(前端) | 登录注册功能、商品展示功能 |
| 第1周 Day5-6 | 购物车模块开发 | 许晓喆(后端)、丁温婕(前端) | 购物车完整功能 |
| 第1周 Day7 | 初期测试 | 汪雨嫣、沙吉旦 | 测试报告、Bug列表 |
| 第2周 Day8-9 | 订单支付模块开发 | 许晓喆(后端)、丁温婕(前端) | 下单支付流程 |
| 第2周 Day10-11 | 订单管理和商家后台 | 许晓喆(后端)、丁温婕(前端) | 后台管理功能 |
| 第2周 Day12 | 系统集成测试 | 汪雨嫣、沙吉旦、吴静欣 | 集成测试报告 |
| 第2周 Day13-14 | 项目收尾 | 全体成员 | 完整系统、项目文档 |
四、测试计划 (10分)
4.1 测试概述与目标
产品名称: 线上购物商城系统
测试总体目标:
- 验证核心购物流程的完整性和正确性
- 确保系统在Alpha阶段的稳定性和可用性
- 提前发现重大缺陷,降低项目风险
- 建立可复用的测试用例库
4.2 测试范围与类型
4.2.1 测试范围
- 覆盖Alpha阶段所有核心功能模块:
- 用户注册登录功能
- 商品浏览和搜索
- 购物车操作和管理
- 下单支付流程
- 订单状态管理
- 商家后台管理
4.2.2 测试类型
- 1.功能测试 - 验证各功能模块是否符合需求
- 2.接口测试 - 测试REST API的正确性
- 3.用户体验测试 - 验证界面友好性和操作便捷性
- 4.兼容性测试 - 主流浏览器兼容性
- 5.性能测试 - 关键页面的加载性能
4.3 测试策略
4.3.1 测试阶段划分
- 1.单元测试 - 开发者自测,覆盖核心业务逻辑
- 2.集成测试 - 前后端接口联调测试
- 3.系统测试 - 完整业务流程测试
- 4.验收测试 - 核心场景验收
4.3.2 测试方法
- 黑盒测试 - 基于需求规格的功能测试
- 场景测试 - 模拟真实用户购物场景
- 边界值测试 - 测试输入边界条件
- 异常测试 - 测试系统异常处理能力
4.4 测试时间安排
测试周期: 与开发同步,贯穿整个Alpha阶段
| 测试阶段 | 时间安排 | 主要活动 | 负责人 |
|---|---|---|---|
| 测试准备 | 第1周Day1-2 | 编写测试计划、设计测试用例 | 汪雨嫣 |
| 模块测试 | 第1周Day3-6 | 随开发进度进行模块测试 | 汪雨嫣、沙吉旦 |
| 集成测试 | 第1周Day7 | 前后端接口集成测试 | 全体成员 |
| 系统测试 | 第2周Day8-11 | 完整业务流程测试 | 汪雨嫣 |
| 验收测试 | 第2周Day12-13 | 核心场景验收测试 | 全体成员 |
| 测试总结 | 第2周Day14 | 测试报告编写 | 汪雨嫣 |
4.5 测试资源
4.5.1 测试环境
- 硬件环境: 开发测试服务器
- 软件环境:
- 后端:Flask + MySQL测试数据库
- 前端:Chrome、Firefox、Edge浏览器
- 测试工具:Postman、浏览器开发者工具
4.5.2 测试数据
- 预置测试用户账户
- 模拟商品数据
- 测试支付账户
4.6 测试角色分工
| 角色 | 负责人 | 职责 |
|---|---|---|
| 测试负责人 | 汪雨嫣 | 制定测试计划、编写测试用例、执行测试、编写测试报告 |
| 功能测试 | 沙吉旦 | 执行功能测试用例,记录缺陷 |
| 集成测试 | 许晓喆、丁温婕 | 前后端接口联调测试 |
| 用户体验测试 | 吴静欣 | 从用户角度进行体验测试 |
4.7 风险与应对措施
| 风险类型 | 风险描述 | 应对措施 |
|---|---|---|
| 时间风险 | 开发延期压缩测试时间 | 提前介入测试,与开发同步进行 |
| 环境风险 | 测试环境不稳定 | 建立独立的测试环境,定期维护 |
| 数据风险 | 测试数据不完整 | 准备充分的测试数据脚本 |
| 质量风险 | 缺陷修复不彻底 | 建立缺陷跟踪机制,确保重要缺陷及时修复 |
4.8 出口准则
Alpha阶段测试完成的标志:
1、所有P0优先级的功能测试通过率100%
2、严重及以上级别的缺陷全部修复
3、核心购物流程能够完整执行
4、系统能够稳定运行,无阻塞性缺陷
5、测试报告完成并通过评审

浙公网安备 33010602011771号