购物车需求文档

167 阅读2分钟

不要学习这个,只是记录

需求文档

markdownCopy code
## 购物车需求文档

### 1. 功能需求

1. 用户能够向购物车中添加商品,也能够从购物车中删除商品。
2. 用户可以修改购物车中商品的数量。
3. 用户可以查看购物车中商品的总价。
4. 用户可以清空购物车中所有商品。

### 2. 性能需求

1. 购物车添加或删除商品时,操作响应时间不应超过1秒。
2. 购物车页面的商品列表应该能够支持无限滚动。

### 3. 安全需求

1. 用户需要登录才能够访问购物车页面。
2. 用户密码需要进行加密存储。

### 4. 可维护性需求

1. 购物车代码需要进行单元测试。
2. 购物车代码需要进行代码规范检查。

用例图

sqlCopy code
@startuml
left to right direction
actor User
rectangle "购物车" {
  User --> (添加商品)
  User --> (删除商品)
  User --> (修改数量)
  User --> (查看总价)
  User --> (清空购物车)
}
@enduml

类图

phpCopy code
@startuml
class ShoppingCart {
  +addItem(item: Item)
  +removeItem(item: Item)
  +updateItemQuantity(item: Item, quantity: int)
  +getTotalPrice(): float
  +clearCart()
}

class Item {
  -id: int
  -name: string
  -price: float
  -quantity: int
}

ShoppingCart "1" *-- "*" Item
@enduml

业务流程图

scssCopy code
@startuml
start
:开始购物;
if (是否登录?) then (是)
  :显示购物车页面;
  repeat
    :添加商品;
    :修改商品数量;
    :删除商品;
  repeat while (继续购物?)
  :清空购物车;
else (否)
  :跳转到登录页面;
endif
stop
@enduml

代码逻辑交互图

rustCopy code
@startuml
actor User
participant "购物车页面" as CartPage
participant "购物车" as ShoppingCart
participant "商品" as Item
User -> CartPage: 请求访问购物车页面
CartPage -> User: 要求用户登录
User -> CartPage: 提供登录信息
CartPage -> ShoppingCart: 请求购物车信息
ShoppingCart -> CartPage: 返回购物车信息
User -> CartPage: 添加商品请求
CartPage -> ShoppingCart: 添加商品请求
ShoppingCart -> CartPage: 添加商品响应
User -> CartPage: 修改商品数量请求
CartPage -> ShoppingCart: 修改商品数量请求
ShoppingCart -> CartPage: 修改商品数量响应
User -> CartPage: 删除商品请求
CartPage -> ShoppingCart: 删除商品请求
ShoppingCart -> CartPage: 删除商品响应
User -> CartPage