Description
TASKS:
Applying N===2 design patterns, which must be selected from the patterns we learned during this course, to your target solution of Assessment 2
1 Identifying the target block of code with design problems, which intends to be modified in your target solution of Assessment 2 (3 * N marks)
1.1 The locations (i.e., code reference) of the target block of code (1 * N marks)
1.2 The (before-design-pattern) class diagram of the target block of code (2 * N marks)
2 Development of testing code (4 * N marks)
2.1 Developing a set of testing code for all observable external behaviours of the target block of code in your target solution of Assessment 2. All tests should be able to be triggered through running a single Python file. And your testing code developed needs to pass PEP8 check. (2 * N marks)
2.2 Using coverage package to generate the HTML-version report to demonstrate your developed testing code has 100% branch coverage for the target block of code (2 * N marks)
3 Design (3 * N marks)
3.1 The name of the design pattern, which you intend to apply into the target block of code identified (1 * N marks)
3.2 The (after-design-pattern) class diagram of the target block of code after your proposed modification. All the components in the corresponding design pattern structure stated in our design pattern textbook must be explicitly labelled in your (after-design-pattern) class diagram. (2 * N marks)
4 Refactoring by design patterns (11 * N marks)
4.1 Applying the design pattern proposed into the target block of code identified. Your solution needs to pass PEP8 check. (10 * N marks)
4.2 Version control via an online repository (1 * N marks)
5 Evaluation (4 * N marks)
5.1 Demonstrating that the refactored code has the same observable external behaviours of the original target code by passing the same (or updated) set of tests developed at Task 2 above (2 * N marks)
5.2 Using coverage package to generate the HTML-version report to demonstrate that the same (or updated) set of tests can still have 100% branch coverage for the refactored code. (2 * N marks)
PART B TOTAL MARKS: 50 MARKS
Evaluation and Discussion
TASKS:
Evaluate and discuss how your solution in Part A of this assessment effectively uses the N design patterns to solve the design problems existing in your target solution of Assessment 2.
Please note that 15 different knowledge points are expected to be referred to and explained with your code in your answer of Part B. Please use only one of the N design patterns applied in your solution for Part A when you explain a single knowledge point. Using two of the design patterns to explain a same knowledge point will not double up the marks for that knowledge point.
Please provide your answers in a concise fashion and be straight to the point. The style of bullet points is fine.
Suggestions
To address a single knowledge point with your code, 4 things should be addressed:
(a) The knowledge point, which guides you to find the solution to the problem; It is expected to be directly found and quoted from our design pattern textbook. Please note that a knowledge point should be a sentence at least. It is also wrong to quotes paragraphs in your answer as well.
(b) The problem, which describes a design problem in your target solution of Assessment 2; Expect to see code snapshots plus description/explanation.
(c) The solution statement, which describes your solution to the design problem identified above. The solution can be a part or one of the design patterns applied in Part A. Expect to see code snapshots plus description/explanation.
(d) Effectiveness, which is to analyse how your solution effectively solves the design problem by using the knowledge point.
Your answers for Items b) – d) MUST be specified/ customized for the particular situation of the code involved, i.e., do not just give generic statements. Generic statements can be easily found in textbooks and internet and not be able to demonstrate your understanding at all.



Reviews
There are no reviews yet.