Question
System Abstraction and Object Identification
You are required to develop a software program that will simulate a shop. The shop will have following persons at any given time: at most 1 manager, at most 5 shop assistants, and at most 20 customers. At different times, the shop will have different shop assistants helping different customers for the same group of customers.
When a shop assistant is interacting with a customer, he or she will show some item for sale in the shop to the customer, give an explanations about the item, and discuss the customer's requirements. The manager will interact only with the shop assistants and will answer their queries and provide instructions..
The customers will interact with shop assistants as described above and sometimes may interact with other customers in the shop.
Identify the “Objects” from the above scenario description, decide on the “characteristics” of those objects that would represent their internal state, decide on the functionality of these objects by identifying “internal work” they can perform and the “external behaviour” we want to see.
You are required to develop a software program that will simulate a shop. The shop will have following persons at any given time: at most 1 manager, at most 5 shop assistants, and at most 20 customers. At different times, the shop will have different shop assistants helping different customers for the same group of customers.
When a shop assistant is interacting with a customer, he or she will show some item for sale in the shop to the customer, give an explanations about the item, and discuss the customer's requirements. The manager will interact only with the shop assistants and will answer their queries and provide instructions..
The customers will interact with shop assistants as described above and sometimes may interact with other customers in the shop.
Identify the “Objects” from the above scenario description, decide on the “characteristics” of those objects that would represent their internal state, decide on the functionality of these objects by identifying “internal work” they can perform and the “external behaviour” we want to see.
Answer
Manager |
NumberOfAssistents: int listOfItems: string income: double |
instructAssistant() answerAssistant() calculateIncome() |
Customer |
Name:string amountOfMoney:float |
askAboutGoods(); collectGoods(); bargain (); payMoney(); chatWithOtherCustomers(); |
Item |
name: string price: float description: string manufacturer: string expiaryDate: string manufacturedDate: string |
|
Assistant |
assistantNumber: int nu numberOfItems: int discountRate: float |
describeItem(): void assistCustomer(): void questionManeger(): void |

Comments
Post a Comment