assignment 1 (JAVA PROGRAMING)
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
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.
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.
2. 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
3. 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.
4. 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.
5. 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.
6. 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
Shows
progress
toward
Does not
attempt
criterion (0%)
30
class diagram
specifications,
including all
attributes with
appropriate
data
structures, a
constructor,
and accessors
and mutators
(100%)
proficiency,
but with errors
or omissions;
areas for
improvement
may include
appropriate
data
structures,
naming
conventions,
method
structure,
return values,
or functionality
(55%)
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
Shows
progress
toward
Does not
attempt
criterion (0%)
15
software
requirement
specifications
including
appropriate
decision
branching and
start and end
points (100%)
proficiency,
but with errors
or omissions;
areas for
improvement
may include
logic,
representation,
appropriate
decision
branching, or
start- and end-
point accuracy
(55%)
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
Clearly
conveys
meaning with
correct
grammar,
sentence
structure, and
spelling,
demonstrating
Shows
progress
toward
proficiency,
but with errors
in grammar,
sentence
structure, and
spelling,
Submission
has critical
errors in
grammar,
sentence
structure, and
spelling,
preventing
10
manner
(100%)
an
understanding
of audience
and purpose
(85%)
negatively
impacting
readability
(55%)
understanding
of ideas (0%)
Total: 100%