0% found this document useful (0 votes)
44 views

Introduction To Unified Modeling Language (UML)

The document provides an introduction to the Unified Modeling Language (UML). It describes UML as a graphical modeling language that was created by combining the efforts of Booch, Rumbaugh, and Jacobson. The document outlines some of the key components of UML, including class diagrams, which show classes and relationships, and sequence diagrams, which model dynamic interactions over time. It also discusses UML concepts like associations, dependencies, generalization/specialization relationships, and how UML can be used to model systems at varying levels of detail.

Uploaded by

abhi_kotecha
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Introduction To Unified Modeling Language (UML)

The document provides an introduction to the Unified Modeling Language (UML). It describes UML as a graphical modeling language that was created by combining the efforts of Booch, Rumbaugh, and Jacobson. The document outlines some of the key components of UML, including class diagrams, which show classes and relationships, and sequence diagrams, which model dynamic interactions over time. It also discusses UML concepts like associations, dependencies, generalization/specialization relationships, and how UML can be used to model systems at varying levels of detail.

Uploaded by

abhi_kotecha
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Introduction to Unified Modeling

Language (UML)

By Rick Mercer with help from


The Unified Modeling Language User Guide, Grady
Booch, James Rumbaugh, Ivar Jacobsen , Addison Wesley,
1999, ISBN 0-201-57168-4
The Unified Modeling Language (UML)

UML or Unified Modeling Language comes


from Rumbaugh, Booch, and Jacobson (the
three amigos) who combined efforts to
standardize on one modeling language
This is primarily a graphical communication
mechanism for developers and customers
We will learn some, but not all, of the UML
 it is very complex, few understand all of it

6-2
UML

The main purpose of UML is to


 support communication about the analysis and
design of the system being developed
 support the movement from the problem domain in
the "world" to the solution domain in the machine
two views of the same system
• one view has diagrams
• source code is another view

6-3
UML is a Modeling Language
 UML
 graphical notation to describe software design
 has rules on how to draw models of
classes
associations between classes
message sends between objects
 has become the de facto industry standard
Not official, but everyone uses it
 Like a blueprint to show what is going on during analysis,
design and implementation
Some Projects require UML documentation

6-4
UML Defined by the Authors
The Unified Modeling Language User Guide,
Booch, Rumbaugh, Jacobson states:
The UML is a language for
 visualizing
 specifying
 constructing
 documenting
the artifacts of a software intensive system

6-5
First up: Class Diagrams

A class diagram
 expresses class definitions to be implemented
 lists name, attributes, and methods for each class
 shows how instances will connect to one others
UML allows different levels of detail on both
the attributes and the methods of one class
 could be just the the class name in a rectangle
 or like the general form shown on the next slide

6-6
Software Specification (Class Name)

attribute
attribute : type
attribute : type = initial value
classAttribute
derivedAttribute
...

method1()
method2(parameter : Type) : return type
abstractMethod()
+publicMethod()
-privateMethod()
#protectedMethod()
classMethod()
...
6-7
AccountCollection

- allAccounts : HashMap

+AccountCollection ()
+getAccountWithID (ID: String) : Account
+add(accountToAdd: Account) : boolean
+iterator() : Iterator

Note: iterator is needed by the


bank manager

6-8
Sterotypes

Stereotype is a UML element that allows


designers to extend the UML vocabulary
 Often used to distinguish an abstract class name
from an interface, both of which are written in
italic
<<interface>>
Iterator
+hasNext(): boolean
+next(): Object
+remove(): void

6-9
Different levels of detail

Tips for modeling


 Express as much or as little detail as needed
 Often, a rectangle with a name is enough
perhaps a method or an attribute clarifies
 Simple is good
 Sketches on paper or white board are effective

6-10
Relationships

Three Relationships in UML


1) Dependency
2) Association
3) Generalization
Understanding these relationships is more
important than the lines that UML uses

6-11
1) Dependency: A Uses Relationship

Dependencies
 occurs when one object depends on another
 if you change one object's interface, you need to
change the dependent object
 arrow points from dependent to needed objects
CardReader
Jukebox
CDCollection

SongSelector
6-12
2)Association: Structural Relationship

Association
 a relationship between classes indicates some
meaningful and interesting connection
 Can label associations with a hyphen connected
verb phrase which reads well between concepts
association

getAccountWithID
Jukebox JukeboxAccountCollection
1 1

6-13
Associations

Associations imply
 our knowledge that a relationship must be
preserved for some time (1 ms to forever)
Between what objects do we need to remember a
relationship?
• Does a Transaction need to remember Account?
• Would AccountCollection need to remember
Accounts?
Stores
AccountCollection Account
1 1..*

6-14
Notation and Multiplicity Adornments
UML Association:
 a line between two concepts and a name
 they are bi-directional * T
zero or more;
"many"
 can have a multiplicity
 exist in class diagrams 1..*
T one or more

1..52
T one to fifty two

5
Multiplicity T exactly five

adornments
3, 5, 8 exactly three,
T
five or eight
6-15
Multiplicity

Multiplicity defines how many instances of


type A can be associated with one instance of
type B at some point can differ
Game Player
1 2..6

Mother Child
1 1+

performs-in Actor is associated


Actor Film with 0 to many films.
* * A film is associated
can label associations with 0 to many actors
6-16
Depends on Context

Are all three associations possible?

Car Wheel
1 4

Car Wheel
1 5

Car Wheel
1 3

6-17
Association Names Upcase / hyphenate
 Read this Type-VerbPhrase-Type (POST is a Point of Sale Terminal)

Store
1
Contains

1.. *
POST Captures Sale Paid-by Payment
1 1.. * 1 1
 Not yet worrying about messages, instance variables, data flow,
or classes yet
 Just shows which objects have associations

Airline
6-18
1
Aggregation: A Special Association

Aggregation: whole/part relationships


 An association that models HAS-A relationships
 The objects can exist independently or each other
 No one object is more important than the other
 Place an open diamond on the whole
 Could mean School has a HashMap of Students
School Student
1..* *

6-19
Composition: A Special Association
Composition: Stronger relationship
 One can not exist without the other
 If the school folds, students live on
but the departments go away also
 If a department closes, the school can go on AIC e.g.

School Department
1 1..*
1..*

 Model aggregation* or composition? When in doubt, use association (just


Student
a simple line)

6-20
Sequence Diagrams

A class diagram shows a fixed (static) view of


a system
A sequence diagram represents a dynamic
view of a system by attempting to capture
messages sends over time
 Can document a scenario such as
User Selects Song

6-21
Sequence Diagrams

Objects are lined up on top in rectangles


Object names :theJukebox
Dashed lines represent lifetime of objects
Rectangles are activation lines
 When the object has control
 Activation bar of the receivers of the message is
smaller than the sender's activation bar
Not much detail written

6-22
http://www.ifi.uio.no/in219/verktoy/doc/html/doc/user/mg/dgmsuml6.htm
l

6-23
http://www.visual-paradigm.com/
VPGallery/diagrams/Sequence.html

6-24

You might also like