UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling...

43
UML Unified Modeling Language Basic Concepts
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    261
  • download

    8

Transcript of UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling...

Page 1: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Unified Modeling Language

Basic Concepts

Page 2: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

– Data Modeling concepts (Entity Relationship Diagrams)

– Business Modeling (Work Flow)– Object Modeling – Component Modeling

The UML is a standard language for specifying, visualizing, documenting and constructing the artifacts of a software-intensive system

It can be used with all processes, throughout the development life cycle, and across different implementation technologies

*Note: This presentation includes materials from Grady Booch, James Rumbaugh and Ivar Jacobson’s overviews on different aspects of UML available at http://www.rational.com/uml/resources

Page 3: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

UML Heritage General-purpose OO modeling language

– convergence of a number of popular OO methods

OMT (Rumbaugh et al.)

Booch

OOSE(Jacobson et al.)

UML0.9

1996

Catalysis ROOM etc.

UML1.1

Nov. 1997

UML1.4

Mar. 1999

UML2.0

Page 4: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Meyer

Before and after conditions

Harel

StatechartsGamma, et al

Frameworks and patterns,

HP Fusion

Operation descriptions and message numbering

Embley

Singleton classes andhigh-level view

Wirfs-Brock

Responsibilities

Odell

Classification

Shlaer - Mellor

Object lifecycles

Rumbaugh

OMT

Booch

Booch method

Jacobson

OOSE

Contributions to the UML

Page 5: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Creating the UML

Booch method OMT

Unified Method 0.8OOPSLA ´95

OOSEOther methods

UML 0.9Web - June ´96

publicfeedback

Final submission to OMG, Sep ‘97

First submission to OMG, Jan ´97

UML 1.1OMG Acceptance, Nov 1997 UML 1.3

UML 1.0UML partners

UML 1.4UML 2.0

Planned major revision, 2001 (UML 2.0)

Page 6: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

UML Usage: Overview

The UML may be used to:– Represent the Elements of a system or a domain

and their Relationships in a Static Structure using class and object diagrams

– Model the Behavior of objects with state transition diagrams

– Reveal the Physical Implementation Architecture with component & deployment diagrams

– Display the Boundary of a System & its major Functions using use cases and actors

– Illustrate Use Case Realizations with interaction diagrams

Page 7: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Provides a uniform modeling formalism and a set of (object-oriented) constructs (notation) for representing the elements of a domain of interest as well as their relationships in a Static Structural Model

Use Cases can be used to model usage Example (DMTF, IETF): development of a common

model to serve as an underlying information framework for the specification of a common directory schema; the common model & schema support the operation of multiple applications and systems in the enterprise

UML for Information Modeling

Page 8: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

UML: Basic Types of Concepts

Modeling elements Relationships

Diagrams

Page 9: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Basic Modeling Elements

Structural elements– type, class, instance, collaboration, use case,

component, node

Behavioral elements– interaction, state machine

Grouping elements– package, subsystem

Page 10: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Classes and Instances

Telephone

busy : boolean

offHook()onHook ()ring()

Specifications for one or more distinct objects with a common form (structure and behavior)

phone1:Telephone

busy = true

offHook()onHook ()ring()

phone2:Telephone

busy = false

offHook()onHook ()ring()

instance

class

Page 11: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Attributes

The data/static structure aspect of a class is represented by its attributes

Attributes may be found by examining class definitions, the problem requirements, and by applying domain knowledge

Each course offeringhas a number, location and time

CourseOffering

numberlocationtime

Page 12: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Operations

The behavior of a class is represented by its operations

Operations may be found by examining interaction diagrams

registration form

registration manager

addCourse(joe, math 01)

RegistrationManager

addCourse(Student,Course)

Page 13: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UMLCopyright © 1997 by Rational Software Corporation

Relationships

Relationships provide a pathway for communication between objects

Sequence and/or collaboration diagrams are examined to determine what links between objects need to exist to accomplish the behavior -- if two objects need to “talk” there must be a link between them

Page 14: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Basic Relationship Types

Association Dependency Aggregation Generalization Realization

Page 15: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UMLCopyright © 1997 by Rational Software Corporation

Relationships: Defined

An association is a bi-directional connection between classes– An association is shown as a line connecting the related

classes An aggregation is a stronger form of

relationship where the relationship is between a whole and its parts– An aggregation is shown as a line connecting the related

classes with a diamond next to the class representing the whole

A dependency relationship is a weaker form of relationship showing a relationship between a client and a supplier where the client does not have semantic knowledge of the supplier. – A dependency is shown as a dashed line pointing from the

client to the supplier

Page 16: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UMLCopyright © 1997 by Rational Software Corporation

Generalization (Inheritance)

A generalization is a relationship between a more general and a more specific element– Inheritance is the main property of generalization-

specialization relationships defined between a superclass and its subclasses

– Common attributes, operations, and/or relationships are shown at the highest applicable level in the hierarchy

Realization is a relationship defined between a type and its implementation classes

Page 17: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Relationships: Notation

Association

Dependency

Aggregation

Generalization

Realization

type Implementationclass

SubclassSuperclass

AggregatePart

SupplierClient

name

Page 18: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Models and Diagrams

Use CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsScenario

DiagramsCollaborationDiagrams

StateDiagramsState

DiagramsComponentDiagrams

ComponentDiagramsComponent

DiagramsDeploymentDiagrams

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsStatechartDiagrams

Use CaseDiagramsUse Case

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsClassDiagrams

ActivityDiagrams

A model is a completedescription of a systemfrom a particularperspective

Models

Page 19: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Why Build Models?

To understand the problem better

To communicate with stakeholders

To find errors or omissions

To plan out the design

To generate code

Page 20: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

UML Model Views

Requirements (use case diagrams) Static structure (class diagrams)

– kinds of objects and their relationships Dynamic behavior (state machines)

– possible life histories of an object Interactive behavior (activity, sequence, and

collaboration diagrams)– flow of control among objects to achieve system-level behavior

Physical implementation structures (component and deployment diagrams)– software modules and deployment on physical nodes

Page 21: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Diagrams

A diagram is a view into a model– Presented from the aspect of a particular

stakeholder– Provides a partial representation of the system– Is semantically consistent with other views

In the UML, there are nine standard diagrams– Static views: use case, class, object, component,

deployment– Dynamic views: sequence, collaboration, statechart,

activity

Page 22: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Use Case Diagram

Captures system functionality as seen by users

Page 23: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Use Case Diagram

Captures system functionality as seen by users Built in early stages of development Purpose

– Specify the context of a system– Capture the requirements of a system– Validate a system’s architecture– Drive implementation and generate test cases

Developed by analysts and domain experts

Page 24: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Class Diagram

Captures the vocabulary of a system

Page 25: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Class Diagram

Captures the vocabulary of a system Built and refined throughout development Purpose

– Name and model concepts in the system– Specify collaborations– Specify logical database schemas

Developed by analysts, designers, and implementers

Page 26: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Class Diagram: Example Shows the entities in a system and their general

relationships

generalization

association

Person

House

residence 0..*

owner 0..*

FinancialInstitution

client creditor

0..*0..*

Bank TrustCompany

Page 27: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Object Diagram

Captures instances and links

Page 28: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Object Diagram

Shows instances and links Built during analysis and design Purpose

– Illustrate data/object structures– Specify snapshots

Developed by analysts, designers, and implementers

Page 29: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Component Diagram

Captures the physical structure of the implementation

Page 30: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Component Diagram

Captures the physical structure of the implementation

Built as part of architectural specification Purpose

– Organize source code– Construct an executable release– Specify a physical database

Developed by architects and programmers

Page 31: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Deployment Diagram

Captures the topology of a system’s hardware

Page 32: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Deployment Diagram

Captures the topology of a system’s hardware Built as part of architectural specification Purpose

– Specify the distribution of components– Identify performance bottlenecks

Developed by architects, networking engineers, and system engineers

Page 33: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Sequence Diagram

Captures dynamic behavior (time-oriented)

Page 34: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Sequence Diagram

Captures dynamic behavior (time-oriented) Purpose

– Model flow of control– Illustrate typical scenarios

Page 35: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Sequence Diagram: Example

CallerCaller OperatorOperator CalleeCallee

Assertions of legal interactions between objects (e.g., operator-assisted call)

time

call

ack

number

call

ack

talk

transfer

sequence diagram

Page 36: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Collaboration Diagram

Captures dynamic behavior (message-oriented)

Page 37: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Collaboration Diagram

Captures dynamic behavior (message-oriented)

Purpose– Model flow of control– Illustrate coordination of object structure and control

Page 38: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

: Registrar

course form : CourseForm

theManager : CurriculumManageraCourse :

Course

1: set course info2: process

3: add course

4: new course

Collaboration Diagram: Example

A collaboration diagram displays object interactions organized around objects and their links to one another

Page 39: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Statechart Diagram

Captures dynamic behavior (event-oriented)

Page 40: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Statechart Diagram

Captures dynamic behavior (event-oriented) Purpose

– Model object lifecycleModel object lifecycle– Model reactive objects (user interfaces, devices, Model reactive objects (user interfaces, devices,

etc.)etc.)

Page 41: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Activity Diagram Captures dynamic behavior (activity-oriented)

Page 42: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

Summary: the UML

An industry standard for analysis and design of object-oriented systems– based on extensive experience and best practices– gaining rapid acceptance (training, tools, books)

Comprises:– set of modeling concepts– graphical notation

Concepts are organized into diagram types – class, state machine, collaboration, use case,

sequence, activity, component, deployment The UML can be used in many different

domains to capture domain-specific concepts and ideas

Page 43: UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:

UML

References

Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1999.

UML documentation - http://www.rational.com/uml/resources

“UML in Action,” Communications of the ACM, October 1999, V. 42, N. 10

Whitepapers:– (1) "Why Use the UML?" by Martin Fowler – (2) "How the UML Models Fit Together," by Scot Ambler – (3) "UML Applied: Nine Tips to Incorporating UML into Your Project"

by D. Rosenberg – (1) ,(2) and (3) are available at http://www.sdmagazine.com/uml

(Focus on UML). – There are several whitepapers on UML available at “The UML Home”

http://www.rational.com/uml/resources/whitepapers -