静态建模

Time: 2024-04-18 星期四 15:56:35
Author: Jackasher

静态建模

1.需求陈述:

自助购物机是一个用于顾客自主购物和结账的设备。顾客可以通过自助购物机选择商品、扫描商品条形码、计算总价并完成支付。系统应该能够记录交易信息,并在需要时生成报告。该系统旨在提供方便快捷的购物体验,减少顾客与店员之间的交互。

功能描述:

  1. 商品浏览和选择:
    • 系统应提供一个直观的界面,展示商品的图片、名称和价格。
    • 顾客可以通过触摸屏或键盘浏览商品目录并选择所需商品。
    • 顾客可以使用搜索功能查找特定商品。
    • 系统应支持商品分类和分区,以便顾客更轻松地浏览商品。
  2. 商品扫描与添加到购物车:
    • 顾客可以使用自助购物机上的扫描仪扫描商品条形码。
    • 系统应能够迅速识别并显示商品的详细信息,如名称、价格和库存量。
    • 顾客可以将扫描的商品添加到购物车中。
  3. 购物车管理:
    • 系统应显示购物车中的商品清单,包括每个商品的名称、数量和小计金额。
    • 顾客可以修改购物车中商品的数量或删除不需要的商品。
    • 系统应实时计算购物车中商品的总价。
  4. 付款方式选择与支付:
    • 系统应提供多种付款方式的选择,如现金、银行卡或移动支付。
    • 顾客可以选择适合自己的付款方式,并提供所需的付款信息。
    • 系统应支持付款方式的验证和安全处理。
    • 在支付完成后,系统应提供支付成功的确认信息。
  5. 交易记录与报告:
    • 系统应记录每笔交易的详细信息,包括交易时间、购买的商品、付款方式和交易金额。
    • 店员或管理人员可以通过系统生成的报告查看销售情况、库存管理和交易统计等信息。

用户购物时的交互分析:

  1. 顾客进入店内,并找到自助购物机。
  2. 顾客浏览商品目录,可以通过触摸屏或键盘进行选择,也可以使用搜索功能查找特定商品。
  3. 顾客选择所需商品后,使用自助购物机上的扫描仪扫描商品条形码,系统显示商品的详细信息。
  4. 顾客确认商品信息无误后,将商品添加到购物车中。
  5. 顾客可以在购物车中查看商品清单和总价,并可以修改商品数量或删除不需要的商品。
  6. 顾客选择付款方式(如现金、银行卡或移动支付),按照系统指引进行付款操作。
  7. 系统验证付款信息并进行支付处理,显示支付成功的确认信息。
  8. 系统记录交易信息,包括交易时间、购买的商品、付款方式和交易金额。
  9. 顾客完成购物后,可以选择退出系统或继续购物。
  10. 店员或管理人员可以通过系统生成的报告查看销售情况、库存管理和交易统计等信息。

2.对象识别:

根据以上顾客购买流程我们可以找到一些对象,和他们的属性与方法,首先是顾客浏览商品,那么我们就有顾客和商品两个对象,顾客选择好商品后,将商品放入购物车,确认后选择付款方式结算,那么相应就有购物车和付款方式的对象,其中具体的交易行为我们可以放在交易的对象,所以识别出了以下的对象,顾客和商品是pojo类纯粹的对象属性,然后购物车会装载商品并计算总额,交易用于记录交易信息,也是pojo类,最后付款方式会有付款的功能可以接入交易系统

  • 顾客(Customer)
  • 商品(Product)
  • 购物车(ShoppingCart)
  • 交易(Transaction)
  • 付款方式(PaymentMethod)

3.识别属性:

顾客要有身份验证的属性,商品要有名字价格等属性 购物车可以装大量商品可以有商品的集合属性,交易可以记录时间,付款方式记录类型和交易卡

  • 顾客(Customer):
    • name: string
    • memberID: string
    • balance: float
  • 商品(Product):
    • barcode: string
    • name: string
    • price: float
  • 购物车(ShoppingCart):
    • items: List
    • total: float
    • addItem(Product product): void
    • removeItem(Product product): void
    • calculateTotal() :float
  • 交易(Transaction):
    • dateTime: datetime
    • customer: Custermer
    • shoppingCart: ShoppingCard
  • 付款方式(PaymentMethod):
    • type: string
    • cardNumber: string
    • processPayment(float amount): void
    • validateCardNumber(): boolean

4.识别关系:

  1. 顾客与购物车之间的关系 :

    • 一个顾客可以拥有一个购物车,而一个购物车属于一个顾客。
    • 这是一种强关系,购物车的生命周期与顾客密切相关。当顾客离开或完成交易时,购物车也会被清空或销毁。
  2. 购物车与商品之间的关系 :

    • 一个购物车可以包含多个商品,而一个商品可以属于一个购物车。
    • 这是一种简单的关联关系,表示购物车中包含了多个商品。
  3. 顾客与交易之间的关系 :

    • 一个顾客可以进行多次交易,而一个交易属于一个顾客。
    • 这是一种强关系,交易的生命周期与顾客密切相关。交易记录可以用来跟踪顾客的购买历史和消费行为。
  4. 交易与购物车之间的关系 :

    • 一个交易包含一个购物车,而一个购物车属于一个交易。
    • 这是一种整体与部分之间的关系,表示交易中包含了一个购物车。

    最后是实现的类图

    image-20240418154051140


静态建模
http://example.com/2024/04/18/静态建模/
作者
Jack Asher
发布于
2024年4月18日
许可协议