Question: Write the UML diagram that represents a program with the following description. You can (1) use any software tool or (2) draw it by hand
Write the UML diagram that represents a program with the following description. You can (1) use any software tool or (2) draw it by hand and submit a picture. If you draw it by hand, it should be readable and clear. UML diagram notation must be followed.

Write the UML diagram that represents a program with the following description. You can (1) use any software tool or (2) draw it by hand and submit a picture. If you draw it by hand, it should be readable and clear. UML diagram notation must be followed. Description: The software is made of six classes named: University, Person, Student, Employee, Faculty, Staff. The class University has 3 attributes: (1) an address represented by a string (final), (2) students represented by an ArrayList, and (3) employees represented by an ArrayList. It also has two constructors: (1) one without input parameters and (2) a second one that takes the address and the employees. The class University has getters for all the attributes. It also has two additional methods: (1) calculate Population that returns the total amount (i.e., number) of people studying and working at the university (2) addStudent that takes a Student as input parameter and add that student to the students ArrayList. The class Person has three attributes: (1) name, (2) id, and (3) address. The class comes with two constructors. The first constructor takes the name and the id and sets the address to null. The second constructor takes the name, the id, and a string representing the address. The class person has getters for the three attributes. It also has a setter for the address. The classes Student and Employee inherit from Person. The class Student has an additional attribute: courses that is an Array list of strings. This attribute represents the courses the student is taking. The class Student has a constructor that initializes all the attributes in the superclass and the class itself. The class provides a getter for courses. It also has two additional methods: addCourse and removeCourse. The class Employee has an additional attribute called salary. The class Employee has a constructor that initializes all the attributes in the superclass and the class itself. The class provides a setter and a getter method for the salary. The classes Faculty and Staff inherits from Employee. The class Faculty has two additional attributes: courses (representing the list of courses taught by the faculty member) and department. The class has (1) a default constructor, (2) getter and setter methods for all attributes, and (3) two additional methods for adding and removing courses. The class Staff just has an additional attributed called professionalCategory. It has a constructor that takes this attribute as the input parameter. The class provides getters and setters for this attribute
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
