Directory Management System Project

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:

  • ? Evaluate an object-oriented design in the form of a class diagram
  • ? Identify object-oriented design violations
  • ? Use proper UML design tools to develop class diagrams
  • ? Refactor a given code to eliminate object-oriented design violations, including coupling,

    cohesion, and object design principles

  • ? Implement Java code based on a UML class diagram

    Technology Requirements:

  • ? Astah
  • ? Java
  • ? PDFConversionTool

    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.

  1. 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.
  2. Refactor the code to remove the object-oriented concept violations, common coupling, control coupling, and content coupling issues?without?removing any intended system functionalities.
  3. Save and submit your refactored code as a zip file titled “Last Name_First Name_Directory Management System Project_Phase I_Part 3_Submission”.

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:

  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 using Astah. Take a clear screenshot and include it in the Directory Management System Phase II Submission in the provided space. Submit this as a PDF titled “Last Name_First Name_Directory Management System Project_Phase II_Submission”.
  3. Implement the new PersonnelDirectory system that complies withtheclass diagram in Part B above using Java. Submit your files as a single zip file titled “Last Name_First Name_Directory Management System Project_Phase II_Part 3_Submission”.

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

Vie

Solution:

Looking for help with your homework?
Grab a 30% Discount and Get your paper done!

30% OFF
Turnitin Report
Formatting
Title Page
Citation
Place an Order

Calculate your paper price
Pages (550 words)
Approximate price: -