UML Diagrams A tool for presentation of Architecture.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

7M701 1 Information Systems Modelling and Design with.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
UML: An Introduction.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
UML: Unified Modeling Language
Principles of Object-Oriented Software Development Unified Modeling Language.
7M822 UML Introduction 7 September 2010.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
The definition and history of creating the UML Lection №1.
Quiz 1. Who is the guru of Extreme Programming?
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
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
Software Architecture in Practice Architectural description (The reduced version)
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
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.
4. UML. CPSC 333: Foundations of Software EngineeringJ. Denzinger 4.1. Motivation The Unified Modeling Language tries to integrate older approaches Developed.
Introduction to UML: Unified Modeling Language Ric Holt U Waterloo, March 2009 CS246.
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.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
CSE 403, Spring 2007, Alverson Using UML to express Software Architecture.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 UML 1 UML unified modeling language 1994 first attempts - largely theoretical 1997 UML.
UML: A notation for capturing work products
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 UML and OOAD Unified Modeling Language Object Oriented Analysis and.
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.
UML (Unified Modeling Language)
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
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.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
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.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
A tool for presentation of Architecture
A tool for presentation of Architecture
The Basics of Class Diagrams for a single class
Unified Modeling Language
Analysis models and design models
Introduction to UML Sources:
ITEC324 Principle of CS III
ITEC324 Principle of CS III
Presentation transcript:

UML Diagrams A tool for presentation of Architecture

UML origins 80’s and early 90’s – explosion of modeling methods and notations Not to mention competition among methods people The “three amigos” (Booch, Jacobson, Rumbaugh) were working on the UML by 1996 OMG issued UML 1.3 in March, 2000

UML is Language Good for communication Standardization is essential Mostly graphical Example: used everywhere in Fowler NOT method You can use any design method you like to create UML diagrams Standardization can be helpful, but is not so important

More precise, less precise … Precision Usefulness in design Natural language Code UML

UML diagram types Static diagrams Use case Class Dynamic diagrams Object State Activity Collaboration Sequence Implementation diagrams Component Deployment

Use Case Diagram Elements Order Book Enter Credit Card Order Merchandise > consumer Check Order Status Remember: the ovals are use cases, NOT use case steps Use case names should be: Action-verb + object-phrase

Use Case Diagram

O-O Diagrams Class – static relationships Inheritance, composition, association,dependency Object – dynamic snapshot Object relationships at runtime, processes,threads

Classes Class name Attributes Operations Interface

Relationships dependency association generalization realization

Class Diagram

Stereotypes Text in > are stereotypes Stereotypes should be defined in the project’s glossary. Examples: > Runnable + run( ) : void > BankMessage + balance : Money + account : long

Behavioral Diagrams Sequence Interaction (for one use case) viewed by time Collaboration Interaction (for one use case) viewed by structure State Chart Internal state of an object (or class) across multiple use cases Activity Interaction of multiple objects across multiple use cases (includes concurrent activity)

Sequence diagram

System Sequence diagram (a way to draw use case steps) :Customer:Amazon.com:creditCardSvc Add book to cart Confirm cart contents Request checkout Request authentication Provide credentials Present options Provide credit card info, shipping options Validate card Confirm order See Larman, Chpt 9 (2 nd edition)

Summing up UML is responsibility-oriented UML diagrams are a means to an end OOAD allows many benefits, but does not guarantee them

UML Usage Guide Use the diagrams to communicate Don’t become a slave to the diagrams What you leave out is as important as what you put into the diagram! Highlight important details; leave the rest out Rule of thumb: when in doubt, leave it out.

Review question Why are there so many types of diagrams?

Bonus material

Three levels of class diagrams Conceptual view Boxes are concepts, associations are associations :-) Concepts may or may not correspond to classes Specification view Boxes are interfaces Associations imply responsibilities Implementation view Boxes are classes Associations imply navigability Following Fowler, UML Distilled

Behavioral Things message state Alice:Employee object asynch message

Components and Nodes componentnode

System Packaging Component Diagrams Modules and Packaging of software Deployment Physical Layout Hardware