Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.

Slides:



Advertisements
Similar presentations
Software analysis and design tools T120B pavasario sem.
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Slides by Bruegee and Dutoit, Modified by David A. Gaitros COP 3331 Object Oriented Analysis and Design Chapter 2: Object Oriented Modeling using UML Jean.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 UML First Pass: Class Diagrams Battery load()
UML: Unified Modeling Language L. Grewe History Graphic modeling language for describing object-oriented software Graphic modeling language for describing.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Final Overview Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 5, 2001 Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Modeling with UML Chapter 2 Object-Oriented Software Engineering: Using UML, Patterns,
Unified Modeling Language (UML)
1 Modeling with UML CMPE 131 Fall Overview What is modeling? What is UML? Use case diagrams Class diagrams Sequence diagrams Activity diagrams.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7: The Object-Oriented Approach to Requirements
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Course information and deadline reminders
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
© SERG Software Design (UML) Software Design Static Modeling using the Unified Modeling Language (UML) Material based on [Booch99, Rambaugh99, Jacobson99,
Introduction to Software Engineering ECSE-321 Unit 5 – Modeling with UML.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Unified Modeling Language, Version 2.0
Modeling with UML Chapter 2 Object-Oriented Software Engineering: Using UML, Patterns, and Java, 2 nd Edition By B. Bruegge and A. Dutoit Prentice Hall,
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Sept. 25, 2003CS WPI1 CS 509 Design of Software Systems Lecture #4 Thursday, Sept. 25, 2003.
UML Review of diagram types. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Jan. 26, 2004CS WPI1 CS 509 Design of Software Systems Lecture #2 Monday, Jan. 26, 2004.
©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)
COP 3331 OBJECT-ORIENTED ANALYSIS AND DESIGN Bob Myers Department of Computer Science.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML Diagrams By Daniel Damaris Novarianto S..
Before we start Project Group A note about class project ArgoUML
CS410 – Software Engineering Lecture #17: UML I
Unified Modeling Language
Chapter 2, Modeling with UML
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Chapter 2, Modeling with UML
Models and Modelling Object-Oriented Analysis David William Brown
Unified Modeling Language
Chapter 2, Modeling with UML
CS410 – Software Engineering Lecture #9: UML
Chapter 2, Modeling with UML
Presentation transcript:

Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park

Overview Unified Modeling Language (UML) Models & views Class diagrams Sequence diagrams

UML UML (Unified Modeling Language) Graphic modeling language for describing object-oriented software Started in 1994 Combined notations from 3 leading OO methods OMT(James Rumbaugh) OOSE(Ivar Jacobson) Booch(Grady Booch)

UML Motivation Software growing larger & complex Difficult to analyze Need to describe software design Clearly Concisely Correctly UML equivalent to software “blueprint” Provides simple yet clear abstraction for software Computer-aided software engineering (CASE) Tools for generating & analyzing UML

Definitions Model Abstraction describing (all or part of) system View Depicts selected aspects of a model using set of diagrams Diagram Actual depiction of aspect of model Notation Set of graphical / textual rules for representing view

Models & Views System Model 1 Model 2 View 1 View 3 View 2

UML Industry standard Many features Large collection of notations Multiple views Multiple diagrams We focus mainly on Logical view of relationship between classes

UML Views Use-Case Show external user (actor) view of system Logical Show how functionality is implemented Component Show organization of code components Deployment Show assignment of code to physical computers

(Some) UML Diagrams Class Describe static structure of the classes in system Sequence Describe dynamic behavior between users and objects Use case Describe functional behavior seen by (external) user State Describe dynamic behavior of objects as finite state machine Activity Model dynamic behavior of a system as a flowchart

UML Conventions Rectangles  classes or instances Ovals  functions or use cases Types  preceded by colon, not underlined :SimpleWatch Instances  underlined names myWatch:SimpleWatch Diagrams  graphs Nodes  entities Arcs  relationships between entities

Class Diagrams Battery load() 1 2 Time now() PushButton state push() release() blinkIdx blinkSeconds() blinkMinutes() blinkHours() stopBlinking() referesh() LCDDisplay SimpleWatch Class Association Multiplicity Attributes Operations Class diagrams represent structure of system

Sequence Diagram Object Message Activation Sequence diagrams represent behavior as interactions blinkHours() blinkMinutes() incrementMinutes() refresh() commitNewTime() stopBlinking() pressButton1() pressButton2() pressButtons1And2() pressButton1() :WatchUser :Time:LCDDisplay:SimpleWatch

Use Case Diagrams WatchUserWatchRepairPerson ReadTime SetTime ChangeBattery Actor Use case Package SimpleWatch Use case diagrams represent functionality of system from external user’s point of view

button1&2Pressed button1Pressed button2Pressed button1Pressed button1&2Pressed Increment Minutes Increment Hours Blink Hours Blink Seconds Blink Minutes Increment Seconds Stop Blinking State Diagrams State Initial state Final state Transition Event

UML Class Diagrams Represent the (static) structure of the system During analysis Used to model problem domain concepts During detailed design Used to model classes

Class Diagrams Class contains Name State Behavior

Class Diagrams Types may be included Only class name is required

UML Sequence Diagrams Represent behavior in terms of interactions During requirements analysis Used to refine use case descriptions During system design Used to refine subsystem interfaces

Sequence Diagram Notation Columns  Classes Arrows  Messages Narrow rectangles  Activations Dashed lines  Lifelines

Sequence Diagram Example Sequence of events for printer queue

Sequence Diagram Observations Represents behavior in terms of interactions Complement the class diagrams which represent structure Useful for finding participating objects