Write programs by applying concepts and principles of object-oriented programming

Project 1 Instructions.html

Competency

In this project, you will demonstrate your mastery of the following competency:

  • Write programs by applying concepts and principles of object-oriented programming

Scenario

Global Rain logo

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.

Directions

Pet BAG has provided you with a specification document detailing its software needs and design documentation from your supervisor to complete your tasks.

An individual with one hand writing on paper and one hand on a laptop computer keyboard.

  1. 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.
  1. 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
  1. 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.
  1. 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.
  1. 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.
  1. 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.

Supporting Materials

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.

Project One Rubric

Criteria Exemplary Proficient Needs Improvement Not Evident Value
Class Creates a class that meets UML class diagram specifications, including all attributes with appropriate data structures, a constructor, and accessors and mutators (100%) Shows progress toward proficiency, but with errors or omissions; areas for improvement may include appropriate data structures, naming conventions, method structure, return values, or functionality (55%) Does not attempt criterion (0%) 30
Pseudocode Writes pseudocode that outlines a plan for developing a method and aligns to software requirement specifications (100%) Shows progress toward proficiency, but with errors or omissions; areas for improvement may include pseudocode clarity, formatting, logic, or alignment to software requirement specifications (55%) Does not attempt criterion (0%) 15
Flowchart Creates a flowchart that aligns to software requirement specifications including appropriate decision branching and start and end points (100%) Shows progress toward proficiency, but with errors or omissions; areas for improvement may include logic, representation, appropriate decision branching, or start- and end-point accuracy (55%) Does not attempt criterion (0%) 15
OOP Principles Exceeds proficiency in an exceptionally clear, insightful, sophisticated, or creative manner (100%) Concisely explains the application of object-oriented programming principles in a software development process (85%) Shows progress toward proficiency, but with errors or omissions; areas for improvement may include accuracy, depth, or missing principles (55%) Does not attempt criterion (0%) 30
Articulation of Response Exceeds proficiency in an exceptionally clear, insightful, sophisticated, or creative manner (100%) Clearly conveys meaning with correct grammar, sentence structure, and spelling, demonstrating an understanding of audience and purpose (85%) Shows progress toward proficiency, but with errors in grammar, sentence structure, and spelling, negatively impacting readability (55%) Submission has critical errors in grammar, sentence structure, and spelling, preventing understanding of ideas (0%) 10
Total: 100%

course_documents/Global Rain.png

course_documents/IT-145 Project One Image.jpg

course_documents/IT-145 Summary Report Template.docx

Developer: [Insert name here]

Date: [Insert date here]

Summary Report Template

Directions: Place your pseudocode, flowchart, and explanation in the following sections. Before you submit your report, remove all bracketed [ ] text.

Pseudocode

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.

Write pseudocode that lays out a plan for the method you chose, ensuring that you organize each step in a logical manner. Remember, you will not be creating the actual code for the method. You do not have to write pseudocode for both methods. Your pseudocode must not exceed one page.

[Type/copy pseudocode here.]

Flowchart

Based on the pseudocode you wrote, create a flowchart using a tool of your choice for the method you selected. In your flowchart, be sure to include start and end points and appropriate decision branching, and align the flowchart to the check-in/check-out process. Your flowchart must be confined to one page.

[Insert flowchart image here.]

[Refer to the Project One Supporting Materials for tool options to create your flowchart and how to copy images into this template.]

OOP Principles Explanation

Briefly explain how you applied object-oriented programming principles in the software development process. Your explanation should be one paragraph, or four to six sentences.

[Type your explanation here.]

Page | 2

course_documents/IT-145 Pet BAG Specification Document.pdf

System Specification Document Overview Pet Boarding and Grooming (Pet BAG) is a company that provides boarding and grooming services for dogs and cats. We want to modernize our operations by introducing custom software that will help replace inefficient paper-based processes.

Functionality We are seeking an app that has the following initial functionality:

• Check-in pets • Check-out pets • Pet management • Reports

Each of these functional areas are described below.

Pet Check-In To update our current processes, we outline our current manual check-in process below, which involves multiple steps and verifications. First, we determine whether the pet is a dog or a cat. Next, we determine if boarding space is available for the pet. There are currently 30 spaces for dogs and 12 spaces for cats. We would like the ability to update these settings as needed. If boarding space is available, we identify whether the pet is a new or returning visitor. If the pet has stayed with us before, we are seeking the ability to update information as needed. If the pet is a new visitor, we would like the opportunity to collect all the appropriate information.

Additionally, we would like the ability to gather information on the length of stay for each pet and if grooming services are required. Grooming services are only offered for dogs that stay at Pet BAG for two or more days. No grooming services are offered for cats. Our final step is to assign the pet to a space. Pet Check-Out To update our current processes, we outline our current manual check-out process below, which involves multiple steps. First, we identify the pet and its current boarding space within Pet BAG. If the pet is scheduled for grooming, this service is provided as part of the check-out process. We also collect information of the amount due to the customer based on the fees below:

Type of Pet Daily Boarding Fee Grooming Fee

Cat $18.00 N/A

Dog (greater than or equal to 30 lbs.)

$34.00 $29.95

Dog (20–30 lbs.) $29.00 $24.95

Dog (fewer than 20 lbs.) $24.00 $19.95

Finally, we clean the boarding space and prepare it for the next visiting pet.

Pet Management We require the following to manage the pets that we have boarded:

• Ability to move a pet from one boarding space to another • Ability to record morning and evening feedings • For dogs, ability to record morning, afternoon, and evening yard time • Ability to add notes on any pet • Ability to update pet data including weight, grooming requirements, and notes • Ability to denote whether a pet stay has been paid for or not • Ability to schedule a space for cleaning and alert personnel when the space is ready

Reports TBD

  • System Specification Document
    • Overview
    • Functionality
    • Pet Check-In
    • Pet Management
    • Reports

course_documents/IT-145 UML Class Diagram Text Version.docx

Pet
– petType

– petName

– petAge

– dogSpace

– catSpace

– daysStay

– amountDue

+ checkIn()

+ checkout()

+ getPet()

+ createPet()

+ updatePet()

Dog
+ dogSpaceNbr

+ dogWeight

+ grooming

+ getGrooming()

+ setGrooming()

+ getDogWeight()

+ setDogWeight()

Cat
+ catSpaceNbr

Arrow pointed from table labeled Dog to table labeled Pet; arrow pointed from table labeled Cat to table labeled Pet

course_documents/UML Class Diagram.png

“Get 15% discount on your first 3 orders with us”
Use the following coupon
FIRST15

Order Now