团队作业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秒”“并发支持≥500人在线”;
- 安全缺失:未提及校园身份唯一性校验,存在校外人员混入风险。
User Story(场景联动)
卖家:大四机械专业周强(闲置9成新“机械原理”教材,需安全收款);
买家:大二机械专业吴昊(求购教材,预算50元内,想看笔记)。流程:
- 周强发布闲置:选“教材-机械类”→勾“9成新”→传笔记页图片→填45元→选地标“教学楼B栋打印店”→设时间“11.28 16:00-17:00”;
- 吴昊搜索匹配:点“考研教材”入口→筛“机械类≤50元”→看详情页→在留言区问“笔记全吗?”;
- 沟通交易:周强回复后,吴昊下单付款至平台→碰面验货→点“确认收货”→系统转款,弹出评价入口。
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选取

2. Sprint Backlog任务拆分

3. Alpha阶段甘特图

四、测试计划
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测试报告》,包含以下内容:
- 测试概况:测试范围、环境、时间、人员;
- 测试结果:各测试类型的通过率(功能测试≥95%)、性能指标达标情况;
- Bug分析:Bug级别分布(致命/严重/一般)、模块Bug占比;
- 改进建议:如“搜索接口在数据量1万条时响应时间1.2秒,需优化索引”;
- 验收结论:是否通过Alpha阶段测试,可进入Beta阶段开发。
浙公网安备 33010602011771号