Rules of the Game · You must comply with the usual rules that apply to assignments. o You have until noon, October 28, 2020 to complete and submit the midterm exam. o Please submit your notebook file...



Rules of the Game


· You must comply with the usual rules that apply to assignments.


o You have until noon, October 28, 2020 to complete and submit the midterm exam.


o Please submit your notebook file (.ipynb file) via blackboard.


o You may refer to any materials you need in responding to the question. Obviously, what has been discussed in the class should be your first sources, but you may draw on other resources as well.


o You may not, however, collaborate with anyone else on the exam. You are on your honor in this regard, but
I take this requirement very seriously. This is strictly a solo effort.


o Please see the grading rubric on page 5.





















You are tasked with developing a part of a database system that deals with the users’ IDs and passwords. Your program will store the user ID and password for the users of a system in a csv file (credentials.csv). The user IDs and passwords for the current users of the system are already listed in the first and second column of credentials.csv respectively.


The menu


· Your program should display the following menu:


o 1. Create a new user ID


o 2. Change a password


o 3. Display all user IDs


o 4. Quit


o Enter your selection:


Create a new user ID


· User IDs are in lowercase. If the user selects 1 from the menu, the program should ask the user to enter a new user ID. The program should check if the user ID is already in the list. If it is, the program will display a suitable message and ask the user to select another user ID. Once a new user ID has been entered, the program should ask for a password.


Password policy


· An acceptable password should fulfil at least three of the following criteria:


o It should have at least 8 characters.


o It should include at least one uppercase letter.


o It should include at least one lowercase letter.


o It should include at least one special character.


§ Special characters are "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", and "?".


o It should include at least one digit.


· If the password meets only up to two of the above criteria (i.e., none of them, one of them, or two of them), it should be rejected with a message indicating it is a weak password. The program should then ask for another password.


· If the password meets three or four of the above criteria, the program should tell the user that this password is acceptable but can be improved. The program should then ask the user whether he/she wants to choose a stronger password.


· If the password meets all of the abovementioned criteria, no message needs to be shown.


· Only acceptable passwords (and user IDs) should be added to the end of the csv file (i.e., credentials.csv).


Change a password


· If the user selects 2 from the menu, the user needs to enter his/her user ID (whose password he/she wants to change). If the entered user ID does not exist in the csv file, the program should display a suitable message and ask for the correct user ID. Once an existing user ID is entered, the program should ask for the old password associated with the user ID. If the user fails to enter the correct old password, the program will ask him/her to try again until the correct old password is entered. Once the correct old password is entered, the program will allow the user to enter a new password (requiring password policy) and save the changes to the csv file.


Display all user IDs


· If the user selects 3 from the menu, the program should display all the user IDs but not the passwords.


Quit


· If the user selects 4 from the menu, the program should stop. (The program should keep displaying the menu until the user selects 4).



Please see the next page an example of the output.


· I first selected ‘1’ and entered an ID (‘adavis’) that was already taken. Then, I entered a new ID (‘mjackson’). Next, I selected an unacceptable password (‘michael’). Then, I tried again selecting an acceptable password (‘Michael123’). I said ‘Y’ when I was asked whether I wanted to improve that password and finally selected a strong password (‘Michael123*’).


· Then, I selected ‘2’ but entered a user ID (‘mjack’) that didn’t exist. Next, I entered an existing ID (‘mjackson’). Then, I entered a wrong password when I was asked to enter the old password. I tried again and entered the right old password. Next, I was asked to enter a new password. I entered a new acceptable password (‘Jackson123’) and declined to choose a stronger password.


· Next, I selected ‘3’, and the program listed all user IDs.


· Finally, I selected ‘4’, and the program stopped.

















Student Name:



Total points possible:
25 points



Requirements:
Your application MUST at least accomplish the followings:


1. ______/2 The algorithm and logic of the application are reasonable.


2. ______/21 The application includes the functionalities suggested by the case.


a. ___/10 Creates a new record when the user selects 1.



i. ___/1 Asks the user to enter a new user ID.



ii. ___/2 Checks whether the entered user ID already exists in the list. If it does, it keeps asking for another user ID until a new user ID is entered.



iii. ___/1 Asks the user to enter a password given the password policy.



iv. ___/2 Rejects a weak password and asks the user to enter another password.



v. ___/2 Asks whether the user wants to strengthen his/her password (if the entered password is acceptable but not strong) and continues accordingly.



vi. ___/2 Adds the new record (user ID and password) to the end of the csv file.


b. ___/8 Changes a password when the user selects 2.



i. ___/1 Asks the user to enter an existing user ID.



ii. ___/2 Checks whether the entered user ID already exists in the list. If it does not, it keeps asking for another user ID until an existing user ID is entered.



iii. ___/1 Asks the user to enter his/her old password (for the user ID entered).



iv. ___/2 Checks whether the entered old password is correct or not. If it is not, it keeps asking for the correct old password until it is entered.



v. ___/2 Asks the user to select a new password given the password policy.


c. ___/2 Displays all the user IDs in the csv file when the user selects 3.


d. ___/1 Keeps displaying the menu until the user selects 4.


3. ______/2 The application runs without error.



Total: /25



Other comments:


Oct 26, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here