- 2069 Poush · 6 marks
Buy a Product conceptual model
Short answer
Candidate concepts: Customer, Catalog, Item, ShoppingBasket, BasketLine, Sale, CreditCard, ShippingInfo, Authorization, EmailConfirmation. A Customer has 0..1 ShoppingBasket; a Basket contains 1..* BasketLines referring to Item. The Basket becomes a Sale (0..1) with 1 ShippingInfo, 1 Authorization, paid by CreditCard.
A web-based online store has 'Buy a Product' scenario as follows: The customer browses the catalog and adds desired items to the shopping basket. When the customer wishes to pay, the customer describes the shipping and credit card information and confirms the sale. The system checks the authorization on the credit card and confirms the sale both immediately and with a follow-up e-mail. Now construct conceptual model for this scenario.
A conceptual model (domain model) shows the concepts of the real domain, their attributes and associations. It is not a software design. Candidate concepts are found by identifying the nouns in the scenario.
Concepts: Customer, Catalog, Item (product), ShoppingBasket, BasketLine (basket item), Sale (order), CreditCard, ShippingInfo, CreditCardAuthorization (payment authorization), EmailConfirmation (follow-up e-mail).
Assumptions: one basket per customer visit; a sale is made from the basket when the customer pays; one authorization per sale.
lists
+---------+ 1 * +--------+
| Catalog |----------------------| Item |
+---------+ +--------+
| 1
| refers to
| *
+----------+ 1 0..1 +----------+ 1 1..* +------------+
| Customer |---------| Shopping |---------| BasketLine |
+----------+ has | Basket | contains| (quantity) |
| 1 +----------+ +------------+
| places | 1
| * | becomes
+----------+ 0..1 |
| Sale |--------------+
+----------+
| | | |
| | | +-- confirmed by --> EmailConfirmation (1)
| | +------- authorised by --> Authorization (1)
| +------------ paid with ------> CreditCard (1)
+----------------- shipped to -----> ShippingInfo (1)
The main associations with multiplicity:
| Association | Multiplicity |
|---|---|
| Customer - ShoppingBasket | 1 to 0..1 |
| ShoppingBasket - BasketLine | 1 to 1..* |
| BasketLine - Item | * to 1 |
| Catalog - Item | 1 to * |
| ShoppingBasket - Sale | 1 to 0..1 |
| Customer - Sale | 1 to * |
| Sale - ShippingInfo | 1 to 1 |
| Sale - CreditCard | * to 1 |
| Sale - Authorization | 1 to 1 |
| Sale - EmailConfirmation | 1 to 1 |
Attributes (examples): Customer(name, email, address); Item(id, name, price); BasketLine(quantity); CreditCard(number, expiry, holderName); ShippingInfo(address, method); Sale(date, total, status); Authorization(code, status, date).
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Explain online order sequence diagram · Object Oriented Analysis and Design, chapter 2
- Conceptual, specification, implementation model classification · Object Oriented Analysis and Design, chapter 2
- Identify conceptual classes; create domain model · Object Oriented Analysis and Design, chapter 2
- KUKL customer system design and code · Object Oriented Analysis and Design, chapter 4
- Bus service use cases with elaboration · Object Oriented Analysis and Design, chapter 2
- Constraint specifications in bank account model · Object Oriented Analysis and Design, chapter 2
- Book store process model · Software Engineering, chapter 2
- CRM plan for online shop · Information System, chapter 3
- Marketing strategies, pricing and credit policy · Entrepreneurship Development, chapter 5
- PC based concrete purifying factory with 8255 · Instrumentation II, chapter 2
All Object Oriented Analysis and Design chapter 2 questions →