Operate and perform simple os administration

Assignment Help Computer Engineering
Reference no: EM132929272

MN404 Fundamentals of Operating Systems and Programming - Melbourne Institute of Technology

Assessment - Simple Password Manager

Learning Outcome 1: Describe the role of Operating Systems (OS) and its different subsystems in controlling computer hardware
Learning Outcome 2: Demonstrate competency in the use of a command line interface to operate and perform simple OS administration
Learning Outcome 3: Apply principles of abstraction and problem solving in an object-oriented programming language
Learning Outcome 4: Apply knowledge of programming constructs in developing computer programs
Learning Outcome 5: Create programs based on incremental development processes of designing, coding, testing and debugging.

Assignment Specification

The development of this application gives the students a help to understand the simple functions of a Password manager in the technical elements. It provides a good learning of how the passwords would be to generated, encrypted before saving, verified, validated etc. and code all the process. The assignment enables the student not only to learn the concept and importance of password manager and its functions but also to implement it for real-time applications. It enables the students to apply principles of abstraction and problem solving in an object-oriented programming language Further it empowers the students to apply knowledge of programming constructs in managing the passwords.

Assignment description:

A password manager is a software application that is used to store and manage the passwords that a user has for various online accounts and security features. Password managers store the passwords in an encrypted format and provide secure access to all the password information with the help of a master password. In this assignment the students shall code programs for few of the functions of password manager for eg. Password verification, encryption, validation etc. based on incremental development processes of designing, coding, testing and debugging.

The program will create a PWManager , that will manage a set of passwords for an individual.

PWManager: The PWManager will store the encrypted passwords (a string) in a dictionary form. Every password in the dictionary will be stored along with the purpose for eg. Gmail password: ER%$TDFR. The passwords will not be stored in plain text unencrypted! The PWManager has to perform following functions:

1. Read and VerifyPassword: this takes a string (a password) and returns true if it meets the following criteria:
• it is at least 10 characters' long
• string contains MIT
• it contains at least one digit
• it contains at least one of these four characters: # ? , ! Otherwise it returns false.

2. Encrypt: this takes a password (a string) and returns the encrypted form of the password. Note: there is no decrypt function (there is no need to decrypt passwords).

3. Display the original passwords and the encrypted passwords along with the purpose/application where the password is being used. (Hint: to display the original passwords, the encrypted password stored in the dictionary may be decrypted)
4. setNewPassword: takes a string (a proposed password). If it meets the criteria in verifyPassword, it encrypts the password and stores it in the member variable and returns true. Otherwise returns false.
5. ValidatePassword: takes a string (a password) and returns true if, once encrypted, it matches the encrypted string stored in the member variable. Else returns false.

Your program will use the following menu to prompt the user to test the implementation: Password Utilities:
A: Read and verify the password B: Encrypt and store
C: Display
D: Change Password
E: Validate the password. F: Quit
Enter your choice (A to F):

The menu should be processed in a loop, so the user may continue testing the password operations. The change Password option should ask the user to enter a new password, and explain the criteria for a valid password.
The main function should call the password manager to perform all the aforementioned five functions. It should output relevant messages indicating whether or not the functions are performed and if not the reasons for the same. For example, The Validate Password option should ask the user to input the password. Then the main function should call the password manager to validate the password, and then the main function should output whether or not the password was valid (matching the one stored by the password manager) or not. When the user selects F to quit, the program should save the encrypted password in the dictionary. (overwriting anything that was previously in the file).

In this assignment the students shall code the specified requirements on incremental development processes of designing, coding, testing and debugging. This assignment involves the following tasks:
1. To Design and develop an algorithm or a detailed flow chart to encrypt, verify and validate the password.
o The password shall constitute a set of printable characters on the keyboard.
o Any encryption algorithm such as substitution, reverse cipher etc. may be used by the students.
2. To convert the algorithm to a python program and test for various cases.
3. A GUI (optional) may be designed to feed in the password and display the encrypted messages.

Note: Generally, in a project you should write a program that contains an introductory docstring. This documentation should describe what the program will do (analysis) and how it will do it (design the program in the form of a pseudocode algorithm). Include suitable prompts for all inputs, and label all outputs appropriately. After you have coded a program, be sure to test it with a reasonable set of legitimate inputs.

The assignment report has to include the following sections:

• User Requirements:
o Include all the user (assignment) requirements here.
o For example: the requirements of a password, key to encrypt, encryption method, etc...
• Analysis
Analysis often requires the programmer to learn some things about the problem domain and hat information the user will have to provide. Also, it should specify what the program is going to do. In this case the problem domain would be the logic used to verify, encrypt and validate the password.

• Design:
The design phase has to describe how the program is going to do the desired task. This usually involves writing an algorithm or a flow chart in fact, algorithms are more often written in a somewhat stylized version of English called pseudocode.
Although there are no precise rules governing the syntax of pseudocode, in your pseudocode you should strive to describe the essential elements of the program in a clear and concise manner. Note that this pseudocode closely resembles Python code, so the transition to the coding step should be straightforward.

• Implementation Phase:
In this phase the complete code in python without any syntax and semantic errors must be completed. The complete code with proper indentation has to be pasted here along with sample inputs and outputs.

• Testing: Only thorough testing can build confidence that a program is working correctly. Testing is a deliberate process that requires some planning and discipline on the programmer's part. It would be much easier to turn the program in after the first successful run to meet a deadline or to move on to the next assignment. But your grade, your job, or people's lives might be affected by the slipshod testing of software.

Attachment:- Simple Password Manager.rar

Reference no: EM132929272

Questions Cloud

What are some future trends in public health : What are some future trends in public health? Is the current health care system prepared for them?
What is a good customer service : Question 1: What is a good customer service?
Determining muzzle-to-target distance : What are the characteristics that might exist or not exist for determining the muzzle-to-target distance?
Mission statement and current organizational initiative : Select a specific health care organization and identify its mission statement and a current organizational initiative.
Operate and perform simple os administration : Demonstrate competency in the use of a command line interface to operate and perform simple OS administration and Create programs based on incremental
Find the be dollar volume of sales : XYZ company's cost function for the next four months is C = 500,000 + 5Q A. Find the BE dollar volume of sales if the selling price is br. 6 / unit
Allied health community media : Read the Home Care scenario located in the Allied Health Community media, located in the study materials.
What is parallel structure model in management : What is parallel structure model in management?
Calculate annual depreciation for the five-year life : Calculate annual depreciation for the five-year life of the equipment according to MACRS. The company uses the half-year convention for tax reporting purposes

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd