团队作业3--需求改进&系统设计

校园闲置物品交易平台项目作业-需求迭代&开发规划

这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience
这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13481
这个作业的目标完成校园闲置平台的需求&原型改进,制定Alpha任务计划与测试方案,系统设计待后续完善

组名:海豹突击队
小组成员:苗新雨(组长)、刘柳杨、冯昊铿、刘任浩、付昌

一、需求&原型改进

1. 针对课堂讨论的问题及建议修改

  • 问题1:搜索仅支持关键词,校园高频品类(教材、电子产品)查找耗时。

  • 修改1:首页顶部增设“校园高频品类快捷入口”(考研教材/笔记本电脑/生活用品/体育器材),支持“成色+价格范围+发布时间”组合筛选(如“9成新 笔记本 ≤500元 近7天发布”),结果按“距离交易地点由近及远”排序。

  • 问题2:交易地点标注模糊,碰面易跑空。

  • 修改2:内置校园15个核心交易地标(如“图书馆南门快递柜”“教学楼A栋台阶”),用户可选择地标并设置“30分钟交易时间窗口”,系统在交易前10分钟推送提醒。

2. 需求规格说明书完善

上周初稿不足

  1. 功能缺失:无商品留言、求购推送、交易短信提醒功能;
  2. 描述模糊:未明确“校园地标库”“时间窗口”的实现逻辑;
  3. 非功能缺失:未定义“页面响应≤1秒”“并发支持≥500人在线”;
  4. 安全缺失:未提及校园身份唯一性校验,存在校外人员混入风险。

User Story(场景联动)

卖家:大四机械专业周强(闲置9成新“机械原理”教材,需安全收款);
买家:大二机械专业吴昊(求购教材,预算50元内,想看笔记)。

流程:

  1. 周强发布闲置:选“教材-机械类”→勾“9成新”→传笔记页图片→填45元→选地标“教学楼B栋打印店”→设时间“11.28 16:00-17:00”;
  2. 吴昊搜索匹配:点“考研教材”入口→筛“机械类≤50元”→看详情页→在留言区问“笔记全吗?”;
  3. 沟通交易:周强回复后,吴昊下单付款至平台→碰面验货→点“确认收货”→系统转款,弹出评价入口。

3. 功能分析的四个象限

象限 功能列表 迭代阶段
重要且紧急 校园身份认证、物品发布/搜索、交易担保、在线沟通、求购发布 Alpha阶段核心
重要不紧急 交易评价、闲置推荐、用户信誉分 Beta阶段
紧急不重要 商品留言、交易短信提醒、地标选择 Alpha阶段末期
不重要不紧急 物品分享至微信、个性化皮肤 暂不开发

4. 任务分解WBS及进度计划

调整后WBS树

校园闲置物品交易平台
├─ 1. 用户模块(苗新雨)
│  ├─ 1.1 注册登录(手机号+校园ID绑定)
│  └─ 1.2 个人中心(资料/交易记录)
├─ 2. 物品模块(冯昊铿)
│  ├─ 2.1 发布(分类/成色+图文上传)
│  ├─ 2.2 搜索筛选(关键词+组合条件)
│  └─ 2.3 详情(信息+留言)
├─ 3. 交易模块(苗新雨+冯昊铿)
│  ├─ 3.1 在线沟通(文字/图片)
│  ├─ 3.2 担保交易(款项托管/确认收货)
│  └─ 3.3 交易配置(地标+时间窗口)
├─ 4. 求购模块(冯昊铿)
│  ├─ 4.1 求购发布
│  └─ 4.2 求购匹配
├─ 5. 前端模块(刘柳杨)
│  ├─ 5.1 页面开发(首页/发布页/求购页)
│  └─ 5.2 交互优化
└─ 6. 测试模块(刘任浩)
   ├─ 6.1 功能测试
   └─ 6.2 兼容性测试

调整后进度计划

周次 核心任务 输出成果
第11周 WBS拆分+数据库设计 WBS文档、数据库表结构
第12周 用户/物品模块开发+前端页面原型 注册/发布接口代码、首页/发布页原型
第13周 交易/求购模块开发+前后端联调 担保接口代码、Alpha版本Demo

二、系统设计

2.1 系统架构设计

本系统采用“前端层-后端层-数据层”三层分层架构,明确各层职责与技术栈,实现开发分工聚焦、接口解耦,对应系统模块的业务逻辑:

(1)前端层(技术栈:Vue3+Element Plus+Axios)

  • 核心职责:页面渲染、用户交互、数据预校验、局部刷新(Ajax)
  • 对应系统模块:商品首页、二手商城、商品详情、站内搜索引擎、发布商品/求购信息、个人信息、购物车等模块的前端页面
  • 关键实现
    • 公共组件:导航栏(含搜索框)、登录弹窗(全页面复用);
    • 业务组件:商品卡片、发布表单(物品/求购通用)、购物车结算面板;
    • 交互逻辑:通过Axios调用后端RESTful接口,实现“发布商品后局部刷新列表”“购物车数量修改后实时计算总价”等功能。

(2)后端层(技术栈:SpringBoot+MyBatis-Plus+Spring Security)

采用“控制层-服务层-数据访问层”三级拆分,对应系统模块的业务逻辑:

层级 核心职责 对应系统模块
控制层(Controller) 接收前端请求、返回标准化响应(JSON格式) 所有系统模块的接口暴露(如发布商品接口、搜索接口)
服务层(Service) 实现业务逻辑(核心) 发布商品/求购信息的参数校验、购物车总价计算、交易状态流转
数据访问层(Mapper) 与数据库交互(CRUD操作) 所有模块的数据读写(如商品表、求购商品表的查询)
工具层(Util) 通用功能封装 验证码生成、图片上传、Ajax请求处理

(3)数据层(技术栈:MySQL 8.0)

  • 核心职责:存储系统所有业务数据,通过索引优化查询效率
  • 对应系统模块:支撑商品、求购、用户、购物车等模块的持久化数据存储
  • 关键设计:对高频查询的表(如商品表)建立联合索引(Sort, Level, Price),提升“按类别+成色+价格筛选”的查询速度。

2.2 数据库设计

2.2.1 核心数据字典(基于系统模块整理)

表名 核心字段(主键标*) 字段说明
user(用户信息表) id*(INT)、username(VARCHAR(50))、phone(CHAR(11))、sno(CHAR(12))、dormitory(VARCHAR(20)) 存储用户校园身份信息(学号、宿舍等)
user_password(用户密码表) id*(INT)、password(VARCHAR(24))、uid(INT) 关联用户表,单独存储加密后的密码
goods(商品表) id*(INT)、name(VARCHAR(50))、level(INT)、price(DECIMAL(10,2))、sort(INT)、uid(INT)、image(VARCHAR(255)) 存储二手商品信息(成色、类别、发布者)
purchase(求购商品表) id*(INT)、name(VARCHAR(50))、price(DECIMAL(10,2))、sort(INT)、uid(INT) 存储求购信息(期望价格、类别、发布者)
goods_comment(商品留言表) id*(INT)、sid(INT)、content(VARCHAR(122))、uid(INT) 关联商品表,存储用户对商品的留言
purchase_comment(求购商品留言表) id*(INT)、qid(INT)、content(VARCHAR(122))、uid(INT) 关联求购商品表,存储用户对求购的留言
cart(购物车表) id*(INT)、uid(INT)、sid(INT)、quantity(INT) 关联用户表与商品表,存储购物车商品及数量

三、Alpha任务分配计划

1. Product Backlog选取

image

2. Sprint Backlog任务拆分

image

3. Alpha阶段甘特图

image

四、测试计划

1. 测试总纲

核心要素 具体说明
测试目标 1. 验证Alpha阶段核心功能流程闭环;2. 确保无致命Bug,严重Bug≤2个;3. 页面响应时间≤1秒;4. 支持500人并发在线无卡顿
测试范围 功能测试(用户/物品/交易/求购模块)、性能测试(响应速度/并发)、兼容性测试(多终端/浏览器)、安全测试(校园ID校验/密码加密)
测试环境 1. 前端:Chrome 120、微信浏览器、iOS Safari、Android Chrome;2. 后端:测试服务器(4核8G);3. 数据库:MySQL测试库(1万条模拟闲置/求购数据);4. 网络:校园网/4G/5G
责任人分工 刘任浩:测试用例设计、Bug跟踪与回归验证;苗新雨:性能测试(JMeter压测);刘柳杨:兼容性测试(多设备适配);冯昊铿:接口安全测试
测试资源 1. 硬件:测试手机2部(iOS 17/Android 14)、笔记本电脑1台;2. 软件:Postman 10.0、JMeter 5.6、BrowserStack;3. 文档:需求规格说明书、接口文档

2. 测试类型与时间安排

测试类型 执行时间 测试内容 工具/方法 输出物
单元测试 11.25-12.2 后端接口参数校验、异常处理、返回格式验证 Junit 5(代码注解)、Postman(接口集合) 单元测试报告、接口测试用例执行记录
功能测试 12.3-12.5 核心流程端到端测试(注册→发布→搜索→沟通→交易) 黑盒测试(按用例手动执行)、Leangoo Bug看板 功能测试报告、Bug清单
性能测试 12.4-12.5 1. 搜索接口响应速度压测;2. 500人并发在线模拟 JMeter(线程组压测)、服务器监控工具 性能测试报告、并发测试结果
兼容性测试 12.6 前端页面在不同设备/浏览器的显示、操作适配 真实设备+BrowserStack(跨浏览器测试) 兼容性测试报告、页面适配问题记录
安全测试 12.6 1. 校园ID伪造测试;2. 密码明文传输检测;3. 校外IP访问拦截 Postman(参数篡改)、Wireshark(抓包) 安全测试报告、风险修复建议
回归测试 12.7 已修复Bug的功能验证,确保无新问题 聚焦Bug关联功能点,执行对应测试用例 回归测试报告、Bug闭环记录

3. 核心测试用例(补充完整)

用例ID 模块 测试场景 前置条件 操作步骤 预期结果 优先级
TC001 用户模块 无效校园ID注册 手机号未注册 1. 输入手机号138xxxx5678;2. 输入无效校园ID 3123000000;3. 点击注册 提示“校园ID不存在,请联系管理员”,注册失败
TC002 用户模块 已注册手机号重复注册 手机号138xxxx5678已注册 1. 输入已注册手机号;2. 输入校园ID;3. 点击注册 提示“该手机号已绑定账号”,注册失败
TC003 物品模块 发布物品时未上传图片提交 用户已登录 1. 进入发布页;2. 填写标题/价格;3. 不选图片;4. 点击提交 按钮置灰,提示“请上传至少1张物品实拍图”
TC004 物品模块 组合筛选“9成新+电子产品≤500元” 数据库存在对应物品 1. 点击“电子产品”快捷入口;2. 选择“9成新”;3. 输入价格≤500 显示匹配物品列表,排序按距离由近及远
TC005 交易模块 买家确认收货后款项转至卖家账户 存在待收货交易(tradeId=30001) 1. 登录买家账号;2. 进入“我的订单”;3. 点击“确认收货” 1. 交易状态变为“已完成”;2. 卖家账户余额增加;3. 双方收到短信提醒
TC006 交易模块 交易时间窗口过期未碰面 交易时间设为“11.25 12:00-12:30” 1. 等待时间窗口过期;2. 查看交易状态 提示“交易时间已过期,请重新协商时间”,交易状态变为“已取消”
TC007 求购模块 发布求购后匹配到同类闲置 数据库存在同类闲置 1. 发布求购“机械原理教材”;2. 等待1小时 系统推送至少1条匹配的闲置物品,卖家收到求购提醒
TC008 沟通模块 发送5MB以上图片消息 双方已建立聊天窗口 1. 选择5MB以上图片;2. 点击发送 提示“图片大小不能超过5MB”,发送失败

4. 测试风险与应对措施

风险类型 具体风险 应对措施 责任人
环境风险 测试服务器故障,环境无法访问 提前备份测试环境,准备备用服务器 苗新雨
数据风险 测试数据不足,无法覆盖高频场景 用Python脚本生成1万条模拟闲置/求购数据 冯昊铿
进度风险 核心功能Bug过多,导致回归测试延迟 优先修复高优先级Bug,调整测试任务顺序 刘任浩
资源风险 测试设备不足,兼容性测试覆盖不全 借助BrowserStack工具补充跨设备测试 刘柳杨

5. 测试报告输出

Alpha阶段测试完成后,输出《校园闲置物品交易平台Alpha测试报告》,包含以下内容:

  1. 测试概况:测试范围、环境、时间、人员;
  2. 测试结果:各测试类型的通过率(功能测试≥95%)、性能指标达标情况;
  3. Bug分析:Bug级别分布(致命/严重/一般)、模块Bug占比;
  4. 改进建议:如“搜索接口在数据量1万条时响应时间1.2秒,需优化索引”;
  5. 验收结论:是否通过Alpha阶段测试,可进入Beta阶段开发。
posted @ 2025-11-22 20:00  告不离水  阅读(4)  评论(0)    收藏  举报