Presentation Transcript
A Brief Introduction to UML : A Brief Introduction to UML or
UML in an Hour
(more or less) Copyright 2000 by RWD Technologies Inc.
All Rights Reserved
What is the UML? : What is the UML? Unified Modeling Language
It is a modeling language, not a process
Rumbaugh joined Booch at Rational in 1994; in 1995, Rational added Jacobsen to their team. In 1996, work on the UML was begun.
In January of 1997, Rational released UML 1.0 to the OMG as their proposal for a methods standard.
Objectives : Objectives Upon successful completion of this presentation, you will be able to:
Visually identify UML diagrams.
Understand the differences between the UML diagrams.
Identify key symbols found in each diagram.
Identify the diagrams used in each ProVision phase.
UML Diagrams to be Covered : UML Diagrams to be Covered Class Diagrams
Use Case Diagrams
Collaboration Diagrams
Sequence Diagrams
Package Diagrams
Component Diagrams
Deployment Diagrams
Activity Diagrams
State Diagrams
Class Diagrams : Class Diagrams Are the most fundamental UML Diagram.
Describe the classes in the system, and the static relationships between classes.
Class diagrams are used during Analysis, Design and Development.
UML Class Diagram : UML Class Diagram DVD Movie VHS Movie Video Game Rental Item
{abstract} Rental Invoice 1..* 1 Customer Checkout Screen 1 0..1 1
UML Class Diagram : UML Class Diagram DVD Movie VHS Movie Video Game Rental Item
{abstract} Rental Invoice 1..* 1 Customer Checkout Screen 0..1 1 Simple
Association Class Abstract
Class Simple
Aggregation Generalization Composition
(Dependency) Multiplicity
IDEF1X97 Class Diagram : IDEF1X97 Class Diagram Rental Invoice Customer Checkout Screen Class Relationship Multiplicity/
Cardinality DVD Movie VHS Movie Video Game Rental Item Dependent
class Base class
is abstract Generalization
(cluster)
Parts of a Class : Parts of a Class Classes can have four parts
Name
Attributes
Operations
Responsibilities
Classes can show visibility and types.
All parts but the Name are optional.
Object Diagrams : Object Diagrams An Object is an instance of a class.
Object names are underlined.
Object diagrams are similar to class diagrams. Many of the same notations are used.
Object diagrams capture instances of classes, and allow the dynamic relationships to be shown.
Class and Object Diagrams : Class and Object Diagrams 0..1 0..n Customer Rental Item Rents +name:string +id:integer +released:date +id:integer Joe: Customer Casablanca: Movie +name:Joe Smith +id:1667 +released:1942 +id:22340 Class Diagram Object Diagram Class Name Object Name Attributes Association Name
Stereotypes, Tagged Values and Constraints : Stereotypes, Tagged Values and Constraints extend the UML
Stereotypes are shown using <<>>
Tagged Values and Constraints are shown using { }
RentalContract
<>
{version=1.1} ListOfRentedItems
Customer {ordered by title} Constraint Tagged Value Stereotype Stereotypes, Tagged Values and Constraints
Use Cases : Use Cases Describe interactions between users and computer systems (both called actors) .
Capture user-visible functions.
Achieve discrete measurable goals.
May be
small (“Make selected text bold”)
large (“Generate a table of contents”)
Are typically used during Analysis and Design.
Use Case Diagram : Use Case Diagram
Use Case Report : Use Case Report The Use Case Report provides documentation for the Use Case.
A Use Case is not complete without the report.
The elements of the Use Case Report are shown on the right. Brief description
Precondition
Flow of events
Main flow
Subflows
Alternate flows
Postcondition
Special Requirements
Enclosures
Diagrams
Pictures of the UI
Extends and Includes Relationships : Extends and Includes Relationships Extends Includes Find Item by Title Find Items by Actor Search Movie
Database «includes» «includes» Customer Dependency «extends» Stereotype Check In Movie Assess
Late Fees
Collaboration Diagrams : Collaboration Diagrams Collaboration diagrams describe object interactions organized around the objects and their links to each other
Focus on exchange of messages between objects through their associations.
Appears during Analysis phase
Enhanced during Design phase
Collaboration Diagram - Rent Movie : :Check-out Manager :Customer :Inventory 1: enter_customer() 3: enter_movies() 5: add(customer, movies) 7: print invoice() 2: IsValidCust(CustId) 4:GetMovieByBarcode() Collaboration Diagram - Rent Movie :Clerk Object Message :Rented Items 8: generateRentalTotal()
Sequence Diagrams : Sequence Diagrams Can be “morphed” from Collaboration Diagrams.
Describe interactions between objects arranged in time sequence
Focus on objects and classes involved in the scenario and the sequence of messages exchanged
Associated with use cases
Used heavily during Analysis phase and are enhanced and refined during Design phase
Sequence Diagram - Rent Movie : Sequence Diagram - Rent Movie 1: find customer() 2: search (string) 4: search (string) 6: add(Cust, item) 3: enter movie() 5: rent (movie) 7: printInvoice() 8: generateRentalTotal() Object Lifeline Activation Message :CheckoutMgr :Inventory Cust:Customer :RentedItems :Employee
Package Diagram : Package Diagram Class Package
Component Diagram : Component Diagram Component Interface Dependency Note
Deployment Diagram : Node Communication
Association Deployment Diagram
Activity Diagram : Identify
Caller Create
Account Obtain Name
& Address Open
Account? Current
Customer? [no] [no] [yes] [yes] Action State Start State Decision End State Activity Diagram
Swimlanes and Fork/Join Points : Identify
Movie Place
Order Place
Order
Fill
Order
Pay Deliver
Movie Pickup
Movie Customer Manager Walking Clerk Fork Point Join Point Collect
Money Swimlanes and Fork/Join Points
State Diagram : State Diagram State Transition Activity Guard Action Event
UML Diagram Usage : UML Diagram Usage
Conclusion : Conclusion UML is a robust notation that can express information gathered throughout a project’s lifecycle.
Adopting standard use of UML can improve communication between clients and Information Systems Service Providers.
UML can be used as an effective data modeling tool as well as an object modeling tool.
Questions : Questions If I don’t know the answer, maybe I can make one up!
For more information… : For more information… Contact:
John T. Bell
RWD Technologies Inc.
10480 Little Patuxent Parkway
Columbia, MD 21044
Phone: 410-884-2453
email: jbell@rwd.com
http://www.rwd.com
Catch the
buzz on authorSTREAM
Copyright © 2002-2008 authorSTREAM. All rights reserved.