团队作业3--需求改进&系统设计
团队作业3--需求改进&系统设计
| 课程 | 软件工程 |
|---|---|
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13482 |
| 这个作业的目标 | 需求改进&系统设计计划 |
团队名称: 书海拾贝队
队员信息
- 杨浩 - 3123004462
- 刘霆浩 - 3123004451
- 戴宏翔 - 3123004435
- 莫圣韬 - 3123004456
- 赖顺炜 - 3123004441
- 陈东楷 - 3123004433
一、课堂反馈与需求修改
1.1 课堂讨论问题及修改
问题1: 配送方式
回答1: 由卖家提供地址,双方线下交易
问题2: 价格设置
回答2: 由卖家设置价格,买家可与卖家进行协商,卖家可更改价格
问题3: 运营范围
回答3: 大学城范围内
二、用户场景
用户痛点分析:
痛点1:教材价格昂贵
- 场景:大一新生小李开学需要购买5本专业教材
- 痛点:教材只用一学期,价格太贵,经济压力大
- 使用产品前:只能去书店购买新书,或在QQ群、贴吧碰运气找二手书
- 使用产品后:在平台搜索需要的教材,找到8成新的二手书,节省金钱
痛点2:二手书交易信息分散
- 场景:大三学生小王想卖掉用过的专业书,在多个QQ群发布信息
- 痛点:信息容易被刷屏淹没,买家难以找到,交易效率低
- 使用产品前:在QQ群、微信群、贴吧发布信息,等待买家联系,往往等很久
- 使用产品后:在平台发布书籍信息,3天内就有5个买家咨询,成功卖出3本
痛点3:交易安全无保障
- 场景:大二学生小张通过QQ群买二手书,转账后卖家失联
- 痛点:线下交易缺乏保障,容易被骗,维权困难
- 使用产品前:直接转账给卖家,收到书后发现严重破损,卖家不承认
- 使用产品后:平台担保交易,确认收货后才付款给卖家,有问题可申诉
痛点4:书籍信息不透明
- 场景:大四学生小陈想买考研资料,不知道书籍新旧程度
- 痛点:卖家描述模糊,实物与描述不符,浪费时间和金钱
- 使用产品前:只能看卖家的文字描述,收到书后发现有大量笔记和破损
- 使用产品后:平台要求上传多张实物照片,查看其他买家评价,信息透明
典型用户:
用户1:节俭型学生(大一、大二为主)
- 姓名:李明(化名)
- 年级:大一
- 需求:购买便宜的二手教材,节省开支
- 使用频率:每学期开学前集中购买
- 关注点:价格、书籍质量、配送速度
用户2:资源整合者(大三、大四为主)
- 姓名:王芳(化名)
- 年级:大三
- 需求:出售用过的教材和参考书,回收成本
- 使用频率:学期末集中出售
- 关注点:出售速度、价格合理、交易安全
用户3:考研备考者
- 姓名:张浩(化名)
- 年级:大三
- 需求:购买考研资料和专业书籍
- 使用频率:备考期间持续购买
- 关注点:书籍质量、笔记内容、卖家信誉
三、需求规格说明书修订
3.1 上周需求文档不足之处
不足1:功能描述过于简单
- 问题:只列出了功能名称,缺少详细的功能流程和交互说明
- 改进:增加用户故事(User Story)和详细的功能流程图
不足2:非功能性需求不完整
- 问题:只提到了性能和安全,缺少可用性、可维护性等方面
- 改进:补充完整的非功能性需求,包括可用性、可扩展性、兼容性等
不足3:缺少异常场景处理
- 问题:只描述了正常流程,没有考虑异常情况
- 改进:为每个功能添加异常场景和处理方案
不足4:用户权限划分不清晰
- 问题:普通用户和卖家的权限边界模糊
- 改进:明确定义各角色的权限矩阵
不足5:缺少数据字典
- 问题:没有详细的数据结构说明
- 改进:添加完整的数据字典和字段说明
3.2 用户故事(User Story)
故事1:新生购买教材
小李是一名大一新生,刚开学需要购买《高等数学》教材。
- 小李打开ReuseBook平台,在首页搜索框输入"高等数学"
- 系统显示10本相关二手书,按价格从低到高排序
- 小李点击第一本书查看详情,看到书籍照片、新旧程度(8成新)、价格(35元)、卖家评分(4.8分)
- 小李查看其他买家的评价,确认书籍质量不错
- 小李点击"加入购物车",继续浏览其他教材
- 购买完所有需要的书后,小李进入购物车,选择配送方式(校内配送)
- 填写收货地址和联系方式,提交订单
- 选择支付方式(支付宝/微信),完成支付
- 3天后,小李收到书籍,确认无误后点击"确认收货"
- 对书籍和卖家进行评价
解决的问题: 快速找到需要的教材,价格便宜,交易安全有保障
故事2:学长出售旧书
小王是大三学生,学期末想出售用过的专业书。
- 小王登录ReuseBook,点击"我要卖书"
- 输入书籍ISBN,系统自动获取书名、作者、出版社等信息
- 小王上传书籍实物照片(封面、内页、笔记页)
- 选择书籍新旧程度(7成新),系统给出参考价格(28-35元)
- 小王设置价格为30元,填写书籍描述(有少量笔记,不影响阅读)
- 点击"发布",书籍上架成功
- 2天后,收到买家下单通知
- 小王确认订单,选择配送方式(校内自取)
- 与买家约定取书时间和地点
- 交易完成后,收到货款
解决的问题: 快速出售旧书,回收成本,交易流程简单
故事3:考研学生寻找资料
小张是大三学生,准备考研,需要购买专业课参考书。
- 小张在平台搜索"数据结构考研"
- 筛选条件:价格50元以下、8成新以上、有笔记
- 找到一本符合条件的书,卖家是已上岸的学长
- 查看书籍详情,发现有详细的笔记和重点标注
- 联系卖家咨询笔记内容和考研经验
- 确认购买,选择快递邮寄(跨校区)
- 收到书后,发现笔记非常有用
- 给予5星好评,并推荐给其他考研同学
解决的问题: 找到高质量的考研资料,获得学长经验
3.3 功能优先级四象限分析
根据《构建之法》第5章,按照"重要性"和"紧急性"两个维度划分功能优先级:
P0象限(重要且紧急 - 必须实现):
- 用户注册登录(学号/邮箱注册)
- 书籍发布(ISBN录入)
- 书籍浏览与搜索
- 购物车功能
- 订单创建与支付
- 订单状态管理(待付款、待发货、待收货、已完成)
- 基础的用户信息管理
P1象限(重要不紧急 - 计划实现):
- 商品评价系统
- 收货地址管理
- 卖家店铺管理
- 书籍分类筛选
- 订单申诉与退款
- 消息通知系统
- 后台管理系统
P2象限(不重要但紧急 - 适当实现):
- 书籍收藏功能
- 浏览历史记录
- 热门书籍推荐
- 搜索历史
- 快捷支付设置
P3象限(不重要不紧急 - 暂不实现):
- 书友社交功能
- 书籍评论区
- 积分系统
- 优惠券功能
- 数据统计分析
- 个性化推荐算法
优先级说明:
- Alpha版本(第12-13周):完成P0象限所有功能
- Beta版本(第14-15周):完成P1象限核心功能
- 后续迭代:根据用户反馈决定P2、P3功能
3.4 完善的非功能性需求
性能需求:
- 页面加载时间:首页<2秒,搜索结果<1秒
- 并发支持:支持500个并发用户
- 数据库响应:查询响应时间<100ms
- 图片加载:采用CDN加速,图片加载<1秒
安全需求:
- 密码加密:使用MD5+盐值加密存储
- 数据传输:HTTPS加密传输
- SQL注入防护:使用预编译语句
- 登录保护:连续5次失败锁定账号30分钟
可用性需求:
- 界面友好:符合用户使用习惯,操作简单直观
- 响应式设计:支持PC端和移动端
- 错误提示:清晰的错误信息和操作指引
- 帮助文档:提供使用说明和常见问题解答
可维护性需求:
- 代码规范:遵循团队编码规范
- 注释完整:关键代码必须有注释
- 模块化设计:高内聚低耦合
- 日志记录:记录关键操作和异常信息
- 版本控制:使用Git进行版本管理
四、系统架构设计
4.1 技术架构说明
前端架构:
- Vue.js 2.6:渐进式JavaScript框架
- Vuetify 2.x:Material Design组件库
- Vuex:状态管理
- Vue Router:路由管理
- Axios:HTTP请求库
- Element UI:部分UI组件补充
后端架构:
- Spring MVC:MVC框架
- Spring:IoC和AOP容器
- MyBatis:ORM框架
- Druid:数据库连接池
- Fastjson:JSON处理
- Log4j:日志管理
数据库:
- MySQL 8.0:关系型数据库
- Redis 6.0:缓存数据库
- 阿里云OSS:对象存储服务
开发工具:
- IDEA:后端开发IDE
- VS Code:前端开发IDE
- Navicat:数据库管理工具
- Postman:API测试工具
- Git:版本控制工具
4.2 接口设计规范
RESTful API设计原则:
- 使用HTTP动词:GET(查询)、POST(创建)、PUT(更新)、DELETE(删除)
- URL命名:使用名词复数形式,如 /api/books、/api/orders
- 状态码:200成功、400参数错误、401未授权、404未找到、500服务器错误
- 统一响应格式:
{
"code": 200,
"message": "success",
"data": {}
}
核心接口示例:
用户模块:
POST /api/users/register 用户注册
POST /api/users/login 用户登录
GET /api/users/profile 获取个人信息
PUT /api/users/profile 更新个人信息
POST /api/users/addresses 添加收货地址
GET /api/users/addresses 获取收货地址列表
书籍模块:
POST /api/books 发布书籍
GET /api/books 获取书籍列表
GET /api/books/{id} 获取书籍详情
PUT /api/books/{id} 更新书籍信息
DELETE /api/books/{id} 删除书籍
GET /api/books/search 搜索书籍
订单模块:
POST /api/orders 创建订单
GET /api/orders 获取订单列表
GET /api/orders/{id} 获取订单详情
PUT /api/orders/{id}/pay 支付订单
PUT /api/orders/{id}/ship 发货
PUT /api/orders/{id}/receive 确认收货
评价模块:
POST /api/reviews 发布评价
GET /api/reviews 获取评价列表
GET /api/reviews/{id} 获取评价详情
五、数据库设计
5.1 数据库ER图
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ User │ │ Book │ │ Order │
│ (用户表) │ │ (书籍表) │ │ (订单表) │
├─────────────┤ ├─────────────┤ ├─────────────┤
│ user_id PK │ │ book_id PK │ │ order_id PK │
│ student_id │ │ seller_id FK│ │ buyer_id FK │
│ username │ │ isbn │ │ total_price │
│ password │ │ title │ │ status │
│ email │ │ author │ │ create_time │
│ phone │ │ price │ └─────────────┘
│ create_time │ │ condition │ │
└─────────────┘ │ status │ │
│ │ create_time │ │
│ └─────────────┘ │
│ │ │
│ │ │
│ 1 N │ N │
└───────────────────────┘ │
│ │
│ N 1 │
│ │
┌────────┴────────┐ ┌────────┴────────┐
│ OrderItem │ │ Review │
│ (订单明细表) │ │ (评价表) │
├─────────────────┤ ├─────────────────┤
│ item_id PK │ │ review_id PK │
│ order_id FK │ │ order_id FK │
│ book_id FK │ │ book_id FK │
│ quantity │ │ user_id FK │
│ price │ │ rating │
└─────────────────┘ │ content │
│ create_time │
└─────────────────┘
5.2 核心数据表设计
用户表(user):
CREATE TABLE `user` (
`user_id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
`student_id` VARCHAR(20) UNIQUE NOT NULL COMMENT '学号',
`username` VARCHAR(50) NOT NULL COMMENT '用户名',
`password` VARCHAR(64) NOT NULL COMMENT '密码(MD5加密)',
`email` VARCHAR(100) UNIQUE NOT NULL COMMENT '邮箱',
`phone` VARCHAR(20) COMMENT '手机号',
`avatar` VARCHAR(255) COMMENT '头像URL',
`role` TINYINT DEFAULT 0 COMMENT '角色:0普通用户 1卖家 2管理员',
`status` TINYINT DEFAULT 1 COMMENT '状态:0禁用 1正常',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
书籍表(book):
CREATE TABLE `book` (
`book_id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '书籍ID',
`seller_id` INT NOT NULL COMMENT '卖家ID',
`isbn` VARCHAR(20) COMMENT 'ISBN号',
`title` VARCHAR(200) NOT NULL COMMENT '书名',
`author` VARCHAR(100) COMMENT '作者',
`publisher` VARCHAR(100) COMMENT '出版社',
`category` VARCHAR(50) COMMENT '分类',
`price` DECIMAL(10,2) NOT NULL COMMENT '价格',
`original_price` DECIMAL(10,2) COMMENT '原价',
`book_condition` TINYINT COMMENT '新旧程度:1全新 2九成新 3八成新 4七成新 5六成新',
`description` TEXT COMMENT '描述',
`images` TEXT COMMENT '图片URL(JSON数组)',
`stock` INT DEFAULT 1 COMMENT '库存',
`sales` INT DEFAULT 0 COMMENT '销量',
`status` TINYINT DEFAULT 1 COMMENT '状态:0已下架 1在售',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
FOREIGN KEY (`seller_id`) REFERENCES `user`(`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='书籍表';
订单表(order):
CREATE TABLE `order` (
`order_id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '订单ID',
`order_no` VARCHAR(32) UNIQUE NOT NULL COMMENT '订单号',
`buyer_id` INT NOT NULL COMMENT '买家ID',
`seller_id` INT NOT NULL COMMENT '卖家ID',
`total_price` DECIMAL(10,2) NOT NULL COMMENT '总价',
`shipping_fee` DECIMAL(10,2) DEFAULT 0 COMMENT '运费',
`actual_price` DECIMAL(10,2) NOT NULL COMMENT '实付金额',
`status` TINYINT DEFAULT 0 COMMENT '状态:0待付款 1待发货 2待收货 3已完成 4已取消',
`payment_method` TINYINT COMMENT '支付方式:1支付宝 2微信',
`payment_time` DATETIME COMMENT '支付时间',
`shipping_method` TINYINT COMMENT '配送方式:1校内自取 2校内配送 3快递',
`shipping_address` TEXT COMMENT '收货地址(JSON)',
`shipping_time` DATETIME COMMENT '发货时间',
`receive_time` DATETIME COMMENT '收货时间',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
FOREIGN KEY (`buyer_id`) REFERENCES `user`(`user_id`),
FOREIGN KEY (`seller_id`) REFERENCES `user`(`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单表';
订单明细表(order_item):
CREATE TABLE `order_item` (
`item_id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '明细ID',
`order_id` INT NOT NULL COMMENT '订单ID',
`book_id` INT NOT NULL COMMENT '书籍ID',
`book_title` VARCHAR(200) NOT NULL COMMENT '书名',
`book_image` VARCHAR(255) COMMENT '书籍图片',
`price` DECIMAL(10,2) NOT NULL COMMENT '单价',
`quantity` INT DEFAULT 1 COMMENT '数量',
`subtotal` DECIMAL(10,2) NOT NULL COMMENT '小计',
FOREIGN KEY (`order_id`) REFERENCES `order`(`order_id`),
FOREIGN KEY (`book_id`) REFERENCES `book`(`book_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单明细表';
评价表(review):
CREATE TABLE `review` (
`review_id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '评价ID',
`order_id` INT NOT NULL COMMENT '订单ID',
`book_id` INT NOT NULL COMMENT '书籍ID',
`user_id` INT NOT NULL COMMENT '评价人ID',
`seller_id` INT NOT NULL COMMENT '卖家ID',
`rating` TINYINT NOT NULL COMMENT '评分:1-5星',
`content` TEXT COMMENT '评价内容',
`images` TEXT COMMENT '评价图片(JSON数组)',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
FOREIGN KEY (`order_id`) REFERENCES `order`(`order_id`),
FOREIGN KEY (`book_id`) REFERENCES `book`(`book_id`),
FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`),
FOREIGN KEY (`seller_id`) REFERENCES `user`(`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评价表';
收货地址表(address):
CREATE TABLE `address` (
`address_id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '地址ID',
`user_id` INT NOT NULL COMMENT '用户ID',
`receiver_name` VARCHAR(50) NOT NULL COMMENT '收货人',
`receiver_phone` VARCHAR(20) NOT NULL COMMENT '联系电话',
`province` VARCHAR(50) COMMENT '省份',
`city` VARCHAR(50) COMMENT '城市',
`district` VARCHAR(50) COMMENT '区县',
`detail` VARCHAR(255) NOT NULL COMMENT '详细地址',
`is_default` TINYINT DEFAULT 0 COMMENT '是否默认:0否 1是',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收货地址表';
六、任务分解WBS与进度计划
6.1 WBS任务分解
1. 用户模块(User Module)
- 1.1 用户注册
- 1.1.1 前端注册页面(4h)
- 1.1.2 后端注册接口(3h)
- 1.1.3 邮箱验证功能(2h)
- 1.2 用户登录
- 1.2.1 前端登录页面(3h)
- 1.2.2 后端登录接口(2h)
- 1.2.3 Token生成与验证(2h)
- 1.3 个人信息管理
- 1.3.1 前端个人中心页面(5h)
- 1.3.2 后端信息查询接口(2h)
- 1.3.3 后端信息更新接口(2h)
- 1.4 收货地址管理
- 1.4.1 前端地址管理页面(4h)
- 1.4.2 后端地址CRUD接口(3h)
2. 书籍模块(Book Module)
- 2.1 书籍发布
- 2.1.1 前端发布页面(6h)
- 2.1.2 ISBN查询接口对接(3h)
- 2.1.3 后端书籍创建接口(3h)
- 2.1.4 图片上传功能(4h)
- 2.2 书籍浏览
- 2.2.1 前端书籍列表页面(5h)
- 2.2.2 后端书籍列表接口(3h)
- 2.2.3 分页功能实现(2h)
- 2.3 书籍详情
- 2.3.1 前端详情页面(4h)
- 2.3.2 后端详情查询接口(2h)
- 2.4 书籍搜索
- 2.4.1 前端搜索组件(3h)
- 2.4.2 后端搜索接口(4h)
- 2.4.3 搜索优化(2h)
3. 交易模块(Transaction Module)
- 3.1 购物车
- 3.1.1 前端购物车页面(5h)
- 3.1.2 后端购物车接口(4h)
- 3.2 订单管理
- 3.2.1 前端订单创建页面(5h)
- 3.2.2 后端订单创建接口(4h)
- 3.2.3 前端订单列表页面(4h)
- 3.2.4 后端订单查询接口(3h)
- 3.2.5 订单状态流转(3h)
- 3.3 支付功能
- 3.3.1 支付接口对接(6h)
- 3.3.2 支付回调处理(3h)
4. 评价模块(Review Module)
- 4.1 评价发布
- 4.1.1 前端评价页面(4h)
- 4.1.2 后端评价接口(3h)
- 4.2 评价展示
- 4.2.1 前端评价列表(3h)
- 4.2.2 后端评价查询接口(2h)
5. 测试与优化(Testing & Optimization)
- 5.1 单元测试(10h)
- 5.2 集成测试(8h)
- 5.3 性能优化(6h)
- 5.4 Bug修复(10h)
6.2 Alpha阶段甘特图
任务 第12周 第13周
一 二 三 四 五 六 日 一 二 三 四 五 六 日
用户注册登录 ████████
个人信息管理 ████████
收货地址管理 ████████
书籍发布功能 ████████████
书籍浏览搜索 ████████████
书籍详情页面 ████████
购物车功能 ████████████
订单创建 ████████████
订单管理 ████████████
支付功能 ████████████
评价功能 ████████
单元测试 ════════════════════════════════
集成测试 ████████
Bug修复 ████████
图例:
- █ 开发任务
- ═ 持续任务
6.3 Sprint Backlog(第12-13周)
Sprint 1(第12周):基础功能开发
| 任务ID | 任务名称 | 负责人 | 预估工时 | 优先级 | 状态 |
|---|---|---|---|---|---|
| T001 | 用户注册前端页面 | 杨浩 | 4h | P0 | 待开发 |
| T002 | 用户注册后端接口 | 戴宏翔 | 3h | P0 | 待开发 |
| T003 | 用户登录前端页面 | 杨浩 | 3h | P0 | 待开发 |
| T004 | 用户登录后端接口 | 戴宏翔 | 2h | P0 | 待开发 |
| T005 | Token验证机制 | 戴宏翔 | 2h | P0 | 待开发 |
| T006 | 书籍发布前端页面 | 杨浩 | 6h | P0 | 待开发 |
| T007 | ISBN查询接口对接 | 赖顺炜 | 3h | P0 | 待开发 |
| T008 | 书籍创建后端接口 | 赖顺炜 | 3h | P0 | 待开发 |
| T009 | 图片上传功能 | 刘霆浩 | 4h | P0 | 待开发 |
| T010 | 书籍列表前端页面 | 杨浩 | 5h | P0 | 待开发 |
| T011 | 书籍列表后端接口 | 赖顺炜 | 3h | P0 | 待开发 |
| T012 | 书籍详情前端页面 | 刘霆浩 | 4h | P0 | 待开发 |
| T013 | 书籍详情后端接口 | 赖顺炜 | 2h | P0 | 待开发 |
| T014 | 书籍搜索前端组件 | 杨浩 | 3h | P0 | 待开发 |
| T015 | 书籍搜索后端接口 | 赖顺炜 | 4h | P0 | 待开发 |
| T016 | 单元测试用例编写 | 莫圣韬 | 5h | P0 | 待开发 |
Sprint 2(第13周):交易功能开发
| 任务ID | 任务名称 | 负责人 | 预估工时 | 优先级 | 状态 |
|---|---|---|---|---|---|
| T017 | 购物车前端页面 | 刘霆浩 | 5h | P0 | 待开发 |
| T018 | 购物车后端接口 | 戴宏翔 | 4h | P0 | 待开发 |
| T019 | 订单创建前端页面 | 杨浩 | 5h | P0 | 待开发 |
| T020 | 订单创建后端接口 | 赖顺炜 | 4h | P0 | 待开发 |
| T021 | 订单列表前端页面 | 刘霆浩 | 4h | P0 | 待开发 |
| T022 | 订单查询后端接口 | 赖顺炜 | 3h | P0 | 待开发 |
| T023 | 订单状态流转逻辑 | 赖顺炜 | 3h | P0 | 待开发 |
| T024 | 支付接口对接 | 戴宏翔 | 6h | P0 | 待开发 |
| T025 | 支付回调处理 | 戴宏翔 | 3h | P0 | 待开发 |
| T026 | 个人中心前端页面 | 杨浩 | 5h | P1 | 待开发 |
| T027 | 个人信息后端接口 | 戴宏翔 | 4h | P1 | 待开发 |
| T028 | 收货地址前端页面 | 刘霆浩 | 4h | P1 | 待开发 |
| T029 | 收货地址后端接口 | 戴宏翔 | 3h | P1 | 待开发 |
| T030 | 评价功能前端页面 | 杨浩 | 4h | P1 | 待开发 |
| T031 | 评价功能后端接口 | 赖顺炜 | 3h | P1 | 待开发 |
| T032 | 集成测试 | 莫圣韬 | 8h | P0 | 待开发 |
| T033 | Bug修复 | 全员 | 10h | P0 | 待开发 |
七、测试计划
7.1 测试目标
- 确保所有P0功能正常运行
- 发现并修复关键Bug
- 验证系统性能满足需求
- 保证用户体验流畅
7.2 测试范围
功能测试:
- 用户注册登录功能
- 书籍发布浏览搜索功能
- 购物车与订单功能
- 支付功能
- 评价功能
性能测试:
- 页面加载速度测试
- 并发用户测试
- 数据库查询性能测试
安全测试:
- SQL注入测试
- XSS攻击测试
- CSRF攻击测试
- 密码加密测试
兼容性测试:
- 浏览器兼容性测试
- 移动端适配测试
7.3 测试用例设计
用例1:用户注册功能测试
| 用例ID | 测试场景 | 输入数据 | 预期结果 | 优先级 |
|---|---|---|---|---|
| TC001 | 正常注册 | 学号、邮箱、密码均合法 | 注册成功,跳转登录页 | P0 |
| TC002 | 学号重复 | 已存在的学号 | 提示"学号已注册" | P0 |
| TC003 | 邮箱重复 | 已存在的邮箱 | 提示"邮箱已注册" | P0 |
| TC004 | 密码过短 | 密码少于8位 | 提示"密码至少8位" | P0 |
| TC005 | 邮箱格式错误 | 不合法的邮箱格式 | 提示"邮箱格式错误" | P0 |
| TC006 | 必填项为空 | 学号/邮箱/密码为空 | 提示"请填写完整信息" | P0 |
用例2:书籍发布功能测试
| 用例ID | 测试场景 | 输入数据 | 预期结果 | 优先级 |
|---|---|---|---|---|
| TC007 | ISBN正常录入 | 有效的ISBN号 | 自动填充书籍信息 | P0 |
| TC008 | ISBN不存在 | 无效的ISBN号 | 提示"未找到书籍信息" | P0 |
| TC009 | 手动录入 | 手动填写书籍信息 | 发布成功 | P0 |
| TC010 | 上传图片 | 上传1-5张图片 | 图片上传成功 | P0 |
| TC011 | 图片过大 | 上传超过5MB的图片 | 提示"图片过大" | P1 |
| TC012 | 价格为0 | 价格设置为0 | 提示"价格必须大于0" | P0 |
用例3:订单流程测试
| 用例ID | 测试场景 | 输入数据 | 预期结果 | 优先级 |
|---|---|---|---|---|
| TC013 | 加入购物车 | 选择书籍加入购物车 | 购物车数量+1 | P0 |
| TC014 | 创建订单 | 从购物车结算 | 订单创建成功 | P0 |
| TC015 | 支付订单 | 选择支付方式支付 | 订单状态变为待发货 | P0 |
| TC016 | 卖家发货 | 卖家确认发货 | 订单状态变为待收货 | P0 |
| TC017 | 买家收货 | 买家确认收货 | 订单状态变为已完成 | P0 |
| TC018 | 取消订单 | 未支付订单取消 | 订单状态变为已取消 | P1 |

浙公网安备 33010602011771号