The scenario
An online computer parts retailer needs to track customer orders, product catalog, inventory levels across warehouses, and payments while supporting multiple product types such as CPUs and GPUs.
What is in this drawing
Read the decisions behind it.
01
Used an abstract Product class with IProduct interface to support multiple component types.
02
Modeled Order-to-OrderLine as composition with 1..* multiplicity.
03
Linked InventoryItem to Product and Warehouse to track stock per location.
Reusable for any retail system needing order processing, product catalog inheritance, and multi-warehouse inventory tracking.
More like this