MIS501 Assessment 2 Case Study Page 1
Task Summary
In response to the issues raised in the case study provided, design and develop Python programs
that address business needs. You are required to undertake three tasks using the concepts learned in
Modules 1, 2, 3 and 4.2. Please refer to the Instructions for details on how to complete this task.
Case Study
Online ordering has enabled many restaurants to manage their peak business hours very effectively.
Thanks to online ordering, many people manage to prevent the painful experience of wasting time in
a long queue.
AZA is one of the biggest restaurant chains in Australia. They decided to offer their customers a
convenient and contactless mobile ordering solution in response to the growing business need and
COVID restrictions.
As part of the development team in the SAS software solutions, you are required to design and
develop the mobile ordering program. Before the application release deadline, you are required to
submit the following deliverables:
1- A design of the application process using a Flow Chart diagram
2- Python program for the three tasks as per the description that follows in this document
Program Description:
In this program you have to create a mobile ordering application for a restaurant. The restaurant
has variety of cuisines to offer their customers.
When the program starts, the user is given the following options:
1- Sign up
2- Sign in
3- Quit application
Output:
Your program should keep running and enable multiple users to sign up and log in, until the quit
application option is selected.
Output: If User enters 3
MIS501 Assessment 2 Case Study Page 2
Task 2A: To start using the mobile app, users should signup an account. You are required to create
a Python program for the signup process. The users will be asked to enter their full name, contact
number, date of birth, password, and password confirmation.
1. The signup process will not be successful until:
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, Sam&25)
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).
2. If any of the above-mentioned condition is not fulfilled; the sign-up process should fail, and
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 entered. If all
fields are entered successfully, the program should stop asking the user to re-enter his
details and display a message that the signup process has been completed successfully. If
any field is entered incorrectly, some examples of sample outputs are given below.
Output 1:
Output 2:
3. If all of the above-mentioned conditions are successful, the user data is saved in
appropriate data structure (Hint: List can be used) to enable data checks during the login
process described in Task 2.
Output:
MIS501 Assessment 2 Case Study Page 3
Task 2B: In continuation to task 2A, you are required to write a python program to allow the
signed-up users to Login the application:
User must be asked to select from one of the 2 options from Signup or Login, until he selects the
option to exit from the application.
Output:
During the signup, same process must be applied as mentioned in task 1.
The Application must save the User’s information of all the Successful Signups in the appropriate data
structure (Hint: List can be used), for verification purposes.
Please try your program with multiple signups at once to ensure the login details are saved for
verification purposes.
During the login the program must verify the user id and password before confirming the user for
successful login.
Once the login is successful the user’s name must be displayed in the greeting message.
After the login the user must be asked the options to sign-out and reset the password.
Output:
If the user has not signed up with the entered username (mobile number), the program must ask the
user to sign up first.
Output:
If the user selects the Sign-out option, the user is back to the home screen with the options of
Signup, Sign in and Quit Application.
Output:
MIS501 Assessment 2 Case Study Page 4
Task 2C: - In Continuation to Task 2B: Resetting the password
Part 1 – Reset Password from Menu
Post Login the user must be shown an option to reset the password, and sign-out, where the user
must enter his username, old password, and new password.
Output:
When user enter 1:
Output:
After the verification of username and old password, the new password must be saved in the
appropriate data structure (Hint: List can be used).
MIS501 Assessment 2 Case Study Page 5
Part 2 – Reset Password due to Unsuccessful Login attempts
User is allowed with only 3 attempts for unsuccessful login, and then must be shown the option to
reset the password.
During the reset password the user must be asked to enter the username (mobile number), which
must be verified before asking the user to enter his DOB.
Once the DOB is verified with the details saved in the memory, the user must be provided with the
option to enter a new password, in the provided format.
If valid, the user’s password must be replaced with the previously entered password, and if not the
process of resetting the password must be restarted from entering the username and password.
Output:
The user is not allowed to set a password, which he has used previously.
Output: