OBJECT-ORIENTED SOFTWARE DEVELOPMENT
This assessment item relates to the unit learning outcomes as in the unit descriptors.
This checks your understanding about object-oriented software development.
This assessment covers the following LOs.
LO1 Demonstrate understanding of classes, constructors, objects, data types and instantiation; Convert data types using wrapper methods and objects.
LO2 Independently analyse customer requirements and design object-oriented programs using scope, inheritance, and other design techniques; Create classes and objects that access variables and modifier keywords. Develop methods using parameters and return values.
LO3 Demonstrate adaptability in building control and loop structures in an object-oriented environment; Demonstrate use of user defined data structures and array manipulation.
Project: Implement a Class Hierarchy for Shapes
Problem Description:
Design and implement a class hierarchy for shapes using Java inheritance. Your solution should include the following classes:
- A Shape class, which represents the base class for all shapes. It should have a field for the color (treat it as text) of the shape, as well as methods for calculating the area and perimeter of the shape.
- A Rectangle class, which extends the Shape class and includes additional fields for the width and height of the rectangle.
- A Circle class, which extends the Shape class and includes an additional field for the radius of the circle.
Your solution should also include a main method that demonstrates the functionality of the shape system. This should include creating five instances of the different classes, putting them into an appropriate array, calculating the area and perimeter of each shape, describing the color of each shape, and printing out the results using a loop. You should also include an UML diagram design of your classes.
Your code should be well-documented and follow Java coding conventions.
Analysis/Design/UML: State what you need to implement, methods required and UML diagram … etc.
Coding: (Paste your code here, including Shape, Rectangle, Circle and main class using Courier 10pts)
Screenshots of your output and testing:
What to submit:
Submit this Word document to LMS (you must submit the program regardless of whether it complete or incomplete, correct or incorrect)
Design/Analysis/UML | Covered all the aspects and the steps to solve the problem. | Covered most of the aspects and important steps to solve the problem. | Covered important aspects and required steps to solve the problem. | Covered somewhat aspects and few required steps to solve the problem. | Not covered relevant aspects or steps. |
5 points | 3.5 points | 2.5 points | 1.5 points | 0 point | |
Coding | Error free and required executable code is submitted covering all the requirements. The code is efficient. | Error free and required executable code is submitted covering all the requirements. | Error free and required executable code is submitted covering most of the requirements. | Error free and executable code is submitted covering few requirements. | Not covered relevant aspects or steps. |
5 points | 3.5 points | 2.5 points | 1.5 points | 0 points | |
Output screenshots; Correct answer: | Output covered most of the requirements | Output as per the requirements and with proper formatting. | Output as per the requirements. | Output partially covered the requirement. | Error in code. |
3 points | 2 points | 1.5 points | 1 point | 0 point | |
Evidence of testing and debugging | Well described and in detail evidence of testing and debugging. | Well described evidence of testing and debugging. | Covered most of the evidence of testing and debugging. | Covered somewhat evidence of testing and debugging. | No relevant evidence. |
2 points | 1.5 points | 1 point | 0.5 points | 0 points |