MIS501 Assessment 3 Case Study Page 1
Case Study
Impressed by your programs implemented in Assessment 2, the stakeholders of the restaurant have
asked you to develop a program extending Assessment 2. In this assessment, you will have to use
the Object Orientated Programming (OOP) paradigm. Please, read the following case study with a
fresh mind, as it is NOT the same as the one in Assessment 2.
UML Diagram
In this application, customers signup for an account and receive a confirmation on the email with
the log-in credentials. The customer then log-in by using the same credentials and then select the
option to Dine in or Online Order - further categorized into Self Pickup or Delivery. After choosing
the appropriate mode, the customer selects the food and confirms the order. Users can choose the
option to skip ordering before proceeding with the payment. And if the payment mode has been
selected, the user can further determine a reliable payment option to complete the order. In the
case of Delivery, the user must not be advised to make the payment and provided with the
opportunity to visit the restaurant. During the food delivery option, the customer must get an order
confirmation after the payment, and the chef must receive the list of food to be prepared. Once the
chef confirms the system, the delivery person must accept the announcement. The same
notification must be provided to the customer that the food has been prepared and out for
Delivery. Once the Delivery person delivers the food, the user and restaurant manager must receive
a confirmation for the successful completion of an order.
In this application, the restaurant manager will use the application to use an advanced calculator to
calculate some of the equations they need during the restaurant operations.
Programming Solution
This program should enable the logged in user to place orders through the App. In response to the
covid safety measures, the restaurant is offering the customers the following possibilities of contact-
less placing of orders:
1- Dine in: While at restaurant users place contactless orders. Users have to pay additional
service charges to their orders.
2- Pick up: users place remote orders to be picked up either to save the delivery costs or
because the restaurant does not deliver to their address. Delivery: users place remote
orders and have them delivered to their address. Users have to pay extra delivery charges.
The program should follow the below general structure:
When a user runs the program, the below choices should be provided:
1- Sign up
2- Sign in: upon successful login the users can then do the following.
a. Ordering (Dine in, Takeaway, Delivery),
b. Print Statistics
c. Logout
3- Quit
Output:
MIS501 Assessment 3 Case Study Page 2
Task 1. Signup/Sign in Process for Customers
A user should sign up to use the services provided by the app. Before placing an order, the user
should successfully login to the application. Please create a signup and a login function while making
use of your assessment 2 code.
1. Signup
Step 1: Each Customer is advised to submit the required details for signup process.
a. The mobile number has 10 digits starting with 0.
b. The Password must initiate with alphabets followed by either one of @, & and
ending with numeric. (For Example: Sam&0125)
c. The password confirmation matches the initial entered
password.
d. The DOB is in the format DD/MM/YYYY
e. The user is at least 21 years old. The age should be calculated based on the
year entered in the DOB (Only consider year).
Note: If any of the above-mentioned condition is not fulfilled; the sign-up process
should fail, and a descriptive message should be displayed for the user explaining
what has gone wrong and providing hints on the correct expected input. The
program should keep asking the user to re-enter his details as long as one or more
of the input fields are not correctly filled. If all fields are completed successfully, the
program should stop asking the user to re-enter his details and display a message
that the signup process is completed successfully.
If all of the above-mentioned conditions are successful, the user data is saved in
Lists to enable data checks during the login process.
Step 2: There is an additional field for entering the address, (Optional)
Step 3: Submit
Step 4: A message of Signup Successful must be displayed.
Output:
MIS501 Assessment 3 Case Study Page 3
2. Sign in
Step 1: Each customer is advised to enter the login id and password for the sign in,
Step 2: Post Successful Login the User must be presented with a variety of options to
Proceed (Home Page):
2.1 Ordering (Dine in, Click and collect, Delivery),
2.2 Summary of Transactions
2.3 Logout
Output:
Task 2: Ordering
Post Selecting the Option of 2.1 the User must be taken to the Ordering Page. In the ordering page,
the following options should be offered:
1 Dine in
2 Order Online
3 Go To Login Page
Output:
In case of Selecting the Option 2, the User must be taken to the next page, where the following
options should be offered:
1 Self-Pickup
2 Home Delivery
3 Go To Previous Menu
Output:
MIS501 Assessment 3 Case Study Page 4
After the user successfully selects the ordering mode, the user should be presented with
the menu in the form of:
ID Name Price
1 XXXX XX
2 XXXX XX
3 XXXX XX
4 XXXX XX
5 XXXX XX
6 XXXX XX
7 Checkout
Output:
Please note:
? The menu will only have 6 items for the Click and collect and delivery modes.
? If dine in mode is selected the user menu should have 6 items followed by 3 drinks items
presented after the Food Menu.
The user should be able to order as many items as they wish. To close the Food menu and
proceed to the Drink Menu the user needs to select option 7.
Output:
To close the Drink Menu and proceed to the Checkout the user needs to select option 4.
Post Checkout the user must be advised with the total amount needed to be paid.
The user will then be provided with three options:
o Proceed with payment
o Cancel order
Output:
MIS501 Assessment 3 Case Study Page 5
Note: User must not be allowed to proceed for the Delivery option if the user has not mentioned
their address during the signup process and must be asked to add the same before proceeding for
the delivery or taken back to the Ordering Menu to select other option.
Output:
A- Calculation for the Amount Need to be paid:
1- Dine in mode:
Dine in has an additional 15% service Charges to be added additionally in the Invoice.
Output:
2- Click and Collect mode:
No additional Charges for click and collect
3- Delivery mode:
A fix charges for Delivery based on the distance i.e.
More than 0 to 5 Kms AUD 5
More than 5 to 10 Kms AUD 10
More than 10 to 15 Kms AUD 18
More than 15Kms No Delivery provided
Output:
B- Proceeding with the Order
If the user decides to proceed with the order, the user is requested to insert further details
based on their selected ordering mode as follows:
For Dine in:
Number of Persons:
Date of Visit: DD/MM/YYYY
Time of Visit: HH:MM
Output:
MIS501 Assessment 3 Case Study Page 6
For Pick up:
Date of Pickup: DD/MM/YYYY
Time of Pickup: HH:MM
Name of Person Picking up:
Output:
Delivery:
Date of Delivery:
Time of Delivery:
Distance from the Restaurant (In Kms):
Output:
Notes:
If the distance from the restaurant is more than the applicable limits, then the user
must be provided with the option to Pick up the Order.
Once the details have been successfully entered, user must be provided with a
confirmation message. “Thank you for your Order, Your Order has been confirmed”
It must generate a unique order id in the format ‘S001’.
Then the user must be taken to the Main menu.
MIS501 Assessment 3 Case Study Page 7
Task 3: Summary of Transactions
A user must be shown an option to see the history of its previous orders in:
Output:
Option 1: All Dine in orders Output:
Order ID Date Total Amount Paid Type of Order
Option 2: All Pickup Orders Output:
Order ID Date Total Amount Paid Type of Order
Option 3: All Deliveries Output:
Order ID Date Order Amount Paid Type of Order
Option 4: All Orders in Descending order (based on Order ID) Output:
Order ID Date Order Amount Paid Type of Order
Option 5: Total Amount Spent (All Type of Orders i.e., Dine in, Deliveries and Pickups)
Output:
Option 6: Go to Previous Menu