Skip to content

Domain Model

AmeliaWen edited this page Oct 3, 2020 · 5 revisions

Class Diagram

domain model

Key decision made when designing class diagram

  • We decided that it would be a better idea if we use address as a single class instead of treating it as an attribute inside delivery class. In this way, through the association between customer and address, each customer is able to add a list of address in his/her profile so that the address information can be automatically filled out for his/her order.
  • We also decided to separate payment as a new class instead of an attribute inside order class so that an order may contain several payments, including failure and successful ones. In this way, if one payment is failed, the user can make another payment right away on the same order instead of placing another order.
  • In addition, we added several enumeration classes to represent the status for payment, order, art piece, in store pick up, delivery. In this way, the status of each purchase can be tracked through the entire process.
  • The domain model can be found here: Domain model