The Unified Modeling Language (UML)

Slides:



Advertisements
Similar presentations
Karolina Muszyńska Based on:
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Improved software quality through semantic descriptions (Skutt) Karlstad University Dept. of Computer Science UML introduction A short introduction.
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Principles of Object-Oriented Software Development Unified Modeling Language.
© Copyright Eliyahu Brutman Programming Techniques Course.
Itntroduction to UML, page 1 Introduction to UML.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
UML and Object Oriented Concepts
Unified Modeling Language(UML) BY
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.
Introduction to MDA (Model Driven Architecture) CYT.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
SWEN 5130 REQUIREMENTS ENGINEERING Unified Modeling Language Short Tutorial By Yuvaraj Mani Teaching Assistant SWEN 5130 Spring semester 2006.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006 The Unified Modeling Language Patrick Bailey Keith Vander Linden Calvin College.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
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.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
©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)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
1 Unified Modeling Language, Version 2.0 Chapter 2.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
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.
Copyright (C), No Magic, Inc Welcome to No Magic!
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
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.
Basic Characteristics of Object-Oriented Systems
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.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
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)
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Modeling with UML – Class Diagrams
Introduction to UML.
Evolution of UML.
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
James Miller, Julia John
University of Central Florida COP 3330 Object Oriented Programming
Software Architecture & Design Pattern
A short introduction to UML Eivind J. Nordby Karlstad University
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Introduction to Unified Modeling Language (UML)
Introduction to Unified Modeling Language (UML)
Introduction to UML.
UML profiles.
Presentation transcript:

The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache

Outline Why Use UML History UML Characteristics Diagram Types Use Case Diagrams Class Diagrams Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2 Copyright © 2003 Eddie Roache. All rights reserved.

Why Use UML? Help analyze complex domains Help design complex systems Visualize analysis and design artifacts Clearly document development artifacts Is simple, yet expressive Can be applied to different processes Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Some UML Examples Source: OMG, Unified Modeling Language Specification, version 1.5. March 2003 Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Some UML Examples Source: OMG, Unified Modeling Language Specification, version 1.5. March 2003 Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Some UML Examples Source: OMG, Unified Modeling Language Specification, version 1.5. March 2003 Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

History OO takes a foothold New OO modeling notations spring up Three amigos get together Grady Booch Ivar Jacobson James Rumbaugh UML 0.8 is born Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2 Copyright © 2003 Eddie Roache. All rights reserved.

UML Characteristics Unified Modeling Language Standard graphical modeling notation Supported by formal semantics Current version: 2.0 Wide use and acceptance in the IT industry Large tool support Rational Rose, Together, Visio, Jude, … … although no tool fully supports the standard Is not a process Process independent Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Diagram Types Structure diagrams Behavior diagrams Class diagram Object diagram Component diagram Deployment diagram Package diagram Composite Structure diagram Behavior diagrams Use Case diagram Interaction diagrams Sequence diagram Interaction Overview diagram Communications diagram Timing diagram State Machine diagram Activity diagram Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Diagram Types Source: OMG, Unified Modeling Language: Superstructure Specification, version 2.0. August 2005 Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Use Case Diagrams Model user interaction with system Capture functional requirements Also used for business modeling component specification UML Spec does not include Use Case Specs Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Use Case Definition “A use case specifies a sequence of actions, including variants, that the system can perform and that yields an observable result of value to a particular actor.” “The Unified Software Development Process”, Ivar Jacobsen*, Grady Booch, Jim Rumbaugh What is a use case? Here’s the definition provided in the 3 amigo's book: Use cases describe the services the system under development must provide Services are the functional requirements for the system Use cases are effective because they are based on the interaction of the system with it’s external actors The system is treated as a black box - there is no visibility into how the system provides the services. Use cases are a key unit of requirements Presume “essential” requirements - presume infinite processing resources. *Author of “Object-Oriented Software Engineering: A Use Case Driven Approach” Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2 Copyright © 2003 Eddie Roache. All rights reserved.

Use Case Specification Name: Create AddressEntry Description: This use case allows the actor to create a new entry for an Address Book. Preconditions: 1. An Address Book is open. Steps: 1. The actor requests to create a new AddressEntry. 2. The system creates a new AddressEntry and returns it to the actor. Post Conditions: 1. An Address Book Entry is created. Use Case specifications provide a detailed description of the steps in the use case. Includes: Pre-Conditions Post Conditions Description Not shown, but part of a formal use case specification are: Performance Requirements Business Rules Alternative courses - what happens if …(need an example…maybe introduce concept later). Notice, Precondition calls for AddressBook being open, but we don’t have an “open” use case. Maybe it’s part of View. Let’s tentatively rename View as Open, and show the interrelationship between the new “Open” use case and Create AddressBookEntry. See “Writing Effective Use Cases” and “http://alistair.cockburn.us/usecases/usecases.html” Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2 Copyright © 2003 Eddie Roache. All rights reserved.

<<Actor>> Use Case Diagrams <<Actor>> Actor Use Case Association Dependency extend include Generalization Note (Comment) Close AddressBook <<extend>> <<include>> This is a note. Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Address Book Example The Address Book System provides distributed access to a set of address books. An Address Book is made up of Address Book Entries An Address Book Entry contains a name, street address, phone number, email address The Address Book System shall: allow users to create, view, delete, and save address books allow users to create, modify, and delete entries in an address book The goal is to learn about use case modeling, and how this technique can be used to capture requirements for a system. Later, we will see how use cases can be used to derive the design and implementation for a system, and how tractability between requirements and design and implementation can be maintained. Describe the sample system…Address Book System is similar to the address book that e-mail systems have. Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2 Copyright © 2003 Eddie Roache. All rights reserved.

Use Case Diagram AddressBook System Create AddressBook View AddressBook AddressBook User Delete AddressBook Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2 Copyright © 2003 Eddie Roache. All rights reserved.

Use Case Diagram View AddressBook Save AddressBook Delete Address <<extend>> View AddressBook Save AddressBook <<extend>> <<extend>> Address Book User Delete Address Update Address <<extend>> <<extend>> Add New Address <<include>> Add AddressEntry Close AddressBook <<include>> Create AddressEntry Create PersonAddressEntry Create OrgAddressEntry Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Use Case Diagram View AddressBook Save AddressBook Delete AddressEntry Address Book User Delete AddressEntry Update Address Add New Address <<include>> Add AddressEntry Close AddressBook <<include>> Create AddressEntry All dependencies are extend unless stereotyped otherwise Create PersonAddressEntry Create OrgAddressEntry Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Class Diagrams Model system classes, interfaces, and class relationships Capture structural (vs. behavioral) info Used for business domain modeling logical design implementation design Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Class Diagrams Class Abstract Class Class with Attributes and Operations AddressBook AddressBook AddressBook -id +name +phone +getName() +getPhone() Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Class Diagrams Dependency Association Navigability Aggregation Composition Generalization Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Class Diagrams Multiplicity Constraint Role Name Directionality 1..2 * Multiplicity Constraint Role Name Directionality Nesting * {ordered} +entry has displays Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Class Diagrams Stereotype Realization Derived Assoc. Association Class <<Entity>> Stereotype Realization Derived Assoc. Association Class Note (Comment) <<Interface>> /entry This is a note. Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Class Model Element Source: OMG Unified Modeling Language Specification, version 1.5. March 2003 Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Class Model Element Source: OMG Unified Modeling Language Specification, version 1.5. March 2003 Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Address Book Domain AddressBook AddressEntry Party Person Organization * 1 1 AddressEntry Party In writing out the specification, the entities begin to emerge. Develop a type model that describes the vocabulary of the domain the system operates in... Person Organization Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2 Copyright © 2003 Eddie Roache. All rights reserved.

AddressBookController Logical Design AddressBookView AddressBookController AddressBook Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Implementation Design 1 1 AddressBookController AddressBookView -addrBookFrame: JFrame -addrList: JList -entryNames: String[] +getEntryNames(): String[] +createNewEntry(): AddressBookEntry ~removeEntry() +findEntry(name: String): AddressBookEntry +show() +update() #createAddrBookFrame(): JFrame 1 * * 1 AddressBookEntry AddressBook #name: String #streetAddress: String #city: String #State: String #Zip: String #phoneNumber: String #emailAddress: String -name: String +load() +getEntryNames(): String[] +addEntry() +removeEntry() +findEntry(name: String): AddressBookEntry +toString(): String Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

More UML Characteristics Supported by formal semantics (meta-model) Meta-Object Facility Specification UML Model Interchange using XML Metadata Interchange (XMI) Object Constraint Language (OCL) Action Semantics UML Extensions Standard profiles Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Tools Paper and Pencil Any drawing program (preferably vector-based) Rational Rose (and XDE) Together Jude Poseidon ArgoUML StarUML Many others . . . Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

References www.omg.org www.uml.org www.rational.com www.martinfowler.com/books.html#uml www.oreilly.com/catalog/umlnut/ www.oreilly.com/catalog/umlpr/ www.oreilly.com/catalog/learnuml/ http://www.ambysoft.com/elementsUMLStyle.html The Unified Modeling Language User Guide The Unified Modeling Language Reference Manual http://alistair.cockburn.us/usecases/usecases.html Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Questions ???

Class Diagram Fruit Seed Apple Orange Pear Granny Smith Red Delicious * Apple Orange Pear Granny Smith Red Delicious Rome Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2

Class Diagram Copyright © 2003-2006 Eddie Roache. All rights reserved. Source: OMG, Unified Modeling Language: Superstructure Specification, version 2.0. August 2005 Copyright © 2003-2006 Eddie Roache. All rights reserved. v1.2