0% found this document useful (0 votes)
15 views30 pages

Story:: What UML Is For Some of The Main Diagrams Are and What You Use Them For

Uploaded by

Ailada Meephon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views30 pages

Story:: What UML Is For Some of The Main Diagrams Are and What You Use Them For

Uploaded by

Ailada Meephon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

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

Navigability
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
Student Transcript
1 1
transcript courseGrades
* 1
major
Registrar gradeForCourse:
schedule
Section takenCourse:
registrar courses
1 1
course * sections
enrollInClass:
gradeInCourse: daysAndTime getSectionsFor:
takenCourse: roster enrollInSection:
* addStudent dropFromSection:
removeStudent * 1
*
CourseGrade
1
1 course
1* *
1 * grade
Department Course termEnrolled
1..3 * *
courses
name
requiredCourses
number
department 0..3
creditHours prereqs
prerequisites
Partial Use Case Diagram

Apply for
Admission

Enroll in
the University Admissions

Student Enroll in
a Course

Withdraw
from a Course
States of a Student
Apply [ Must be accepted first ]
Enrolled

EnrollInClass ( Add a Transcript )

Withdraw Registered 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

You might also like