History of UML. In the beginning… In 1965 the first object-oriented (OO) programming language, Simula I, was introduced. In 1965 the first object-oriented.

Slides:



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

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
CS3773 Software Engineering Lecture 03 UML Use Cases.
September Ron McFadyen1 design analysis implementation testing maintenance Waterfall Development Process Linear one phase is completed before.
Design analysis implementation testing maintenance Waterfall Development Process Linear one phase is completed before the next begins in practice, must.
Chapter 1 Object-Oriented System Development
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Object-Oriented Database SystemsCSCI 397C-16 Unified Modeling Language (UML) Prepared By: Keith Bryant 02 Nov 99 - Page 1.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 2.
Principles of Object-Oriented Software Development Unified Modeling Language.
7M822 UML Introduction 7 September 2010.
Jan 8, Ron McFadyen1 Waterfall Spiral UP Case study UML Use Cases.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Tony Hoare ¢ Turing Award 1980 ¢ Program Verification ¢ Algol 60 ¢ Axiomatic Semantics ¢ Floyd-Hoare Logic ¢ Concurrent Programs ¢ Communicating Sequential.
1. 2 CS115 Class 8: UML Due today –Read: Practical UML Next Class –Review: Software Inspections One week from now –Deliverable: Design –Design presentation.
Itntroduction to UML, page 1 Introduction to UML.
Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University.
UML and Object Oriented Concepts
Unified Modeling Language(UML) BY
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
U N I T I.
An Introduction to Models & The UML The Unified Modeling Language Copyright © 2007 Patrick McDermott College of Alameda Not really.
CSCI-383 Object-Oriented Programming & Design Lecture 9.
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 UML by Jan Pettersen Nytun, page 1 Introduction to UML.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Unified Modeling Language, Version 2.0
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006 The Unified Modeling Language Patrick Bailey Keith Vander Linden Calvin College.
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.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
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.
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,
©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)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 UML and OOAD Unified Modeling Language Object Oriented Analysis and.
Toolkit 2.
Object Oriented Analysis and Design 1 CREATED BY RUONAN RAO Object-Oriented Analysis and Design.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
Itntroduction to UML, page 1 Introduction to 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.
Software Engineering: Models David Millard
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.
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.
Introduction to UML.
Evolution of UML.
Introduction to the Unified Modeling Language
Object-Oriented Modeling and Design
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Introduction to UML.
Introduction to UML.
Introduction to the Unified Modeling Language
FInal Presentation : Object Oriented Software Engineeering
Software Design Methodologies and Testing
Presentation transcript:

History of UML

In the beginning… In 1965 the first object-oriented (OO) programming language, Simula I, was introduced. In 1965 the first object-oriented (OO) programming language, Simula I, was introduced. Almost immediately interest in OO design began to rapidly grow. Almost immediately interest in OO design began to rapidly grow. This led to the emergence of numerous competing OO design methods. This led to the emergence of numerous competing OO design methods.

From the primordial ooze… With all these design methods came numerous modeling languages. With all these design methods came numerous modeling languages. By the early 90’s there were 50+ distinct OO modeling languages. By the early 90’s there were 50+ distinct OO modeling languages. Darwinian forces in the marketplace led to three dominate methods, each having its own modeling language. Darwinian forces in the marketplace led to three dominate methods, each having its own modeling language.

The Big Three Object-oriented Analysis & Design (OOAD) – Grady Booch Object-oriented Analysis & Design (OOAD) – Grady Booch The Object Modeling Technique (OMT) – Jim Rumbaugh The Object Modeling Technique (OMT) – Jim Rumbaugh The Object-oriented Software Engineering method (OOSE) – Ivar Jacobson The Object-oriented Software Engineering method (OOSE) – Ivar Jacobson Each one had its strengths and weaknesses. Each one had its strengths and weaknesses.

Booch (OOAD) Very complex Very complex The modeling language contained a formidable number of diagrams and resulting symbols The modeling language contained a formidable number of diagrams and resulting symbols Allowed for effective low-level design and its fine grain detail was even useful for documenting code. Allowed for effective low-level design and its fine grain detail was even useful for documenting code. Good at OO design, weak at OO analysis Good at OO design, weak at OO analysis

Rumbaugh (OMT) OMT had a simpler modeling language OMT had a simpler modeling language It was better at higher-level designs than Booch Method. It was better at higher-level designs than Booch Method. Good at OO analysis, weak at OO design Good at OO analysis, weak at OO design

OO Analysis vs. OO Design Analysis refers to understanding the problem. Analysis refers to understanding the problem. Design refers to coming up with the solution. Design refers to coming up with the solution. Don’t confuse with broader use of word “design” Don’t confuse with broader use of word “design” Text replaces “design” with “resolution” Text replaces “design” with “resolution”

Jacobson (OOSE) Major feature was “use classes” Major feature was “use classes” Use classes model how a system interacts with users (which might be other systems or end users) Use classes model how a system interacts with users (which might be other systems or end users) Viewing things from the user’s perspective drove the design process Viewing things from the user’s perspective drove the design process This made it good at very high-level design. This made it good at very high-level design.

In Summary Booch (OOAD) good at low-level design Booch (OOAD) good at low-level design Jacobson (OOSE) good at high-level design Jacobson (OOSE) good at high-level design Rumbaugh (OMT) good at the middle ground Rumbaugh (OMT) good at the middle ground

Coming Together Booch’s and Rumbaugh’s methods seemed to be evolving in a similar direction Booch’s and Rumbaugh’s methods seemed to be evolving in a similar direction In 1994 they joined forces in effort to merge their two methods In 1994 they joined forces in effort to merge their two methods They both wanted to include use cases, so soon Jacobson joined them They both wanted to include use cases, so soon Jacobson joined them

The ‘U’ in UML It became too difficult to successfully merge all three methods. It became too difficult to successfully merge all three methods. At same time, the software engineering community wanted an effective and standardized modeling language At same time, the software engineering community wanted an effective and standardized modeling language The three then focused their efforts on unifying their three modeling languages The three then focused their efforts on unifying their three modeling languages

UML Was Born In 1996 the Unified Modeling Language was introduced as UML 0.9 and then 0.91 In 1996 the Unified Modeling Language was introduced as UML 0.9 and then 0.91 Input was obtained from many, including TI, IBM, Microsoft, Oracle, and HP. Input was obtained from many, including TI, IBM, Microsoft, Oracle, and HP. This led to UML 1.0 in 1997 This led to UML 1.0 in 1997 Eventually, the semantics and flexibility was improved resulting in UML 2.0 in 2003 Eventually, the semantics and flexibility was improved resulting in UML 2.0 in 2003

Sources Hamilton, Kim, and Russel Miles. Learning UML 2.0. O'Reilly, 2006 Hamilton, Kim, and Russel Miles. Learning UML 2.0. O'Reilly, htm htm htm htm D/UML_tutorial/history_of_uml.htm D/UML_tutorial/history_of_uml.htm D/UML_tutorial/history_of_uml.htm D/UML_tutorial/history_of_uml.htm /tutorial_01.htm?exp=sof /tutorial_01.htm?exp=sof /tutorial_01.htm?exp=sof /tutorial_01.htm?exp=sof