You are on page 1of 69

OOPS THROUGH UML LAB MANUAL

ACADEMIC YEAR 200 200

COMPUTER SCIENCE AND ENGINEERING

DEPARTMENT OF

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 B.Tech Computer Science and Engineering department for the Language Processor Lab . This manual is indented for an introductory course in OOPS through UML at the graduate level students. It 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 OOPS concepts with their application in UML along with mapping it to various programming languages. We are liable to convey our sincere thanks to our H.O.D. and all the staff members of CSE for their helping hands to produce this successful manual.

STAFF INCHARGE

HOD/CSE

PRINCIPAL

OOPS LAB THROUGH UML TABLE OF CONTENTS S.NO TITLE PAGE NO

1.

Introduction

List of programs: 11 27 37 39 43 54 55 56 31 58 67 68

2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

Airlines Reservation System ATM Model Auction Application Course Registration Online Book Shop Personal Computer Model Plant Model Point Of Sale Simulated Company Student Model Telephone Dialing

OOPS LAB THROUGH UML CALENDER S.NO TITLE DATE REMARKS

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

Airlines Reservation System ATM Model Auction Application Course Registration Online Book Shop Personal Computer Model Plant Model Point Of Sale Simulated Company Student Model Telephone Dialing

INTRODUCTION TO UML UML is a language used for visualizing, specifying, constructing and documenting the artifacts of a software intensive system.

Building Blocks of UML : Things Relationships Diagrams Things in UML : Structural things i. Classes ii. Interfaces iii. Collaborations iv. Use Cases v. Active Classes vi. Components vii. Nodes Classes Behavioral things i. Interactions ii. State machines Grouping things i. Packages Annotational things i. Notes Relationships in UML : Dependency Association Generalization Diagrams in UML : Class Diagram Object Diagram Usecase Diagram Sequence Diagram Collaboration Diagram Statechart Diagram Activity Diagram Component Diagram Deployement Diagram

Class :

Interface :

Collaboration :

Use Case :

Place Order

Active Classes :

Active Classes :
OrderForm.j ava

Node :
File Server

Interaction :

State Machine :

Packages :
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 kind of grouping thing, namely, Packages.

java.swing.*

Notes :
Annotational 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

Dependency :

Association :

Generalization :

Realization :

LAB EXERCISES

1. Airlines Reservation System


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

banking DB

error messages

printer

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 :

2: enter_field_values() administrator 1: request_field_values() addform

3: validate() addcontroller

5: displat_error_messages()

4: invalid() 6: valid_add_record() passenger DB

errormessages

Delete collaboration diagram :2: enter_key_field() 8: edit_details() administrator 1: request_key_field() updateform 7: recordexist_displayrecord() 4: lookup() 11: valid_update_record() 5: query_result() errormessages 6: no_such_record() 10: invalid() flight DB 3: validate() 9: validate() updatecontroller

Update collaboration diagram:2: enter_key_field() 8: edit_details() administrator 1: request_key_field() updateform 7: recordexit_displayrecord() 4: lookup() 11: valid_update_record() 5: query_result() 6: no_such_record() errormessages 10: invalid() passengers DB 3: valid() 9: validate() updatecontroller

Add(flight) Sequence diagram :-

administrator

addform

addcontroller

errormessage

flight DB

request_field_values()

enter_field_values()

validate()

invalid()

display_error_messages()

valid_add_record()

Update(flight) collaboration diagram:2: enter_key_field() 8: edit_details() administrator 1: request_key_field() updateform 7: recordexist_displayrecord() 4: lookup() 11: valid_update_record() 5: query_result() errormessages 6: no_such_record() 10: invalid() flight DB 3: validate() 9: validate() updatecontroller

Booking collaboration diagram :-

3: enter_details() 9: select_flight() 13: enter_passenger_details() reserver 1: welcome_reservor() welcomeform reservationform 2: request_details() 12: request_passenger_details() 15: mode_of_payment() 16: store_passenger_details() 8: display_flight_details() 4: passplaces() 10: selected_flight() 14: process_passenger_details() reservationcontroller 5: lookup() 11: look_selected_flight_record() 17: update_flight DB 18: unlock_the_record() passenger DB

6: query_result() 7: no_match_found() errormessages flight DB

Login 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

errormessage

passenger DB

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()

Booking sequence diagram:-

reserver

welcomeform

reservationform

reservation controller

errormessages

passenger DB

flight DB

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()

sequence diagram

store_passenger_details()

update_flight DB

unlock_the_reader()

Login collaboration diagram :2: enter_details() administrator loginform 1: request_details() 3: passdetails() logincontroller

5: invalid()

4: valid()

6: diaplay_error_messages errormessages

welcomeform

Maintain passenger database collaboration diagram :2: enter_details() administrator 1: request_details() loginform 3: passdetails() logincontroller

5: invalid() 6: display_error_messages() errormessages

4: valid() welcomeform

Maintain flight database collaboration diagram :2: specify_operation() administrator 1: request_operation() domainform

3: add() 4: delete() 5: update

domaincontroller

Delete flight DB collaboration diagram :-

2: enter_key_fields() administrator 1: request_key_fields() deleteform

3: validate() deletecontroller

5: displsy_error_messages() 4: invalid() errormessages

6: valid_delete_record() flight DB

Mode of payment collaboration diagram :11: diveconformation()

reservor

10: ifvalid() 2: selected_mode_payment() 4: 3: selected_mode()

reservationcontroller

1: request_payment_details() reservationform

12: ifcash() 13: deliver_ticket()

9: invalid_data()

5: request_bank_details() printer

6: enter_bank_details() 8: quert_result() 7: lookup() bankingdetails banking DB

errormessages

2. ATM MODEL :
Login sequence diagram:user login form login controller welcome message display error message database

1: user login()

2: request username & pswd()

3: enter username & pswd()

4: reffering the details of the users

5: validation of username & pswd

6: valid username & pswd

7: invalid username & pswd

8: display error message

Creating cards sequence diagram:-

manager

user

main form

application form

controller

display error message

1: enquiring details

2: providing details to user

3: requesting application form

4: providing application form

5: submission of application form for validation

6: valid application form

7: invalid application form

8: display error message

9: user refills the application form again

Creating codes sequence diagram:-

manager

administrator

verification

assigning codes

database

1: providing card information

2: verification

3: valid

4: updation of database

5: invalid

Selecting modes:users main form controller

1: display options of deposit & withdraw

2: select options

3: deposit option is selected

Sequence diagram 4: withdraw option is selected

Sequence diagram

Deposit sequence diagram :user controller ATM

1: user is used for amount

2: enter the amount

3: user is provided with various modes of payments

4: select modes of payments

5: selecting cash()

sequence diagram 6: selecting cheque()

sequence diagram

Deposit cash sequence diagram:user controller ATM database

1: insert cheque for verification

2: provides acknowledgement

3: cheque is provided to system

4: updating database

Withdraw sequence diagram :-

user

controller

ATM

1: user is asked for amount

2: enter amount

3: user is provided with various modes of payment

4: select mode of payment 5: selecting cash

Sequence diagram 6: selecting cheque

Sequence diagram

Withdraw cash sequence diagram:user ATM database

1: cash is provided from system

2: updating database

Login collaboration diagram:-

1: user login user

3: enter username & pswd

login form

5: validation of username & pswd

login controller

2: request username & pswd

4: reffering details of the user 6: valid usrname & pswd

7: invalid username & pswd

welcome message 8: display error message

display error mesage

databas e

Creating cards collaboration diagram:manager 1: enquiring details 2: providing details user main form

6: valid application form 5: sub mission of application form for validation

3: requesting application form

9: user refills the application form

8: display error message 4: providing application form controlle r 7: invalid application form

applicatio n form

display error message

Creating codes collaboration diagram:-

5: invalid manager verificati on 1: providing card information

2: verification

3: valid administ rator assigning codes

4: updating database

databas e

Selecting method collaboration diagram:-

2: enter the amount user

4: select mode of payment controlle r

3: user is provided with various modes of payment

1: user is asked for amount

5: selecting cash

6: selecting cheque

ATM

Deposit collaboration diagram:2: select options user 1: display options for deposit & withdraw main form

3: deposit option is selected

4: withdraw option is selected

controlle r

Deposit cheque collaboration diagram:-

1: insert cheque for verification user 2: provides acknowledgement controlle r

3: cheque is provided to system

4: updating database ATM databas e

Withdraw collaboration:2: enter the amount user 3: user is provided with various modes of payment 1: user is asked for amount 4: select mode of payment controlle r

5: selecting cash

6: selecting cheque

ATM

Withdraw cash collaboration diagram:-

user

1: cash is provided from the system

2: updating database ATM databas e

3. Auction Application :
Purchasers sequence diagram:purchaser auction mail goodsroom negotiation room chatting database

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

Collaboration diagram:-

6: enter chatting

negotiation room

goodsroom purchaser 1: login 2: verify user

7: bidding 8: select method of bidding

3: displaygoods 4: selectgoods auction mail

5: short the store of auction 9: record content od charting chatting database

4. Course Registration :
Login sequence diagram:User MainWindow 1: Logging In LoginWindow LoginControl Welcome Window ErrorMessage

2: Ask for user ID and Password

3: Verify user ID and password

4: Valid user

5: Invalid User

6: Error Message

7: Relogin / Cancel

Registration sequence diagram:-

Student

Registration Form

Form Control

Error Message

Database

1: Registration Form

2: Request Details

3: Enter Details 4: Validation

5: Verify Elective Details

6: Store Details

7: Confirm Message

8: Invalid Elective

9: Display Reason

10: Invalidate

11: Re-register

Course details sequence diagram:-

Student

CourseForm

CourseForm Control

ErrorMessage

Database

1: Select Course

2: Validate Course

3: Get Course Information

4: Display Course Information

5: Invalid Course

6: Display Error Message

Login collaboration diagram:1: Logging User 2: Ask For ID 7: reLogin / Cancel Main Window 6: Error Message 3: Verification Login Control 5: Invalid Error Message Login Window

4: Valid

Welcome Window

Registration collaboration diagram:-

1: Registration Form 3: Enter Details 11: re-registration Student 5: Verify Elective Details 2: Request Details Registration Form

7: Confirm Message 10: Invalid 9: Display

4: Validation Form Control

6: Store Details 8: Invalid Choice Error Message Databas e

Course details collaboration diagram:5: Display Course Information Student 1: SelectCourse CourseForm Control 2: Validation

Course Form 7: Display Error Message 3: Get Course Infomation 4: Get Course Information

6: Invalid Error Message

Databas e

5. Online Bookshop :
Login 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

View 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

View stock 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 book stock sequence diagram :-

manager

option form

book profile form

1:to avial option

2:add books

sequence diagram 3:update books sequence diagram 4:delete books sequence diagrams

Add books 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 books 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 books sequence diagram :-

manager

selector form

deletion form

database

1:select book

2:retriving data

3:deleting

4:update()

Login collaboration diagram:-

1: login() 8: relogin

mainform

2: enter username/password user loginform

3: authentication

7: error message welcomeform 5: valid 4: enter into database

logincontroller 6: invalid

errormessage

database

View reports collaboration diagram:2: enter id 6: re_enter id administrator 1: requestid 8: generate reports database mainform 3: verification controller

7: verified

5: error message

4: invalid id

errormessage

View stock collaboration diagram:-

1: request book details user main form administrator

2: verify controller

6: retrieved data

database

5: verified 3: not filled properly

4: error message

error message

Maintain book stock :manager 1: to avail option option

2: add books 3: update books 4: delete books book profile form

Add books collaboration diagram:-

2: add new books manager new book add form 1: request for new book 7: generate id database

3: verification book controller

6: filled properly

4: not filled property 5: error message

errormessage

Modify collaboration diagram:2: selecting book manager 1: request to select book selector form modification controller

5: modifying

6: verification

3: intimate database modification form

7: improper modification

4: retrive database

error message

8: error messages

database

Delete collaboration diagram:-

1: select book manager selector form

3: deleting 2: retriving data 4: update() deletion form database

6. PC Model

7. Plant Model

8. Point Of Sale :
Sequence diagram:cashier system tax collector credit authorization service accounts

1: make new sales()

2: enter item()

3: description()

4: end sales()

5: taxline items = getTaxes()

6: total wih Taxes()

7: make payment()

8: change receipt()

9: reply = request approval()

10: post receivable

11: post sales

Collaboration diagram:-

cashier

tax collector 1: make new sales

2: enter items 8: change receipt 4: end sales 6: total with taxes 7: make payments 3: description system 10: post receivable

5: tax line item = getTaxes

11: post sales

9: reply = request approval accouts credit authorization service

9. Simulated Company
Sequence Diagram for usecase 1:
:user disp : Display requestLoan() getDetails :Loan amount : Cash Account details : Compan yDetails

returnDetails() Loan(amt,dur) credit(amt)

updateDisplay()

balance()

amount

Sequence diagram for usercase 2:

:user

disp : Display

amount : Cash Account

MachineClass

factory : Factory

purchaseMachine() balance() amount()

getStaticDetails()

cost, overload, output, rawcost

howManyMachines() numberOfMachines confirm

debitCost

updateDisplay()

addMachine(Machine)

balance()

amount

Simulated company for usecase 3:

:User

disp:Display nextTurn

factory:Factory

MachineClass

market:Market

production:Prod uction

sales:Sales

capacity mcoutput

output number

projectedPrice()

nextTurn(num bertaken,price,salesprice)

getProductionDetails()

recordNum ber()

recordSalesPrice()

getNum berInStock()

stock

getProjectedPrice()

projectedPrice()

getProjectedSales()

projectedSales()

adjustProjectedPrice()

setEndStock(number)

adjustProjectedSales() recordNum berSold(count)

calculate

grossProfit()

Instance level collaboration diagram:


1: Create 2: setBalance(amount) : Simco 3: Create Prod : ProductionRun 4: Create factory : Factory 5: Create market : Market 6: Create sales : Sales 7: Create details : CompanyDetails 8: Create disp : Display Cash : CashAccount

Specification level collaboration diagram::Simco /CompanyAccount : CashAccount /CompanyProductionRu n : ProductionRun

/ProductionFactor y : Factory

/MarketDetails : Market /SalesDetails : Sales /CompanyDetails : CompanyDetails /UserDisplay : Display

Instance level collaboration diagram for usecase 1:

: User 1: RequestLoan 2: 3 : Loan ( amount,duration) disp : Display : Loan 3: 5 : addLoan(Loan) details : Company Details

cash : Cash Account

Specification level collaboration for usecase 1:


/UserDisplay : Display 1...*

1...*

Loan

1...*

/CompanyAccount : CashAccount

/companyDetails : CompanyDetails

Instance level collaboration diagram for usecase 2


:User 1: Purchase Machines :Machine Class 3: cost = mCost() 4: output = moutput() 5: o_h : mOverhead() 6: rawCost : mcrawcost()

disp : Display

2: Balance()

8: Machine 7: numberOfMachines := howManyMachines() :Machine factory : Factory

cash : CashAccount 9: debit(cost)

10: addMachine(Machine)

Specification level collaboration for usecase 2:


/UserDisplay : Display 1...* :Machine Class

1...* 1...* Machine 1...*

/CompanyAccount : CashAccount

/ProductionFactor y : Factory

Instance level collaboration for usecase 3:

Instance level collaboration for usecase 4:

disp : Display 1: doMonthlyAccounts()

details : Company Details 2: o_h = machineOverhead() 6: amount := grossProfit() 7: adjustBank() 8: credit(new Profit())

factory : Factory

:Loan

sales : Sales

cash : Cash Account

4: adjustDuration() 5: repayment := showRepayment() 3: o_h := moverhead()

:Machine Class

Specification level collaboration for usecase 4:


/UserDisplay : Display

:Loan

/ProductionFactor y : Factory

/CompanyDetails : CompanyDetails

/CompanyAccount : CashAccount

:Machine Class

/SalesDetails : Sales

Specification level collaboration diagram for usecase 5:

/UserDisplay : Display

/CompanyDetails : CompanyDetails

/MarketDetails : Market

/CompanyAccount : CashAccount

/ProductionFactor y : Factory

/SalesDetails : Sales

/CompanyProduction : Production

10. Class Room Model

11. Telephone Dialing


Sequence diagram :caller exchange talker

1: lift receiver

2: dialtone

3: dial digit

4: route 5: phone ring

6: ringing tone

7: answer phone

8: stop ringing

9: stop tone

Collaboration diagram:-

1: lift receiver caller

3: dial digit

4: route exchange

9: stop tone

6: ringing tone

2: dialing 5: phone rings

8: stop ringing 7: answer phone

talker

You might also like