Directory Management System Project
Purpose:
Students will evaluate a system with object-oriented design and coupling violations. Students will gain hands-on experience with improving the software system’s quality and modifiability by refactoring the system to remove object-oriented design and coupling issues without changing the system’s intended functionality.In addition to providing anexcellent opportunity to gain further exposure to the topics discussed in the unit (including object-oriented application design, modularity, coupling, and cohesion), students completing this project will also get to develop UML class diagrams that represent the design and implement object-oriented design in Java.
Objectives:
Students will be able to:
cohesion, and object design principles
Technology Requirements:
Project Overview:
Phase I:Evaluate the given design’s object-oriented design and coupling violations
Phase II:Apply a design pattern and refactor the design and implementation using JavaProject Description:
Review the Personnel Directory Management System implementation provided in the project downloads. This implementation has several object-oriented concept violations and coupling
issues.
Submission Directions for Project Deliverables
Use the Directory Management System Submission documents to submit the diagrams and responses in Phases I and II. Save the submissions as asinglePDF titled “Last Name_First Name_Directory Management System Project_Phase I_Submission” for Phase I and “Last Name_First Name_Directory Management System Project_Phase 2_Submission” for Phase II.
For Phase I Part 3, submit your refactored code files as a?separate?zip file titled “Last Name_First Name_Directory Management System Project_Phase I_Part 3_Submission”.
For Phase II Part 3, submit your code files as a separate zip file titled “Last Name_First Name_Directory Management System Project_Phase II_Part 3_Submission”.
Phase I – Directions:
Refer to the Directory Management System Submission document to complete Phase I Parts 1 and 2.
1. Use the Astah tool to draw the class diagram for the current implementation of the university system. Use correct UML notations. When you have completed the diagram,
take a clear screenshot and paste it into the Directory Management System Submission Phase I document.
Phase II – Directions:
In the current implementation, two types of personnel objects havebeendeveloped: 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.
Directions:
Rubric:
Phase I Rubric
No Attempt -or- Undeveloped | Developing | Approaching | Meets | |
Part1
UML class diagram of Directory Management System |
No submission or submits the incorrect UML class diagram. | Diagram has several incorrect UML notations or did not use modeling tool (Astah). | Diagram correctly identifies most of the major objects; contains a few incorrect UML notations. | Uses proper UML notations and modeling tool (Astah) to draw the class diagram. |
Part 2
Identification of object oriented design concept violations and explanations for how to solve them |
No submission or the submission does not correctly identify the violations or explanations for how to solve them. | Some violations are identified, but several major violations or explanations for how to solve them are missing. | Most major violations are correctly identified and include explanations for how to solve each violation. | All major violations are correctly identified and include explanations for how to solve each violation. |
Part 3-4
Refactored implementation to eliminate object-oriented concept violations identified Phase I part 2 |
No modified implementation submitted or the code submitted does not correctly remove violations. | Modified implementation correctly removes only a few violations. | Modified implementation correctly removes a majority of the violations. | Modified implementation correctly removes all violations. |
Phase II Rubric
No Attempt -or- Undeveloped | Developing | Approaching | Meets | |
Part 1-2
Design of the PersonnelFactory and the UML class diagram of the Directory Management System that includes PersonnelFactory |
No submission or Submission did not include the modified Directory Management System with the PersonnelFactory. | Modified Directory Management System includes the PersonnelFactory, but has major flaws. | Modified Directory Management System includes the PersonnelFactory, but has minor flaws. | Submitted the modified Directory Management System with the correct PersonnelFactory |
Part 3
Directory Management System implementation (code) that incorporates PersonnelFactory design in part 1 and above |