SFWR 4SA3 – Software Architecture – Assignment #4
software-architecture代写 5% of total course gradeDue dateMonday July 5th at 11:59pmPrimary Learning ObjectivesDocumentand analyze a design pattern···
Weight software-architecture代写
5% of total course grade
Due date
Monday July 5th at 11:59pm
Primary Learning Objectives
- Documentand analyze a design pattern
- Describedesign pattern usage options
- Re-factorcode to conform to a design pattern
- Extendan implementation of a design pattern
Requirements software-architecture代写
For parts C and D see the AS4StarterCode.zip file on Avenue to Learn.
Part A – Proxy pattern
There are many design patterns that we have not covered. One popular pattern is the Proxy pattern. Research and explain the Proxy pattern.
Define the Proxy pattern, i.e. what are the features that make it notable. Create a UML diagram to document the Proxy pattern. Discuss possible use cases for the Proxy pattern, i.e. when does it make sense to use the pattern.
Part B – Design pattern usage Software Architecture代写
A program must try to use several searching algorithms to search a document to get some desired information, but the designer of the program does not know which searching algorithm will find the desired information.
Describe how the Strategy pattern could be used to design the program.
Describe how the Chain of Responsibility pattern could be used to design the program.
Part C – Design pattern re-factoring software-architecture代写
Refactor the code found in refactor.py to use the Decorator pattern.
Bonus: Design pattern implementation
Extend the Composite pattern found in composite.py and add a new operation that will return the total number of files in a component. For a single file, this should be 1, but if the component is a folder than the number of files should be the sum total of any files contained in the folder and in all of its subfolders. Write code to test that this method is working.
Submission
Upload a zip folder called as4.zip containing a PDF document with the answers to Part A and Part B, a file called refactor.py with the solution to Part C, and a file called composite.py with the solution to bonus (if you complete the bonus). The maximum grade on the assignment will be 100 marks even if the bonus is completed.
Marking rubric software-architecture代写
Component | Description | Marks |
Part A | Definition of Proxy pattern with notable features (10 marks), UML diagram (10 marks), and uses cases for the pattern (10 marks). | /30 |
Part C | Strategy pattern based design description (15 marks) and Chain of Responsibility based design description (15 marks) | /30 |
Part C | Re-factored code to use Decorator pattern. | /40 |
Bonus | New operation to return the total number of files for a component. | /30 |
Total: | /100 |