团队作业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 迭代计划甘特图

dfd6a19e3739bd1e207587874719b853

第一周重点任务:
第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、测试报告完成并通过评审

posted @ 2025-11-20 17:39  0517wwww  阅读(35)  评论(0)    收藏  举报