不要学习这个,只是记录
需求文档
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