-
Notifications
You must be signed in to change notification settings - Fork 3
Design Decisions
Michelle edited this page Feb 18, 2022
·
5 revisions
-
An order can have 0..1 customer/billing address/shipping address, because when an item is bought in person, the customer does not need to have an account to complete the purchase, but an order still has to be placed to keep track of the inventory.
-
Manager is a subclass of Employee, as they share the same attributes, but the Manager has a couple extra privileges.
-
We assume that we keep track of orders even for deleted customer accounts, which is why shipping/billing addresses is not a composition.
-
An Order has 0..1 payment, because when the status is "inCart", the customer has not paid yet.
-
Product and Category are bidirectional, as we should be able to sort each from the other.