Trusted by Students Everywhere
Why Choose Us?
0% AI Guarantee

Human-written only.

24/7 Support

Anytime, anywhere.

Plagiarism Free

100% Original.

Expert Tutors

Masters & PhDs.

100% Confidential

Your privacy matters.

On-Time Delivery

Never miss a deadline.

Assignment 5 Description Your task is to study a real-world software project source code and find at least three design pattern usages in the source code

Computer Science Dec 10, 2022

Assignment 5

  1. Description

Your task is to study a real-world software project source code and find at least three design pattern usages in the source code. Write a short text describing where the design pattern in the code is used (which are the participants), how it works as one of the specified design patterns and how it is implemented. \

You can select one of the following two open-source projects:

              1. JHotDraw 7 http://www.randelshofer.ch/oop/jhotdraw/

JHotDraw 7 is a two-dimensional graphics framework for structured drawing editors.

              1. Twitter4J is an unofficial Java library for the

Twitter API http://twitter4j.org/en/.

Source Code of the Twitter4J project is available on GitHub page https://github.com/yusuke/twitter4j/ you can clone the project or download it as a zip file

Twitter4J is an unofficial Java library for the Twitter API.

 You can download the source code or use git or svn to download and create a local clone of the project. You can read the READ.ME of the project to find out how to compile the project.

 

  1. Tasks
    1. Task 1 - Studying the code and finding the design patterns

Provide a description of how the design pattern is used in the project. For each design pattern you should

 

1. describe which class or interface is playing which role in the design pattern

2. write some sentences about the collaboration between the roles as found in this source code.

3. describe where you can easily add another class (If applicable). Typically, there are one or two locations in the design pattern, where you can easily add another class. Find this location and describe why it is easy and useful to add another class.

 

    1. Task 2 - UML Class Diagram

Produce a UML class diagram that shows the usage of the used design pattern in the project code.

Tips: -

  • Binding the project in your favorite IDE (e.g., eclipse or IntelliJ) can help to study the code. You can use some of the IDE features like “search references”.
  • Be smart. Don’t read too much code, but search e.g., for typical words, or just scan over the class names.
  • It may help to use some of the IDE plugins to automatically generate UML diagrams from code. You may want to use plugins like Object Aid http://www.objectaid.com/

 

 

    1. Task 3 - Implement your solution in Java
  • Provide a zip file that includes your implementation package.

The zip file should include a README.md file that describes how to compile and run your implementation. Create a Zip file from the root of your working directory so that it includes all subdirectories of your project. Remove the binary files before creating the zip files.

  • Your zip file should not be larger than 10MB, include only source files of your project but not the binaries that you generated.
  • Document your code very well. The best way to write documentation inside your code is to write the code while you are implementing the project and not postpone it to later time.
  • Each class should have a description before the implementation
  • You should use the Google Java Style Guide (https://google.github.io/styleguide/javaguide.html)
  • We should be able to compile your solution using “mvn compile” command.
Archived Solution
Unlocked Solution

You have full access to this solution. To save a copy with all formatting and attachments, use the button below.

Already a member? Sign In
Important Note: This solution is from our archive and has been purchased by others. Submitting it as-is may trigger plagiarism detection. Use it for reference only.

For ready-to-submit work, please order a fresh solution below.

Or get 100% fresh solution
Get Custom Quote
Secure Payment