这个作业属于哪个课程 计科23级12班
这个作业要在哪里 团队作业3——需求改进与系统设计
这个作业的目标 需求与原型改进、系统设计、Alpha阶段任务分配计划、测试计划

团队分工说明

赖柏源(项目经理 PM / 前端支持)

角色定位:
总体负责项目规划与节奏把控,组织需求梳理与评审,协调前后端协作与风险,把关文档与展示输出,同时在关键页面提供前端支持。

具体任务:

任务ID 功能模块 任务内容
WBS-1.1/1.2 需求与文档维护 组织整理课堂反馈,主导《需求规格说明书》修订
WBS-1.3 用例 & User Story 确认和评审核心用户场景与用例
T-1 商品信息发布 指导发布表单的字段设计与校验规则(与前端协同)
T-3 商品信息发布 评审并参与关键发布页面的交互与信息结构优化
T-12 测试规划 把关测试计划与用例设计,组织评审与优先级划分
T-14 文档与总结 把关最终项目文档结构与团队作业整体排版与汇总

徐铭阳(后端开发 / 推荐与核心接口)

角色定位:
负责主要业务接口与部分后端逻辑,尤其是商品列表、筛选与后续可扩展的推荐相关接口设计。

具体任务:

任务ID 功能模块 任务内容
T-2 商品信息发布 商品发布后端接口实现(含校验与错误处理)
T-4 商品信息展示 商品列表展示接口实现(支持条件查询与排序)
T-6 商品分类筛选 分类筛选相关后端接口(type、分类、状态等)
T-10 分页展示 列表分页后端支持与性能优化
T-11 频率限制 发布频率限制逻辑实现(如每小时最多 N 条)
T-13 功能测试 参与后端接口联调与接口级测试,修复后端逻辑问题

唐雷(前端开发 / 表单与测试协同)

角色定位:
负责商品发布相关前端页面与交互,包括表单验证、错误提示与部分测试配合,是前端侧的主要实现者之一,同时兼任部分前端测试。

具体任务:

任务ID 功能模块 任务内容
T-1 商品信息发布 商品发布表单页面设计与前端校验逻辑实现
T-3 商品信息发布 发布页面 UI / 交互优化(提示信息、错误反馈等)
T-6 商品分类筛选 发布页分类选择控件前端实现
T-10 分页展示 列表页分页组件前端实现与样式优化
T-13 功能测试 从前端视角进行提测与问题记录,配合 QA 做回归验证

黄龙宇(前端开发 / 列表、详情与交互体验)

角色定位:
负责用户侧列表、详情展示页面以及管理员后台的前端实现与交互体验优化,重点关注可用性与移动端适配。

具体任务:

任务ID 功能模块 任务内容
T-4 商品信息展示 商品列表页面布局与样式优化(含响应式适配)
T-5 商品详情展示 商品详情页展示完善(状态、联系方式、位置等)
T-7 管理员后台 管理员审核界面前端实现(通过/拒绝等操作入口)
T-9 商品状态管理 状态展示与前端状态标识(待审核/已发布/下架等)
T-13 功能测试 管理端与用户端前端联调与测试,关注交互与视觉问题

于子豪(测试 / 质量保证负责人)

角色定位:
负责整体测试策略制定、用例设计与执行,是质量保障的主责人,推动缺陷闭环与回归测试。

具体任务:

任务ID 功能模块 任务内容
T-12 测试规划 设计详细测试用例(功能 / 接口 / 场景用例)
T-13 功能测试 组织并执行功能测试、回归测试,维护缺陷列表
接口测试 使用 Postman 等工具做核心接口验证(参数、错误码等)
场景测试 按用户故事走完整“发布–审核–浏览”流程测试

袁梓轩(后端开发 / 数据库与性能)

角色定位:
负责数据库结构设计与优化,以及与高频查询相关的性能支持,保证数据一致性与可扩展性。

具体任务:

任务ID 功能模块 任务内容
WBS-2.3 数据库设计 表结构设计与更新(商品 / 用户 / 分类等)
WBS-5.1 初始化数据 初始化数据库脚本(DDL、测试数据导入)
T-4/T-5 性能支持 为列表 / 详情相关查询添加索引与优化方案
T-12 测试规划 协助准备测试数据集,确保测试覆盖不同数据场景
T-13 功能测试 验证数据一致性(状态变更、过期处理等)

姚沛鸿(后端开发 / 运维与部署)*

角色定位:
偏后端与运维方向,负责部署方案、运行环境、日志与监控等工作,保证服务在 Alpha 阶段可稳定运行。

具体任务:

任务ID 功能模块 任务内容
WBS-6.1 项目管理与集成 协助搭建开发 / 测试环境,编写启动与部署脚本
WBS-6.3 Alpha 集成与部署 完成 Alpha 阶段的服务部署与基本运维配置
T-2/T-4 后端支持 协助处理线上接口问题、日志记录与异常监控
T-13 功能测试 从运行环境角度检查日志、错误堆栈与异常处理是否合理

一、需求分析与原型优化

在前期完成选题确认与《需求规格说明书》初稿编写的基础上,通过课堂展示与集体讨论,我们收集到师生提出的多项具体改进建议。本次团队作业3将围绕这些问题展开需求细化与原型优化工作。

1.1 课堂反馈问题及解决方案

问题1:商品状态管理机制不健全,审核流程缺失
实际运营中,商品信息发布后需经管理员审核方能展示,当前系统的status字段虽存在但缺乏明确的审核流程规范。

改进方案1:完善商品状态管理与审核机制
在需求规格说明书中新增"商品状态管理"章节:

  • 商品状态划分为三个类别:
    • 待审核(status=0):用户提交后的初始状态
    • 已发布(status=1):管理员审核通过后的状态
    • 已下架(status=2):过期或违规商品状态
      在原型设计中相应调整:
  • 用户发布商品后自动跳转至"等待审核"提示界面
  • 管理员后台增设"待审核商品"列表及审核操作界面
  • 建立自动下架机制:基于expire字段自动将过期商品状态调整为已下架

问题2:商品分类体系缺失,信息组织效率低
当前系统仅支持供应/需求两种类型,实际交易中商品种类繁多,需要更精细的分类管理。

改进方案2:构建商品分类体系
在需求规格说明书中新增"商品分类"章节:

  • 商品按以下大类进行划分:

    • 书籍文具(教材、小说、文具等)

    • 其他类别
      在原型设计中相应调整:

  • 发布页面增加"商品分类"下拉选择功能

  • 首页增设分类筛选导航栏

  • 商品列表支持按分类展示

问题3:搜索功能过于简单,影响用户体验
当前搜索功能仅通过URL参数传递,缺乏实际搜索实现,且缺少搜索建议和历史记录功能。

改进方案3:优化搜索功能与用户体验
在需求规格说明书中新增"搜索功能"章节:

  • 搜索功能包含以下特性:
    • 关键词搜索:支持标题、描述等字段的模糊匹配
    • 高级筛选:支持按分类、地区、价格区间等多维度筛选
    • 搜索建议:输入关键词时实时提供热门搜索建议
    • 搜索历史:自动记录用户最近搜索关键词
      在原型设计中相应调整:
  • 首页和顶部导航栏设置醒目的搜索框
  • 搜索结果页面增加筛选条件面板
  • 搜索框下拉显示热门搜索和搜索历史记录

问题4:用户身份验证缺失,信息真实性难以保障
当前系统允许任何人发布信息,缺乏用户身份验证机制,容易产生虚假信息。

改进方案4:建立用户系统与身份验证机制
在需求规格说明书中新增"用户系统"章节:

  • 用户分为三个层级:
    • 普通用户:具备浏览、搜索商品权限
    • 认证用户:通过手机号验证后可发布商品信息
    • 管理员:负责商品管理、用户管理和系统设置
      在原型设计中相应调整:
  • 增加用户注册/登录页面
  • 发布商品前需完成登录和手机号验证
  • 商品信息页面显示发布者昵称和认证标识

问题5:商品有效期提醒机制缺失
商品虽有expire字段表示有效期,但缺乏到期提醒功能,用户可能错过最佳交易时机。

改进方案5:建立有效期提醒机制
在需求规格说明书中新增"提醒机制"章节:

  • 提醒类型包括:
    • 到期前提醒:商品到期前1天发送提醒
    • 到期提醒:商品到期时通知用户
    • 成交提醒:有用户联系时及时通知
  • 实现方式:
    • 系统定时任务检查即将到期商品
    • 通过站内信、邮件或短信发送提醒
    • 用户可在个人中心设置提醒偏好

问题6:移动端适配不足,响应式设计欠缺
虽然采用Semantic UI框架,但页面布局和交互在移动设备上的体验仍需优化。

改进方案6:完善响应式设计与移动端体验
在需求规格说明书中新增"移动端适配"章节:

  • 适配要求:
    • 支持主流移动设备屏幕尺寸
    • 简化移动端操作流程
    • 优化触摸交互体验
    • 提升移动端页面加载速度
      在原型设计中相应调整:
  • 商品列表采用卡片式布局,适配不同屏幕尺寸
  • 发布表单优化为移动端友好的输入方式
  • 导航栏在小屏幕下转换为汉堡菜单
  • 按钮和链接尺寸适合手指点击操作

1.2 需求规格说明书修订要点

基于团队作业2发布的《需求规格说明书》初稿,我们识别了若干关键不足,并进行了系统性修订。

(1)用户角色与权限定义模糊
原有问题:
对用户群体的描述较为笼统,仅简单划分为"核心用户、重要用户、辅助用户",未明确不同用户角色的具体权限和功能差异。
优化措施:
重新定义用户角色体系:

  • 普通用户(访客):可浏览商品信息、搜索商品、查看分类,但无法发布商品或联系卖家
  • 注册用户:完成手机号验证后可发布商品信息、联系其他用户、管理个人商品
  • 认证用户:通过学号/工号认证的用户,享有更高的信誉度标识
  • 管理员:负责审核商品信息、管理用户账户、维护系统正常运行
    在数据库设计中增加用户表,包含字段:user_id、username、phone、email、role、is_verified、created_at等。

(2)商品状态管理流程不完整
原有问题:
初稿中未详细描述商品从发布到下架的完整生命周期管理流程。
优化措施:
在需求中新增"商品状态管理流程":

  • 商品状态分为四个类别:
    • 待审核(pending):用户发布后的默认状态
    • 已发布(published):管理员审核通过后的状态
    • 已交易(sold):买卖双方确认交易完成后的状态
    • 已下架(expired/removed):过期或违规商品状态
  • 增加状态转换规则:
    • 普通用户仅能发布待审核状态的商品
    • 管理员可将待审核商品转为已发布或拒绝发布
    • 用户可主动下架个人商品
    • 系统根据expire字段自动将过期商品转为已下架状态

(3)搜索与筛选功能描述不充分
原有问题:
对搜索功能的描述较为简略,未能体现实际使用场景中的复杂需求。
优化措施:
完善搜索与筛选功能需求:

  • 基础搜索功能:
    • 关键词搜索:支持在标题、描述中进行搜索
    • 分类筛选:按商品大类、子类进行筛选
    • 类型筛选:供应/需求类型筛选
  • 高级筛选功能:
    • 地区筛选:按发布者所在地区筛选
    • 时间筛选:按发布时间范围筛选
    • 价格区间:按商品价格区间筛选(针对供应商品)
    • 状态筛选:仅显示有效商品
  • 搜索优化功能:
    • 搜索建议:输入时提供热门关键词建议
    • 搜索历史:记录用户最近搜索记录
    • 模糊匹配:支持错别字识别和同义词匹配

(4)业务规则描述不完整
原有问题:
缺乏对核心业务规则的详细描述,可能导致开发过程中出现理解偏差。
优化措施:
在"业务规则"章节补充以下内容:

  • 发布规则:
    • 同一用户每小时最多发布5件商品
    • 商品标题长度限制为5-50个字符
    • 商品描述长度限制为10-500个字符
    • 必须选择商品类型(供应/需求)和有效期限
  • 审核规则:
    • 管理员需在24小时内完成新发布商品的审核
    • 包含违禁词的商品直接拒绝
    • 重复发布相同内容的商品标记为垃圾信息
  • 交互规则:
    • 仅注册用户可联系商品发布者
    • 同一用户对同一商品每天最多联系3次
    • 用户可举报违规商品,累计3次举报需管理员介入处理
  • 有效期规则:
    • 商品默认有效期为7天,可选择1天、3天、7天
    • 系统每天定时清理过期商品
    • 过期前1天发送提醒通知

(5)用户场景串联功能(User Story)

用户场景(学生卖家):计算机专业大四学生小王处理教材
小王即将毕业,需要处理一套专业教材。以往他只能在宿舍群发布消息,效果有限且可能打扰他人。
现在他使用"二手商品交易平台":

  1. 使用学生账号登录系统,进入发布页面
  2. 选择"供应"类型,填写商品详细信息:
    • 标题:"计算机网络教材一套"
    • 分类:书籍文具 > 教材
    • 描述:"计算机网络自顶向下方法 第7版,附带习题解答"
    • 价格:¥150
    • 所在地:计算机学院
    • 有效期:7天
  3. 提交后进入管理员审核流程(页面显示"审核中"状态)
  4. 审核通过后,商品在"教材"分类下正常展示
  5. 有买家联系时,及时收到系统通知
  6. 交易完成后,手动将商品状态更新为"已交易"

用户场景(学生买家):研究生小李寻找实验教程
小李需要特定电子元件完成研究项目:

  1. 在首页搜索框输入"电阻电容相关的教程"
  2. 系统显示相关商品列表,支持按价格、时间排序
  3. 筛选"需求类型"为"供应",地区选择"本校"
  4. 浏览商品详情,通过系统内置通信功能联系卖家
  5. 确认交易意向,双方线下完成交易
  6. 在个人中心将商品标记为"已购买"

每日工作流程:

  1. 上午9点登录管理后台
  2. 查看待审核商品列表,检查商品信息合规性
  3. 对包含违禁内容的商品执行"拒绝"操作并说明原因
  4. 对合规商品执行"通过"操作,使其对所有用户可见
  5. 处理用户举报信息,处置违规商品
  6. 统计昨日平台数据:新增商品数、活跃用户数、交易数
  7. 基于统计数据调整运营策略

三、需求规格说明书核心内容

用户群体分析

  • 核心用户:在校本科生(占比75%)- 主要进行教材、电子设备教程交易
  • 重要用户:研究生群体(占比20%)- 专业书籍、实验指导交易需求较多
  • 辅助用户:教职工及校园商户(占比5%)- 偶尔处理闲置书籍或寻找特定书目

功能性需求

  1. 用户管理系统(P0):注册、登录、身份认证、信息管理
  2. 商品信息管理(P0):发布、编辑、删除、状态管理
  3. 智能搜索与筛选(P0):关键词搜索、多维度筛选、排序
  4. 沟通联系功能(P0):内置聊天系统、联系方式交换
  5. 审核管理功能(P0):商品审核、违规处理、内容监管
  6. 统计分析功能(P1):数据统计、用户行为分析、报表生成
  7. 推荐系统(P2):个性化推荐、热门商品展示

非功能性需求

  • 性能需求:页面响应时间控制在2秒以内,支持200并发用户
  • 可用性需求:系统可用性保证99%,故障恢复时间不超过30分钟
  • 安全性需求:用户隐私保护、数据传输加密、防刷机制
  • 兼容性需求:支持主流浏览器和移动设备访问

四、项目特色优势
相比其他二手交易平台,本平台的差异化特点体现在:

  1. 校园专属特性:仅面向本校师生,确保交易安全性和便利性
  2. 教育公益属性:重点关注教材、学习用品等教育相关商品流通
  3. 信用体系建设:基于校园身份认证建立可信交易环境
  4. 本地化服务:支持面对面交易,降低物流成本和风险
  5. 学术资源整合:可与学校图书馆、实验室等资源对接,提供增值服务

1.3 功能优先级矩阵分析

基于功能对用户价值的重要性和当前迭代的紧急程度,我们采用四象限法进行功能优先级划分:

1.3 功能优先级矩阵分析

基于功能对用户价值的重要性和当前迭代的紧急程度,我们采用四象限法进行功能优先级划分:

1.3.1 第一象限:重要且紧急(P0,Alpha阶段必须完成)

  • 用户发布二手商品信息(标题、类型、联系方式等)
  • 商品信息列表展示与分类筛选
  • 商品详情查看(含基本信息、联系人信息、发布时间等)
  • 后台管理员审核商品信息(通过/拒绝)
  • 管理员管理商品分类
  • 用户查看已发布商品状态
  • 商品信息过期处理机制

1.3.2 第二象限:重要但不紧急(P1,Beta阶段优先)

  • 商品搜索功能(按关键词、类型等搜索)
  • 商品信息编辑与更新
  • 用户反馈与举报机制
  • 管理员公告发布(系统通知、使用规范等)
  • 商品浏览量统计

1.3.3 第三象限:不重要不紧急(P2,根据时间安排)

  • UI细节优化(主题、动画等)
  • 商品图片上传与展示
  • 导出商品信息报表
  • 用户使用指南与帮助文档

1.3.4 第四象限:创意想法,暂不纳入计划

  • 用户评价与信用体系
  • 商品收藏与关注功能
  • 站内消息系统
  • 数据分析与可视化展示(热门商品类型统计等)

在产品Backlog中,我们仅从P0象限选取Alpha阶段的功能,确保核心功能优先完成,为后续功能迭代奠定坚实基础。

1.4 基于修订需求的WBS与项目进度调整

1.4.1 修订后关键需求总结(仅列出影响后续计划的内容)

  • 增加商品分类管理的实际业务规则(出售/求购)
  • 用户端功能增强:
    • 商品详情页(位置、联系方式、过期时间等)
    • 商品发布表单验证
    • 商品状态管理(有效/过期)
  • 管理员端功能增强:
    • 商品信息审核机制
    • 简单的商品统计功能
  • 通知模块完善:
    • 商品发布成功通知
    • 商品状态变更通知

这些调整将直接影响后端业务逻辑、数据库结构、前端界面设计和测试范围,因此需要重新制定WBS和进度计划。

1.4.2 WBS总体结构(按功能模块分解)

WBS-1 需求与文档维护

  • WBS-1.1 课堂反馈整理与需求更新
  • WBS-1.2 需求规格说明书修订
  • WBS-1.3 用例 & User Story补充

WBS-2 系统设计

  • WBS-2.1 系统架构设计(分层 & 模块划分)
  • WBS-2.2 数据库概念结构设计(ER图)
  • WBS-2.3 数据库逻辑结构设计(表结构 & 约束)

WBS-3 后端开发(Django + MySQL)

  • WBS-3.1 商品模块
    • 商品信息CRUD
    • 商品分类管理
    • 商品状态管理(发布/审核/过期)
  • WBS-3.2 用户交互模块
    • 商品发布表单
    • 联系信息发布者
  • WBS-3.3 管理员后台模块
    • 商品信息审核
    • 简单统计数据接口
  • WBS-3.4 通知模块
    • 消息提示基础封装
    • 商品状态变更提示

WBS-4 前端开发(Web)

  • WBS-4.1 公共布局和路由
  • WBS-4.2 商品列表 & 详情页
  • WBS-4.3 商品发布页
  • WBS-4.4 管理员后台页面(商品管理、审核)

WBS-5 数据库与测试

  • WBS-5.1 初始化数据库脚本(DDL & 测试数据)
  • WBS-5.2 单元测试(后端关键业务)
  • WBS-5.3 接口测试
  • WBS-5.4 场景/功能测试(完整商品发布流程)
  • WBS-5.5 测试报告与缺陷跟踪

WBS-6 项目管理与集成

  • WBS-6.1 每日Scrum记录与任务跟踪
  • WBS-6.2 版本控制(Git分支策略)
  • WBS-6.3 Alpha阶段集成与部署

1.4.3 项目周进度计划对齐(16天迭代周期)

结合团队作业的整体规划,将16天的迭代周期划分为四个阶段:

第1-4天:需求分析与系统设计阶段

  • 完成需求规格说明书修订(WBS-1.2)
  • 完成系统架构设计和ER图定稿(WBS-2)
  • 完善数据库逻辑结构设计(WBS-2.3)
  • 搭建Django项目骨架、数据库连接

第5-8天:核心功能开发阶段

  • 实现商品模块基础接口(WBS-3.1)
  • 建立数据库表结构 & 初始化测试数据(WBS-5.1)
  • 开发商品发布表单和验证逻辑(WBS-3.2)
  • 实现管理员审核机制(WBS-3.3)

第9-12天:前后端联调阶段

  • 完成主要前端页面开发(WBS-4)
  • 实现商品列表 & 详情页展示(WBS-4.2)
  • 完成管理员后台页面(WBS-4.4)
  • 实现通知模块基础功能(WBS-3.4)

第13-16天:测试与完善阶段

  • 进行单元测试和接口测试(WBS-5.2~5.3)
  • 进行场景/功能测试(WBS-5.4)
  • 缺陷修复与优化
  • 编写测试报告与项目总结(WBS-5.5)

基于现有代码分析,项目已具备基本的商品发布和展示功能,后续重点需要完善:

  1. 管理员审核机制
  2. 商品状态管理
  3. 更完善的表单验证
  4. 商品分类筛选功能
  5. 过期商品处理逻辑

二、系统架构设计

2.1 总体架构概述

本系统采用B/S架构 + 前后端分离 + 分层设计模式,主要划分为三个层次:

表示层(Presentation Layer)

  • 技术选型:HTML / CSS / JavaScript(后续可引入Vue)
  • 运行环境:浏览器
  • 主要职责:页面展示、交互处理、调用后端REST API

业务逻辑层(Business Layer)

  • 技术选型:Django(Python)+ RESTful API
  • 核心模块:商品模块、用户交互模块、管理员模块、通知模块、统计模块
  • 主要职责:实现业务规则(包括商品发布规则、审核规则、状态管理等),封装业务接口

数据访问层(Data Access Layer)

  • 技术选型:MySQL + Django ORM
  • 主要职责:数据持久化,负责表结构定义、查询与事务控制

2.2 模块划分与接口规范

(1)商品模块

  • 功能要点
    • 商品信息增删改查
    • 商品分类管理(出售/求购)
    • 商品状态管理(发布/审核/过期)
    • 过期时间管理
  • 典型接口
    • GET /api/products
    • GET /api/products/
    • POST /api/products
    • PUT /api/admin/products/

(2)用户交互模块

  • 功能要点
    • 商品发布表单
    • 联系信息发布者
    • 商品搜索与筛选
  • 典型接口
    • POST /api/products
    • GET /api/products?category=...&type=...

(3)管理员模块

  • 功能要点
    • 商品信息审核
    • 商品状态变更
    • 简单统计数据查看
  • 典型接口
    • PUT /api/admin/products/{id}/approve
    • PUT /api/admin/products/{id}/reject
    • GET /api/admin/statistics

(4)通知模块

  • 功能要点
    • 封装通用消息提示功能
    • 在商品发布成功、状态变更时发送通知
  • 实现方式
    • 后端在业务操作成功后调用通知模块
    • 使用Django messages框架实现页面提示

(5)统计模块(Alpha精简版)

  • 功能要点
    • 按商品类型统计发布数量
    • 为管理员端提供数据展示
  • 典型接口
    • GET /api/admin/statistics/product-count

2.3 数据库设计

2.3.1 核心实体与字段设计

注:下表仅列出核心字段

(1)用户表 auth_user(使用Django内置)

字段名 类型 说明
id INT, 主键, 自增 用户ID
username VARCHAR, 唯一 用户名
email VARCHAR, 唯一 邮箱
password VARCHAR 加密密码
is_staff TINYINT(1) 是否为管理员
is_superuser TINYINT(1) 是否为超级用户
date_joined DATETIME 创建时间

(2)商品表 mask_product

字段名 类型 说明
id INT, 主键, 自增 商品ID
title VARCHAR(100) 商品标题
type INT 商品类型(0:出售, 1:求购)
contact VARCHAR(10) 联系人
location VARCHAR(20) 位置信息
phone VARCHAR(13) 联系电话
weixin VARCHAR(50) 微信
status TINYINT(1) 状态(0:待审核, 1:已发布)
timestamp DATETIME 创建时间
expire INT 过期天数
pv INT 浏览量

(3)商品分类表(可选,当前通过type字段实现)

字段名 类型 说明
id INT, 主键 分类ID
name VARCHAR 分类名称
description TEXT 分类描述

索引优化建议:

  • type字段普通索引 → 提高分类查询效率
  • status字段普通索引 → 提高状态筛选效率
  • (type, status, timestamp) 复合索引 → 提高列表页查询效率

2.3.2 现有系统分析与优化建议

基于当前代码分析,系统已具备基本的商品发布和展示功能。现有数据库结构基本满足需求,但可进行以下优化:

  1. 增加管理员操作日志表

    • 记录商品审核等管理员操作
    • 便于追踪和审计
  2. 增加商品浏览记录表

    • 用于更详细的统计分析
    • 支持热门商品推荐等功能
  3. 优化索引策略

    • 根据实际查询需求调整索引
    • 提高查询性能
  4. 增加商品图片字段

    • 支持商品图片展示
    • 提升用户体验

通过以上架构设计和数据库优化,系统能够更好地支持商品交易的核心功能,并为后续扩展提供良好的基础。

三、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 频率限制 防止恶意发布的频率控制 P0
PB-8 用户注册/登录 建立用户身份体系 P1
PB-9 商品搜索功能 支持关键词搜索商品 P1
PB-10 商品有效期提醒 商品到期前发送提醒 P1

3.1.2 Alpha阶段核心功能(MVP)
综合考虑优先级、依赖关系和团队资源,以下P0功能纳入Alpha开发范围:

  • PB-1 商品信息发布
  • PB-2 商品信息展示
  • PB-3 商品分类筛选
  • PB-4 管理员审核机制
  • PB-5 商品状态管理
  • PB-6 分页功能
  • PB-7 频率限制

PB-8(用户注册/登录)、PB-9(搜索)、PB-10(提醒)暂定为Beta阶段实现。

3.2 Sprint Backlog:任务分解与分配

本Sprint仅覆盖Alpha核心功能,所有任务预估工时控制在1-10小时范围内。

3.2.1 任务明细表

任务ID 功能模块 任务内容 负责人 预估工时
T-1 PB-1 商品信息表单设计与验证完善 成员A 4h
T-2 PB-1 商品发布后端接口实现 成员B 5h
T-3 PB-1 商品发布前端页面优化 成员C 6h
T-4 PB-2 商品列表展示逻辑优化 成员D 4h
T-5 PB-2 商品详情页展示完善 成员E 5h
T-6 PB-3 商品分类筛选功能实现 成员B 4h
T-7 PB-4 管理员审核界面完善 成员D 5h
T-8 PB-4 商品状态变更接口实现 成员A 4h
T-9 PB-5 商品状态管理逻辑完善 成员F 4h
T-10 PB-6 分页展示功能优化 成员G 4h
T-11 PB-7 频率限制机制完善 成员B 3h
T-12 - Alpha测试用例设计 成员G 5h
T-13 - 功能测试与缺陷记录 全体 6h
T-14 - 项目文档与团队作业整理 成员G 4h

任务说明:

  1. 所有任务工时均在1-10小时范围内,符合任务要求
  2. 基于现有代码基础,重点完善核心功能模块
  3. 测试工作贯穿整个开发周期,非最后集中进行

3.3 Alpha冲刺进度规划

假设Alpha冲刺周期为2周(14天),第1周侧重功能完善,第2周侧重测试优化。

3.3.1 周视图任务安排

时间段 主要任务 涉及任务ID 负责人
第1周 第1-2天 商品信息发布功能完善 T-1, T-2, T-3 成员A、B、C
第1周 第3-4天 商品展示与详情页优化 T-4, T-5 成员D、E
第1周 第5-6天 分类筛选与状态管理 T-6, T-9 成员B、F
第1周 第7天 管理员审核功能完善 T-7, T-8 成员D、A
第2周 第8-9天 分页与频率限制优化 T-10, T-11 成员G、B
第2周 第10-11天 测试用例编写与功能测试 T-12, T-13 成员G、全体
第2周 第12-13天 缺陷修复与系统优化 T-1~T-11相关修复 全体
第2周 第14天 文档整理与博客撰写 T-14 成员G

3.3.2 甘特图示意
Django二手商品交易平台开发甘特图

第1周:
第1-2天: [T-1,T-2,T-3] 商品信息发布功能完善
第3-4天: [T-4,T-5] 商品展示与详情页优化
第5-6天: [T-6,T-9] 分类筛选与状态管理
第7天:   [T-7,T-8] 管理员审核功能完善

第2周:
第8-9天: [T-10,T-11] 分页与频率限制优化
第10-11天:[T-12,T-13] 测试用例编写与功能测试
第12-13天:[缺陷修复] 系统优化与问题修复
第14天:  [T-14] 文档整理与博客撰写

四、质量保障计划

说明:本测试计划基于项目实际架构与功能设计制定,旨在指导Alpha冲刺阶段的质量保障活动,确保核心业务流程稳定可靠,为后续迭代奠定质量基础。

4.1 产品概述与测试目标

产品名称
二手书交易平台(Second-hand Book Trading Platform)

系统定位
面向高校师生的线上二手书交易服务平台,提供以下核心功能:

  • 用户发布商品信息(出售/求购)
  • 商品信息浏览与查询
  • 联系信息发布者
  • 商品状态管理与审核
  • 管理员后台商品审核与管理

测试总体目标

  1. 验证核心流程完整性:确保「浏览商品→发布商品→联系卖家→管理员审核」主干流程在Alpha阶段正常运行
  2. 提前识别关键缺陷:在开发过程中同步开展测试,尽早发现逻辑错误、接口异常、权限漏洞等问题
  3. 建立可复用测试资产:形成标准化测试用例模板、接口测试脚本、缺陷跟踪机制,为后续阶段提供基础
  4. 提升团队质量意识:推行"开发即测试"理念,实现开发测试协同推进

4.2 测试范围与测试类型

4.2.1 测试范围

模块 包含状态 测试重点
商品模块 商品发布、列表展示、详情页、分类筛选
用户交互模块 发布表单、联系卖家、商品搜索
管理员模块 商品审核、状态变更、数据统计
通知模块 页面提示信息(发布成功/审核结果)
数据库交互 核心数据操作的持久化正确性
前后端接口 RESTful API参数校验、返回格式

❌ 排除范围(Beta阶段重点):

  • 多浏览器深度兼容性测试
  • 高并发性能压力测试
  • 安全渗透测试(SQL注入、XSS、CSRF等)
  • 移动端响应式体验深度测试

4.2.2 测试类型

测试类型 工具/方法 测试目标
功能测试(黑盒) 手动执行测试用例 验证功能点符合需求规格
接口测试 Postman / requests 检查API请求响应、参数合法性、错误处理
UI与易用性测试 浏览器手动操作 表单提示、按钮状态、页面跳转合理性
回归测试 自动化脚本+手动验证 确保缺陷修复不影响现有功能
探索式测试 自由操作探索 发现边界情况和隐藏缺陷

4.3 测试策略与方法

4.3.1 总体策略(5W1H分析)

维度 策略内容
测试目的 保证核心交易流程可演示使用,降低后期返工成本
测试内容 核心功能正确性、接口稳定性、权限控制、数据一致性
测试时机 功能开发完成后立即测试,贯穿整个迭代周期
测试人员 测试负责人主导,开发者自测配合,全员参与
测试环境 开发/测试服务器(Django + MySQL测试库)
测试方法 黑盒为主,辅以接口测试与轻量白盒分析

4.3.2 测试方法详述

1. 黑盒测试

  • 等价类划分:商品类型(出售/求购)、状态(待审核/已发布)
  • 边界值分析:文本字段长度限制、数字范围
  • 场景法:基于典型用户故事设计测试用例

2. 接口测试(重点)

针对核心接口进行测试:
GET /api/products/ # 获取商品列表
GET /api/products// # 获取商品详情
POST /api/products/ # 发布商品
PUT /api/admin/products// # 修改商品状态

  • 使用Postman构建测试集合,验证不同参数组合
  • 检查错误码返回(400, 401, 403, 404, 500)
  • 验证认证机制有效性
  • 确认返回JSON格式规范性

3. 白盒/灰盒测试(轻量)

  • 关键逻辑添加日志输出
  • 结合数据库查询验证数据正确性
  • 复杂业务逻辑的单元测试辅助验证

4. 探索式测试

  • 快速切换、重复提交等异常操作
  • 非标准输入测试(特殊字符、超长文本等)
  • 越权访问尝试

4.4 测试阶段与时间安排

结合两周Alpha冲刺周期,测试活动分为四个阶段:

阶段 时间节点 主要活动
准备阶段 第0天 需求文档研读、测试环境搭建、测试用例模板编写
早期冒烟测试 第1-3天 商品列表展示、发布表单等基础功能验证,严重问题反馈
核心联调测试 第4-7天 商品发布、审核流程、状态管理等核心流程测试
收尾与总结 第8-9天 回归测试、兼容性检查、测试报告编写

✅ 每阶段结束时更新测试计划,动态调整测试重点

4.5 测试团队分工

角色 主要职责
测试负责人 测试计划与用例编写、评审组织、缺陷跟踪、报告输出
前端开发者 页面交互测试、UI与易用性测试配合
后端开发者 接口测试实现、API功能验证、单元测试
全体成员 探索式测试参与、改进建议提出、代码质量维护

💡 采用"开发兼任测试 + 专人主测"模式,平衡工作负荷与责任明确

4.6 测试环境与资源准备

** 4.6.1 硬件环境**

  • 测试设备:8GB RAM以上PC或笔记本
  • 网络环境:局域网连接,支持访问测试服务器

4.6.2 软件环境

类别 版本/工具
后端环境 Django 2.1 + Python 3.6+ + MySQL 5.7
前端环境 Chrome / Edge 浏览器
测试工具 Postman、浏览器DevTools、缺陷跟踪工具
数据库 MySQL测试实例(独立环境)

4.6.3 测试数据准备

  • 测试账号:普通用户、管理员各1个
  • 初始化数据:至少5个商品(出售/求购各若干)
  • 数据导入:使用管理命令或fixtures导入测试数据

4.7 风险识别与应对措施

潜在风险 应对策略
开发延期导致测试时间不足 提前介入、每日冒烟测试、核心流程优先
需求理解不一致 需求澄清会议、关键业务规则确认、测试用例及时更新
环境差异导致部署失败 明确环境配置、使用统一初始化脚本
接口变更频繁 接口文档实时更新、测试集合同步调整

4.8 测试准入与完成标准

准入条件(测试启动前提)

  1. 对应功能模块开发完成并在测试环境部署
  2. 提供最新接口文档与数据库结构说明
  3. 关键依赖服务(数据库等)可用
  4. 测试账号准备就绪

完成标准(Alpha阶段)

  1. 所有P0/P1级别缺陷已修复并通过回归验证
  2. 中低级别缺陷数量可控,已记录至后续迭代
  3. ≥90%计划测试用例已执行
  4. 输出《Alpha测试报告》,包含缺陷统计与改进建议

附录:测试用例示例(部分)

用例编号 测试场景 预期结果
TC001 用户访问商品列表页 成功显示商品列表,包含基本信息
TC002 用户发布出售商品 表单验证通过,商品成功提交待审核
TC003 用户发布求购商品 表单验证通过,商品成功提交待审核
TC004 管理员审核通过商品 商品状态更新为已发布,页面提示成功
TC005 管理员拒绝商品发布 商品状态更新为拒绝,页面提示成功
TC006 用户查看商品详情 正确显示商品详细信息
TC007 搜索特定类型商品 返回符合条件的商品列表

📌 建议:将测试计划保存为Markdown格式,纳入项目文档库

总结:本测试计划紧密结合项目技术特点,强调"早期测试、快速反馈、持续验证",确保Alpha阶段核心功能稳定可靠,为项目后续发展奠定坚实基础。

posted on 2025-11-20 15:57  yzx567  阅读(10)  评论(0)    收藏  举报