A Brief Introduction
Acknowledgements The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee and Jeff Kramer The Unified Modeling Language, 2 nd edition, by James Rumbaugh, Ivar Jacobson, and Grady Booch
Definition Abstraction Meaning Purpose Contents
Definition A representation in a medium of something in the same or another medium Captures important aspects Convenient for working Take various forms
Definition A representation in a medium of something in the same or another medium Captures important aspects Convenient for working Takes various forms
Definition A representation in a medium of something in the same or another medium Captures important aspects Convenient for working Takes various forms
Definition A representation in a medium of something in the same or another medium Captures important aspects Convenient for working Take various forms
Purpose To capture and precisely state requirements and domain knowledge To think about the design of a system To capture design decisions in a mutable form
Purpose To capture and precisely state requirements and domain knowledge To think about the design of a system To capture design decisions in a mutable form
Purpose To capture and precisely state requirements and domain knowledge To think about the design of a system To capture design decisions in a mutable form
Purpose To generate usable work products To organize, find, filter, retrieve, examine, and edit information about large systems To explore multiple solutions To master complex systems
Purpose To generate usable work products To organize, find, filter, retrieve, examine, and edit information about large systems To explore multiple solutions To master complex systems
Purpose To generate usable work products To organize, find, filter, retrieve, examine, and edit information about large systems To explore multiple solutions To master complex systems
Purpose To generate usable work products To organize, find, filter, retrieve, examine, and edit information about large systems To explore multiple solutions To master complex systems
Abstraction Different forms Different levels of abstraction Various purposes
Levels of Abstraction Guides to the thought process Abstract specifications of the essential structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of systems
Levels of Abstraction Guides to the thought process Abstract specifications of the essential structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of systems
Levels of Abstraction Guides to the thought process Abstract specifications of the essential structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of systems
Levels of Abstraction Guides to the thought process Abstract specifications of the essential structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of systems
Levels of Abstraction Guides to the thought process Abstract specifications of the essential structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of systems
Content Semantic Information Captures meaning of an application Used for code generation, validation, etc Visual Presentation Notations Guide human understanding of a model Context
Meaning Abstraction vs. Detail Specification vs. Implementation Description vs. Instance Variations in interpretation
A Brief Summary UML History Goals of UML UML Views
A Brief Summary General-purpose visual modeling language for discrete system Captures information about the static structure and dynamic behavior of a system Contains organizational constructs for arranging models into packages NOT primarily a programming language
A Brief Summary General-purpose visual modeling language for discrete system Captures information about the static structure and dynamic behavior of a system Contains organizational constructs for arranging models into packages NOT primarily a programming language
A Brief Summary General-purpose visual modeling language for discrete system Captures information about the static structure and dynamic behavior of a system Contains organizational constructs for arranging models into packages NOT primarily a programming language
A Brief Summary General-purpose visual modeling language for discrete system Captures information about the static structure and dynamic behavior of a system Contains organizational constructs for arranging models into packages NOT primarily a programming language
UML History Fusion [Coleman-94] Included concepts from: ○ OMT [Rumbaugh-91] ○ Booch [Booch-94] ○ CRC [Wirfs-Brock-90] Rational Software, Rumbaugh & Booch Combined OMT & Booch methods Jacobson join Rational group ○ UML draft 1996, OMG issues rfp for standard approach to OO modeling UML results
UML History Fusion [Coleman-94] Included concepts from: ○ OMT [Rumbaugh-91] ○ Booch [Booch-94] ○ CRC [Wirfs-Brock-90] Rational Software, Rumbaugh & Booch Combined OMT & Booch methods Jacobson join Rational group ○ UML draft 1996, OMG issues rfp for standard approach to OO modeling UML results
UML History Fusion [Coleman-94] Included concepts from: ○ OMT [Rumbaugh-91] ○ Booch [Booch-94] ○ CRC [Wirfs-Brock-90] Rational Software, Rumbaugh & Booch Combined OMT & Booch methods Jacobson join Rational group ○ UML draft 1996, OMG issues rfp for standard approach to OO modeling UML results
Goals of UML General-purpose modeling language Non-proprietary Support good design practices Encapsulation Separation of concerns Address development issues Large-scale Distribution Concurrency Patterns Team development
Goals of UML General-purpose modeling language Non-proprietary Support good design practices Encapsulation Separation of concerns Address development issues Large-scale Distribution Concurrency Patterns Team development
Goals of UML General-purpose modeling language Non-proprietary Support good design practices Encapsulation Separation of concerns Address development issues Large-scale Distribution Concurrency Patterns Team development
Goals of UML General-purpose modeling language Non-proprietary Support good design practices Encapsulation Separation of concerns Address development issues Large-scale Distribution Concurrency Patterns Team development
UML Views 4 Areas Structural classification Dynamic behavior Physical layout Model Management
UML Views A subset of UML modeling constructs Represents one aspect of a system One or two kinds of diagrams provide a visual notation for the concepts in each view
UML Views Structural Static View Design View Use Case View Dynamic Physical Model Management Class Diagram association class dependency generalization interface realization
UML Views Structural Static View Design View Use Case View Dynamic Physical Model Management connector interface part port provided interface role required interface collaboration collaboration use component dependency realization subsystem Internal Structure Collaboration Diagram Component Diagram
UML Views Structural Static View Design View Use Case View Dynamic Physical Model Management Use Case Diagram actor association extend include use case use case generalization
UML Views Structural Dynamic State Machine View Activity View Interaction View Physical Model Management State Machine Diagram completion transition do activity effect event region state transition trigger
UML Views Structural Dynamic State Machine View Activity View Interaction View Physical Model Management Activity Diagram action activity control flow control node data flow exception expansion region fork join object node pin
UML Views Structural Dynamic State Machine View Activity View Interaction View Physical Model Management Sequence Diagram occurrence specification execution specification interaction interaction fragment interaction operand lifeline message signal collaboration guard condition role sequence number Communication Diagram
UML Views Structural Dynamic Physical Deployment View Model Management Deployment Diagram artifact dependency manifestation node
UML Views Structural Dynamic Physical Model Management Model Management View Profile Package Diagram import model package constraint profile stereotype tagged value
Review Modeling Models have several abstract levels Models takes various forms UML History Four concept areas and corresponding views