团队作业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:新生购买教材

小李是一名大一新生,刚开学需要购买《高等数学》教材。

  1. 小李打开ReuseBook平台,在首页搜索框输入"高等数学"
  2. 系统显示10本相关二手书,按价格从低到高排序
  3. 小李点击第一本书查看详情,看到书籍照片、新旧程度(8成新)、价格(35元)、卖家评分(4.8分)
  4. 小李查看其他买家的评价,确认书籍质量不错
  5. 小李点击"加入购物车",继续浏览其他教材
  6. 购买完所有需要的书后,小李进入购物车,选择配送方式(校内配送)
  7. 填写收货地址和联系方式,提交订单
  8. 选择支付方式(支付宝/微信),完成支付
  9. 3天后,小李收到书籍,确认无误后点击"确认收货"
  10. 对书籍和卖家进行评价

解决的问题: 快速找到需要的教材,价格便宜,交易安全有保障

故事2:学长出售旧书

小王是大三学生,学期末想出售用过的专业书。

  1. 小王登录ReuseBook,点击"我要卖书"
  2. 输入书籍ISBN,系统自动获取书名、作者、出版社等信息
  3. 小王上传书籍实物照片(封面、内页、笔记页)
  4. 选择书籍新旧程度(7成新),系统给出参考价格(28-35元)
  5. 小王设置价格为30元,填写书籍描述(有少量笔记,不影响阅读)
  6. 点击"发布",书籍上架成功
  7. 2天后,收到买家下单通知
  8. 小王确认订单,选择配送方式(校内自取)
  9. 与买家约定取书时间和地点
  10. 交易完成后,收到货款

解决的问题: 快速出售旧书,回收成本,交易流程简单

故事3:考研学生寻找资料

小张是大三学生,准备考研,需要购买专业课参考书。

  1. 小张在平台搜索"数据结构考研"
  2. 筛选条件:价格50元以下、8成新以上、有笔记
  3. 找到一本符合条件的书,卖家是已上岸的学长
  4. 查看书籍详情,发现有详细的笔记和重点标注
  5. 联系卖家咨询笔记内容和考研经验
  6. 确认购买,选择快递邮寄(跨校区)
  7. 收到书后,发现笔记非常有用
  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
posted @ 2025-11-22 20:26  chendongkai  阅读(6)  评论(0)    收藏  举报