Case Study - Buffet R Us

Let's identify the domain objects for the following system.

Problem statement

We are required to develop a payment system for Buffets R Us. Buffets R Us is a restaurant specializing in serving buffets to its customers. Lunch buffet is priced at $ 9.59 per person and dinner buffet is priced at $ 14.79 per person. Beverages are priced separately.

Buffets R Us advertises at a local movie theaters to build its customer base. The customers can turn-in the used movie tickets for a 10% discount on their order. A senior discount of 15% is available for people over the age of 55. Only one discount is applicable at any one time. Kids less than five years old eat free on Tuesdays.

Payment can be made using credit card, personal cheque or cash only. The receipt contains the date and time stamp of the purchase, restaurant name, name of each item and its price, discount type, discount amount, sales tax of 6.5% and the total amount for the purchase.

Answer

Lunch, Dinner, Payment, CreditCard, Cheque, Cash, Beverage are the set of domain objects for this system. All of these objects represent concepts that are part of the domain model of the payment system.

Examining the nouns in the problem statement can help discover candidate domain objects, but not all nouns will relate directly to the system being designed. Candidate objects that do not have attributes or behavior required by the system are rejected. For example, “theaters” is a noun, but does not have any behavior or attributes required by the system, so it is rejected. The remaining objects are the core domain objects that will be part of the system.