Competency
In this project, you will demonstrate your mastery of the following competency:
- Implement appropriate language constructs for an object-oriented programming language
Scenario
You work for Global Rain, a software engineering company that specializes in custom software design and development. As a junior software developer, you are part of a software development team at Global Rain that collaborates to create software solutions for entrepreneurs, businesses, and government agencies around the world.
You have been newly assigned to a development team at Global Rain that is currently working on a project for an innovative international rescue animal training company, Grazioso Salvare. Grazioso Salvare is seeking a software application that will help track rescue animals, sometimes referred to as search and rescue animals, which are obtained and trained by the company to rescue humans or other animals from difficult (or even life-threatening) situations.
A portion of this work has already taken place on this project. Your team lead has assigned you to create one new class and modify the existing classes in the software application. You will deliver these class files to the team lead, who will consolidate them with the work from other team members and present the application to your client.
Directions
Grazioso Salvare has provided you with a specification document detailing its software needs. Other members of the Global Rain development team have started creating the RescueAnimal.java, Dog.java, and Driver.java class files. Your team lead has asked you to modify the existing classes and create a Monkey.java class as your contribution to the team.
- To gain a clear understanding of the client’s software requirements, review the Grazioso Salvare specification document in the Supporting Materials section. As you read, pay close attention to the attributes and methods that you will need to implement into the program.
- Open the Virtual Lab by clicking on the link in the Virtual Lab Access module. Then open your IDE. Follow the IDE tutorial in the Supporting Materials section to upload Grazioso.zip into your IDE. This zipped folder contains three class files. Once you upload the files, compile the code. Although the program is not complete, it will compile without error.
- Read through the code for each class. This will help you understand what code has been created and what code must be modified or created to meet the software requirements.
- Before you begin modifying and creating classes, your team lead reminds you to demonstrate industry standard best practices in all your code to ensure clarity, consistency, and efficiency among all software developers working on the program. This includes ensuring the following:
- In-line comments denote your changes and briefly describe the functionality of each method or element of the class
- Appropriate variable and method naming conventions are used throughout your code
- Once you have completed your pre-work, you are ready to begin your assigned tasks. To start, modify the RescueAnimal.java class file by adding accessor and mutator methods for each class variable.
- Create the Monkey class, using the specification document as a guide. The Monkey class must do the following:
- Inherit from the RescueAnimal class
- Implement all attributes with appropriate data structures
- Include accessors and mutators for all implemented attributes
- Select a method from the Software Requirements section of Grazioso Salvare’s specification document. Using the selected method, modify the Driver.java class file to do the following:
- Implement the method you have chosen
- Add attributes, as needed, to support the required functionality
What to Submit
To complete this project, you must submit the following:
RescueAnimal.java Class File
Modify the RescueAnimal.java class file in accordance with the requirements of the specification document. Be sure to include in-line comments that explicitly identify the changes you made as well as describe the functionality of the code.
Monkey.java Class File
Create a Monkey.java class file that meets the requirements laid out in the specification document. Be sure to include in-line comments that explicitly identify the changes you made as well as describe the functionality of the code.
Driver.java Class File
Modify the Driver.java class file in accordance with the requirements of the specification document. Be sure to include in-line comments that explicitly identify the changes you made as well as describe the functionality of the code.
Dog.java Class File
Submit the Dog.java class file, even though you were not required to make changes to it for this project.
Supporting Materials
The following resource(s) may help support your work on the project:
Grazioso Salvare Specification Document
Review the specification document provided by the Grazioso Salvare client to learn about its software requirements and perform your development work.
Grazioso.zip (Eclipse Project File)
This zipped folder contains the RescueAnimal.java, Dog.java, and Driver.java class files. The RescueAnimal.java class contains the class variables and a default constructor. In-line comments are provided to indicate where the accessor and mutator methods should be implemented. The Dog.java class contains an instance variable, a constructor, an accessor method, and a mutator method. You will use this class as part of the application. No changes are required in the Dog.java class. The Driver class will be used to run the application. It contains an empty main() method with in-line comments indicating where new functionality should be implemented.
Uploading Files to Eclipse Tutorial
You will write, test, and run each class file in an IDE. Review this tutorial to learn how to upload the Eclipse Project file (.jar), which contains all your class files, into your IDE.
Downloading Files From Eclipse Tutorial
You will write, test, and run your class files using an integrated development environment (IDE). Review this tutorial to learn how to save and export files from your IDE. Important: Do
not
change the names of any class files.
The following rubric will be used to assess Project Two. Familiarize yourself with this document as you work on the project, and return to this rubric before you submit Project Two to make sure you've included everything you need to be successful.