UML: Unified Modeling Language zStory: yWhat UML is for ySome of the main diagrams are and what you use them for xClass diagrams and class forms xUse Case.

Slides:



Advertisements
Similar presentations
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
CS3773 Software Engineering Lecture 03 UML Use Cases.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Chapter 15: System Modeling with UML
UML: Unified Modeling Language
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
© Copyright Eliyahu Brutman Programming Techniques Course.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
Use Case Analysis – continued
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language(UML) BY
CMIS 470 Structured Systems Design
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.
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.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
An Introduction to the Unified Modeling Language
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
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.
CSE 403, Spring 2007, Alverson Using UML to express Software Architecture.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML Presentation was downloaded (and is available for free) from Rational.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
Chapter 3: Introducing the UML
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
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 –
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
ACO 101: Use cases What do the users do?. When building a system You begin with the Use Case Analysis – When looking at the system as a whole, Use Case.
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.
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.
1 CS525M: Multi-Agent Systems Introduction to UML: The Unified Modeling Language Copyright 2001, 2002, Michael J. Ciaraldi.
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.
Unified Modeling Language (UML)
Evolution of UML.
Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Unified Modeling Language
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Unified Modeling Language
The Unified Modeling Language
Unified Modeling Language
UML: Unified Modeling Language
Introduction to the Unified Modeling Language
Software Design Lecture : 15.
Unified Modeling Language
Chapter 22 Object-Oriented Systems Analysis and Design and UML
ITEC324 Principle of CS III
Presentation transcript:

UML: Unified Modeling Language zStory: yWhat UML is for ySome of the main diagrams are and what you use them for xClass diagrams and class forms xUse Case Diagrams xSequence (Event) Diagram xState Diagrams yAn example

UML: Unified Modeling Language zDeveloped by the “Three Amigos”: Grady Booch, Jim Rumbaugh, Ivar Jacobson yEach had their own development methodology yMore or less emphasis on notation and process zUML is a notation and a process yDiagrams and notation from UML 1.3 Definition (

Diagrams zClass diagrams: Represents static structure zUse case diagrams: Sequence of actions a system performs to yield an observable result to an actor zSequence diagrams:Shows how groups of objects interact in some behavior zState diagrams: Describes behavior of system by describing states of an object

Class Diagrams zBetter name: “Static structure diagram” yDoesn’t describe temporal aspects yDoesn’t describe individual objects: Only the overall structure of the system zThere are “object diagrams” where the boxes represent instances yBut rarely used—other diagrams serve the role of describing object interaction better yWhen used, object diagrams describe static structure, like a data structure

Different Levels of Specifying Classes

Notation in Class Boxes zAbstract classes (and operations) in italics z+ is public, - is private, # is protected zCan also specify stereotypes or compartments y“constructors” or “query” y“controller”

Other variations in Class specifications zUse of templates, interfaces, and types zCan even specify body of methods

Components of Class Diagrams zMultiplicities yHow many of each? zLabels to indicate how reference is viewed zRole and Association classes

Navigability and Aggregations zNavigability yWho owns/contains/has who? yArrows not strictly required zAggregation: Open diamond y“Part-of” relationship, but disagreement zComposition: closed diamond yPart can only belong to whole

Qualifiers zServes to describe an instance variable that partitions the relationship.

Use Case Diagrams zMeans of capturing requirements zDocument interactions between user(s) and the system yUser (actor) is not part of the system itself yBut an actor can be another system zAn individual use case represents a task to be done with support from the system (thus it is a ‘coherent unit of functionality’)

Simple Use Case Diagram Reserve book Borrow book Return book

Use Case Diagram with Multiple Actors

Use Cases zAre actually defined as text, including descriptions of all of the normal and exception behavior expected zDo not reveal the structure of the system zCollectively define the boundaries of the system to be implemented zProvide the basis for defining development iterations

Example Use Case Diagram (Advanced Features)

Sequence (Event) Diagrams zShows individual objects and how they interact zDescribes yLifelines of objects yWho sends what messages when yCan also describe sending messages to self ("self-delegation") yCan describe guards, notes, etc.

Example Sequence Diagram

State Diagrams zDescribe all the possible states a particular object can get into, and the events that lead to those changes zAlso called a "statechart"

Example State Diagram

Other Kinds of UML Diagrams zCollaboration Diagrams yAn alternative to sequence diagrams for describing the flow of messages between objects

Other kinds of UML Diagrams zActivity Diagrams yAlternative to statecharts

Other kinds of UML Diagrams zImplementation Diagrams yDown at the detail level xWhat piece of code goes where? xHow are they connected?

UML in Real Practice zYou don't typically use all the diagrams yYou'll choose between them based on preference and particular situation zYou typically use many diagrams yA single use case may not capture all scenarios yIf you are going to use statecharts, there are probably lots of objects with states yEach sequence/collaboration diagram only shows one interaction

Example: Student Registration System zNot going to do all the diagrams yNot all types, not even all that completely specify the system zBut this is an application you know, so the examples may help make sense

Student Registration Class Diagram * prereqs 0..3 prereqs 0..3 Course name number department creditHours prerequisites 1 *** **1 CourseGrade course grade termEnrolled Transcript courseGrades gradeForCourse: takenCourse: 1*** 1 ** * *** 1..3*** *** * Department courses requiredCourses 111 Student transcript major enrollInClass: gradeInCourse: takenCourse: Section course daysAndTime roster addStudent removeStudent * 1 * sections Registrar courses getSectionsFor: enrollInSection: dropFromSection: schedule registrar 1 * 1

Partial Use Case Diagram Withdraw from a Course Apply for Admission Student Enroll in the University Enroll in a Course Admissions

States of a Student EnrollInClass ( Add a Transcript ) Enrolled Apply [ Must be accepted first ] Graduate [ All courses must be completed ] AddCourse Registered Withdraw

Sequence Diagram: Registering for Course theRegistraraSectiontheTranscriptaStudent state of prereq have prereq enrolled enrollInSection : return sections getSectionsFor: addStudent : enrolled takenCourse: prerequisite

Process to Representations zOOA yCRC Cards (but they’re not officially UML) yUse Cases zOOD yJust about all of the rest yBut variations—some detail is later zOOP yCan actually go UML->code with some tools!

UML v1.3 Copyright Notice Copyright © 1997, 1998, 1999 Object Management Group, Inc. Copyright © 1997, 1998, 1999 Hewlett-Packard Company Copyright © 1997, 1998, 1999 IBM Corporation Copyright © 1997, 1998, 1999 ICON Computing Copyright © 1997, 1998, 1999 i-Logix Copyright © 1997, 1998, 1999 IntelliCorp Copyright © 1997, 1998, 1999 Electronic Data Services Corporation Copyright © 1997, 1998, 1999 Microsoft Corporation Copyright © 1997, 1998, 1999 ObjecTime Limited Copyright © 1997, 1998, 1999 Oracle Corporation Copyright © 1997, 1998, 1999 Platinum Technology, Inc. Copyright © 1997, 1998, 1999 Ptech Inc. Copyright © 1997, 1998, 1999 Rational Software Corporation Copyright © 1997, 1998, 1999 Reich Technologies Copyright © 1997, 1998, 1999 Softeam Copyright © 1997, 1998, 1999 Sterling Software Copyright © 1997, 1998, 1999 Taskon A/S Copyright © 1997, 1998, 1999 Unisys Corporation