Introduction to UML by Jan Pettersen Nytun, page 1 Introduction to UML.

Slides:



Advertisements
Similar presentations
Introduction to UML: Structural &Use Case Modeling
Advertisements

Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
MDA > Model Driven Architecture > Orçun Dayıbaş > December, 2006 > METU, Ankara.
UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:
UML - Part 3.
Introduction to UML Visual modeling Models and its importance
7M822 UML Introduction 7 September 2010.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Tony Hoare ¢ Turing Award 1980 ¢ Program Verification ¢ Algol 60 ¢ Axiomatic Semantics ¢ Floyd-Hoare Logic ¢ Concurrent Programs ¢ Communicating Sequential.
Itntroduction to UML, page 1 Introduction to UML.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
David Harrison Senior Consultant, Popkin Software 22 April 2004
Chapter 1 The Systems Development Environment
UML and Object Oriented Concepts
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Unified Modeling Language(UML) BY
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Principles of Object Technology Module 1: Principles of Modeling.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
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.
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
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.
Systems Analysis and Design in a Changing World, 3rd Edition
Modeling Web Based Applications with UML Terry Quatrani Rose Evangelist Terry Quatrani Rose Evangelist.
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.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
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 
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,
The Unified Modeling Language (UML)
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.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
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.
Copyright (C), No Magic, Inc Welcome to No Magic!
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
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.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
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 AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Introduction to UML.
Evolution of UML.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Introduction to Unified Modeling Language (UML)
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Rational Worldwide Software Symposium
Introduction to UML.
A (Very) Short Introduction to Model-Driven Development (MDD)
Rational Worldwide Software Symposium
UML profiles.
Software Engineering A systematic approach to
Software Design Methodologies and Testing
Rational Worldwide Software Symposium
Presentation transcript:

Introduction to UML by Jan Pettersen Nytun, page 1 Introduction to UML

Introduction to UML by Jan Pettersen Nytun, page 2 UML Is Based on Object- oriented Concepts A program will typically consist of objects that cooperate to solve a task. An object will typically have attributes (data) and methods (behavior), this defines the state of the object and the manner in which the object operate. Objects communicate by sending messages to each other. Sending a message to an object is the same as calling a method of the object.

Introduction to UML by Jan Pettersen Nytun, page 3 Class and Object as Defined by Booch, Rumbaugh and Jacobson ClassClass : A description of a set of objects that share the same attributes, operations, relationships, and semantics. ObjectObject : A concrete manifestation of an abstraction; an entity with a well defined boundary and identity that encapsulates state and behavior; an instance of a class.

Introduction to UML by Jan Pettersen Nytun, page 4UML The UML is a language for –visualizing –specifying –constructing –documenting the artifacts of a software-intensive system UML can also be applied outside the domain of software development.

Introduction to UML by Jan Pettersen Nytun, page 5 U M L Unified Unified: Unification of earlier object-oriented analysis and design methods. Same concepts and notation for different application domains and different development processes. Same concepts and notation through the whole development lifecycle.~ ~ Modeling: Making a semantically* complete abstraction of a system. (* The formal specification of the meaning and behavior of something) Language: A graphical language ~

Introduction to UML by Jan Pettersen Nytun, page 6 UML Origins «specification» UML 0.8 «specification» UML 0.9 «specification» UML 1.0 «specification» UML 1.1 «specification» UML 1.2 «specification» UML 1.3 «refine» January 1997 (initial submission to OMG) September 1997 (final submission to OMG) Editorial revision With no significant Technical changes «specification» UML 1.4 «refine» 2001 «specification» UML 2.0

Introduction to UML by Jan Pettersen Nytun, page 7 Some of the UML Goals Define an easy-to-learn but semantically rich visual modeling language. Unify ideas from other modeling languages and incorporate industry best practices. Support higher-level development concepts such as collaborations (design patterns), frameworks and components. Provide flexibility for applying different processes and mapping to different programming languages. Support extensibility and specialization mechanisms so that the core concepts can be extended. Provide a formal basis so that model interchange between different OO tools will be possible.

Introduction to UML by Jan Pettersen Nytun, page 8 The Value of UML Open standard. Supported by many tools. Supports the entire development lifecycle. Support diverse application areas. Based on experience and needs of the user community.

Introduction to UML by Jan Pettersen Nytun, page 9 UML 1.3 Is Not a Visual Programming Language UML 1.3 is a visual modeling language. It does not have all necessary visual and semantic support to replace programming languages. But the introduction of Action Semantics into UML has changed this! But UML has a tight mapping to a family of OO languages like C++ and Java.

Introduction to UML by Jan Pettersen Nytun, page 10 [6] “Action Semantics UML Extensions let you express actions as UML objects. An Action object may take a set of inputs and transform it into a set of outputs (although one or both sets may be empty), or may change the state of the system, or both. Actions may be chained, with one Action's outputs being another Action's inputs. Actions are assumed to occur independently - that is, there is infinite concurrency in the system, unless you chain them or specify this in another way. This concurrency model is a natural fit to the distributed execution environment of modern enterprise and Internet applications.”

Introduction to UML by Jan Pettersen Nytun, page 11 Executable UML Abstracting away: –programming language, software organization Class diagrams – showing “things” and structure (data): –classes, attributes, associations, constraints Statechart diagrams – showing object lifecycle (control): –states, events, transitions, procedures Action language – showing behavior (algorithm): –actions

Introduction to UML by Jan Pettersen Nytun, page 12 [2]: The MDA Process [1]: “… separates the specification of system functionality from the specification of the implementation of that functionality on a specific technology platform.” [2]: First, you build a model with a high level of abstraction, that is independent of any implementation technology. This is called a Platform Independent Model (PIM). Next, the PIM is transformed into one or more Platform Specific Models (PSMs). A PSM is tailored to specify your system in terms of the implementation constructs that are available in one specific implementation technology, e.g. a database model, an EJB model. The final step is to transform a PSM to code. Because a PSM fits its technology very closely, this transformation is rather trivial. The complex step is the one in which a PIM is transformed to a PSM. PSM Bridge Code Bridge

Introduction to UML by Jan Pettersen Nytun, page 13 MDA Example 1 Several Application Platform Independent Model CORBA Model EJB Model XML/SOAP Model Other Models XML/SOAP Code CORBA Code EJB Code Other Code PIM Reverse engineer First transformation PSM Second transformation Implementation

Introduction to UML by Jan Pettersen Nytun, page 14 MDA Example 2 Three Tier Solution – One Application PIM PSM EJB Comp. PSM Relational DB PSM Web PSM EJB Code PSM SQL Code PSM JSP Code

Introduction to UML by Jan Pettersen Nytun, page 15 Software Engineering Methods modeling language and a processMost methods consist of both a modeling language and a process (who is doing what and when). visual languageThe modeling language, the notation, typically include some visual language (different types of diagrams). toolA tool to support the method is also crucial.

Introduction to UML by Jan Pettersen Nytun, page 16 Three of the most popular methods Three of the most popular methods (What is the difference between a methodologist and a terrorist? Answer: You can negotiate with a terrorist.) OMTObject Modeling Technique, OMT, introduced by Jim Rumbaugh. OMT is considered to be strong on analysis and weaker in the design area. Booch Booch, introduced by Grady Booch (Rational Software). This method is considered to be strong in design and weak when it comes to analysis. OOSE OOSE, (use cases ) introduced by Ivar Jacobson. OOSE is considered to be strong when it comes to behavior analysis and weaker in the other areas.

Introduction to UML by Jan Pettersen Nytun, page 17 UML Is Not a Development Process A development process defines: - Who is doing What, - When to do it, and - How to reach a certain goal The UML is intentionally process independent, and defining a standard process was not a goal of UML. Different domain may require different processes. But the UML authors promote a development process that is use- case-driven, architecture centric, iterative and incremental. (Example of method: RUP)

Introduction to UML by Jan Pettersen Nytun, page 18 Abstraction Abstraction filter out nonessential details Abstraction is a fundamental human capability, it let us filter out nonessential details about a complex problem or structure. viewed at different levelsThrough abstraction a system can be viewed at different levels.Often there is a hierarchic structure, each level of model is more precise than its parent. When developing a software system, code will be the lowest and most detailed level.

Introduction to UML by Jan Pettersen Nytun, page 19 Modeling a modelmapping from the problem domain to a representationWhen you make a model you are making a mapping from the problem domain to a representation of the system you are modeling. a program execution can be regarded as a simulation of the behavior of the system.When you work object-oriented the model tends to be close to the system modeled, and a program execution can be regarded as a simulation of the behavior of the system. Reality System

Introduction to UML by Jan Pettersen Nytun, page 20 Why Do We Model? Models give us a template that guides us in constructing a system. If you want to make a building you first make a blueprint of the building to make, in the same way you should make a model of the system you want to make. As the complexity of systems increases, so does the importance of good modeling techniques. Models help us visualize a system at different levels of abstraction, this makes it easier to manage complexity and to understand the system.

Introduction to UML by Jan Pettersen Nytun, page 21 More Arguments - Why Do We Model? It is not expensive to experiment with multiple solutions when you operate on a high level of abstraction. Models document the decisions we have made. Models help for communication between different stakeholders.

Introduction to UML by Jan Pettersen Nytun, page 22 References [1] OMG Editor: Model Driven Architecture (MDA) (ormsc/ ) Accessed 19 August [2] Addison-Wesley, MDA Explained: The Model Driven Architecture™: Practice and Promise Anneke Kleppe, Jos Warmer, Wim Bast (Klasse Objecten, Soest, the Netherlands [6] Introduction to OMG's Unified Modeling Language™ (UML™) [accessed Aug. 2002] Grady Booch, James Rumbaugh and Ivar Jacobson: The Unified Modeling Language User Guide. Addison-Wesley, 1999 James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy and William Lorenzen: Object-Oriented Modeling and Design. Prentice Hall, 1991 Martin Fowler with Kendall Scott: UML Distilled. Addison-Wesley, 1997 Terry Quatrani: Visual Modeling with Rational Rose and UML. Addison-Wesley, 1998 Rational software: