You are on page 1of 70

ACADEMIC YEAR 200 200

DEPARTMENT OF
COMPUTER SCIENCE AND
ENGINEERING
OOPS THROUGH UML LAB MANUAL
PREFACE
UML is a language used for visualizing, specifying, constructing, and
documenting the artifacts of a software intensive system.
This manual is designed and developed under the syllabus pattern
introduced by Jawaharlal Nehru Technological University for the V
semester !Tech "omputer #cience and $ngineering department for the
Language %rocessor Lab! This manual is indented for an introductory
course in &&%# through UML at the graduate level students! 't provides to
a way to represent the artifacts of a software intensive system in a
standardized manner!
The primary purpose of this manual is creating a comprehensive
understanding of the &&%# concepts with their application in UML along
with mapping it to various programming languages!
(e are liable to convey our sincere than)s to our *!&!+! and all the
staff members of "#$ for their helping hands to produce this successful
manual!
#T,-- 'N"*,./$ *&+0"#$ %.'N"'%,L
&&%# L, T*.&U/* UML
T,L$ &- "&NT$NT#
#!N& T'TL$ %,/$ N&
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Introduction
List of programs:
Airlines Reservation Syste
A!" "odel
Auction A##lication
$ourse Re%istration
&nline 'oo( S)o#
*ersonal $o#uter "odel
*lant "odel
*oint &+ Sale
Siulated $o#any
Student "odel
!ele#)one ,ialin%
5
11
27
37
39
43
54
55
56
31
58
67
68
&&%# L, T*.&U/* UML
",L$N+$.
#!N& T'TL$ +,T$ .$M,.1#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Airlines Reservation Syste
A!" "odel
Auction A##lication
$ourse Re%istration
&nline 'oo( S)o#
*ersonal $o#uter "odel
*lant "odel
*oint &+ Sale
Siulated $o#any
Student "odel
!ele#)one ,ialin%
INTRODUCTION TO UML
UML is a language used for visualizing, specifying, constructing and
documenting the artifacts of a software intensive system!

uilding loc)s of UML 2

Things
.elationships
+iagrams
Things in UML 2
#tructural things
i. Classes
ii. Inte!a"es
iii. C#lla$#ati#ns
i%. Use Cases
%. A"ti%e Classes
%i. C#&'#nents
vii. N#(es "lasses
ehavioral things
i. Intea"ti#ns
ii. State &a")ines
/rouping things
i! %ac)ages
,nnotational things
i! Notes
.elationships in UML 2
+ependency
,ssociation
/eneralization
+iagrams in UML 2
"lass +iagram
&b3ect +iagram
Usecase +iagram
#e4uence +iagram
"ollaboration +iagram
#tatechart +iagram
,ctivity +iagram
"omponent +iagram
+eployement +iagram
Class :
MyFrame
height : int = 300
width : int = 400
status : int = 1
title : String = "Demo Frame"
MyFrame() : MyFrame
open(void) : void
close(int status) : void
resize(int height, int width) : void
minimize(void) : void
maximize(void) : void
Interface :

MouseListener
mouseClicked()
mousePressed()
mouseReleased()
mouseEntered()
mouseExited()
(from event)
<<Interface>>
Collaboration :

Use Case :
Place Order
Active Classes :
Active Classes :
OrderForm.j ava
Node :
File Server
Interaction :
State Machine :
Packaes :
Grouping things are the organizational parts of UML
models. These are the boxes into which a model can be
decomposed. In all, there is one primary ind of grouping
thing, namely, !acages.

java.swing.*
Notes :
"nnotational things are the explanatory parts of
UML Models. These are the comments you may apply to
describe and illuminate about any element in a model.
return copy of self
De!endenc" :
Association :
Generali#ation :


Reali#ation :
-A' ./.R$IS.S
#. "irlines $eser%ation &ystem
Add sequence diagram :-
administrator addform addcontroller errormessage passenger DB
requestfieldvalues()
enter_field_values()
validate()
invalid()
Display_error_messages()
valid_add_record()
Delete sequence diagram :-
administrator deleteform deletecontroller errormessages passengerDB
request_key_field()
enter_key_field()
validate()
invalid()
display_error_messages()
valid_delete_record()
Fight Database Maintanance :-
administrator domainform domaincontroller
request_operator()
specify_operation()
add()
sequence
diagram
delete()
sequence
diagram
update()
sequence
diagram
Update sequence diagram :-
Mo
administrator updateform updatecontroller errormessages flight DB
request_key_field()
enter_key_field()
validate()
lookup()
query_result()
no_such_record()
recordexist_displayrecord()
edit_details()
validate()
invalid()
valid_update_record()
Mode of payement sequence diagram :-
reserver reservation form reservation
controller
banking details error messages printer banking DB
request_mode_of_payment()
select_mode_of_payment()
select_mode()
if_credit_cord()
request_banking_details()
enter_bank_details()
lookup()
query_result()
invalid()
if_valid()
diveconfirmation()
if_cash()
deliver_ticket()
Add collaboration diagram :
administrator
addform addcontroller
errormessages
passenger DB
1: request_field_values()
2: enter_field_values() 3: validate()
6: valid_add_record()
4: invalid()
5: displat_error_messages()
Delete collaboration diagram :-
administrator
updateform
updatecontroller
errormessages
flight DB
1: request_key_field()
2: enter_key_field()
8: edit_details()
3: validate()
7: recordexist_displayrecord()
9: validate()
6: no_such_record()
10: invalid()
4: lookup()
5: query_result()
11: valid_update_record()
Update collaboration diagram:-
administrator updateform updatecontroller
errormessages
passengers DB
1: request_key_field()
2: enter_key_field()
8: edit_details()
3: valid()
7: recordexit_displayrecord()
9: validate()
4: lookup()
5: query_result()
11: valid_update_record()
6: no_such_record()
10: invalid()
Add(flight !equence diagram :-
addform administrator addcontroller errormessage flight DB
request_field_values()
enter_field_values()
validate()
invalid()
display_error_messages()
valid_add_record()
Update(flight collaboration diagram:-
administrator
updateform
updatecontroller
errormessages
flight DB
1: request_key_field()
2: enter_key_field()
8: edit_details()
3: validate()
7: recordexist_displayrecord()
9: validate()
6: no_such_record()
10: invalid()
4: lookup()
5: query_result()
11: valid_update_record()
"oo#ing collaboration diagram :-
5: lookup()
reserver welcomeform
reservationform
reservationcontroller
passenger DB
errormessages
flight DB
8: display_flight_details()
1: welcome_reservor() 2: request_details()
3: enter_details()
9: select_flight()
12: request_passenger_details()
13: enter_passenger_details()
15: mode_of_payment()
17: update_flight DB
18: unlock_the_record()
4: passplaces()
10: selected_flight()
14: process_passenger_details()
6: query_result()
11: look_selected_flight_record()
7: no_match_found()
16: store_passenger_details()
$ogin sequence diagram :-
administration loginform logincontroller welcomeform errormessages
request_details()
enter_details()
password_details()
valid()
invalid()
display_error_messages()
Maintain passenger Database sequence diagram :-
administrator domainform domaincontroller
enter_the_operation()
add()
sequence
diagram
delete()
sequence
diagram
update()
sequence
diagram
Maintain passenger database :-
administrator domainform domaincontroller
enter_the_operation()
add()
sequence
diagram
delete()
sequence
diagram
update()
sequence
diagram
Update passenger database sequence diagram :-
administrator updateform updatecontroller passenger DB errormessage
request_key_field()
enter_key_field()
validate()
lookup()
query_result()
no_such_record()
recordexist_displayrecord()
edit_details()
validate()
invalid()
valid_update_record()
Delete flight database sequence diagram:-
administration loginform logincontroller welcomeform errormessages
request_details()
enter_details()
password_details()
valid()
invalid()
display_error_messages()
"oo#ing sequence diagram:-
reserver welcomeform reservationform errormessages passenger DB flight DB reservation
controller
welcome_reservor()
request_details()
enter_details()
passplaces()
lookup()
query_result()
no_match_found()
display_flight_details()
sellect_flight()
sellected_flight()
lock_sellected_flight_reserve()
request_paddenger_details()
enter_passenger_details()
process_passenger_details()
mode_of_payment()
store_passenger_details()
sequence
diagram
update_flight DB
unlock_the_reader()
$ogin collaboration diagram :-
administrator
loginform logincontroller
welcomeform
errormessages
1: request_details()
2: enter_details()
6: diaplay_error_messages
3: passdetails()
5: invalid()
4: valid()
Maintain passenger database collaboration diagram :-
administrator loginform
logincontroller
welcomeform
errormessages
1: request_details()
2: enter_details()
6: display_error_messages()
3: passdetails()
5: invalid()
4: valid()
Maintain flight database collaboration diagram :-
administrator domainform
domaincontroller
1: request_operation()
2: specify_operation()
3: add()
4: delete()
5: update
Delete flight D" collaboration diagram :-
administrator
deleteform deletecontroller
errormessages
flight DB
1: request_key_fields()
2: enter_key_fields() 3: validate()
6: valid_delete_record()
4: invalid()
5: displsy_error_messages()
Mode of payment collaboration diagram :-
reservor
reservationcontroller
bankingdetails banking DB
errormessages
reservationform
printer
5: request_bank_details()
6: enter_bank_details()
1: request_payment_details()
2: selected_mode_payment()
10: ifvalid()
11: diveconformation()
9: invalid_data()
7: lookup()
8: quert_result()
13: deliver_ticket()
3: selected_mode()
4:
12: ifcash()
2. ATM MODEL :
$ogin sequence diagram:-
user lo%in +or lo%in controller 0elcoe
essa%e
dis#lay error
essa%e
data1ase
1: user lo%in23
2: re4uest usernae 5 #s0d23
3: enter usernae 5 #s0d23
4: re++erin% t)e details o+ t)e users
5: validation o+ usernae 5 #s0d
6: valid usernae 5 #s0d
7: invalid usernae 5 #s0d
8: dis#lay error essa%e
%reating cards sequence diagram:-
ana%er user ain +or a##lication +or controller dis#lay error
essa%e
1: en4uirin% details
2: #rovidin% details to user
3: re4uestin% a##lication +or
4: #rovidin% a##lication +or
5: su1ission o+ a##lication +or +or validation
6: valid a##lication +or
7: invalid a##lication +or
8: dis#lay error essa%e
9: user re+ills t)e a##lication +or a%ain
%reating codes sequence diagram:-
ana%er adinistrator veri+ication assi%nin%
codes
data1ase
1: #rovidin% card in+oration
2: veri+ication
3: valid
4: u#dation o+ data1ase
5: invalid
!electing modes:-
users ain +or controller
1: dis#lay o#tions o+ de#osit 5 0it)dra0
2: select o#tions
3: de#osit o#tion is selected
Se4uence
dia%ra
4: 0it)dra0 o#tion is selected
Se4uence
dia%ra
Deposit sequence diagram :-
user controller A!"
1: user is used +or aount
2: enter t)e aount
3: user is #rovided 0it) various odes o+ #ayents
4: select odes o+ #ayents
5: selectin% cas)23
se4uence
dia%ra
6: selectin% c)e4ue23
se4uence
dia%ra
Deposit cash sequence diagram:-
user controller A!" data1ase
1: insert c)e4ue +or veri+ication
2: #rovides ac(no0led%eent
3: c)e4ue is #rovided to syste
4: u#datin% data1ase
&ithdra' sequence diagram :-
user controller A!"
1: user is as(ed +or aount
2: enter aount
3: user is #rovided 0it) various odes o+ #ayent
4: select ode o+ #ayent
5: selectin% cas)
Se4uence
dia%ra
6: selectin% c)e4ue
Se4uence
dia%ra
&ithdra' cash sequence diagram:-
user A!" data1ase
1: cas) is #rovided +ro syste
2: u#datin% data1ase
$ogin collaboration diagram:-
user
lo%in
+or
lo%in
controller
0elcoe
essa%e
dis#lay error
esa%e
data1as
e
1: user lo%in
2: re4uest usernae 5 #s0d
3: enter usernae 5 #s0d 5: validation o+ usernae 5 #s0d
6: valid usrnae 5 #s0d
7: invalid usernae 5 #s0d
4: re++erin% details o+ t)e user
8: dis#lay error essa%e
%reating cards collaboration diagram:-
ana%er
user
ain
+or
a##licatio
n +or
controlle
r
dis#lay error
essa%e
6: valid a##lication +or
1: en4uirin% details
2: #rovidin% details
5: su1 ission o+ a##lication +or +or validation
9: user re+ills t)e a##lication +or
8: dis#lay error essa%e
3: re4uestin% a##lication +or
4: #rovidin% a##lication +or
7: invalid a##lication +or
%reating codes collaboration diagram:-
ana%er
veri+icati
on
adinist
rator
assi%nin%
codes
data1as
e
1: #rovidin% card in+oration
3: valid
5: invalid
2: veri+ication
4: u#datin% data1ase
!electing method collaboration diagram:-
user
controlle
r
A!"
1: user is as(ed +or aount
2: enter t)e aount
3: user is #rovided 0it) various odes o+ #ayent
4: select ode o+ #ayent
5: selectin% cas)
6: selectin% c)e4ue
Deposit collaboration diagram:-
user
ain
+or
controlle
r
1: dis#lay o#tions +or de#osit 5 0it)dra0
2: select o#tions
3: de#osit o#tion is selected
4: 0it)dra0 o#tion is selected
Deposit cheque collaboration diagram:-
user
controlle
r
A!"
data1as
e
1: insert c)e4ue +or veri+ication
2: #rovides ac(no0led%eent
3: c)e4ue is #rovided to syste
4: u#datin% data1ase
*it)(a+ "#lla$#ati#n,-
user
controlle
r
A!"
1: user is as(ed +or aount
2: enter t)e aount
3: user is #rovided 0it) various odes o+ #ayent
4: select ode o+ #ayent
5: selectin% cas)
6: selectin% c)e4ue
&ithdra' cash collaboration diagram:-
user
A!"
data1as
e
1: cas) is #rovided +ro t)e syste
2: u#datin% data1ase
3. Auction Application :
(urchasers sequence diagram:-
purchaser auction mail negotiation
room
chatting database goodsroom
login
verify user
display goods
select goods
short the store of auction
enter chatting
bidding
select method of bidding
record contents
end of negotiation
broadcasting result
%ollaboration diagram:-
purchaser
goodsroom
negotiation
room
auction
mail
chatting database
2: verify user
1: login
3: displaygoods
4: selectgoods
6: enter chatting
5: short the store of auction
9: record content od charting
7: bidding
8: select method of bidding
4. Course Registration :
$ogin sequence diagram:-
6ser "ain7indo0 -o%in7indo0 -o%in$ontrol 7elcoe
7indo0
.rror"essa%e
1: -o%%in% In
2: As( +or user I, and *ass0ord
3: 8eri+y user I, and #ass0ord
4: 8alid user
5: Invalid 6ser
6: .rror "essa%e
7: Relo%in 9 $ancel
)egistration sequence diagram:-
Student Re%istration
:or
.rror "essa%e :or $ontrol ,ata1ase
1: Re%istration :or
2: Re4uest ,etails
3: .nter ,etails
4: 8alidation
5: 8eri+y .lective ,etails
6: Store ,etails
7: $on+ir "essa%e
8: Invalid .lective
9: ,is#lay Reason
10: Invalidate
11: Re;re%ister
%ourse details sequence diagram:-
Student $ourse:or $ourse:or
$ontrol
.rror"essa%e ,ata1ase
1: Select $ourse
2: 8alidate $ourse
3: <et $ourse In+oration
4: ,is#lay $ourse In+oration
5: Invalid $ourse
6: ,is#lay .rror "essa%e
$ogin collaboration diagram:-
6ser
-o%in
7indo0
"ain
7indo0
-o%in
$ontrol
.rror
"essa%e
7elcoe
7indo0
1: -o%%in%
3: 8eri+ication
2: As( :or I,
7: re-o%in 9 $ancel
5: Invalid
4: 8alid
6: .rror "essa%e
)egistration collaboration diagram:-
Student Re%istration
:or
:or
$ontrol
.rror
"essa%e
,ata1as
e
5: 8eri+y .lective ,etails
1: Re%istration :or
2: Re4uest ,etails
3: .nter ,etails
11: re;re%istration
4: 8alidation
7: $on+ir "essa%e
10: Invalid
8: Invalid $)oice
6: Store ,etails
9: ,is#lay
%ourse details collaboration diagram:-
Student $ourse:or
$ontrol
$ourse
:or
.rror
"essa%e
,ata1as
e
1: Select$ourse
5: ,is#lay $ourse In+oration
6: Invalid
3: <et $ourse In+oation
4: <et $ourse In+oration
2: 8alidation
7: ,is#lay .rror "essa%e
5. Online Booksop :
$ogin sequence diagram:-
user mainform loginform welcomeform logincontroller errorcontroller database
1:login()
2:enter username/password
3:authenticatio
4:enter into database
5:valid
6:invalid
7:error message
8:relogin
*ie' reports sequence diagram:-
administrator mainform controller errormessages database
1:request id
2:enter id
3:verification
4:invalid
5:errormesage
6:re_enterid
7:verified
8:generate reports
*ie' stoc# sequence diagram:-
cuatomer mainform
administrator
controller errormessages database
1:request book details
2:verify
3:not filled property
4:error message
5:verified
6:retrieve data
Maintain boo# stoc# sequence diagram :-
manager option form book profile
form
1:to avial option
2:add books
3:update books
sequence
diagram
sequence
diagram
4:delete books
sequence
diagrams
Add boo#s sequence diagram :-
manager new book add
form
book controller error message database
1: request for new book
2:add new book
3:verification
4:not filled properly
5:error message
6:filled property
7:generate id
Modify boo#s sequence diagram :-
manager selector form modification
form
modification
controller
errormessage database
1:request to select book
2:selecting book
3:intimate database
4:retrive data
5:modify
6:verification
7:improper
8:error message
Delete boo#s sequence diagram :-
manager selector form deletion form database
1:select book
2:retriving data
3:deleting
4:update()
$ogin collaboration diagram:-
user loginform
mainform
welcomeform
logincontroller errormessage
database
1: login()
8: relogin
2: enter username/password
7: error message
3: authentication
5: valid
6: invalid
4: enter into database
*ie' reports collaboration diagram:-
administrator mainform
controller
database
errormessage
1: requestid
2: enter id
6: re_enter id
5: error message
8: generate reports
3: verification
4: invalid id
7: verified
*ie' stoc# collaboration diagram:-
user main form
administrator
controller
database
error
message
4: error message
1: request book details
6: retrieved data
2: verify
3: not filled properly
5: verified
Maintain boo# stoc# :-
manager option
book profile
form
1: to avail option
2: add books
3: update books
4: delete books
Add boo#s collaboration diagram:-
manager new book
add form
book
controller
database
errormessage
1: request for new book
2: add new books
5: error message
7: generate id
3: verification
4: not filled property
6: filled properly
Modify collaboration diagram:-
manager selector
form
modification
controller
modification
form
database error
message
1: request to select book
2: selecting book
5: modifying
3: intimate database
6: verification
4: retrive database
8: error messages
7: improper modification
Delete collaboration diagram:-
manager selector
form
deletion
form
database
1: select book
2: retriving data
4: update()
3: deleting
!. "C Mo#el
$. "lant Mo#el
%. "oint O& 'ale :
!equence diagram:-
cas)ier syste ta= collector credit aut)ori>ation
service
accounts
1: a(e ne0 sales23
2: enter ite23
3: descri#tion23
4: end sales23
5: ta=line ites ? %et!a=es23
6: total 0i) !a=es23
7: a(e #ayent23
8: c)an%e recei#t23
9: re#ly ? re4uest a##roval23
10: #ost receiva1le
11: #ost sales
%ollaboration diagram:-
cas)ier
ta= collector
credit aut)ori>ation service
accouts
syste
1: a(e ne0 sales
2: enter ites
3: descri#tion
4: end sales
6: total 0it) ta=es
7: a(e #ayents
8: c)an%e recei#t
5: ta= line ite ? %et!a=es
9: re#ly ? re4uest a##roval
10: #ost receiva1le
11: #ost sales
(. 'i)ulate# Co)pan*
!equence Diagram for usecase + ,:
:user disp : Display :Loan amount : Cash
Account
details : Compan
yDetails
requestLoan()
getDetails
returnDetails()
Loan(amt,dur)
credit(amt)
updateDisplay()
balance()
amount
!equence diagram for usercase -:
:user disp : Display amount : Cash
Account
MachineClass factory : Factory
purchaseMachine()
balance()
amount()
getStaticDetails()
cost, overload, output, rawcost
howManyMachines()
numberOfMachines
confirm
updateDisplay()
debitCost
addMachine(Machine)
balance()
amount
!imulated company for usecase .:
:User disp:Display factory:Factory MachineClass market:Market production:Prod
uction
sales:Sales
nextTurn
capacity
mcoutput
output
number
projectedPrice()
nextTurn(numbertaken,price,salesprice)
getProductionDetails()
recordNumber()
recordSalesPrice()
getNumberInStock()
stock
getProjectedPrice()
projectedPrice()
getProjectedSales()
projectedSales()
adjustProjectedPrice()
setEndStock(number)
adjustProjectedSales() recordNumberSold(count)
calculate
grossProfit()
/nstance level collaboration diagram:
: Simco
Cash : CashAccount
factory : Factory
Prod : ProductionRun
market : Market
sales : Sales
details : CompanyDetails
disp : Display
1: Create
2: setBalance(amount)
3: Create
4: Create
8: Create
5: Create
6: Create
7: Create
!pecification level collaboration diagram:-
:Simco
/CompanyAccount :
CashAccount
/CompanyProductionRu
n : ProductionRun
/ProductionFactor
y : Factory
/MarketDetails :
Market
/SalesDetails :
Sales
/CompanyDetails :
CompanyDetails
/UserDisplay :
Display
/nstance level collaboration diagram for usecase ,:
1: RequestLoan
: User
disp :
Display
: Loan
details : Company
Details
cash : Cash
Account
2: 3 : Loan ( amount,duration)
3: 5 : addLoan(Loan)
!pecification level collaboration for usecase + ,:
/UserDisplay :
Display
Loan
/CompanyAccount :
CashAccount
/companyDetails :
CompanyDetails
1...* 1...*
1...*
/nstance level collaboration diagram for usecase + -
:User
disp : Display
cash : CashAccount
:Machine
factory : Factory
:Machine
Class
1: Purchase Machines
8: Machine
7: numberOfMachines := howManyMachines()
3: cost = mCost()
4: output = moutput()
5: o_h : mOverhead()
6: rawCost : mcrawcost()
2: Balance()
9: debit(cost)
10: addMachine(Machine)
!pecification level collaboration for usecase -:
/UserDisplay :
Display
:Machine
Class
Machine
/CompanyAccount :
CashAccount
/ProductionFactor
y : Factory
1...*
1...*
1...* 1...*
/nstance level collaboration for usecase .:
/nstance level collaboration for usecase 0:
disp :
Display
details : Company
Details
factory :
Factory
sales :
Sales
cash : Cash
Account
:Machine
Class
:Loan
1: doMonthlyAccounts()
2: o_h = machineOverhead()
6: amount := grossProfit()
7: adjustBank()
8: credit(new Profit())
4: adjustDuration()
5: repayment := showRepayment()
3: o_h := moverhead()
!pecification level collaboration for usecase 0:
/UserDisplay :
Display
/CompanyDetails :
CompanyDetails
/ProductionFactor
y : Factory
/CompanyAccount :
CashAccount
:Loan
:Machine
Class
/SalesDetails :
Sales
!pecification level collaboration diagram for usecase 1:
/UserDisplay : Display
/CompanyDetails :
CompanyDetails
/CompanyAccount :
CashAccount
/SalesDetails :
Sales
/MarketDetails :
Market
/ProductionFactor
y : Factory
/CompanyProduction :
Production
+,. Class Roo) Mo#el
++. Telepone Dialing
!equence diagram :-
caller e=c)an%e tal(er
1: li+t receiver
2: dialtone
3: dial di%it
4: route
5: #)one rin%
6: rin%in% tone
7: ans0er #)one
8: sto# rin%in%
9: sto# tone
%ollaboration diagram:-
caller e=c)an%e
tal(er
1: li+t receiver
2: dialin%
3: dial di%it 4: route
6: rin%in% tone
9: sto# tone
5: #)one rin%s
7: ans0er #)one
8: sto# rin%in%

You might also like