Question
Part 1 UML Diagrams (30 points) Draw UML diagrams (activity diagram and class diagrams) to represent an inheritance hierarchy for classes Quadrilateral, Trapezoid, Parallelogram, Rectangle
Part 1 UML Diagrams (30 points)
Draw UML diagrams (activity diagram and class diagrams) to represent an inheritance hierarchy for classes Quadrilateral, Trapezoid, Parallelogram, Rectangle and Square.
Use Quadrilateral as the superclass of the hierarchy. Create and use a Point class to represent the points in each shape. Make the hierarchy as deep (i.e., as many levels) as possible.
Specify the instance variables and methods for each class. The private instance variables of Quadrilateral should be the x-y coordinate pairs for the four endpoints of the Quadrilateral.
Write a test program that instantiates different objects of your classes and stores them in an ArrayList. It then prompts the user to choose a particular shape and outputs the area and perimeter of each object of that shape stored in the ArrayList.
Part 2 System Design using CRC Cards (70 points)
In the lecture, we have discussed using CRC cards to design and implement CS Course Registration System. Assume that we only have one department (CS). Complete the initial design, review/refine it and prepare the final design. Submit the following: o Requirement Statement (in plain English, maximum 1 page) explaining major aspects (features) of the registration system
o Initial list of classes and methods identified from requirement statement
o Initial set of CRC Cards (Note: Use physical cards when designing classing. But for submission: you can draw a table for each flash card instead of submitting the actual cards)
o Review your initial design and identify if you can combine any classes and if you need to add more. Ensure that you are using good design principles (maximize cohesion and minimize coupling). Provide updated {final} list of classes (including any abstract classes as well), with attributes, methods. Also provided updated versions of CRC Cards.
o UML diagrams (draw them with professional software like starUML) for finald design
o Provide skeleton code (where most classes and methods have been declared/defined but left empty. They will have appropriate names, arguments, etc.). All methods should be properly commented using Javadoc style!
Here are the list of tasks that your system should implement: o Search a course in the department (for registration)
o Add, Drop or Swap a course
o See list of courses in a students schedule
o Should be able to add, delete students from department
o Should be able to view all courses offered
o Should be able to check the status of a course (how many seats available, students enrolled, instructor assigned, etc.)
o Instructors information should be accessible (i.e., name, email, office location, etc.)
o Anything else you find reasonable!
Part 3 Implementation (Bonus worth 50 points)
Implement your Course Registration System (from Part2)!
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started