A Mexican restaurant in London is struggling with preparing the meal ordered by it;s customer in time and has started loosing it;s business. The owner is looking at the possibility of having a system which could speed up the whole ordering system.
The system analyst after the initial business study has observed following flow of information in the business
There are four types of staff in the restaurant.
Manager, Waiter, Bar man and Kitchen staff.
Each waiter is assigned a group of tables, after taking orders for a table the waiters enter the orders (a list of dishes and drinks ordered by the diner or group of diners) into the system at the PC. Only waiter can take orders. The system must confirm the availability of dishes. Should an item not be available, waiter should inform manager and the system must allow only the manager to change or even delete a customers order. Dishes to be prepared are sent to the kitchen, drinks orders to the bar. Starters and main course orders are usually taken together. Drinks and desert orders may be taken separately.
Kitchen staff sees the dish orders on their screen, prepare them in an appropriate sequence and confirm preparation to the system when complete, similarly with the bar.
When a waiter sees the completion indications on his terminal he collects the irems and takes them to the table. The waiter can also check on the status of dish and drink orders.
At the end of the meal the manager will have the system to print a bill, and manager will enter the details of payment for it. The manager only can give the discount to the system.
The system keeps track of the numbers of customers served by each waiter and the amount of money taken by each waiter. The manger can view all these statistics by the system.
Question:
1.1) Justify the choice of Object Oriented Programming (OOP) language to design the system for the given scenario?
1.2) Identify
a. All possible object oriented concepts applicable to the proposed design.
b. Different classes, objects and their behavoir for the given scenario.
2.1) Define all the members (attributes and methods) of identified classes using java syntax.
2.2) Demonstrate and justify the use of objects constructor method in your implementation.
Demonstrate the use of control structure in one or more functions while implementing your design to solve business problem.
2.3) Implement the order class according to given scenario where
a) A manager can accept the ordered items as arguments.
b) Print bill with or without discount.
3.1) Do you think in the given scenario, converting window based restaurant application to web used application is beneficial? Explain why and how java can be implemented in web applications? Explain it.