UML - Part 3.

Slides:



Advertisements
Similar presentations
UML: The Unified Modeling Language Excertos do livro: The Unified Modelling Language User Guide by Grady Booch, James Rumbaugh and Ivar Jacobson.
Advertisements

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.
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 Overview Unified Modeling Language Basic Concepts.
Software Development Method, page 1 A Simple Software Method.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Principles of Object-Oriented Software Development Unified Modeling Language.
CS 501: Software Engineering Fall 2000 Lecture 11 Object-Oriented Design I.
Unified Modeling (Part I) Overview of UML & Modeling
Introduction to UML Part 2.
© Copyright Eliyahu Brutman Programming Techniques Course.
Itntroduction to UML, page 1 Introduction to UML.
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
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 UML by Jan Pettersen Nytun, page 1 Introduction to UML.
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
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Page 1  Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling captures essential parts of.
1 Forward and Reverse Engineering. 2 The UML is not just an OO modeling language. It also permits forward engineering (FE) and reverse engineering (RE).
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Accelerating Java Development with the UML Greg Schottland General Manager, Application Development Tools Embarcadero Technologies,Inc.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
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.
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.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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,
The Unified Modeling Language (UML)
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Software Engineering Lecture 8 Object-Oriented Analysis.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Copyright (C), No Magic, Inc Welcome to No Magic!
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
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.
Itntroduction to UML by Jan Pettersen Nytun, page 1 Introduction to UML Part 2.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML Class & Object Diagram II RELATIONS UML Class Diagram & Object Diagram II, Jan Pettersen Nytun, page no 1.
Introduction to UML.
Introduction to the Unified Modeling Language
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Class & Object Diagram II
University of Central Florida COP 3330 Object Oriented Programming
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
The Unified Modeling Language
Unified Modeling Language
Introduction to UML.
Introduction to the Unified Modeling Language
And Some Of Their Elements
Software Engineering A systematic approach to
Software Design Lecture : 15.
And Some Of Their Elements
Visual Modeling Using Rational Rose
CIS 644  Object-Oriented Design and Development. (3) 
And Some Of Their Elements
Presentation transcript:

UML - Part 3

Building Blocks of the UML Modeling Element Structural things Behavioral things Grouping things Annotational things Relationships Dependency Association Generalization Realization 3. Diagram Class diagram Object diagram Use case diagram Sequence diagram Collaboration diagram Statechart diagram Activity diagram Component diagram Deployment diagram

3 Diagrams A diagram is typically a view of a part of the model, showing modeling elements and some of the relationships between them. A diagram do not have to be complete, some elements may be missing or presented in a simplified fashion. UML: ”A well-formed model is one that is semantically self-consistent and in harmony with all related models.”

There are 9 types of diagrams in UML Dynamic views Static views Use Case Diagrams Sequence Diagrams Some part of the model might not be visible on any diagram Class Diagrams Collaboration Diagrams Object Diagrams Model Activity Diagrams Component Diagrams Statechart Diagrams Deployment Diagrams

3.1 Use case diagram actor register a person association use case system boundary include relationship register a person edit a registration/ delete a registration User navigate/view the register ”include” view next person view previous person ”include”

Use Case Diagram - One More Example ”A use case is a specific way of using the system by performing some part of the functionality. Each use case constitutes a complete course of events initiated by an actor, and it specifies the interaction that takes place between an actor and the system....” I. Jacobson

StudentCourseProfile 3.2 Class Diagram 1 responsible for * Course Person CourseModule name : String description : String name : String email : String homePage : String tech. responsible for name : String description : String 1 * * 1..* 1 1 * 1 Student * StudentCourseProfile * finished : boolean When a student register for course a StudentCourseProfile object will be made!

A Class Diagram With Navigation 1 responsible for * Course Person CourseModule name : String description : String name : String imail : String homePage : String 1 tech. responsible for * * 1..* name : String description : String 1 1 * * 1 StudentCourseProfile * Student finished : boolean

A Class Diagram - Mapping to Java 1 responsible for * Course Person name : String description : String name : String imail : String homePage : String 1 tech. responsible for * 1 * * 1 StudentCourseProfile Student finished : boolean public class Person { protected String name; protected String imail; protected String homePage; // // Navigation protected Course[] responsibleFor; protected Course[] techResponsibleFor; public Person() { } public class Student extends Person { // // Navigation public StudentCourseProfile[] studentCourseProfile; public Student() { }

A Class Diagram - Example With Interface IStorable Register -reg 0..* 0..* edit() write() relization read() public void read(){ Person terminal.print("Name: "); name = terminal.readLine(); edit() ... write() } read() relization/implements Two different representation of nearly the same dependency

A Class Diagram - One More Example With Interface

3.3 Object Diagram - Capture Instances and Links Class Object Company HiA: Company noOfEmploees=600 noOfEmploees : int Possible object name object class attribute with value

Object Diagram with Links Class Diagram Object Diagram Language: Department :LocatedAt Gimlemoen: Office Company Department Office LocatedAt 1 1..* * HiA: Company Possible object diagram Engineering : Department :LocatedAt Grooseveien: Office Link - A link is an instance of an association, analogous to an object being an instance of a class.

Object diagram and Rational Rose 2000 Rational Rose 2000 does not have object diagrams, but you can achieve much the same with a collobartion diagram You can not specify attributes inside object; One solution to this short-coming is to use a comment!

3.4 Sequence diagram ”create” register user controllerViewer person <command r> <name,e-mail,..> person ”create” setData(name, ..) insert(person)

3.5 Collaboration diagram 1.2: ”create” 1: register() 1.3: setDate(data) user controllerViewer person 1.1: data := getData() 1.4: insert(person) register

3.6 Statechart diagram StateChart for microwave oven "control unit"

Statechart for Applet Not Loaded Running Loaded Stopped init/init() stop/ stop() Stopped start /start() start/start() destroy/destroy()

3.7 Activity diagram - Capture Dynamic Behaviour (Activity-oriented)

Activity diagram - One More Example product of activity

Activity diagram - One More Example user controller person register request registration create person (object) supply person-data forward person-data process person-data insert person

3.8 Component diagram - Captures the Physical Structure of the Implementation applet1.class applet1.java Demo.html applet2.class applet2.java logo.gif

Component diagram - One More Example Person.class Register.class ISortable

3.9 Deployment diagram Extended VLAN ”Server” ”network” LAN ”PC” ”PC”

Multi-tier Architecture - MVC - view: browser/jsp/servlet controller: jsp/servlet model: businessObjects client: Internet browser: server1: :WebServer :html :html :ServletContainer Intranet s1:Servlet s2:Servlet j1:Jsp j2:Jsp b1:BusinessObject b3:BusinessObject b2:BusinessObject b4:BusinessObject server2: :DB

References [1] 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 Ari Jaaksi: A Method for Your First Object-Oriented Project. JOOP - The Journal of Object-Oriented Programming, Januar 1998 Rational software: http://www.rational.com/uml/documentation.html