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

Examples of Diagrams

The UML is an open standard modeling language that supports the entire software development lifecycle. It can be used to visualize, specify, construct, and document software systems. The UML includes standard modeling elements like classes, interactions, and state machines, as well as diagrams like use case diagrams, class diagrams, and sequence diagrams.

Uploaded by

Durba Mukherjee
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Examples of Diagrams

The UML is an open standard modeling language that supports the entire software development lifecycle. It can be used to visualize, specify, construct, and document software systems. The UML includes standard modeling elements like classes, interactions, and state machines, as well as diagrams like use case diagrams, class diagrams, and sequence diagrams.

Uploaded by

Durba Mukherjee
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 38

The Value of the UML

• Is an open standard
• Supports the entire software development
lifecycle
• Supports diverse applications areas
• Is based on experience and needs of the
user community
• Supported by many tools
Creating the UML
UML 1.3
OMG Acceptance, Nov 1997
Final submission to OMG, Sep ‘97 UML 1.1
public First submission to OMG, Jan ´97
feedback
UML partners UML 1.0

Web - June ´96 UML 0.9

OOPSLA ´95 Unified Method 0.8

Other methods Booch method OMT OOSE


UML Partners
• Rational Software Corporation
• Hewlett-Packard
• I-Logix
• IBM
• ICON Computing
• Intellicorp
• MCI Systemhouse
• Microsoft
• ObjecTime
• Oracle
• Platinum Technology
• Taskon
• Texas Instruments/Sterling Software
• Unisys
Contributions to the UML
Harel
Meyer Gamma, et al
Statecharts
Before and after Frameworks and patterns,
conditions
HP Fusion
Booch
Operation descriptions and
Booch method message numbering

Embley
Rumbaugh
Singleton classes and
OMT
high-level view

Jacobson Wirfs-Brock
OOSE Responsibilities
Shlaer - Mellor Odell

Object lifecycles Classification


Overview of the UML
• The UML is a language for
– visualizing
– specifying
– constructing
– documenting
the artifacts of a software-intensive system
Overview of the UML
• Modeling elements
• Relationships
• Extensibility Mechanisms
• Diagrams
Modeling Elements
• Structural elements
– class, interface, collaboration, use case,
active class, component, node
• Behavioral elements
– interaction, state machine
• Grouping elements
– package, subsystem
• Other elements
– note
Relationships
• Dependency
• Association
• Generalization
• Realization
Extensibility Mechanisms
• Stereotype
• Tagged value
• Constraint
Models, Views, and Diagrams
A model is a complete
description of a system
from a particular
State
perspective State
Diagrams
Class
Diagrams
Use Case Diagrams
Use Case
Diagrams State
Use Case Use Case
Diagrams State
Diagrams
Use Case Diagrams Object
Diagrams
Diagrams
Sequence Diagrams
Diagrams
Diagrams

Scenario State
Scenario
Diagrams State
Diagrams
Collaboration
Diagrams Models Component
Diagrams
Diagrams Diagrams

Scenario Component
Scenario
Diagrams
Component
Diagrams
Deployment
Statechart
Diagrams Diagrams
Diagrams Diagrams
Activity
Diagrams
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
Use Case Diagram
• Captures system functionality as seen by
users
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
Class Diagram
• Captures the vocabulary of a system
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
Object Diagram
• Captures instances and links
Object Diagram
• Shows instances and links
• Built during analysis and design
• Purpose
– Illustrate data/object structures
– Specify snapshots
• Developed by analysts, designers, and
implementers
Component Diagram
• Captures the physical structure of the
implementation
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
Deployment Diagram
• Captures the topology of a system’s
hardware
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
Sequence Diagram
• Captures dynamic behavior (time-oriented)
Sequence Diagram
• Captures dynamic behavior (time-oriented)
• Purpose
– Model flow of control
– Illustrate typical scenarios
Collaboration Diagram

• Captures dynamic behavior (message-


oriented)
Collaboration Diagram

• Captures dynamic behavior (message-


oriented)
• Purpose
– Model flow of control
– Illustrate coordination of object structure and
control
Statechart Diagram
• Captures dynamic behavior (event-
oriented)
Statechart Diagram
• Captures dynamic behavior (event-
oriented)
• Purpose
– Model object lifecycle
– Model reactive objects (user interfaces,
devices, etc.)
Activity Diagram
• Captures dynamic behavior (activity-oriented)
Activity Diagram
• Captures dynamic behavior (activity-
oriented)
• Purpose
– Model business workflows
– Model operations
Architecture and the UML

Design View Implementation View

Classes, interfaces,
collaborations Components
Use cases

Use Case View

Process View Deployment View

Active classes Nodes

Organization Dynamics
Package, subsystem Interaction
State machine
Unified Process structure
Phases
Process Workflows Inception Elaboration Construction Transition

Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
Supporting Workflows
Configuration Mgmt
Management
Environment
Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1

Iterations
Architecture and Iterations

Use case Design Implementation Deployment Test


Model Model Model Model Model

Content
Patterns
• A pattern is a solution to a problem in a
context
• A pattern codifies specific knowledge
collected from experience in a domain
• All well-structured systems are full of patterns
– Idioms
– Design patterns
– Architectural patterns
daVinci

Mechanisms
 Screws Brakes
 Keys Pipes
 Rivets Valves
 Bearings Springs
 Pins, axles, shafts Cranks and rods
 Couplings Cams
 Ropes, belts, and chains Pulleys
 Friction wheels Engaging gears
 Toothed wheels
 Flywheels
 Levers and connecting rods
 Click wheels and gears
 Ratchets
Design Patterns
Gamma et al

Design patterns
• Creational patterns
– Abstract factory
– Prototype
• Structural patterns
– Adapter
– Bridge
– Proxy
• Behavioral patterns
– Chain of responsibility
– Mediator
– Visitor
• Mechanisms are the soul of an architecture
Modeling a design pattern
Modeling a design pattern (cont.)
Modeling a design pattern (cont.)

You might also like