Sie sind auf Seite 1von 4

Design Patterns Individual Assignment Page 1 of 4

Design Patterns
Coursework

The coursework is 50% of the assessment for the module.

Learning Outcomes

1. Apply design patterns appropriately in realistic applications using an object


oriented programming language.
2. Critically evaluate an example implementation of design patterns in a
programming language.

Assessment Criteria

IMPORTANT: This is an individual assignment, all submitted components must be


your own work or appropriately accredited. You are encouraged to make any
assumptions you deem necessary when analysing the requirements outlined in the
question, however, these must be clearly stated in the report.

Your report should address the following three sections:-

Section 1: Research (30 marks)


Section 2: Implementation (30 marks)
Section 3: Analysis and Discussion (40 marks)

PLAGIARISM: Verbatim reproduction of material from external sources (web


pages, books, papers, etc.) is not acceptable. If you are paraphrasing external content
(or even your own prior work) or were otherwise influenced by them while
completing your assignments, projects or exams, you must clearly acknowledge them.
When in doubt, add a citation.

Deliverables

The assignment deliverable includes a report structured according to the tasks


of the assignment.
You should submit a hardcopy and an electronic copy of the assignment.
All of your referenced work should be cited properly.
The electronic copy of your assignment should contain a folder named
Referenced Articles which should contain the journals and articles
referenced in the assignment.
Instructions on how to install and run the program should be provided in an
Appendix.

Level 3 Asia Pacific University of Technology and Innovation 2017


Design Patterns Individual Assignment Page 2 of 4

Problem Description

Delivering quality software products to the users is among the utmost important
requirements of any organization to succeed as well as to sustain from competitive
pressure. One of the very significant quality model presented by Jim McCall (also
known as the General Electrics Model of 1977) details 11 Quality Factors that
describe the external view of the software, as viewed by the users.

Following are 10 (out of 11) quality factors stated by McCall which are crucial for
any given application.
1. Usability: The ease of using software.
2. Integrity: The protection of program from unauthorized access.
3. Efficiency: The usage of system resources, like processor time, memory.
4. Reliability: The systems ability of not to fail.
5. Maintainability: Effort required to locate and fix a fault in the program within
its operating environment.
6. Testability: The ease of testing program to ensure that it is error-free and meets
its specification, i.e, validating the software requirements.
7. Flexibility: The ease of making changes required as dictated by business by
changes in the operating environment.
8. Reusability: The ease of reusing software in a different context.
9. Portability: The effort required to transfer a program from one environment to
another.
10. Interoperability: The effort required to couple the system to another system.

Many studies indicate that design patterns improve the quality of object-oriented
software systems. You are required to choose one of the stated quality attribute based
on the last digit of your TP number (for instance a student having TP number
TP029207 will choose Flexibility for his/her assignment) and justify with the help
of empirical evidence that the use of design patterns help in improving the selected
quality factor.

Section 1 (30%) Research

Description
In this section you are supposed to research the chosen quality attribute and its
implications on software architecture. Moreover you need to investigate the effects of
applying design patterns in terms of the chosen quality attribute.

This section of your report should include the following:

Abstract (5%) A self-contained, short, and powerful statement/brief that


describes your work. It may contain the scope, purpose, results, and contents
of the work.

Introduction (5%) - The purpose of your report. Background information


about the topic. You also have to place some brief details of your methods
applied for the study. Include an outline of the structure of the report.

Level 3 Asia Pacific University of Technology and Innovation 2017


Design Patterns Individual Assignment Page 3 of 4

Literature Review (20%) - Carefully structure your findings. It may be


useful to do a chronological format where you discuss from the earliest to the
latest research, placing your research appropriately in the chronology.
Alternately, you could write in a thematic way, outlining the various themes
that you discovered in the research regarding the topic.

Section 2 (30%) Implementation

Description
In this section, you are required to provide a sample application design using UML
class diagram and implement it using Java programming language. Then you will
need to refine the UML design using two appropriate design patterns and implement
the refined design again for comparison. The selection of the design patterns should
be made by considering the the chosen quality attribute.

This section of your report should include the following:

Design and Implementation using Simpler Solution (10%) Use UML for Design
and Java for implementation.

Design and Implementation using First Design Pattern based Solution (10%) -
Use UML for Design and Java for implementation.

Design and Implementation using Second Design Pattern based Solution (10%) -
Use UML for Design and Java for implementation.

Section 3 (40%) Analysis and Discussion

Description
In this section, you are required to present detailed results based on the evaluation of
design pattern based solutions and their equivalent simpler solutions (i.e., solutions
without using design patterns) so as to quantify which of them is more suitable
towards improving the selected quality attribute.

To further elaborate this context, you can assume that there are two different design
solutions, S1 and S2 exists for a single problem in designing a software product.
Obviously before applying a solution, a software engineer needs to know that
applying S1 would be more appropriate than applying S2, or vice versa, in terms of
the chosen quality attribute. A good software engineer should measure both S1 and S2
beforehand (in terms of the selected quality attribute) by using specific metrics made
for this very purpose. The resulted quantified values would assist him/her to select the
better design inclined towards improving the chosen quality attribute and contributing
to improve the overall software quality.

You are also required to provide the empirical evidence to support the claims of
improved quality factor when applying design patterns. Use an experimental-based
evaluation technique. The measurements and evaluation processes should be clearly
stated and formulated into a guideline.

This section of your report should include the following:

Level 3 Asia Pacific University of Technology and Innovation 2017


Design Patterns Individual Assignment Page 4 of 4

Measuring technique(s) for the Selected Quality Attribute (10%) - State


appropriate measuring technique(s) for calculating an empirical value of the
selected quality factor. Cite the references accordingly.

Analysis of the Results (15%) - This is where you compare and contrast the
results of the design pattern based solutions with their equivalent simpler
solutions.

Discussion (10%) Discuss the results and impact of using the design
patterns on the selected quality attributes.

Conclusion (5%) In this section you need to conclude your findings.

Level 3 Asia Pacific University of Technology and Innovation 2017

Das könnte Ihnen auch gefallen