In this project, you will demonstrate your mastery of the following competency:
- Write programs by applying concepts and principles of object-oriented programming
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 that collaborates to create solutions for entrepreneurs, businesses, and government agencies around the world.
As part of a development team at Global Rain, you will be designing and developing custom software for a local pet boarding and grooming business, Pet Boarding and Grooming (Pet BAG). Pet BAG is seeking a way to modernize its operations by introducing custom software that will help replace inefficient paper-based processes. Your Global Rain team will collaborate to develop an app that will have the following initial functional areas: Check-in pets, Check-out pets, Pet management, and Reports.
As part of this team, you have been tasked with completing some preliminary work that consists of writing a Java class, writing pseudocode, and creating a flowchart. You will provide these deliverables to your supervisor.
Pet BAG has provided you with a specification document detailing its software needs and design documentation from your supervisor to complete your tasks.
- Before you begin, it is important to analyze your client’s software requirements and the design documentation from the Supporting Materials section. Specifically, review the Pet BAG specification document and the UML Class diagram, paying close attention to the class hierarchy, attributes, and behaviors.
- To begin, open the Virtual Lab by clicking on the link in the Virtual Lab Access module. Then open your integrated development environment (IDE) and create the Pet class based on the UML Class diagram. The Pet class must meet all the specifications from the class diagram including the following:
- All attributes with appropriate data structures
- At least one constructor method
- Accessors and mutators for all attributes
- When you are done implementing the Pet class, refer back to the Pet BAG specification document and select either the pet check-in or check-out method. These methods are detailed in the Functionality section of the specification document. You will develop pseudocode and a flowchart for the method you select.
- Based on the method you chose, write pseudocode that lays out a plan for the method, ensuring that you organize each step in a logical manner. Remember, you will not be creating the actual code for the method, and you do not have to write pseudocode for both methods.
- Based on the pseudocode you wrote, use the tool of your choice to create a flowchart for the method you selected. Your flowchart will help your team communicate how you are planning to develop the software for your client. In your flowchart, be sure to do the following:
- Include start and end points.
- Include appropriate decision branching.
- Align the flowchart to the check-in/check-out process.
- Based on your software design and development experience, your supervisor has asked you to articulate your programming approach. This will help ensure clarity, consistency, and efficiency among all developers working on this app. Specifically, you have been asked to briefly explain how you applied object-oriented programming principles and concepts (conditional statements, inheritance, and so on) in the your software development work thus far.
What to Submit
To complete this project, you must submit the following:
Pet.java Class File
As part of your tasks for the software development team, create the Pet class in your integrated development environment (IDE). To submit this deliverable, save the Pet class file as Pet.java.
Global Rain Summary Report
As a junior software developer, you will use the Global Rain Summary Report Template to complete the report. Your report must contain your pseudocode, flowchart, and explanation of the object-oriented programming principles you applied.
Use the following resources to support your work on this project:
Pet BAG Specification Document
Review this specification document provided by Pet BAG to understand your client’s software requirements. You will use these requirements to create your flowchart and write your pseudocode.
UML Class Diagram
Use this UML class diagram, prepared by the senior developer leading your team, to implement the Pet class. This class diagram demonstrates the Pet class, Dog class, and Cat class and illustrates inheritance. A text version of this image is also available: UML Class Diagram Text Version.
Downloading Files From Eclipse Tutorial
You will write, test, and run your Pet class file 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 One. Familiarize yourself with this document as you work on the project, and return to this rubric before you submit Project One to make sure you’ve included everything you need to be successful.