Develop a window application
Case Study
The ‘Just-Around-the-Corner Pizza shop' asked you to develop a new point-of-sales system to help them to keep track of and handle their daily orders.
Their requirements include a
- product management system,
- a point-of-sales system,
- an end-of-shift report to summarize the sales done during the shift,
- an end-of-day report to summarize the daily sales, as well as a
- Monthly sales graph that shows the top products sold for that month.
Employees work in shifts.
The point-of-sale system should allow an employee to book shifts in advance. To work a shift, the employee needs to log onto the system. Employees should be able to edit future shift bookings, but should not be able to change anything to shifts which have already expired. Only booked employees (and the administrator) should be allowed to place food orders (on behalf of customers) in a specific shift. When logging in for the first time during a shift, the employee will be requested to capture the float amount (cash put into the till at the start of the shift) of the till s/he is working on.
Customers can place a food order by either phoning in, or by ordering over the counter. The advantage of phoning in is that the kitchen can prepare the order in advance so that when the customer arrives he/she can just pick up the order, pay for it, and go.
On placing an order, the order details are printed out on a small printer in the kitchen to inform the staff on what to prepare for the specific order, so only the part of the order that needs to be prepared in the kitchen, should appear on the kitchen slip.
When a customer places the order the employee taking the order should see a list of all the available products (such as pizzas, drinks, desserts and combos) on his/her screen, so that s/he can only select the requested products to be ordered.
The customer can choose to add extra toppings to a pizza (at an additional price per topping) or to remove some of the toppings from a pizza, and should also be able to select a specific size (small, medium or large) and base (think, thin or crispy) for a pizza.
Other products such as the drinks could be ordered in sizes such as 250ml or 500ml cans or bottles.
The Just-Around-the-Corner Pizza shop could also make some combo's available for only a specific time period. Such a combo could for instance include a pizza and a drink, or a pizza, a drink and a dessert. A typical order could thus for example include: 2x small Regina Pizzas, 1 thick base and 1 thin base, with extra chili and no onions on both; 1x Hawaiian Pizza, large, thick base, with no pineapple and extra olives; 1x 500ml coke; one small Hawaiian Dessert combo (with a choice of base, a choice of drink of a specific size, and a choice of dessert, e.g. chocolate or vanilla ice cream OR a slice of pica nut pie). Once the order has been captured, the customer should get an order number, so that when the kitchen staff complete the order, they could easily give the order to the correct customer. The customer can pay for the order using cash or a credit card. (For credit card sales, the card details should also be captured.) Customers who place their orders over the phone should be allowed to pay for their order on arrival, while over the counter customers pay immediately after placing their order. Once the payment is captured, the transaction is closed and the customer gets a receipt. The user should also be able to view previously placed orders.
The product management section of the system should allow the user to add and update different sizes (for both pizzas e.g. small, medium and large; and drinks e.g. 250ml can and 500ml bottle); different toppings to choose from for pizzas; as well as different pizza bases.
It should also allow the user to add and update new single products to the system. To add a new pizza the user must for example be able to select toppings for the pizza from an existing updatable list, e.g. adding a Regina Pizza with ham, mushrooms and mozzarella cheese as toppings. Furthermore, the user should be able to add combo's (composed of already existing single products) which will be sold at a lower price, than the sum of the prices of the single items. Combo's should only be available for a sale during a specific time period e.g. the small Hawaiian Dessert combo should be available at a price of R25 only from 12 November 2017 - 1 January 2018.
At the end of each shift, the employee must print an end-of-shift report to summarize the sales done in that specific shift. This shift report must summarize the total sales grouped according to the payment types, so that the manager can use it to determine whether the float in the till and the number of credit card slips are present in the till. The manager should also be able to print a daily sales report which summarizes the sales done for the day per shift. It should be categorized into categories of pizzas, drinks, desserts and combo's, clearly indicating the number of each sold per shift, as well as the total income for that day. The management can also request a sales graph at any time, which has to show the sales figures per product for the selected time period. At the end of the month, the system should also prompt the user with a reminder to print a sales graph for that month.
Finally, the management of ‘Just-Around-the-Corner Pizza shop'' should be able to update the prices of all products on a regular basis. A history of the prices should be kept in order to regenerate sales graphs accurately over time.