0% found this document useful (0 votes)
81 views

Pattern - Framework - UML

The document discusses patterns, frameworks, and the Unified Modeling Language (UML). It defines patterns as solutions to recurring problems in software design. It describes different types of patterns and provides a template for documenting patterns. It explains that frameworks implement patterns and provide reusable designs for software. The document also provides an overview of UML, including its history and common diagram types used to model different aspects of software, such as classes, objects, components and deployments.

Uploaded by

Ghally
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views

Pattern - Framework - UML

The document discusses patterns, frameworks, and the Unified Modeling Language (UML). It defines patterns as solutions to recurring problems in software design. It describes different types of patterns and provides a template for documenting patterns. It explains that frameworks implement patterns and provide reusable designs for software. The document also provides an overview of UML, including its history and common diagram types used to model different aspects of software, such as classes, objects, components and deployments.

Uploaded by

Ghally
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

Tim Pengajar IF2250

IF2250 – Rekayasa Perangkat Lunak


Pattern, Framework, UML
S E M E S T ER I I TA H U N A J A R A N 2 0 2 0 / 2 0 2 1
2

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.

IF2250- Class Modeling


3

Patterns

Patterns

Generative Patterns Non Generative Patterns


(describe recurring (describe recurring
phenomena phenomena
with saying how to without saying how to
reproduce them) reproduce them)

IF2250- Class Modeling


4

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

IF2250- Class Modeling


Organizing The Pattern Catalog
Creational Structural Behavioral

Abstract Factory Adapter Chain of Responsibility


Builder Bridge Command
Factory Method Composite Interpreter
Prototype Decorator Iterator
Singleton Façade Mediator
Flyweight Memento
Proxy Observer
State
Strategy
Template Method
Visitor

E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns, Elements of Reusable


Object-Oriented Software, Addison-Wesley, 1995.

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

IF2250- Class Modeling


Framework vs Design Pattern
• Design patterns are more abstract than frameworks
• Frameworks can be embodied in code, but only example of
patterns can be embodied in code
• Design patterns are smaller architectural elements than
frameworks
• A typical framework contain several design patterns
• Design pattern are less specialized than frameworks
• Framework always have a particular application domain

3/29/2021 8
9

Unified Modeling Language (UML)

IF2250-Analisa Pendekatan Terstruktur


What is UML?
• UML (Unified Modeling Language)
• Nonproprietary standard for modeling software systems, OMG
• Convergence of notations used in object-oriented methods
• OMT (James Rumbaugh and collegues)
• Booch (Grady Booch)
• OOSE (Ivar Jacobson)
• Current Version: UML 2.2
• Information at the OMG portal http://www.uml.org/
• Commercial tools: Rational (IBM),Together (Borland), Visual Architect
(business processes, BCD)
• Open Source tools: ArgoUML, StarUML, Umbrello
• Commercial and Opensource: PoseidonUML (Gentleware)
11

Model
• Model is an iterative process.
• It can represent static or dynamic situations.
Model

Static Dynamic

Provides a system’s Represents a system’s behaviors that,


parameters at rest or at a taken together, reflect its behavior over
specific point in time. time.
(e.g.) class diagram (e.g.) interaction & activity diagrams

IF2250- Class Modeling


What is Unified Modeling Language
12

(UML)?
• The UML is a graphical / standard language for
• visualizing,
• specifying,
• constructing
• documenting
the artifacts of a software system

IF2250- Class Modeling


13

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 1.4 (Planned Minor revision 2000)


• Each method had its strengths &
weaknesses.
1. Booch was great in design UML 2.0 (Planned Major revision 2004)
2. OMT & OOSE were great in analysis

IF2250- Class Modeling


14

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

Composite Structure Diagram


• Depicts
• the internal structure of a classifier (such as a class, component,
or use case)
• including the interaction points of the classifier to other parts of
the system
• a behavior of a collaboration

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

Use Case Diagram


• Describes a set of actions (use cases) that some system
or systems (subject) should or can perform in
collaboration with one or more external users of the
system (actors) to provide some observable and
valuable results to the actors or other stakeholders of the
system(s)

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

State Machine Diagram


• Describes the states an object or interaction may be in, as
well as the transitions between states.
• Used for modeling discrete behavior/interaction through
finite state transitions

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

Interaction Overview Diagram


• A variant of an activity diagram which overviews the
control flow within a system or business process.
• Each node/activity within the diagram can represent
another interaction diagram.
• It focuses on the overview of the flow of control where
the nodes are interactions or interaction uses.
• The lifelines and the messages do not appear at this
overview level

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

You might also like