Pattern - Framework - UML
Pattern - Framework - UML
Patterns
• It is an instructive information that captures the essential
structure and insight of a successful family of proven
solutions to a recurring problem that arises within a certain
context and system of forces.
• Good Pattern will do the following:
• It solves a problem.
• It is a proven concept.
• The Solution is not obvious.
• It describes a relationship.
• The pattern has a significant human component.
Patterns
Patterns
Patterns Template
• Essential Components should be clearly recognizable on reading a
pattern:
• Name
• Problem
• Context
• Forces
• Solution
• Examples
• Resulting context
• Rationale
• Related Patterns
• Known uses
3/29/2021 5
Frameworks (1)
• Is a set of cooperating classes that make up a reusable
design for a specific class of software
• The framework dictates the architecture of your
application
• Emphasize design reuse over code reuse
• If applications hard to design, and toolkits are harder, then
frameworks are hardest of all
• A framework that using design patterns is far more likely to
achieve high levels of design and code reuse than one
that doesn’t
• Mature framework usually incorporate several design patterns
3/29/2021 6
7
Frameworks (2)
• Way of delivering application development patterns to
support best practice sharing during application
development.
• Can be viewed as the implementation of a system of
design patterns.
• Benefits of Frameworks:
• Reusability
• Modularity
• Extensibility
• Inversion of Control
3/29/2021 8
9
Model
• Model is an iterative process.
• It can represent static or dynamic situations.
Model
Static Dynamic
(UML)?
• The UML is a graphical / standard language for
• visualizing,
• specifying,
• constructing
• documenting
the artifacts of a software system
History of UML
• 1980 – 1990 Many different UML 1.0 (January 1997)
methodologies
1. Booch method by Grady Booch
UML 1.1 (November 1997)
2. Object Modeling Technique (OMT) by Jim
Rumbaugh
3. Object Oriented Software Engineering
(OOSE) by Ivar Jacobson UML 1.3 (Current Minor revision 1999)
UML 2.5
• Structure diagrams show the static structure of the system
and its parts on different abstraction and implementation
levels and how they are related to each other.
• The elements in a structure diagram represent the meaningful
concepts of a system, and may include abstract, real world and
implementation concepts.
• Behavior diagrams show the dynamic behavior of the
objects in a system, which can be described as a series of
changes to the system over time.
UML Diagrams Taxonomy
15
29/03/2021
16
Class Diagram
• Shows structure of the designed system, subsystem or
component as related classes and interfaces, with their
features, constraints and relationships - associations,
generalizations, dependencies, etc
29/03/2021
17
Taken from
http://www.uml-diagrams.org/
29/03/2021
18
Object Diagram
• Instance level class diagram which shows instance
specifications of classes and interfaces (objects), slots with
value specifications, and links (instances of association)
29/03/2021
19
Taken from
http://www.uml-diagrams.org/
20
Package Diagram
• Shows how model elements are organized into packages
as well as the relationships between the packages,
package, packageable element, dependency, element
import, package import, package merge.
29/03/2021
21
Taken from
http://www.uml-diagrams.org/
29/03/2021
22
29/03/2021
23
Taken from
http://www.uml-diagrams.org/
29/03/2021
24
Component Diagram
• Depicts the components that compose an application,
system, or enterprise.
• The components, their interrelationships, interactions, and
their public interfaces are depicted
29/03/2021
25
Taken from
http://www.uml-diagrams.org/
29/03/2021
26
Deployment Diagram
• Shows architecture of the system as deployment
(distribution) of software artifacts to deployment targets.
• This includes nodes, either hardware or software execution
environments, as well as the middleware connecting them
29/03/2021
27
Taken from
http://www.uml-diagrams.org/
29/03/2021
28
Profile Diagram
• Auxiliary UML diagram which allows to define custom
stereotypes, tagged values, and constraints as a
lightweight extension mechanism to the UML standard.
Profiles allow to adapt the UML metamodel for different
• platforms (such as J2EE or .NET), or
• domains (such as real-time or business process modeling)
29/03/2021
29
Taken from
http://www.uml-diagrams.org/
29/03/2021
30
29/03/2021
31
Taken from
http://www.uml-diagrams.org/
29/03/2021
32
Activity Diagram
• Shows sequence and conditions for coordinating lower-
level behaviors, rather than which classifiers own those
behaviors.
• These are commonly called control flow and object flow
models
29/03/2021
33
Taken from
http://www.uml-diagrams.org/
29/03/2021
34
29/03/2021
35
Taken from
http://www.uml-diagrams.org/
29/03/2021
36
Sequence Diagram
• Most common kind of interaction diagrams which focuses
on the message interchange between lifelines (objects).
29/03/2021
37
Taken from
http://www.uml-diagrams.org/
29/03/2021
38
Communication Diagram
• Focuses on the interaction between lifelines where the
architecture of the internal structure and how this
corresponds with the message passing is central. The
sequencing of messages is given through a sequence
numbering scheme.
29/03/2021
39
Taken from
http://www.uml-
diagrams.org/
29/03/2021
40
29/03/2021
41
Taken from
http://www.uml-
diagrams.org/
29/03/2021
42
Timing Diagram
• Depicts the change in state or condition of a classifier
instance or role over time.
• Typically used to show the change in state of an
object over time in response to external events.
• It focuses on conditions changing within and among
lifelines along a linear time axis
29/03/2021
43
Taken from
http://www.sparxsystems.com/enterprise_architect_user_guide/10/standard_uml_models/timingmessage.html
29/03/2021