UML: Unified Modeling Language

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
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.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Chapter 15: System Modeling with UML
UML – Class Diagrams.
UML: Unified Modeling Language
Design Patterns in Java Appendix D UML at a Glance Summary prepared by Kirk Scott 1.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
© Copyright Eliyahu Brutman Programming Techniques Course.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Unified Modeling Language(UML) BY
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.
CMIS 470 Structured Systems Design
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.
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
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.
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.
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.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
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 2008, Alverson Using UML to express Software Architecture.
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.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
(14-2) UML Instructor - Andrew O’Fallon CptS 122 (December 2, 2015) Washington State University.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
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.
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.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
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.
Modeling with UML – Class Diagrams
Introduction to UML.
Unified Modeling Language (UML)
Evolution of UML.
Object-Oriented Analysis and Design
Introduction to Unified Modeling Language (UML)
Unified Modeling Language
The Unified Modeling Language
Unified Modeling Language
Systems Analysis and Design With UML 2
Week 12: Activity & Sequence Diagrams
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
Software Design Lecture : 15.
Class Diagrams Class diagram is basically a graphical representation of the static view of the system and represents different aspects of the application.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
ITEC324 Principle of CS III
Presentation transcript:

UML: Unified Modeling Language Story: What UML is for Some of the main diagrams are and what you use them for Class diagrams and class forms Use Case Diagrams Sequence (Event) Diagram State Diagrams An example

UML: Unified Modeling Language Developed by the “Three Amigos”: Grady Booch, Jim Rumbaugh, Ivar Jacobson Each had their own development methodology More or less emphasis on notation and process UML is a notation and a process Diagrams and notation from UML 1.3 Definition (http://www.rational.com)

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

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

Different Levels of Specifying Classes

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

Other variations in Class specifications Use of templates, interfaces, and types Can even specify body of methods

Components of Class Diagrams Multiplicities How many of each? Labels to indicate how reference is viewed Role and Association classes

Navigability and Aggregations Who owns/contains/has who? Arrows not strictly required Aggregation: Open diamond “Part-of” relationship, but disagreement Composition: closed diamond Part can only belong to whole

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

Use Case Diagrams Means of capturing requirements Document interactions between user(s) and the system User (actor) is not part of the system itself But an actor can be another system An 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 Are actually defined as text, including descriptions of all of the normal and exception behavior expected Do not reveal the structure of the system Collectively define the boundaries of the system to be implemented Provide the basis for defining development iterations

Example Use Case Diagram (Advanced Features)

Sequence (Event) Diagrams Shows individual objects and how they interact Describes Lifelines of objects Who sends what messages when Can also describe sending messages to self ("self-delegation") Can describe guards, notes, etc.

Example Sequence Diagram

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

Example State Diagram

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

Other kinds of UML Diagrams Activity Diagrams Alternative to statecharts

Other kinds of UML Diagrams Implementation Diagrams Down at the detail level What piece of code goes where? How are they connected?

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

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

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

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

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

Sequence Diagram: Registering for Course aStudent theRegistrar aSection theTranscript getSectionsFor: return sections enrollInSection: takenCourse: prerequisite takenCourse: prerequisite state of prereq have prereq addStudent: enrolled enrolled

Process to Representations OOA CRC Cards (but they’re not officially UML) Use Cases OOD Just about all of the rest But variations—some detail is later OOP Can 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