Assignment Title: Design Patterns & Architecture Design and
Assignment weighting: 100%
Module Learning Outcome/s
Covered: (Refer to module
syllabus)
LO1 Create a flexible object-oriented design for a
sequential system
LO2 Make effective use of a variety of design
patterns and be able to understand new
patterns
LO3 Compare the characteristics of the main types
of object-oriented and component-based
architectures
LO4 Understand a variety of architectural styles
and how they may be combined in a single
system
LO5 Evaluate the features of object-oriented and
component frameworks and service-based
architectures
Assignment Brief and Assessment Criteria:
See attached.
Assessment Criteria
INDICATIVE MARKING CRITERIA AND CONTRIBUTING
FACTORS
WEIGHTING
Design Patterns
• Identification of design patterns
• Illustrating the use of patterns with UML
• Advantages and disadvantages discussions
Requirements
• Use Cases and their descriptions
• Quality Attribute Scenarios
(20%)
(20%)
2
Architectural elements and UML Architectural Diagrams
• Identification of architectural elements and their interfaces
• Usage of UML architectural diagrams
• The identification and usage of appropriate architectural
styles/patterns
• The choice of architectural views and their correctness
(50%)
Individual Reflective Report (10%)
Date of issue: 03/10/2022
Deadline for submission: 12/01/2023 at 15:00
Method of submission: Electronically through My Studies (Student Central).
Date feedback will be
provided
09/02/2023
1. A copy of your coursework submission may be made as part of the University of Brighton’s and School of
Computing, Engineering & Mathematics procedures which aim to monitor and improve quality of teaching.
If a copy is made, it will be kept only for this purpose and will be destroyed once this purpose has been
fulfilled. You should refer to your student handbook for details.
2. All work submitted must be your own (or your team’s for an assignment which has been specified as a
group submission) and all sources which do not fall into that category must be correctly attributed. The
markers may submit the whole set of submissions to the JISC Plagiarism Detection Service.
3
Overview
System Description: Travel Booking Agency Web Portal
The ABC travel agency is willing to develop a web portal which provides customers with
online services. Each user of the web portal can search for flights, hotels or car hiring facilities
or all together (i.e., search flight+hotel, hotel+car hiring). They can also make a search and
purchase the products. A user is given the option to login in or to not when searching for
flights, hotels of car hiring. However, the customer has to login by using his/her user name
and password when purchasing.
Each customer has to register in the web portal. Registered users have a profile which saves
his/her name, address, billing details, email, and some preferences such as preferred
countries he/she like to visit, cities he/she usually travels to, or the usual times that he/she
make trips. The preferences of a customer are known incrementally by the history of the
customer.
The customer can update his information at any time when he/she logs in.
When there is a flight, hotel, or car hiring offer that is compatible with a customer profile the
system sends an email to the customer with the details.
ABC travel agency deals with many flights, hotel and car hiring companies. These can be
removed or added when the ABC travel agency decides.
The customer can perform the bookings by using his/her credit card. The credit card system
is an external system which verifies that the credit card details are correct and debits users
accounts.
The web portal interface can also be accessible through mobile phones such as an iphone
and google android mobile platforms.
Possible Quality Attributes:
• Security
• Scalability
• Modifiability
• Performance
• Availability
Work to be done
The task involves three parts.
• The first part is to identify five different design patterns that can be used for the design
of the web portal. These should be documented using the UML that clearly shows the
participants in the patterns and how they communicate to solve design problems.
• The second part is to design and document the architecture of the ABC travel agency
system. The deliverable is the Software Architecture Document.
The task includes the identification of possible architectural elements of the system and
design UML architectural diagrams. The interfaces of the components should also be
specified as well as the dependency between them.
For the requirements, specify the use cases and the quality attribute scenarios. For each
quality attribute (above) specify one quality attribute scenario.
• The third part: An individual reflection report that provides an informal argument or
rationale that the chosen architecture indeed can be implemented. Here the connection is
made with technology, that is, existing software/systems, previous implementations, and
experience, alternative solutions, etc.
4
Hand In
The work to be handed in as a single file (PDF or word document, between 15-25 pages
including the diagrams) that contains the three parts and should be structured as follows:
Deliverable for part 1: Design Patterns
1. The identified design patterns used for the ABC travel agency system, associated UML
diagrams (such as class and sequence or communication diagrams), advantages, and
disadvantages of using the patterns in the context of the current system.
Deliverable for part 2: Software Architecture Document
1. Identification of Architectural Elements (Components and Connectors). This to also
include details of the interfaces of components.
2. Architecture and Design Diagrams (Must Include but not limited to:)
a. Package Diagram.
b. Component Diagram
c. Deployment Diagram.
d. Sequence or communication diagrams
3. Architecture Requirements
a. Quality Attribute Scenarios
b. Use Cases and their descriptions
4. Architecture Solution by using Architectural Styles
a. Architectural Styles and Patterns Used
i. Reason for using it
b. Views of the Architecture after applying an architectural style
i. Presentation using an appropriate diagram
ii. Reason for using it
5. References/Bibliography
Deliverable for part 3: Reflection Report (up to 2 pages)
5
>= 70 60-69 50-59 40-49 30-39 < 30
Design Patterns (20%) A very clear rationale of
why the identified patterns
are suitable to solving the
problems together with
clearly illustrated UML
diagrams and convincing
advantages and
disadvantages.
Most patterns used are
suitable for solving the
problems with good and
clear explanation and
illustration using UML.
Most patterns used
are suitable for
solving the
problems with
sound explanation
and mostly correct
illustration.
Adequate
explanations
and illustration
for the chosen
patterns
The patterns chosen are
not suitable or the
explanations and
illustrations are limited
Lack of
understanding of
why the patterns
solve the
particular
problems.
Architectural Requirements
(20%)
• Use Cases
• Quality Scenarios
A very clear and wellpresented and complete
usecase model with
appropriate usecase
scenarios. Very clear
quality attribute scenarios
covering various quality
attributes.
Good and clear usecase
model with correct usecase
descriptions. Good and clear
quality attributes scenarios
with clear motivation.
Sound usecase
model that includes
most usecases and
mostly accurate
descriptions.
Appropriate
identification of
quality attribute
scenarios with
correct
documentation.
Adequate
usecase model
that include
some of the
relevant
usecases with
accurate
descriptions.
Adequate
description of
quality attribute
scenarios.
Limited number of
usecases with partially
correct descriptions.
Quality attribute
scenarios not relevant
to the architecture or
very limited.
Limited
understanding of
usecase models
and quality
attributes for the
architectural
requirement.
UML Architectural Diagrams
(50%)
• Identification of architectural
elements
• Usage of UML architectural
diagrams
• The identification and usage of
appropriate architectural styles
• The choice of architectural
views and their correctness
Excellent architectural
model that incorporates
relevant software
components and their
relations. Excellent use of
UML architectural diagrams
to represent the model with
evidence of identifying and
using architectural styles
and patterns. Very clear
identification of views
Good architectural model
that includes most relevant
software components, their
description and their
connections. Good use and
understanding of
architectural styles and
patterns within the
architecture. The notation is
mostly correct. Correct
identification of some
views.
Sound architectural
model that includes
some of the
relevant software
components with
sound description
and representation.
Incorporation of
some architectural
styles.
Adequate
architectural
model
incorporating
some of the
software
components
with largely
correct
descriptions.
Limited or
incorrect use of
architectural
styles and
patterns.
Some aspects of the
architectural model are
adequate, but
descriptions are poorly
presented with
inaccuracies and
misunderstandings.
Very weak
architectural
model with
various elements
missing or
described
incorrectly.
6
Individual Reflective Report
(10%)
Excellent reflection on the
technologies that can be
used to implement the
architecture, and on
alternative solutions,
architectural styles
Good and clear reflection
and understanding of the
technologies and
architectural styles used.
Sound reflection on
the technologies
and architectural
styles used. Mostly
correct with respect
to the design.
Brief but
adequate
reflection with
some aspects
missing.
Limited and superficial
reflection.
very poor
understanding of
appropriate
technologies
and/or lack of
reflection.