Assignment: Patterns Everywhere

This is a group exercise. Start with an assignment from a previous course (preferably, one that all team members have already taken) and identify several patterns that can be applied to that assignment. Some assignments that might be interesting:

In all cases, feel free to introduce your own designs. You are not constrained by any class models we gave you.

Feel free to pick a different assignment, but your instructor must approve. Do not spend a lot of time picking the “best” assignment - just go with the first one that looks reasonable.

Do the following:

  1. Identify the domain and sketch its UML class diagram, focusing more on classes and their relationships than attributes and methods. Do not use Enterprise Architect. As mentioned above, feel free to restructure the problem slightly. For example, you may want to introduce traffic lights and signs giving directions into the parking lot problem so it has a richer domain.

  2. Identify more patterns than there are people in your group. Pick patterns that are reasonable to apply to the chosen problem. The patterns need not be limited to the ones discussed in class. For example, you use a cloud pattern or a pattern being demonstrated in the end-of-semester projects.

  3. Of the identified patterns, draw diagrams illustrating how the pattern would be applied in this project. Each student is to draw at least one of these, though some students will draw more than one. You may combine different patterns into a single diagram. For each diagram the team submits, document who drew that diagram. We will use this information to ensure all partners contribute.

  4. For each pattern, write a few sentences explaining

    • How the pattern is being used in the problem
    • Justifying the use of this pattern (in a sentence or two)
    • Any negative consequences of using this pattern
  5. At the top of the first page, write the team members and the name of the project that you picked.

  6. Have the full team review all diagrams for errors.

Use a phone to take high quality pictures of the patterns or scan them in with the campus printer. Combine them into a single document, convert the document to .pdf format, and upload that to Canvas.