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

Uml Diagrams Practical Tutorial

The document discusses UML diagrams and their uses in modeling object-oriented systems. UML diagrams can be used to document various views of a system including structural, behavioral, and implementation views. Common UML diagrams include use case diagrams, class diagrams, sequence diagrams, and deployment diagrams.

Uploaded by

Aarthi E
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Uml Diagrams Practical Tutorial

The document discusses UML diagrams and their uses in modeling object-oriented systems. UML diagrams can be used to document various views of a system including structural, behavioral, and implementation views. Common UML diagrams include use case diagrams, class diagrams, sequence diagrams, and deployment diagrams.

Uploaded by

Aarthi E
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 49

UML Diagrams Practical Tutorial

Object Modelling Using UML


UML is a modelling language
 Not
a system design or development
methodology
Used to document object-oriented
analysis and design results.
Independent of any specific design
methodology.
UML Origin
OOD in late 1980s and early 1990s:
 Differentsoftware development houses
were using different notations.
 Methodologies were tied to notations.
UML developed in early 1990s to:
 Standardize the large number of object-
oriented modelling notations
UML Lineology
Based Principally on:
 OMT [Rumbaugh 1991]
 Booch’s methodology[Booch 1991]
 OOSE [Jacobson 1992]
 Odell’s methodology[Odell 1992]
 Shlaer and Mellor [Shlaer 1992]
Different Object Modeling
Techniques in UML
OMT

UML
Booch’s
OOSE Methodology
UML as A Standard
Adopted by Object Management Group
(OMG) in 1997
OMG is an association of industries
Promotes consensus notations and
techniques
Used outside software development
 Example car manufacturing
Developments to UML
• UML UML 1.0

continues to
develop:
– Refinements UML 1.X
– Making it
applicable to
new contexts Application to
UML 2.0 embedded
systems
Why are UML Models Required?
A model is an abstraction mechanism:
 Capture only important aspects and ignores the rest.
 Different models result when different aspects are
ignored.
 An effective mechanism to handle complexity.
UML is a graphical modelling tool
Easy to understand and construct
Modeling a House
UML Diagrams
Nine diagrams are used to capture
different views of a system.
Views:
 Provide
different perspectives of a
software system.
Diagrams can be refined to get the
actual implementation of a system.
UML Model Views
Views of a system:
 User’s view
 Structural view
 Behavioral view
 Implementation view
 Environmental view
UML Diagrams
Behavioural View
Structural View - Sequence Diagram
- Class Diagram - Collaboration Diagram
- Object Diagram - State-chart Diagram
- Activity Diagram
User’s View
- Use Case
Diagram

Implementation View Environmental View


- Component Diagram - Deployment Diagram

Diagrams and views in UML


Are All Views Required for Developing A
Typical System?
NO
 Use case diagram, class diagram and one of the
interaction diagram for a simple system
 State chart diagram required to be developed when a
class state changes
 However, when states are only one or two, state chart
model becomes trivial
 Deployment diagram in case of large number of
hardware components used to develop the system
Use Cases
• Different ways in which a system can be used by
the users
• Corresponds to the high-level requirements
• Represents transaction between the user and
the system
• Defines external behavior without revealing
internal structure of system
• Set of related scenarios tied together by a
common goal.
Use Cases
Cont…
• Normally, use cases are independent of each
other
• Implicit dependencies may exist
• Example: In Library Automation System,
renew-book & reserve-book are independent
use cases.
– But in actual implementation of renew-book: a check
is made to see if any book has been reserved using
reserve-book.
Example Use Cases
–For library information system
• issue-book
• query-book
• return-book
• create-member
• add-book, etc.
Representation of
Use Cases
– Represented by use case diagram
– A use case is represented by an ellipse
– System boundary is represented by a rectangle
– Users are represented by stick person icons (actor)
– Communication relationship between actor and
use case by a line
– External system by a stereotype
An Example Use Case Diagram

Play Move

Tic-tac-toe game
Player

Use case model


Why Develop A
Use Case Diagram?
• Serves as requirements specification
• How are actor identification useful in
software development:
– User identification helps in implementing
appropriate interfaces for different categories
of users
– Another use in preparing appropriate
documents (e.g. user’s manual).
Factoring Use Cases
• Two main reasons for factoring:
– Complex use cases need to be factored into
simpler use cases
– To represent common behavior across different
use cases
• Three ways of factoring:
– Generalization
– Includes
– Extends
Factoring Use Cases Using
Generalization

Pay membership fee

Pay through credit card Pay through library pay card


Factoring Use Cases Using
Includes
<<include>> Common
Base use case
use case

Issue Book Renew book

<<include>>
<<include>>
<<include>> <<include>>

Check for Get user Update


reservation selection Selected books
Factoring Use Cases Using
Extends

Base <<extends>> Common


use case use case
Hierarchical Organization of Use
Cases
use case 1 use case 3
External users

use case 2

use case 3.1 use case 3.3


Subsystems
use case 3. 2

use case 1 use case 3


Method
use case 2
Use Case Packaging

Accounts

Print
Query balance
Balance sheet

Receive Make
grant payments
Class Diagram
• Describes static structure of a system
• Main constituents are classes and their
relationships:
– Generalization
– Aggregation
– Association
– Various kinds of dependencies
Class Diagram
• Entities with common features, i.e.
attributes and operations
• Classes are represented as solid outline
rectangle with compartments
• Compartments for name, attributes, and
operations.
• Attribute and operation compartments are
optional depending on the purpose of a
diagram.
Class Diagram
LibraryMember LibraryMember
LibraryMember

Member name Member name


Membership number Membership number
Address Address
Phone number Phone number
E-mail address E-mail address
Membership admission date Membership Admission date
Membership expiry date Membership expiry date
Books issued Books issued

issueBook( );
findPendingBooks( );
findOverdueBooks( );
returnBook( );
findMembershipDetails( );

Different representations of the LibraryMember class


Interaction Diagram
• Models how groups of objects collaborate
to realize some behaviour
• Typically each interaction diagram realizes
behaviour of a single use case
Interaction Diagram
• Two kinds: Sequence and
Collaboration diagrams.
• Two diagrams are equivalent
– Portray different perspectives
• These diagrams play a very important
role in the design process.
Sequence Diagram
• Shows interaction among objects as a two-
dimensional chart
• Objects are shown as boxes at top
• If object created during execution then shown at
appropriate place
• Objects existence are shown as dashed lines
(lifeline)
• Objects activeness, shown as a rectangle on
lifeline
Sequence Diagram Cont…
• Messages are shown as arrows
• Each message labelled with corresponding
message name
• Each message can be labelled with some
control information
• Two types of control information
– condition ([])
– iteration (*)
Elements of a Sequence Diagram
: Customer : Order : Payment : Product : Supplier

place an order

object process

validate

control lifetime
if ( payment ok )
if ( not in stock )
deliver
back order

get address

mail to address

message
Example
Cont…

: Customer : Order : Payment : Product : Supplier

place an order

process

validate

Sequence of message sending


if ( payment ok )
if ( not in stock )
deliver
back order

get address

mail to address
An Example of
A Sequence Diagram
:Library
:Library
:Library Book :Library
Book :Book
Boundary Renewal Member
Register
Controller

renewBook find MemberBorrowing


displayBorrowing
selectBooks bookSelected
* find
[reserved]
[reserved] apology
update
apology

confirm

confirm
updateMemberBorrowing

Sequence Diagram for the renew book use case


Collaboration Diagram
• Shows both structural and behavioural
aspects
• Objects are collaborator, shown as boxes
• Messages between objects shown as a solid
line
• A message is shown as a labelled arrow
placed near the link
• Messages are prefixed with sequence
numbers to show relative sequencing
An Example of
A Collaboration Diagram
6: * find
:Library
Book :Book
[reserved] Register
9: update
8: apology 5: book 10:
Selected confirm
1: renewBook :Library [reserved]
:Library Book 7: apology
Boundary 3: display Renewal
Borrowing Controller

4: selectBooks
2: findMemberBorrowing

12: confirm
:Library
Member

updateMemberBorrowing

Collaboration Diagram for the renew book use case


Activity Diagram
• Not present in earlier modelling techniques:
– Possibly based on event diagram of Odell [1992]
• Represents processing activity, may not
correspond to methods
• Activity is a state with an internal action and
one/many outgoing transitions
• Somewhat related to flowcharts
Activity Diagram vs Flow Chart
• Can represent parallel activity and
synchronization aspects
• Swim lanes can be used to group
activities based on who is performing them
• Example: academic department vs. hostel
Activity Diagram
• Normally employed in business process
modelling.
• Carried out during requirements analysis and
specification stage.
• Can be used to develop interaction diagrams.
An Example of
An Activity Diagram
Academic Section Accounts Section Hostel Office Hospital Department

check
student
records
receive
fees

allot create
hostel hospital
record
register
receive
in
fees
course
conduct
allot medical
room examination

issue
identity card
Activity diagram for student admission procedure at IIT
Activity Diagram: Example 2
Finance Order Stock
Receive Processing Manager
Order Receive
Supply
*[for each line
item on order] Choose
Check Outstanding
Authorize [failed] Line Item Order Items
Payment
* [for each chosen
Cancel [in stock] order item]
Order
Assign to Assign
[succeeded] Order Goods to
Order

[need to reorder]
Reorder
Item

[stock assigned to all [all outstanding


line items and payment order items filled]
Dispatch
authorized] Order
State Chart Diagram
• Based on the work of David Harel
[1990]
• Model how the state of an object changes
in its lifetime
• Based on finite state machine (FSM)
formalism
State Chart Diagram
Cont…

• State chart avoids the problem of


state explosion of FSM.
• Hierarchical model of a system:
– Represents composite nested
states
State Chart Diagram
Cont…

– Elements of state chart diagram


– Initial State: A filled circle
– Final State: A filled circle inside a larger
circle
– State: Rectangle with rounded corners
– Transitions: Arrow between states, also
boolean logic condition (guard)
An Example of A State Chart
Diagram
order received
Unprocessed
Order
[reject] checked [accept] checked

Rejected Accepted
Order Order
[some items available]
[some items not processed / deliver
available] processed

[all items
Pending available] Fulfilled
Order newsupply Order

Example: State chart diagram for an order object


Component Diagram
• Captures the physical structure of the
implementation (code components)
Component Diagram
• Captures the physical structure of the
implementation
• Built as part of architectural specification
• Purpose
– Organize source code
– Construct an executable release
– Specify a physical database
• Developed by architects and programmers
Deployment Diagram
• Captures the topology of a system’s
hardware

A piece of
hardware

You might also like