---
title: "Buy a Product conceptual model"
subject: "Object Oriented Analysis and Design"
chapter: 2
key: "semester_6/object_oriented_analysis_and_design:online-store-conceptual-model"
source: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/online-store-conceptual-model
site: BCT Engineering
---

# Buy a Product conceptual model

Object Oriented Analysis and Design · Chapter 2: Object Oriented Analysis

- Asked in: 2069 Poush, 6 marks
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/online-store-conceptual-model
- Whole chapter: https://www.bctengineer.com/md/semester_6/object_oriented_analysis_and_design/chapter-2

## Question

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.

## 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.

## Answer

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.

```text
                          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).

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. A conceptual (domain) model of the online store shows:
   A. Database tables and indexes
   B. Real-domain concepts, their attributes and associations
   C. Java classes with methods
   D. Screen layouts of the website
   Answer: B. It models domain concepts, not software design. (Key point: What a conceptual model is)

2. How are candidate concepts found from the 'Buy a Product' scenario?
   A. Choosing the database tables first
   B. Counting the web pages
   C. Noun identification in the scenario
   D. Listing all verbs as classes
   Answer: C. Nouns such as Customer, Item, Sale and CreditCard become candidate concepts. (Key point: Finding concepts)

3. What is the multiplicity between Catalog and Item?
   A. 1 to 1
   B. 1 to *
   C. * to *
   D. 0..1 to 1
   Answer: B. One catalog lists many items. (Key point: Multiplicity Catalog-Item)

4. A ShoppingBasket relates to BasketLine with multiplicity:
   A. 1 to 1..*
   B. * to 1
   C. 1 to 0..1
   D. 1 to 1
   Answer: A. A basket has one or more lines, each with a quantity of an item. (Key point: Multiplicity Basket-BasketLine)

## Related in Object Oriented Analysis and Design

- [Explain online order sequence diagram](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Aorder-processing-sequence-diagram-explain) — Object Oriented Analysis and Design, chapter 2
- [Conceptual, specification, implementation model classification](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Ahospital-conceptual-specification-implementation) — Object Oriented Analysis and Design, chapter 2
- [Identify conceptual classes; create domain model](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Aconceptual-classes-domain-model-steps) — Object Oriented Analysis and Design, chapter 2
- [KUKL customer system design and code](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Akukl-use-case-class-diagram-code) — Object Oriented Analysis and Design, chapter 4
- [Bus service use cases with elaboration](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Agre-bus-service-use-cases) — Object Oriented Analysis and Design, chapter 2
- [Constraint specifications in bank account model](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Aconstraint-specification-bank-account-model) — Object Oriented Analysis and Design, chapter 2

## Related in other subjects

- [Book store process model](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Abook-store-process-model) — Software Engineering, chapter 2
- [CRM plan for online shop](https://www.bctengineer.com/question.md?key=semester_8%2Finformation_system%3Acrm-online-shop-plan) — Information System, chapter 3
- [Marketing strategies, pricing and credit policy](https://www.bctengineer.com/question.md?key=semester_7%2Fentrepreneurship_development%3Amarketing-strategy-price-credit) — Entrepreneurship Development, chapter 5
- [PC based concrete purifying factory with 8255](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Aconcrete-purifying-ppi-4000h) — Instrumentation II, chapter 2
