Phase I – Directions:
1. Draw the class diagram for the current implementation of the university system. Use correct UML notations.
2. Identify the places in the code where there are object-oriented concept violations, content coupling, common coupling, control coupling, and stamp coupling situations. In the Directory Management System Submission Document, paste the code segments that correspond to each situation and explain how you would fix object-oriented concept violations, common coupling, control coupling, and content coupling issues.
3. Refactor the code to remove the object-oriented concept violations, common coupling, control coupling, and content coupling issues without removing any intended system functionalities.
4. Save and submit your refactored code as a zip file.
Phase II – Directions:
In the current implementation, two types of personnel objects have developed: Person and Employee. Suppose the directory will be extended with a few other types, including Executives, Security, and Volunteers. In order to accommodate future extensions to multiple personnel categories, incorporate the factory pattern so that after calling the createPersonnel method of the PersonnelFactory, the Personnel Directory calls the PersonnelFactory to return the appropriate personnel type.
1. Design the PersonnelFactory class to satisfy these requirements.
2. After you have incorporated the PersonnelFactory, draw the UML class diagram of the Personnel Directory
3. Implement the new PersonnelDirectory system that complies with class diagram in Part B above using Java.