Object Oriented Systems Analysis and Design Asg - Design Patterns Task For each of the two small case studies provided, decide on an appropriate pattern or patterns to support, and explain that decision. Then, come up with a design to implement that solution and document your solution with a class diagram. Finally, implement a small test application to demonstrate your solution. Show how your solution works to support the described use case with a sequence diagram. Deliverables For each case study: 1. A paragraph explaining what pattern or patterns you have decided are appropriate for the solution in a Word compatible word processed document. 2. A class diagram showing your intended implementation classes 3. A ZIP file containing all your implementation source code arranged in the appropriate package hierarchy. 4. A text file containing output demonstrating how your solution supports the described use case. Rationale This assignment relates to the following learning outcomes: • be able to evaluate and choose appropriate software design patterns to compose the design of a software system; • be able to demonstrate use of a Computer Aided Software Engineering (CASE) tool to document the models in a system Marking criteria Demonstrates an ability to evaluate a problem and choose an appropriate software design pattern. Demonstrates a sound understanding of the chosen software pattern. Demonstrates an ability to verify a design through implementation and testing. Demonstrates an ability to document a design using a CASE package. Criteria High Distinction Distinction Credit Pass Fail Demonstrates an ability to evaluate a problem and choose an software appropriate design pattern. Choice of pattern or patterns completely appropriate, well justified and explained. Choice of pattern or patterns appropriate reasonably well justified and explained. Choice of pattern or patterns generally appropriate and explained. Choice of pattern or patterns somewhat appropriate, and partially explained. Choice of pattern or patterns inappropriate, neither justified nor explained. Demonstrates a sound understanding of the chosen software pattern. Class diagram is completely consistent with chosen pattern or patterns. Implementation demonstrates completely correct use of patterns. Class diagram is mostly consistent with chosen pattern or patterns. Implementation demonstrates mostly correct use of patterns. Class diagram is generally consistent with chosen pattern or patterns. Implementation demonstrates generally correct use of patterns. Class diagram is somewhat consistent with chosen pattern or patterns. Implementation demonstrates somewhat correct use of patterns. Class diagram is inconsistent with chosen pattern or patterns. Implementation demonstrates incorrect use of patterns. Demonstrates an ability to verify a design through implementation and testing. Implementation exactly implements illustrated design. Test output comprehensively and unambiguously demonstrates correct operation. Implementation mostly implements illustrated design. Test output unambiguously demonstrates correct operation. Implementation generally implements illustrated design. Test output demonstrates correct operation. Implementation somewhat implements illustrated design. Test output partially demonstrates correct operation. Implementation does not implement illustrated design. Test output does not demonstrate correct operation. Demonstrates an ability to document a design using a CASE package. Class diagram exactly documents implementation with correct UML syntax. Sequence diagram exactly and correctly documents execution of software to support described use case. Class diagram almost exactly documents implementation with correct UML syntax. Sequence diagram almost exactly and nearly completely correctly documents execution of software to support described use case. Class diagram documents implementation with generally correct UML syntax. Sequence diagram fairly closely and generally correctly documents execution of software to support described use case. Class diagram somewhat documents implementation with partially correct UML syntax. Sequence diagram generally documents execution of software to support described use case. Class diagram fails to document implementation. Incorrect UML syntax. Sequence diagram fails to document execution of software to support described use case. Presentation Any text documents must be either in Word compatible Word processed documents, or standard ASCII text files. Class diagrams should be saved as high resolution PNG files (NOT JPG) and included in a word processed document or submitted as a separate file. Do NOT submit Visual Paradigm project (*.vpp) files. Source code should be packaged into a ZIP file that unpacks into the appropriate package structure. Requirements Submit a ZIP file containing all required documents and diagrams. Label the ZIP file with your NAME (e.g. JBloggs_Asg2.zip), NOT just an identifier for the assignment.