Question Description
Question 1 – Reflection on Patterns – 10 marks
For the use case analysed in Question 2 of Assignment 2 identify and explain the pattern/s used and justify the decision to use that/those pattern or patterns.
Question 2 Pattern Implementation – 50 marks
Implement the controller and domain entity classes necessary to support at least the normal flow for the use case described in Question 2 Assignment 2 according to your design (or the design provided). Implement a test harness for the controller class which simulates and displays input from boundary classes and then receives and displays the system responses.
Question 3 – Reflect on the role of Design Processes within the SDLC- 40 Marks
Describe and discuss the role and timing of design processes within the SDLC with specific reference to:
- Software Architecture
- Database Design
- User Interface Design
- Use Case Realization
- Detailed Design
Rationale
This assessment task will assess the following learning outcome/s:
- be able to analyse and verify system requirements.
- be able to produce and verify analysis and design models for a system.
- be able to evaluate a problem and determine the appropriate architectural style for the solution.
- be able to evaluate and choose appropriate software design patterns to compose the design of a software system.
Marking criteria and standards
Question 1: Reflection on Patterns – 10 marks |
||||
Criteria |
High Distinction |
Distinction |
Credit |
Pass |
Mark |
8.5-10 |
7.5-7.4 |
6.5-7.4 |
5.0-6.4 |
How well does the identification and explanation reflect an understanding of software patterns? |
Identification of pattern or patterns correct, well justified and well explained. |
Identification of pattern or patterns correct, somewhat justified and well explained. |
Identification of pattern or patterns generally correct, and somewhat explained. |
Identification of pattern or patterns partially correct, and somewhat explained. |
Question 2: Pattern Implementation – 50 marks |
||||
Criteria |
High Distinction |
Distinction |
Credit |
Pass |
Mark |
42.5-50 |
37.5-42.4 |
32.5-37.4 |
25.0-32.4 |
How well does the implementation reflect an understanding of mapping a design into code? |
Implementation exactly implements the illustrated design. Implementation closely follows good object-oriented design principles. Implementation closely follows good coding style guidelines. |
Implementation mostly implements the illustrated design. Implementation mostly follows good object-oriented design principles. Implementation mostly follows good coding style guidelines. |
Implementation generally implements the illustrated design. Implementation generally follows good object-oriented design principles. Implementation generally follows good coding style guidelines. |
Implementation partially implements the illustrated design. Implementation partially follows good object-oriented design principles. Implementation partially follows good coding style guidelines. |
Code style Guidelines:
- Meaningful variable names
- Good use of space to provide visual separation of logical blocks of code
- Correct use of commenting neither too sparse or too dense
- Consistent indentation
- No extraneous or fossil code
- Variable names are nouns and start with lower case character
- Class names are nouns and start with an Uppercase character
- Variable and class names use camelCase convention and apply it consistently
- No numeric literals
- Capitalised constant variables
- Minimal use of end-of-line comments
- No needless repetition
- No testing of complement in selection structures
- Meaningful method names that are action statements
Q3 – Reflect on the role of Design Processes within the SDLC – 40 marks |
||||
Criteria |
High Distinction |
Distinction |
Credit |
Pass |
Mark |
34.0-40.0 |
30.0-34.9 |
26.0-29.9 |
20 25.9 |
How well does the reflective discussion demonstrate a correct understanding of the role and application of design processes within an iterative software development process? |
Discussion demonstrates a detailed, clear, comprehensive, and correct understanding of the role and timing of the processes involved in defining a software architecture, determining a database design, designing a user interface, use case realization, and detailed design within an iterative software development process. |
Discussion demonstrates a correct understanding of the role and timing of the processes involved in defining a software architecture, determining a database design, designing a user interface, use case realization, and detailed design within an iterative software development process. |
Discussion demonstrates a generally correct understanding of the role and timing of the processes involved in defining a software architecture, determining a database design, designing a user interface, use case realization, and detailed design within an iterative software development process. |
Discussion demonstrates a partially correct understanding of the role and timing of the processes involved in defining a software architecture, determining a database design, designing a user interface, use case realization, and detailed design within an iterative software development process. |
Presentation
All text and all diagrams should be concatenated and presented in a single MS Word compatible word processed document.
Diagrams should be exported as a high resolution PNG image file before incorporation into the word processed document.
Source code should be packaged into a ZIP file that unpacks into the appropriate package structure.
It is the student’s responsibility to ensure that all diagrams in their submission are readable.
It is also the students responsibility to ensure that only ZIP files are used for source code. No other compression format is acceptable. 7ZIP, RAR and other file format users please take note.
Requirements
It is necessary to prepare diagrams using a CASE tool that produces UML compatible diagrams.