Software architecture and design patterns MODULE 1 (1)
Software architecture and design patterns MODULE 1 (1)
Module 1
Design Pattern:
1. Pattern Name
2. Intent
Example (Singleton): "Ensure that a class has only one instance and
provide a global point of access to it."
3. Motivation
5. Participants
Lists the classes and objects involved in the pattern and their roles.
6. Collaborations
Describes how the participants of the pattern interact and how the
pattern achieves its goal through these interactions.
7. Applicability
Details when and where the pattern is most useful. This includes
specific conditions or problem types where the pattern offers a good
solution.
1. Reusability
2. Maintainability
3. Scalability
5. Performance Optimization
6. Concurrency
Selecting the right design pattern depends on the problem you are
trying to solve. Here are steps to help guide the selection process:
1. Understand the Problem
Strategy: Use when you have multiple algorithms and you want
to select one at runtime.
Look at the UML diagram and class structure of the chosen pattern to
understand how components interact.
Follow the structure of the pattern and apply it to your code. Create
classes/interfaces that align with the pattern’s structure.
Here are some of the key UML diagrams used to describe object-
oriented systems:
1. Class Diagram
2. Elements:
3. Sequence Diagram:
Elements:
Elements:
5. State Diagram
Elements:
6. Activity Diagram
Transitions: Arrows showing the flow from one activity to the next.
Overview of the analysis phase:
Analysis Phase
Gathering the requirements functional
Requirement specification: