470 likes | 687 Views
A Brief Introduction. UML. 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
E N D
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, 2nd edition, by James Rumbaugh, Ivar Jacobson, and Grady Booch
Definition Abstraction Meaning • Purpose • Contents Model
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 UML
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 Class Diagram association class dependency generalization interface realization • Structural • Static View • Design View • Use Case View • Dynamic • Physical • Model Management
UML Views Internal Structure Collaboration Diagram • Structural • Static View • Design View • Use Case View • Dynamic • Physical • Model Management Component Diagram connector interface part port provided interface role required interface collaboration collaboration use component dependency realization subsystem
UML Views Use Case Diagram actor association extend include use case use case generalization • Structural • Static View • Design View • Use Case View • Dynamic • Physical • Model Management
UML Views State Machine Diagram completion transition do activity effect event region state transition trigger • Structural • Dynamic • State Machine View • Activity View • Interaction View • Physical • Model Management
UML Views Activity Diagram action activity control flow control node data flow exception expansion region fork join object node pin • Structural • Dynamic • State Machine View • Activity View • Interaction View • Physical • Model Management
UML Views Sequence Diagram Communication Diagram • Structural • Dynamic • State Machine View • Activity View • Interaction View • Physical • Model Management occurrence specification execution specification interaction interaction fragment interaction operand lifeline message signal collaboration guard condition role sequence number
UML Views Deployment Diagram artifact dependency manifestation node • Structural • Dynamic • Physical • Deployment View • Model Management
UML Views Package Diagram import model package constraint profile stereotype tagged value • Structural • Dynamic • Physical • Model Management • Model Management View • Profile
Review • Modeling • Models have several abstract levels • Models takes various forms • UML • History • Four concept areas and corresponding views