UML – Unified Modelling Language For Effective OO Development Yves Holvoet Rational Software Corporation Yves Holvoet Rational Software Corporation (say.

Slides:



Advertisements
Similar presentations
Analysis and Design with UML
Advertisements

Unified Modeling Language
Object-Oriented Analysis and Design
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:
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
UML Overview Unified Modeling Language Basic Concepts.
Software Engineering Recitation 3 Suhit Gupta. Review CVS problems XML problems – XML/XSD/DTD/SCHEMAS.
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
Solid Palette Gradient Palette I Gradient Palette II APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located.
Introduction to UML Visual modeling Models and its importance
© Copyright Eliyahu Brutman Programming Techniques Course.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
Unified Modeling Language
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Page 1 What is the UML? UML stands for Unified Modeling Language The UML combines the best of the best from – Data Modeling concepts (Entity Relationship.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
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.
Solid Palette Gradient Palette I Gradient Palette II APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located.
Page 1  Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling captures essential parts of.
Page 1 R Copyright © 1998 by Rational Software Corporation Visual Modeling and the UML.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
TAL7011 – Lecture 4 UML for Architecture Modeling.
COP43311 Copyright © 1997 by Rational Software Corporation Unified Modeling Language (UML) Based on slides and papers from Rational’s UML website
Analysis & Design with UML
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
OOA&D - 1© Minder Chen, Models, Views, and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
PRJ566 Project Planning & Management Software Architecture.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML Presentation was downloaded (and is available for free) from Rational.
Introduction to OOAD and the UML
Analysis and Design with UML. Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
IST 210 The Rational Unified Process (RUP) and Unified Modeling Language (UML) Todd Bacastow IST 210: Organization of Data.
Visual Modeling and the UML. Object Oriented Analysis and Design.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Object Oriented Analysis and Design Introduction to Rational Rose.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Basic Characteristics of Object-Oriented Systems
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 November 30, 2004.
Analysis and Design with UML  Overview - Object-Oriented Modeling  Benefits of Visual Modeling  History of the UML  Visual Modeling with UML  The.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Analysis and Design with UML
Visual Modeling and the UML
Object-Oriented Analysis and Design
UML SEQUENCE AND CLASS DIAGRAMS
Software Architecture & Design Pattern
The Unified Modeling Language
The Development Process
Unified Modeling Language
Introduction to UML.
Software Design Lecture : 15.
UML: Collaboration and Deployment Diagram
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Uml diagrams In ooad.
Introduction to OOAD and the UML
Presentation transcript:

UML – Unified Modelling Language For Effective OO Development Yves Holvoet Rational Software Corporation Yves Holvoet Rational Software Corporation (say Eve Olvoot)

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Agenda  Modelling  Why?  Levels of Abstraction  5 Views and 2 dimensions of System Architecture  UML  History  10 diagrams  Summary  Modelling  Why?  Levels of Abstraction  5 Views and 2 dimensions of System Architecture  UML  History  10 diagrams  Summary

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. The Importance of Modeling

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. What Is a Model?  A model is a simplification (abstraction) of reality.

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Abstraction  Is conceptual and captures the essential characteristics of an entity that distinguish it from all other kinds of entities.  Defines a boundary relative to the perspective of the viewer.  Is conceptual and captures the essential characteristics of an entity that distinguish it from all other kinds of entities.  Defines a boundary relative to the perspective of the viewer.

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Instance  Is an actual entity instance of the conceptual abstraction.  All instances of a given abstraction share a common structure (data and behavior as described in the Abstraction).  Is an actual entity instance of the conceptual abstraction.  All instances of a given abstraction share a common structure (data and behavior as described in the Abstraction). yourAccount : BankAccount myAccount : BankAccount

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Levels of Abstraction Is an abstraction for Is an instance of object Scenario High Level Processor Processor Type Low Level

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Modeling Process BusinessBusiness Business Use Cases - Activities Use Cases ScenariosScenarios ClassesClasses ObjectsObjects SourcesSources ProcessesProcesses ProcessorsProcessors Modeling Process Low Level High Level InstanceInstance AbstractionAbstraction SystemSystem BusinessBusiness Business Use Cases - Activities

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. UML * 2 Views SoftwareSoftware ClassesClassesObjectsObjects SourcesSources HardwareHardware ProcessorsProcessors TasksTasks ProcessesProcesses ScenariosScenarios Use Cases PackagesPackagesLayersLayersPackagesPackages LayersLayersSystemsSystems Deployment View Logical View Use Case View Process View Implementation View

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time = * 2 Views Deployment View Process View Implementation View Logical View Use Case View   The Use-Case view describes the behavior of the system in term of use-cases and scenarios   The Logical view packages the classes of the system and their relationships   The Implementation view describes the mapping of the logical classes to components of the target environment   The Process view deals with concurrency and synchronization   The Deployment view describes the mapping of the software on the hardware   The Use-Case view describes the behavior of the system in term of use-cases and scenarios   The Logical view packages the classes of the system and their relationships   The Implementation view describes the mapping of the logical classes to components of the target environment   The Process view deals with concurrency and synchronization   The Deployment view describes the mapping of the software on the hardware

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Use-Case View  3 Main Benefits ClassValidationClassValidation SpecificationSpecification Development Plan object instance of class link instance of association message instance of operation Abstraction for many scenarios

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Use Case View: Main Benefits  Specification  in terms of use cases  Development plan  lists iterations  assign scenarios to iterations according to their risk levels  Validation of classes  the necessary objects for the whole system are collectively all the objects participating in all scenarios  the messages between objects drive class relationships  Specification  in terms of use cases  Development plan  lists iterations  assign scenarios to iterations according to their risk levels  Validation of classes  the necessary objects for the whole system are collectively all the objects participating in all scenarios  the messages between objects drive class relationships

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Logical View  3 Main Benefits ObjectValidationObjectValidation TerminologyTerminology Development Teams Logical grouping of classes Strong inner coupling (cohesive classes) Weak outer coupling (for reuse, resilience) Logical grouping of classes Strong inner coupling (cohesive classes) Weak outer coupling (for reuse, resilience)

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Logical View: Main Benefits  Terminology  it provides vocabulary for common unambiguous understanding of the problem domain  Development Teams  they are derived from packages  packages are created to minimize the coupling  Validation of objects  the objects, links and messages must be in synch with class, relationships and operations  Terminology  it provides vocabulary for common unambiguous understanding of the problem domain  Development Teams  they are derived from packages  packages are created to minimize the coupling  Validation of objects  the objects, links and messages must be in synch with class, relationships and operations

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. 2 Dimensions for Software Architecture Logical packages form horizontal layers where layers can only access what is below and not what is above Scenarios form vertical slices where each slice traverses all layers but only “hits” a small sub-set of the classes Rational Unified Process is: Architecture Centric Use Case Driven Rational Unified Process is: Architecture Centric Use Case Driven

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Agenda  Modelling  Why?  Levels of Abstraction  5 Views and 2 dimensions of System Architecture  UML  History  10 diagrams  Summary  Modelling  Why?  Levels of Abstraction  5 Views and 2 dimensions of System Architecture  UML  History  10 diagrams  Summary

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. History of the UML Nov ‘97UML approved by the OMG

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. UML Concepts  The UML may be used to visually model:  The interaction of your application with the outside world Use Case Diagram  The behavior of your system Interaction Diagram  The structure of your system Class Diagram Package Diagram  The components in your system Component Diagram Deployment Diagram  The UML may be used to visually model:  The interaction of your application with the outside world Use Case Diagram  The behavior of your system Interaction Diagram  The structure of your system Class Diagram Package Diagram  The components in your system Component Diagram Deployment Diagram

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. 10 UML Diagrams Class Diagram (static part of class) State-Transition Diagram (behavioral part of class) Class Diagram (static part of class) State-Transition Diagram (behavioral part of class) Component Diagram (Sources & Processes) Deployment Diagram (Processors) Activity Diagram Use Case Diagram Interaction Diagram (Scenarios) Object Diagram Collaboration Diagram Sequence Diagram

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. StudentRegistrarProfessor Register for CoursesMaintain Course InformationRequest Course Roster Billing System Use Case Diagram  Use case diagrams are created to visualize the interaction of your system with the outside world

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. : Student registration form registration manager math 101 1: fill in info 2: submit 3: add course(joe, math 01) 4: add(Joe) 5: are you open? 6: add (Joe) math 101 section 1 Sequence Diagram  A sequence diagram shows step-by-step what has to happen to accomplish a piece of functionality provided by the system

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 1: set course info 2: process 3: add course 4: new course Collaboration Diagram  A collaboration diagram displays object interactions organized around objects and their links to one another

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Student Professor RegistrationUser CourseOffering major Class Diagram  A class diagram shows the structure of your software

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Vegan eat(Food) Vegetarian eat(Food) Omnivore eat(Food) pre-condition of eat() is: -Food parameter must be a Vegetable pre-condition of eat() is: -Food parameter must be either a Vegetable or Derived from Animal No pre-condition at all for eat() Person > eat(Food) Food 2 Main Relationships: Inheritance vs. Association

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Course.dll People.dll Course User Register.exe Billing.exe Billing System The Physical World  Component diagrams illustrate the organization and dependencies among software components

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Deploying the System  The deployment diagram visualizes the distribution of components across the enterprise. Registration Database Library DormMain Building

Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Summary  Visual modeling can be used to:  Define business process  Communicate  Manage complexity  Define software architecture  Promote reuse  The UML is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system  Visual modeling can be used to:  Define business process  Communicate  Manage complexity  Define software architecture  Promote reuse  The UML is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system

Questions?