Introduction to UML.

Slides:



Advertisements
Similar presentations
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Advertisements

Unified Modeling Language
UML: An Introduction.
CS 501: Software Engineering Fall 2000 Lecture 11 Object-Oriented Design I.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Unified Modeling Language, Version 2.0
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
UML What Is the UML? The Unified Modeling Language (UML) is the successor to the wave of object- oriented analysis and design (OOA&D) methods.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
16 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 7 Unified Modeling Language.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
1 Module 2: Introduction to UML  Background  What is UML for?  Building blocks of UML  Appendix:  Architecture & Views  Process for Using UML.
Software Engineering Lecture 8 Object-Oriented Analysis.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
1 Module 2: Introduction to UML  Background  What is UML for?  Building blocks of UML  Appendix:  Architecture & Views  Process for Using UML.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
UML (Unified Modeling Language)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
M. ARIFUR RAHMAN OBJECT ORIENTED ANALYSIS & DESIGN 1.0 System Modeling.
Introduction to UML.
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
UML: An Introduction.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
The Unified Modeling Language
Unified Modeling Language
Introduction to UML.
Introduction to the Unified Modeling Language
Introduction to the Unified Modeling Language
Software Design Methodologies and Testing
Uml diagrams In ooad.
Presentation transcript:

Introduction to UML

Modeling Describing a system at a high level of abstraction A model of the system Used for requirements and specifications Is it necessary to model software systems? 1. Describing the system at abstract level to comprehend its complexity 2. Necessary to manage complexity Good for quick understanding of the systems Less chances of conflicting views b/w end-user and system designers

Object Oriented Modeling Evolution of analysis and design techniques Transition from structured programming to object oriented programming

What is UML? UML stands for “Unified Modeling Language” It is a industry-standard graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems The UML uses mostly graphical notations to express the OO analysis and design of software projects.  Simplifies the complex process of software design . What does UML stand for? . Industry standard . Graphical notation . Modeling tool … simplifies software design process

Why UML for Modeling Use graphical notation to communicate more clearly than natural language (imprecise) and code(too detailed). Help acquire an overall view of a system. UML is not dependent on any one language or technology. UML moves us from fragmentation to standardization. . More precise than natural language … less detailed than source code . Not dependent on any language . Standardized by various groups

UML History OO languages appear mid 70’s to late 80’s (cf. Budd: communication and complexity) Between ’89 and ’94, OO methods increased from 10 to 50. Unification of ideas began in mid 90’s. Rumbaugh joins Booch at Rational ’94 v0.8 draft Unified Method ’95 Jacobson joins Rational ’95 UML v0.9 in June ’96 UML 1.0 offered to OMG in January ’97 UML 1.1 offered to OMG in July ’97 Maintenance through OMG RTF UML 1.2 in June ’98 UML 1.3 in fall ’99 UML 1.5 http://www.omg.org/technology/documents/formal/uml.htm UML 2.0 underway http://www.uml.org/ IBM-Rational now has Three Amigos Grady Booch - Fusion James Rumbaugh – Object Modeling Technique (OMT) Ivar Jacobson – Object-oriented Software Engineering: A Use Case Approach (Objectory) ( And David Harel - StateChart) Rational Rose http://www-306.ibm.com/software/rational/ pre-UML UML 1.x UML 2.0

History of UML History: - Rumbaugh – OMT – object modeling technique Jacobson – OOSE UML … unified approach since 1995 UML 1.5 current … UML 2.0 by the end of 2004

Unified Modeling Language (UML) An effort by IBM (Rational) – OMG to standardize OOA&D notation Combine the best of the best from Data Modeling (Entity Relationship Diagrams); Business Modeling (work flow); Object Modeling Component Modeling (development and reuse - middleware, COTS/GOTS/OSS/…:) Offers vocabulary and rules for communication Not a process but a language Redun; simpler de facto industry standard

UML is for Visual Modeling A picture is worth a thousand words! - standard graphical notations: Semi-formal - for modeling enterprise info. systems, distributed Web-based applications, real time embedded systems, … Sales Representative Places Order Customer Fulfill Order Item Business Process via Ships the Item - Specifying & Documenting: models that are precise, unambiguous, complete UML symbols are based on well-defined syntax and semantics. analysis, architecture/design, implementation, testing decisions. - Construction: mapping between a UML model and OOPL.

Three (3) basic building blocks of UML (cf. Harry) Water have Fresh water Rivers Oceans have have Salt water live in have Fish have Crocodiles Penguins Things - important modeling concepts Relationships - tying individual things Diagrams - grouping interrelated collections of things and relationships Just glance thru for now

Types of UML Diagrams Use Case Diagram Class Diagram Sequence Diagram Collaboration Diagram State Diagram This is only a subset of diagrams … but are most widely used

3 basic building blocks of UML - Things UML 1.x Structural — nouns/static of UML models (irrespective of time). Behavioral — verbs/dynamic parts of UML models. Grouping — organizational parts of UML models. Annotational — explanatory parts of UML models. Main

<<interface>> Structural Things in UML- 7 Kinds (Classifiers) Nouns. Conceptual or physical elements. Interface Node Active Class (processes/threads) Component (collection of externally Visible ops) Class (replaceable part, realizes interfaces) (computational resource at run-time, processing power w. memory) Event Mgr thread time Start suspend( ) stop( ) Student std_id grade changeLevel( ) setGrade( ) getGrade( ) Course.cpp IGrade <<interface>> IGrade UnivWebServer setGrade() getGrade() Manage Course Registration Register for Courses Use Case Collaboration (chain of responsibility shared by a web of interacting objects, structural and behavioral) (a system service sequence of Interactions w. actor)

Behavioral Things in UML Verbs. Dynamic parts of UML models: “behavior over time” Usually connected to structural things. Two primary kinds of behavioral things: Interaction a set of objects exchanging messages, to accomplish a specific purpose. harry: Student ask-for-an-A katie: Professor name = “Harry Kid” name = “Katie Holmes” State Machine specifies the sequence of states an object or an interaction goes through during its lifetime in response to events. received-an-A/ buy-beer inStudy inParty sober/turn-on-PC

3 basic building blocks of UML - Diagrams A connected graph: Vertices are things; Arcs are relationships/behaviors. UML 1.x: 9 diagram types. UML 2.0: 12 diagram types Structural Diagrams Represent the static aspects of a system. Class; Object Component Deployment Structural Diagrams Class; Object Component Deployment Composite Structure Package Behavioral Diagrams Use case Statechart Activity Interaction Diagrams Sequence; Communication Interaction Overview Timing Behavioral Diagrams Represent the dynamic aspects. Use case Sequence; Collaboration Statechart Activity

Diagrams in UML – Interaction Diagrams A use case diagram presents an outside view of the system. Then, how about the inside view of the system? Interaction diagrams describe how use cases are realized in terms of interacting objects. Two types of interaction diagrams Sequence diagrams Collaboration (Communication) diagrams Execution of these two concurrent substates continues in parallel.

UML Model Functional model: Use case diagram Describe the functional behavior of the system as seen by the user Object model: Class diagram Describe the static structure of the system in terms of Objects, Attributes, Associations, and Operations.

UML Model Class diagram used in different phases of the software life cycle Requirement and analysis: analysis object model application concepts 2. System design: system design model descriptions of subsystem interfaces 3. Object design: object design model detailed descriptions of solution objects

UML Model Dynamic model: Interaction diagram, State machine diagram, Activity diagram Describe the internal behavior of the system Interaction diagram : describe behavior as a sequence of messages exchanged among a set of objects State machine diagram : describe behavior in terms of states of an individual object and the possible transitions between states Activity diagram : describe behavior in terms of control and data flows