A successful career in software development depends on a thorough understanding of the fundamentals of object-oriented programming and best practices for software development. Your final project for this course will require you to apply the knowledge you have obtained prior to and during this course to the development of a simple, working program and accompanying process documentation. Professionals in software development document their process including requirements, design decisions, and defects for several different reasons as follows:
To track what has been accomplished To track when items were completed in order to maintain a schedule To justify why a product works the way it does (verification and validation) To provide resources if a new team member is added so he or she can catch up To see where the most defects are being injected in order to prevent them To review what happened during the project in order to create new ways of improving the process
For your development project, you will imagine you are in charge of managing a zoo’s computer infrastructure. There are many aspects of a zoo that need to be in place to keep it running. Two of those aspects are controlling data access and monitoring animal activities in exhibits. You will select which of these key components you wish to develop. Both options require at least two classes and for the design to be broken into multiple methods. Select one of the options provided in the prompt below and create your program and process documentation based on the specified requirements.
The final project for this course is the creation of an authentication or monitoring system. The final project represents an authentic demonstration of competency because it involves application of real-world Java programming. The project is divided into one milestone and several final project journal assignments, which will be submitted at various points throughout the course to scaffold learning and ensure quality final submissions. Milestone One will be submitted in Module Five. The final project will be submitted in Module Seven
In this assignment, you will demonstrate your mastery of the following course outcomes:
Implement appropriate variables, operators, methods, and classes as they are used in object-oriented programming for developing successful programs Utilize appropriate syntax and conventions in terms of their best practice and use in programming Debug coding errors by testing existing code, identifying errors, and correcting errors for improved functionality Assemble basic, working programs that effectively integrate essential elements of object-oriented programming
You have assumed the role of managing the technology infrastructure at a zoo. You will develop a working program (either an authentication system or a monitoring system) for the zoo designed to follow the specifications outlined in the overview. You will also provide detailed documentation describing your development process. Select from one of the following options as the basis of your program
Option 1: Authentication System
As a security-minded professional, it is important that only the appropriate people gain access to data in your computer system. This is called authentication. Once users gain entry, it is also important that they only see data related to their role in the zoo. This is called authorization. You have been given a file of users and their credentials. Create an authentication system that does all of the following:
Asks a user for a username Asks a user for a password Converts the password using a message digest five (MD5) hash o It is not required that you write the MD5 from scratch. Use the code located in this document and follow the comments in it to perform this operation. Checks the credentials against the valid credentials provided in the file (use the hashed passwords in the second column; the third column contains the actual passwords for testing) Limits failed attempts to three before notifying the user and exiting After successful authentication, uses the role in the credential file to display the correct system information loaded from the specific role file Allows a user to log out Stays on the credential screen until either a successful attempt has been made, three unsuccessful attempts have been made, or a user chooses to exit
You are allowed to add extra roles if you would like to see another type of user added to the system, but you may not remove any of the existing roles.
Option 2: Monitoring System
As a zookeeper, it is important to know the activities of the animals in your care and to monitor their living habitats. Create a monitoring system that does all of the following: