UML @ Work - From Analysis to Implementation

8/5/99


Click here to start


Table of Contents

Welcome

Roadmap

Motivation for Analysis and Design Why do we model?

Motivation for Analysis and Design The Model as an Abstraction of the Reality

What is the UML? Goals

What is the UML not?

History of UML

The Roots of UML

Competitors of UML

Acceptance of UML The UML Partner Consortium

Views supported by UML

Diagrams of UML

Ongoing Example Calendar Manager “CALENDARIUM” (1/2)

Ongoing Example Calendar Manager “CALENDARIUM” (2/2)

Process for Introducing UML Phases (1/2)

Process for Introducing UML Phases (2/2)

Roadmap

Phase 1: Requirements Specification

Models of the Requirements Specification Phase

Results of the Requirements Specification Phase

Use Case Model System, Actor and Use Case

Use Case Diagram CALENDARIUM

Actor (1/2)

Actor (2/2)

Use Case

Relationships Between Use Cases (1/4)

Relationships Between Use Cases (2/4)

Relationships Between Use Cases (3/4)

Relationships Between Use Cases (4/4)

Use Case Diagram CALENDARIUM (refined, 1/2)

Use Case Diagram CALENDARIUM (refined, 2/2)

Excursion (1/4) Semantics of the «include»-Relationship

Excursion (2/4) Semantics of the «extend»-Relationship

Excursion (3/4) Semantics of the Generalization Relationship

Excursion (4/4) Generalization Relationship between Actors

Partitioning Use Case Diagrams Package (1/3)

Partitioning Use Case Diagrams Package (2/3)

Partitioning Use Case Diagrams Package (3/3)

Excursion (1/4) Description of Use Case

Excursion (2/4) Description of Use Case - “Insert Appointment”

Excursion (3/4) Description of Use Case - “Insert appointment”

Excursion (4/4) Description of Use Case - “Insert appointment”

Problem Domain Model

Class and Object

Characteristics of a Class

Abstract Class

Excursion (1/3) Identification of Classes

Excursion (2/3) Identification of Attributes

Excursion (3/3) Identification of Operations

Classes in Different Phases

Association (1/3)

Association (2/3) Multiplicity

Association (3/3) Role

Properties of Associations (1/2)

Properties of Associations (2/2)

Qualified Association

Association Class (1/2)

Association Class (2/2) Object Class ? Association Class

N-ary Association

Aggregation

Weak Aggregation

Composition

Aggregation Semantics Standard Classification

Composition vs. Association Rules of Thumb

Generalization (1/2)

Generalization (2/2)

Generalization of Associations

Template Class

Interface

Example CALENDARIUM Interface “SMTPServer”

Benefits of Interfaces

Interface Model

User Interface Specification Example (1/2 - Poor Man’s Prototype)

User Interface Specification Example (2/2 - GUI Builder Prototype)

UML Extensibility Mechanisms (1/3)

UML Extensibility Mechanisms (2/3) Visualization of Stereotypes

UML Extensibility Mechanisms (3/3) Example of a Constraint

UML - Metamodel (1/3)

UML - Metamodel (2/3) Small Extract of the Metamodel

UML-Metamodel (3/3) Extensibility Mechanisms in the Metamodel

Overview

Phase 2: Analysis

Models of the Analysis Phase

Results of the Analysis Phase

Structure Model

Example CALENDARIUM Extract of the Class Diagram (1/2)

Example CALENDARIUM Extract of the Class Diagram (2/2)

Partitioning of the Class Diagram Package

Dependencies between Packages

Kinds of Packages

Packages and Subsystems

Generalization

Example CALENDARIUM Packages

Excursion Employment of Packages

Behavioral Model

Interaction Diagrams

Interaction Diagrams Sequence and Collaboration Diagram

Interaction Diagrams Sequence Diagram

Interaction Diagrams Sequence Diagram - Example

Interaction Diagrams Collaboration Diagram

Interaction Diagrams Collaboration Diagram - Example

Interaction Diagrams Relationships & Roles in Collaboration Diagrams

Interaction Diagrams Collaboration Diagram - Example

Interaction Diagrams Numbering of Messages

Interaction Diagrams Kinds of Control Flow

Example CALENDARIUM Sequence Diagram “Insert Appointment” (1/2)

Example CALENDARIUM Sequence Diagram “Insert Appointment” (2/2)

Statechart Diagram

Statechart Diagram Kinds of Events

Statechart Diagrams State

Statechart Diagram State Transition

Statechart Diagram Example

Statechart Diagram Refining Statechart Diagrams

Statechart Diagram Example “Appointment” (1/2)

Statechart Diagram Example “Appointment” (2/2)

Statechart Diagram History State (1/2)

Statechart Diagram History State (2/2)

Statechart Diagram Semantics of AND-Refinements

Statechart Diagram Stubbed State

Statechart Diagram Synch State

Activity Diagram Concepts (1/5)

Activity Diagram Concepts (2/5)

Activity Diagram Concepts (3/5)

Activity Diagram Concepts (4/5)

Activity Diagram Concepts (5/5)

Activity Diagram Example (1/2)

Activity Diagram Example (2/2)

Roadmap

Phase 3: Design

Models of the Design Phase

Results of the Design Phase

Distribution Distribution Alternatives (1/2)

Distribution Distribution Alternatives (2/2)

Distribution Component Diagram

Distribution Deployment Diagram (1/3)

Distribution Deployment Diagram (2/3)

Distribution Deployment Diagram (3/3)

Distribution Migration between Nodes

System Design Concurrency

Concurrency in Sequence Diagrams (1/2)

Concurrency in Sequence Diagrams (2/2)

Concurrency in Collaboration Diagrams

System Design Real-Time (1/2)

System Design Real-Time (2/2)

System Design Persistence

Persistence Connecting to Relational DB - Alternative 1

Persistence Connecting to Relational DB - Alternative 2

Persistence Connecting to Relational DB - Alternative 3

Persistence Coupling Alternatives (1/2)

Persistence Coupling Alternatives (2/2)

Example CALENDARIUM DB Access for “Insert Appointment”

Detailed Design Completing Classes

Detailed Design Realizing Relationships

Detailed Design Pattern - Framework - Component

Patterns in UML Example “Observer Pattern”

Schema of the Observer Pattern

Observer Pattern in CALENDARIUM Updating the Calendar Views

Literature (1/4)

Literature (2/4)

Literature (3/4)

Literature (4/4)

UML Web addresses

Authors: Dr. Martin Hitz, Dr. Gerti Kappel, Dr. Werner Retschitzegger

Email: martin.hitz@univie.ac.at, gerti@ifs.uni-linz.ac.at, werner@ifs.uni-linz.ac.at

Home Page: http://www.ifs.univie.ac.at/UML

Other information:
Presented at ECOOP '99, Lisbon