UML: Unified Modeling Language L. Grewe History Graphic modeling language for describing object-oriented software Graphic modeling language for describing.

Slides:



Advertisements
Similar presentations
UML Class Diagrams. Represent the (static) structure of the system GeneralIn JavaIn C++ NameNameName StateVariablesMembers BehaviorMethodsFunctions.
Advertisements

Karolina Muszyńska Based on:
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Object-Oriented Analysis and Design
Improved software quality through semantic descriptions (Skutt) Karlstad University Dept. of Computer Science UML introduction A short introduction.
Chapter 15: System Modeling with UML
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Introduction to UML Visual modeling Models and its importance
CMSC 132: Object-Oriented Programming II
IMSE 11 - UML Class Diagrams
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Unified Modeling Language (UML)
UML Examples Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Unified Modeling Language
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
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.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
An Introduction to the 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.
Design Jon Walker. More UML ● What is UML again?
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
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.
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.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
UML Diagrams: Class Diagrams The Static Analysis Model
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
A short introduction to UML Eivind J. Nordby Karlstad University
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
ניתוח מערכות מידע א' הרצאה 3
אפיון ועיצוב מערכות מוכוון עצמים
Unified Modeling Language
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

UML: Unified Modeling Language L. Grewe

History Graphic modeling language for describing object-oriented software Graphic modeling language for describing object-oriented software Started in 1994 Started in 1994 Combined notations from 3 leading OO methodsCombined notations from 3 leading OO methods OMT(James Rumbaugh) OMT(James Rumbaugh) OOSE(Ivar Jacobson) OOSE(Ivar Jacobson) Booch(Grady Booch) Booch(Grady Booch) Industry standard Industry standard

Why UML? Software larger & complex Software larger & complex Difficult to analyzeDifficult to analyze Describe SW clearly Describe SW clearly Use Computer-aided software engineering (CASE) tools Use Computer-aided software engineering (CASE) tools A picture is worth a thousand words…..save time looking at and making visuals.A picture is worth a thousand words…..save time looking at and making visuals.

What is UML? Specify & Visualize Software via modeling language Specify & Visualize Software via modeling language viewsviews diagramsdiagrams relationships between classesrelationships between classes

UML Concepts Use case diagrams/studies Use case diagrams/studies Class Diagrams Class Diagrams Instance Snapshots Instance Snapshots Sequence Diagrams Sequence Diagrams ….more (for complete understanding of UML take our SW Engineering course) ….more (for complete understanding of UML take our SW Engineering course)

UML Concepts….more Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams Models

UML: Use case study Use Case Studies to understand system and the stakeholders & requirements. Use Case Studies to understand system and the stakeholders & requirements. Uses concept of Actors: Uses concept of Actors: Often serves some kind of role in the SW system. (e.g. customer, vendor, etc.)Often serves some kind of role in the SW system. (e.g. customer, vendor, etc.) Define State & Operations for each ActorDefine State & Operations for each Actor Define Relationships between ActorsDefine Relationships between Actors

Use Case Diagram Shows actors, entities and actions involved in one usage scenario Shows actors, entities and actions involved in one usage scenario Have a diagram and often corresponding description Have a diagram and often corresponding description Can (often) have more than one for a software program Can (often) have more than one for a software program

Example: Use Case Diagram use case: buy_thing participants: (Purchaser, Vendor, Thing) pre-condition: vendor.possessions -> includes thing purchaser.pocket >= thing.price post-condition: vendor.possessions = vendor.possessions - thing purchaser.possessions = purchaser.possessions + thing vendor.till = + thing.price purchaser.pocket = - thing.price

UML: Class Diagrams Classes are Graphically Represented with areas for Classes are Graphically Represented with areas for Class Name, Class Variables, and OperationsClass Name, Class Variables, and Operations Properties, Responsibilities, Rules, Modification History, etc.Properties, Responsibilities, Rules, Modification History, etc.

Example: Class Diagram BookTitle class BookTitle class BookTitle Instance BookTitle Instance

Another Example: Class Diagrams Here show class diagrams and associations between the classes. Here show class diagrams and associations between the classes. Associations (diamonds/arrows) show aggregations/ compositionsAssociations (diamonds/arrows) show aggregations/ compositions See class webiste and reading for more details.See class webiste and reading for more details. Classes: Company, Department, Office, Headquarters, Person, ContractInformation, PersonalRecord Classes: Company, Department, Office, Headquarters, Person, ContractInformation, PersonalRecord

Class Diagrams: relationships Between Classes Association Association Permanent, structural, “has a”Permanent, structural, “has a” Solid line (arrowhead optional)Solid line (arrowhead optional) Dependency Dependency Temporary, “uses a”Temporary, “uses a” Dotted line with arrowheadDotted line with arrowhead Generalization Generalization Inheritance, “is a”Inheritance, “is a” Solid line with open (triangular) arrowheadSolid line with open (triangular) arrowhead Implementation Implementation Dotted line with open (triangular) arrowheadDotted line with open (triangular) arrowhead OR

Associations w/ Navigation Information Can indicate direction of relationship Can indicate direction of relationship Represented by solid line with arrowhead Represented by solid line with arrowhead Gas Pedal class knows about Engine class Engine class doesn’t know about Gas Pedal class

Cardinality of Associations Some relationships may be quantified Some relationships may be quantified Cardinality denotes how many objects the source object can legitimately reference Cardinality denotes how many objects the source object can legitimately reference Examples Examples * 0, 1, or more* 0, 1, or more 5 5 exactly5 5 exactly 5..8 between 5 and 8, inclusive5..8 between 5 and 8, inclusive 5..* 5 or more5..* 5 or more

Example: cardinality Says : Bank to Branch is a 1 to many association….means a Bank can have many Branches, but, a Branch is associated with one Bank. Says : Bank to Branch is a 1 to many association….means a Bank can have many Branches, but, a Branch is associated with one Bank.

UML Instance Snapshot Diagram that shows results of applying a use-case action. Diagram that shows results of applying a use-case action.

UML Use Case Sequence Diagram Scenario shows the sequence of events in a use-case. Scenario shows the sequence of events in a use-case. Here the use-case is ian applying for a job, where tony is the secretary and sue is the manager. Here the use-case is ian applying for a job, where tony is the secretary and sue is the manager.

Generalization Denotes inheritance between classes Denotes inheritance between classes Can view as “is-a” relationship Can view as “is-a” relationship Represented by line ending in (open) triangle Represented by line ending in (open) triangle Laptop, Desktop, PDA inherit state & behavior from Computers