Subject: : Principles of Programming
ASSESSMENT 1 : Business Case Study
Length : 1500 Words (+/- 10%) or equivalent including source code and comments and 1 flow chart
References : NO REFERENCES
Due Date: 19/07/2023
Task Summary
In this assessment, you are required to undertake three tasks. For each task, it is required that you implement a Python program to solve a business problem presented.
Context
Using programming skills to make informed business decisions is becoming increasing important in the current information era. The speed in which this can be achieved is also desirable in the fast‐ paced business environment. Businesses and organizations rely heavily on computer programs to better understand and analyze data. This assessment assesses your skills in designing and developing computer programs using procedural programming techniques to address business needs.
Task Instructions
You are now to develop a program using Python. The program must comprehensively include all the functional requirements described in the case study. The program must also satisfy the conditions discussed in the Case Study. There is NO minimum length to your Python codes, but you need to make sure to have enough functionality in your programs to address the business needs in the case study.
Note
• You may use any Python IDE to develop and test your Python programs.
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. A2C 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:
- A design of the application process using a Flow Chart diagram
- Python program for the three tasks as per the description that follows in this document.
Program Description
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:
- Sign up
- Sign in
- Quit application
Output:
Please Enter 1 for Sign up |
Please Enter 2 for Sign in |
Please Enter 3 for Quit |
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
Thank You for using the Application |
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 16 years old. The age should be calculated based on the year entered in the DOB (Only consider year).
- 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:
You have entered the Date Of Birth in invalid format Please start again: |
Output 2:
Your passwords are not matching Please start again: |
- 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.
Please enter your name : Sam John Please enter your mobile number: 0445544554 Please enter your password: Sam@21 Please confirm your password: Sam@21 Please enter your date of Birth #DD/MM/YYYY (NO SPACE): 21/01/1990 You have successfully signed up Please enter 1 for sign up Please enter 2 sign in Please enter 3 for Quit |
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:
Please enter 1 for sign up Please enter 2 sign in Please enter 3 for Quit |
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.
Please enter your Username (Mobile Number): 0445544554 Please enter your password: Sam@21 You have successfully Signed in Welcome Sam John Please enter 1 for Resetting the password Please enter 2 for signout. |
If the user has not signed up with the entered username (mobile number), the program must ask the user to sign up first.
Output:
Please enter your Username (Mobile Number): 0445544444 Please enter your password: Sam@99 You have not signed up with this contact number, please sign up first Please enter 1 for sign up Please enter 2 sign in Please enter 3 for Quit |
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
Please enter 1 for sign up. Please enter 2 sign in. Please enter 3 for Quit. |
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:
Please enter your Username (Mobile Number): 0445544554 Please enter your password: Sam@21 You have successfully Signed in Welcome Sam John Please enter 1 for Resetting the password Please enter 2 for sign out |
When user enter 1:
Output:
Please enter your Username (Mobile Number): 0445544554 Please enter your old password: Sam@21 Please enter your new password: Sam@44 You have successfully Signed in Please enter 1 for Resetting the password Please enter 2 for sign out |
After the verification of username and old password, the new password must be saved in the appropriate data structure (Hint: List can be used)
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:
Please enter your Username (Mobile Number): 0445544554 Please enter your old password: Sam@25 You have entered the wrong password. Please try again Please enter your Username (Mobile Number): 0445544554 Please enter your password: Sam@88 You have entered the wrong password. Please try again You have used the maximum attempts of login Please reset the password by entering the below details: |
Please enter your Username (mobile Number) to confirm:0445544554 Please enter your Date of Birth in DD/MM/YYYY format, to confirm: 21/01/1990 Please enter your new password:Sam@99 Please re-enter your new password:Sam@99 Your password has been reset successfully Please enter 1 for Sign up Please enter 2 for Sign in Please enter 3 for Quit. |
The user is not allowed to set a password, which he has used previously
Output:
You have used the maximum attempts of login: Please reset the password by entering the below details: Please enter your Username (mobile Number) to confirm:0445544554 Please enter your Date of Birth in DD/MM/YYYY format, to confirm: 21/01/1990 Please enter your new password:Sam@21 Please re-enter your new password:Sam@21 You can not use the password used earlier Please enter 1 for Sign up Please enter 2 for Sign in Please enter 3 for Quit |
Get expert help for Principles of Programming: Business Case Study and many more. 24X7 help, plag free solution. Order online now!