Você está na página 1de 34

Auroras Technological Research Institute

Parvathapur, Uppal
UML LAB MANUAL
DEPARTMENT OF COMPUTER CIENCE ! EN"INEERIN"
0
TA#$E OF CONTENT
S.No. Contents PageNo.
I. Lab Schedule 2
II. UML Notation 4
III. Mini proect !"
Use case #ie$ "%
". Use cases
2. Actors
&. Use case diagra's
Logical #ie$ 20
". Class diagra's
2. Se(uence diagra's
&. Collaboration diagra's
4. Acti#it) diagra's
*. State chart diagra's
Co'ponent #ie$ 2+
". Co'ponent diagra's
,eplo)'ent #ie$ 2+
". ,eplo)'ent diagra's
I-. Mini proect !2 2.
-. Mini proect!& &&
". P/S S)ste' &&
2. A Si'ulated Co'pan) &4
&. A Multi threaded Airport Si'ulation &*
4. A notes and 0ile Manage'ent S)ste'
*. .e!sa#a application
"
I.Lab Schedule
%ee&'(
Students should anal)se and i'ple'ent e1ercise!"2.2"*.B) doing these e1ercises students
$ill co'e to 3no$ about the i'portance o4 the use case diagra'.

%ee&')
Students should anal)se and i'ple'ent e1ercise!222252&+ B) doing these e1ercises students
$ill co'e to 3no$ about the i'portance o4 the use case diagra' .
%ee&'*
Students should anal)se and i'ple'ent e1ercise!2252"+.B) doing these e1ercises students
$ill co'e to 3no$ about the i'portance o4 the class diagra'.
%ee&'+
Students should anal)se and i'ple'ent e1ercise!2&2&02&%.B) doing these e1ercises students
$ill co'e to 3no$ about the i'portance o4 the class diagra'.
%ee&',
Students should anal)6e and i'ple'ent e1ercise!&242*2"02""2"22 "%2".2"5.B) doing these
e1ercises students $ill co'e to 3no$ about the i'portance o4 the se(uence diagra' 2
collaboration diagra' and state chart diagra'.
%ee&'-
Students should anal)6e and i'ple'ent e1ercise!2422*22+2&"2&22&&2&.2&5240.B) doing these
e1ercises students $ill co'e to 3no$ about the i'portance o4 the se(uence diagra'
collaboration diagra' and state chart diagra'
%ee&'.
Students should anal)6e and i'ple'ent e1ercise!+2%2"&2"422022" .B) doing these e1ercises
students $ill co'e to 3no$ about the i'portance o4 the co'ponent diagra' 2depol)'ent
diagra'.
%ee&'/
Students should anal)6e and i'ple'ent e1ercise!2%22.2&42&*24"242.B) doing these e1ercises
students $ill co'e to 3no$ about the i'portance o4 the co'ponent diagra' 2depol)'ent
diagra'
%ee&'0
Students should do the case stud) o4 the e!sa#a $ith all use case #ie$ 2logical #ie$2
co'ponent #ie$ and deplo)'ent #ie$.
%ee&'(1
Students should do the case stud) o4 the A notes and 0ile Manage'ent S)ste'
$ith all use case #ie$ 2logical #ie$2 co'ponent #ie$ and deplo)'ent #ie$.
%ee&'((
Students should do the case stud) o4 the A 7raphic editor $ith all use case #ie$ 2logical #ie$2
co'ponent #ie$ and deplo)'ent #ie$
2
II.UML N/8A8I/N

Classes
Illustrate classes with rectangles divided into compartments. Place
the name of the class in the first partition (centered, bolded, and
capitalized), list the attributes in the second partition, and write
operations into the third.

Active Class
Active classes initiate and control the flow of activity, while passive
classes store data and serve other classes. Illustrate active
classes with a thicker border.
Visibility
se visibility markers to signify who can access the information
contained within a class. Private visibility hides information from
anything outside the class partition. Public visibility allows all other
classes to view the marked information. Protected visibility allows
child classes to access information they inherited from a parent
class.

Associations
Associations represent static relationships between classes. Place
association names above, on, or below the association line. se a
filled arrow to indicate the direction of the relationship. Place roles
near the end of an association. !oles represent the way the two
classes see each other.
Note:It"s uncommon to name both the association and the class
roles.
Multiplicity (Cardinality)
Place multiplicity notations near the ends of an association. #hese
symbols indicate the number of instances of one class linked to
one instance of the other class. $or e%ample, one company will
have one or more employees, but each employee works for one
company only.
&
Complex Constraint
Constraint
Place constraints inside curly braces &'.
Simple Constraint
Composition and Aggregation
(omposition is a special type of aggregation that denotes a strong
ownership between (lass A, the whole, and (lass ), its part.
Illustrate composition with a filled diamond.
se a hollow diamond to represent a simple aggregation
relationship, in which the *whole* class plays a more important
role than the *part* class, but the two classes are not dependent
on each other. #he diamond end in both a composition and
aggregation relationship points toward the *whole* class or the
aggregate.
"enerali2ation
7enerali6ation is another na'e 4or inheritance or an 9is a9
relationship. It re4ers to a relationship bet$een t$o classes
$here one class is a speciali6ed #ersion o4 another. 0or
e1a'ple2 :onda is a t)pe o4 car. So the class :onda $ould
ha#e a generali6ation relationship $ith the class car.
In real li4e coding e1a'ples2 the di44erence bet$een
inheritance and aggregation can be con4using. I4 )ou ha#e an
aggregation relationship2 the aggregate ;the $hole< can
access onl) the PUBLIC 4unctions o4 the part class. /n the
other hand2 inheritance allo$s the inheriting class to access
both the PUBLIC and =/8>C8>, 4unctions o4 the super
class.
4

Classes
Illustrate classes with rectangles divided into compartments. Place
the name of the class in the first partition (centered, bolded, and
capitalized), list the attributes in the second partition, and write
operations into the third.

Active Class
Active classes initiate and control the flow of activity, while passive
classes store data and serve other classes. Illustrate active
classes with a thicker border.
Visibility
se visibility markers to signify who can access the information
contained within a class. Private visibility hides information from
anything outside the class partition. Public visibility allows all other
classes to view the marked information. Protected visibility allows
child classes to access information they inherited from a parent
class.

Associations
Associations represent static relationships between classes. Place
association names above, on, or below the association line. se a
filled arrow to indicate the direction of the relationship. Place roles
near the end of an association. !oles represent the way the two
classes see each other.
Note:It"s uncommon to name both the association and the class
roles.
Multiplicity (Cardinality)
Place multiplicity notations near the ends of an association. #hese
symbols indicate the number of instances of one class linked to
one instance of the other class. $or e%ample, one company will
have one or more employees, but each employee works for one
company only.
*
Complex Constraint
Constraint
Place constraints inside curly braces &'.
Simple Constraint
Composition and Aggregation
(omposition is a special type of aggregation that denotes a strong
ownership between (lass A, the whole, and (lass ), its part.
Illustrate composition with a filled diamond.
se a hollow diamond to represent a simple aggregation
relationship, in which the *whole* class plays a more important
role than the *part* class, but the two classes are not dependent
on each other. #he diamond end in both a composition and
aggregation relationship points toward the *whole* class or the
aggregate.
"enerali2ation
7enerali6ation is another na'e 4or inheritance or an 9is a9
relationship. It re4ers to a relationship bet$een t$o classes
$here one class is a speciali6ed #ersion o4 another. 0or
e1a'ple2 :onda is a t)pe o4 car. So the class :onda $ould
ha#e a generali6ation relationship $ith the class car.
In real li4e coding e1a'ples2 the di44erence bet$een
inheritance and aggregation can be con4using. I4 )ou ha#e an
aggregation relationship2 the aggregate ;the $hole< can
access onl) the PUBLIC 4unctions o4 the part class. /n the
other hand2 inheritance allo$s the inheriting class to access
both the PUBLIC and =/8>C8>, 4unctions o4 the super
class.
+
Composition and aggregation
Associations in which an object is part of a whole are aggregations. Composition is a
strong association in which the part can belong to only one whole -- the part cannot
exist without the whole. Composition is denoted by a filled diamond at the whole end.
3ste4
,ra$ )our s)ste'?s boundries using a rectangle that
contains use cases. Place actors outside the s)ste'?s
boundries.
Use Case
,ra$ use cases using o#als. Label $ith o#als $ith #erbs
that represent the s)ste'?s 4unctions.
Actors
Actors are the users o4 a s)ste'. @hen one s)ste' is the
actor o4 another s)ste'2 label the actor s)ste' $ith the
actor stereot)pe.
Relationships
Illustrate relationships bet$een an actor and a use case
$ith a si'ple line. 0or relationships a'ong use cases2 use
arro$s labeled either 9uses9 or 9e1tends.9 A 9uses9
relationship indicates that one use case is needed b)
another in order to per4or' a tas3. An 9e1tends9
relationship indicates alternati#e options under a certain
use case.


Symbol Access
+ public
- private
# protected
#asic Use Case Diagra4 345ols an6 Notations
%
#asic e7uence Diagra4 345ols an6 Notations
Class roles
Class roles describe the $a) an obect $ill beha#e in
conte1t. Use the UML obect s)'bol to illustrate class roles2
but don?t list obect attributes.

Activation
Acti#ation bo1es represent the ti'e an obect needs to
co'plete a tas3.
Messages
Messages are arro$s that represent co''unication bet$een
obects. Use hal4!arro$ed lines to represent as)nchronous
'essages. As)nchronous 'essages are sent 4ro' an obect
that $ill not $ait 4or a response 4ro' the recei#er be4ore
continuing its tas3s.

.
Various message types for Sequence and Collaboration
diagrams
$i8elines
Li4elines are #ertical dashed lines that indicate the obect?s
presence o#er ti'e.

Destro3ing O59ects
/bects can be ter'inated earl) using an arro$ labeled
9A A destro) B B9 that points to an C.
5
$oops
A repetition or loop $ithin a se(uence diagra' is depicted
as a rectangle. Place the condition 4or e1iting the loop at the
botto' le4t corner in s(uare brac3ets D E.
"0
Basic Collaboration Diagram Symbols and Notations
Class roles
Class roles describe how objects behave. Use the
UML object symbol to illustrate class roles but
don!t list object attributes.
Association roles
Association roles describe how an association will
behave given a particular situation. "ou can draw
association roles using simple lines labeled with
stereotypes.

Messages
Unli#e se$uence diagrams collaboration diagrams
do not have an explicit way to denote time and
instead number messages in order of execution.
%e$uence numbering can become nested using the
&ewey decimal system. 'or example nested
messages under the first message are labeled (.(
(.) (.* and so on. +he a condition for a message
is usually placed in s$uare brac#ets immediately
following the se$uence number. Use a , after the
se$uence number to indicate a loop.

Basic Statechart ,iagra' S)'bols and Notations
States
%tates represent situations during the
life of an object. "ou can easily
illustrate a state in %mart&raw by using
a rectangle with rounded corners.
Transition
A solid arrow represents the path
between different states of an object.
Label the transition with the event that
triggered it and the action that results
from it.

Final State
An arrow pointing to a filled circle
nested inside another circle represents
the object!s final state.
""
Synchronization and Splitting of
Control
A short heavy bar with two transitions
entering it represents a synchroni-ation
of control. A short heavy bar with two
transitions leaving it represents a
splitting of control that creates multiple
states.
Basic Activity Diagram Symbols and Notations
Action states
Action states represent the noninterruptible
actions of objects. "ou can draw an action
state in %mart&raw using a rectangle with
rounded corners.
Action Flow
Action flow arrows illustrate the
relationships among action states.
b!ect Flow
.bject flow refers to the creation and
modification of objects by activities. An
object flow arrow from an action to an
object means that the action creates or
influences the object. An object flow arrow
from an object to an action indicates that
the action state uses the object.

"nitial State
A filled circle followed by an arrow
represents the initial action state.
Final State
An arrow pointing to a filled circle nested
inside another circle represents the final
action state.
"2
Branching
A diamond represents a decision with
alternate paths. +he outgoing alternates
should be labeled with a condition or guard
expression. "ou can also label one of the
paths /else./
Synchronization
A synchroni-ation bar helps illustrate
parallel transitions. %ynchroni-ation is also
called for#ing and joining.
Swimlanes
%wimlanes group related activities into one
column.

Basic Component Diagram Symbols and Notations
Component
A component is a physical building bloc# of
the system. 0t is represented as a
rectangle with tabs.

"&
"nterface
An interface describes a group of
operations used or created by components.
Dependencies
&raw dependencies among components
using dashed arrows.

Basic Deployment Diagram Symbols and Notations
Node
A node is a physical resource that
executes code components.

Association
Association refers to a physical connection
between nodes such as 1thernet.
Learn how to connect two nodes.
Components and Nodes
2lace components inside the node that
deploys them.
"4
III.Mini Proect F"
UE CAE :IE%
US> CAS> ,IA7=AMS
Uni8ie6 $i5rar3 Application
A light$eight set o4 4eatures 4or the 4irst #ersion o4 the Uni4ied Librar) Application 'ight
loo3 li3e thisG
It is a support s)ste' 4or a librar).
8he librar) lends boo3s and 'aga6ines to borro$ers2 $ho are registered in the
s)ste'2 4or the boo3s and 'aga6ines.
8he librar) handles the purchase o4 ne$ titles 4or the librar). Popular titles are bought
in 'ultiples copies. /ld boo3s and 'aga6ines are re'o#ed $hen the) are out o4 date
or in poor condition.
8he librarian is an e'plo)ee o4 the librar) $ho interacts $ith the custo'ers
;Borro$ers< and $hose $or3 is supported b) the s)ste'.
A borro$er can reser#e a boo3 or 'aga6ine that is not currentl) a#ailable in the
librar)2 so that $hen itHs returned or purchased b) the librar)2 that borro$er is
noti4ied. 8he reser#ation is canceled $hen the borro$er chec3s out the boo3 or
'aga6ine or through an e1plicit canceling procedure.
8he librarian can easil) create2 update2 and delete in4or'ation about the titles2
borro$ers2 loans2 and reser#ations in the s)ste'.
8he s)ste' can run on all popular @eb bro$ser plat4or's ;Internet >1plorer *."I2
Netscape 4.0I2 and so on<.
8he s)ste' is eas) to e1tend $ith ne$ 4unctionalit).
Use case diagra' can be created in the use case #ie$
8o create a ne$ use case diagra' the 4ollo$ing steps are to be 4ollo$edG
". Clic3 the I ne1t to the Use Case -ie$ in the bro$ser to e1pand the #ie$.
2. =ight clic3 on the use case #ie$ and select the ne$ use case diagra' 4ro' the 'enu.
8o create an actor or use case on the diagra'G
". Clic3 to select the actor icon or the use case icon 4ro' the toolbar.
2. Clic3 on the diagra' to place the actor or use case.
"*
&. @hile the actor or use case is still selected2 enter its na'e.
8he actor or use case is auto'aticall) added to the bro$ser.
8o add an actor or use case to the diagra'G
". Clic3 to select the actor or use case in the bro$ser.
2. ,rag the actor or use case to the diagra'.
Mo6eling Use Cases;
8he 4irst step in use!case 'odeling is to de4ine the actors that represent those $ho interact
$ith the s)ste' and the use!cases that describe $hat the librar) s)ste' pro#ides in ter's o4
4unctionalit) to those actors! the 4unctional re(uire'ents o4 the s)ste'.
8he actors in the librar) are identi4ied as the Librarians and the Borro$ers2 because both are
users o4 the s)ste'. 8he Librarians ha#e 'anage'ent capabilit) to add borro$ers2 titles2 and
ite's. 8he borro$ers are people $ho chec3 out and reser#e boo3s and 'aga6ines.
/ccasionall) a librarian or another librar) can be a borro$er. 0inall)2 $e ha#e a Master
Librarian actor! this role is capable o4 'anaging the librarians as $ell. I is possible to add a
title to the s)ste' be4ore the librar) has a cop) ;an ite'<2 to enable borro$ers to 'a3e
reser#ations.
8he use cases in the librar) s)ste' are as 4ollo$sG
Login
Search
Bro$se
Ma3e =eser#ation
=e'o#e =eser#ation
Chec3out Ite'
=eturn Ite'
Manage 8itles
Manage Ite's
Manage Borro$ers
Manage Librarians
Assu'e Identit) o4 Borro$er.
"+
UE CAE DIA"RAM FOR $I#RAR< <TEM
+anage )orrowers
+anage Items
+anage #itles
Assume Identity of )orrower
+anage ,ibrarians
,ogin
)rowse
-earch
!emove !eservation
+ake reservation
(heckout Item
!eturn Item
)orrower
!egistered ser
+aster ,ibrarian
,ibrarian
A Use!Case ,iagra' 4or the Librar) S)ste'.
E=ercise'(;
". Identi4) the sub s)ste's present in the s)ste'
2. 7i#e the use case diagra' 4or the sub s)ste'
"%
$O"ICA$ :IE%
C$A DIA"RAM
To create a class 6iagra4;
". =ight!clic3 to select the o$ning pac3age and 'a3e the shortcut 'enu #isible.
2. Select the Ne$G Class ,iagra' 'enu co''and. 8his $ill add a class diagra' called
Ne$ ,iagra' to the bro$ser.
&. @hile the ne$ class diagra' is still selected2 enter its na'e.
4. 8o open the class diagra'2 double!clic3 on it in the bro$ser.
Classes 'a) also be created using the class diagra' toolbar. 8o create a class using
the toolbarG
". Clic3 to select the icon ;class< on the class diagra' toolbar.
2. Clic3 on the class diagra' to place the class.
&. @hile the ne$ pac3age or class is still selected2 enter its na'e.
4. Multiple classes 'a) be created b) depressing and holding the Shi4t 3e).
Classes created on class diagra's are auto'aticall) added to the bro$ser.
".
C$A DIA"RAM FOR $I#RAR< <TEM
)orrower
can)orrow()
../ntity00
,oan
creation1ate 2 1ate 3 current1ate
../ntity00
4..5 4..5
!eservation
creation1ate 2 1ate 3 current1ate
../ntity00
4..5
makes
4..5
#itle
name 2 -tring
get,ending#ime()
../ntity00
6
4..5
!eferences
6
4..5
Item
id 2 integer
../ntity00
checks out
6
4..5
6
4..5
)ook #itle
lending#ime 2 1ays 3 74
../ntity00
+agazine #itle
lending#ime 2 1ays 3 64
../ntity00
Je) do'ain classes 4or the Librar) s)ste'
E=ercise ');
". Identi4) so'e 'ore classes
2. 7i#e the entire class diagra'
"5
e7uence 6iagra4;
8o create a ne$ se(uence diagra'G
". =ight!clic3 on the use case in the bro$ser to 'a3e the shortcut 'enu #isible.
2. Select the Ne$GSe(uence ,iagra' 'enu co''and. 8his $ill add a ne$ se(uence
diagra' called Ne$,iagra' to the bro$ser.
&. @hile the ne$ diagra' is still selected2 enter the na'e o4 the diagra'.
4. ,ouble!clic3 on the diagra' in the bro$ser to open it.
*. =e!si6e the se(uence diagra' as needed.
Se(uence diagra's contain actors2 obects and 'essages. 8o add an actor to a se(uence
diagra'G
". Clic3 to select the actor in the bro$ser.
2. ,rag the actor onto the diagra'.
8o add an obect to the se(uence diagra'G
". Clic3 to select the obect icon 4ro' the toolbar.
2. Clic3 on the diagra' to place the obect.
&. @hile the obect is still selected2 enter its na'e.
8o create a 'essageG
". Clic3 to select the 'essage icon 4ro' the toolbar.
2. Clic3 on the obect representing the client ;sender o4 the 'essage<.
&. ,rag the 'essage to the obect representing the supplier ;recei#er o4 the 'essage<.
4. @hile the 'essage line is still selected2 enter the na'e o4 the 'essage.
20
E>UENCE DIA"RAM FOR $I#RAR< <TEM
2 )orrower
2checkoutItem
$orm
2checkoutItem
(ontroller
2#itle 2)orrower 2Item
specify criteria
search( )
search (criteria)
get matching
(criteria)
select title( )
get item (title)
get item( )
select item( )
checkout( )
checkout(item)
can checkout(item)
8borrower is allowed to checkout
this item9
checkout(item)
set status( )
A Se(uence diagra' 4or the use case Chec3out Ite'
E=ercise'*;
". ,ra$ the se(uence diagra' 4or subs)ste'
2"
Colla5oration 6iagra4;
8o create a collaboration diagra' directl) 4ro' a se(uence diagra'G
". Select the Bro$seGCreate Collaboration ,iagra' 'enu co''and or use the 0*
accelerator.
2. =e!si6e the diagra' as needed.
&. =e!arrange the obects as needed.
Collaboration diagra's 'a) also be created 4ro' scratch. 8o create a ne$ collaboration
diagra'G
". =ight!clic3 on the use case in the bro$ser to 'a3e the shortcut 'enu #isible.
2. Select the Ne$GCollaboration ,iagra' 'enu co''and. 8his $ill add a ne$
collaboration diagra' called Ne$,iagra' to the bro$ser.
&. @hile the ne$ diagra' is still selected2 enter the na'e o4 the diagra'.
4. ,ouble!clic3 on the diagra' in the bro$ser to open it.
*. =e!si6e the collaboration diagra' as needed.
Collaboration diagra's contain actors2 obects2 lin3s2 'essages2 and optional data 4lo$s. 8o
add an actor to a collaboration diagra'G
". Clic3 to select the actor in the bro$ser.
2. ,rag the actor onto the diagra'.
8o add an obect to the se(uence diagra'G
". Clic3 to select the obect icon 4ro' the toolbar.
2. Clic3 on the diagra' to place the obect.
&. @hile the obect is still selected2 enter its na'e.
8o add a lin3G
". Clic3 to select the lin3 icon 4ro' the toolbar.
2. In the collaboration diagra'2 clic3 on one actor or obect that participates in the lin3.
&. ,rag the lin3 to the other participating actor or obect.
An obect 'a) be lin3ed to itsel4. 8his is called a re4le1i#e lin3. 8o create a lin3 'essageG
". Clic3 to select the 'essage to sel4 icon 4ro' the toolbar.
2. Clic3 on the obect in the collaboration diagra'.
22
8o create a 'essageG
". Clic3 to select the 'essage icon 4ro' the toolbar.
2. Clic3 on the lin3 bet$een the co''unicating obects
&. @hile the 'essage line is still selected2 enter the na'e o4 the 'essage.
8o create a data 4lo$G
". Clic3 to select the data 4lo$ icon 4ro' the toolbar.
2. Clic3 to select the 'essage it 'odi4ies.
&. @hile the data 4lo$ is still selected2 enter the data 4lo$ in4or'ation.
E=ercise ' +;
". ,ra$ the detailed collaboration diagra' 4or the Librar) s)ste'.
2&
tate transition 6iagra4;
8o create a state transition diagra'G
". =ight!clic3 to select the class in the bro$ser and 'a3e the shortcut 'enu #isible.
2. Select the State ,iagra' 'enu co''and.
8o open a state transition diagra'G
". Clic3 the I ne1t to the class to e1pand the tree
2. ,ouble!clic3 on the State ,iagra' 4or the class
TATE TRANITION DIA"RAM FOR $I#RAR< <TEM
Available
entry2 : ;umber of reservations 3 4
!eserved
#itle reservation : ;umber of
reservations <<
!eservation removed8 ;umber of reservations 3 6 9
: ;umber of reservations = =
#itle reservation : ;umber of reservations <<

State Machine ,iagra' 4or the 8itle class.
E=ercise', ;
". 7i#e the transition diagra' 4or the other obects
24
Co4ponent 6iagra4;
8o create an additional co'ponent diagra'G
". =ight!clic3 on the o$ning pac3age ;either the co'ponent #ie$ itsel4 or a user created
pac3age< to 'a3e the shortcut 'enu #isible.
2. Select the Ne$GCo'ponent ,iagra' 'enu co''and. 8his $ill place a ne$
co'ponent diagra' called Ne$,iagra' in the bro$ser.
&. @hile the ne$ diagra' is still selected2 enter its na'e.
=ose $ill auto'aticall) add the ne$ diagra' to the bro$ser.
8o open a co'ponent diagra'G
". ,ouble!clic3 on the diagra' in the bro$ser.
E=ercise'-;
,ra$ the co'ponent diagra' 4or the s)ste'
Deplo34ent 6iagra4;
8he deplo)'ent diagra' contains nodes and connections. =ose pro#ides t$o icons that can
be used to dra$ a node F the processor and the de#ice. A processor is a node that has
processing capacit).
8o open the deplo)'ent diagra'G
". ,ouble!clic3 on the ,eplo)'ent -ie$ in the bro$ser.
8o create a nodeG
". Clic3 to select the processor icon 4ro' the toolbar.
2. Clic3 on the deplo)'ent diagra' to place the node.
&. @hile the node is still selected2 enter its na'e.
8o create a connectionG
". Clic3 to select the connection icon 4ro' the toolbar.
2. Clic3 on the node representing the client.
&. ,rag the connection line to the node representing the supplier
E=ercise'.;
". ,ra$ the ,eplo)'ent diagra' 4or the s)ste'
2*
I-.Mini proect!II
On line #oo&shop
0ollo$ing the 'odel o4 a'a6on.co' or bn.co'2 design and i'ple'ent an online boo3store.
Selling o4 boo3s online is a #er) pro4itable industr) as e#ident 4ro' the success o4 A'a6on
etc. It is desired that $e de#elop an /nline Boo3shop s)ste' K/nBoS)sH. 8he s)ste' is
desired to ha#e the 4ollo$ing 4eatures. 7uests should be able to bro$se the boo3s a#ailable
online. /nl) registered users can bu) boo3s online. Pa)'ent can be 'ade through credit
cards. Users should be gi#en a shopping cart 4eature. Users can add and delete boo3s 4ro'
shopping cart.
". Identi4) Actors and use casesG Nor'all) nouns beco'e actors and associated #erbs
beco'e use cases. In the e1a'ple abo#eG
ActorsG
7uests2 =egistered Users ;=U<
Use casesG
7uests can bro$se boo3s.
7uests can register.
ConstraintsG 7uest should not alread) be registered
=U can bro$se boo3s.
=U can bu) boo3s.
ConstraintsG =U should ha#e su44icient 'one)
=U can add boo3s to shopping cart.
=U can delete boo3s 4ro' shopping cart.
ConstraintG Boo3s should be added to shopping cart
2+
UE CAE DIA"ARM FOR ON$INE #OO? @OP <TEM
E=ercise'/; Identi4) 'ore use cases.
".Identi4) ClassesG 0ollo$ so4t$are engineering principles presented b) Press'an. 8hat is2
nouns are identi4ied as classesL all (uali4ied nouns are chec3ed to see i4 the) satis4) certain
criteria. Ne1t 'e'ber #ariables and operations o4 classes are identi4ied. In the e1a'ple
abo#eG
=U is a class $ith2 user na'e and user details as 'e'ber #ariables. Bu)2 add2 delete as
'e'ber 4unctions.
/nBoS)s is a class $ith nu'ber o4 users registered2 nu'ber o4 online users2 nu'ber o4 boo3s
as 'e'ber #ariables. Add user2 delete user2 update boo3 stoc32 add boo32 delete boo3 as
'e'ber operations.
Steps in -isual paradig'G
I-. ,escribe the static structure o4 all classes $ith pri#ate and public attributes code details
-. Speci4) all 'ethods
-I. Classes $ith si'ilar structure2 beha#ior are to be arranged hieraticall)
-II. Associations o4 classes $ith other 'ust be represented
2%
E=ercise'0; Identi4) 'ore classes and relationships and ,ra$ class diagra's.
". ,ra$ se(uence diagra' at di44erent le#elsG S)ste' le#el se(uence diagra's2 sub
s)ste' le#el se(uence diagra's.
E=ercise'(1 ;
". @rite se(uence diagra's 4or all use cases.
2. ,ra$ collaboration diagra's.
2.
E=ercise'((; ,ra$ collaboration diagra's 4or re'aining collaborations
&. ,ra$ acti#it) diagra's
E=ercise!()G ,ra$ re'aining acti#it) diagra's
25
4. ,ra$ State diagra's
E=ercise'(*G ,ra$ state diagra's 4or add and delete boo3s to shopping cart.
E=ercise'(+; ,ra$ the deplo)'ent diagra' 4or online boo3 shopping.
&0
- Mini proects
(A POBPoint o8 aleC s3ste4
A P/S s)ste' is co'puteri6ed application used to record sales and handle pa)'entsL it is
t)picall) used in a retail store. It includes hard$are co'ponents such as a co'puter and bar
code scanner2 and so4t$are to run the s)ste'. It inter4aces to #arious ser#ice applications2
such as a third!part) ta1 calculator and in#entor) control. 8hese s)ste's 'ust be relati#el)
4ault tolerantL that is2 e#en i4 re'ote ser#ices are te'poraril) una#ailable the) 'ust still be o4
capturing sales and handling at least cash pa)'ents. A P/S s)ste' 'ust support 'ultiple and
#aried client!side ter'inals and inter4aces such as bro$ser2 P,A2 touch!screens.
E=ercise'(,; dra$ the suitable use case diagra'
E=ercise'(-; ,ra$ the class diagra'
E=ercise'(.; ,ra$ the se(uence diagra'
E=ercise'(/; ,ra$ the coloration diagra'
E=ercise'(0; ,ra$ the acti#it) diagara'
E=ercise')1; ,ra$ the state chart diagra'
E=ercise')(; ,eplo)'ent diagra'
)A A si4ulate6 Co4pan3
Si'ulate a s'all 'anu4acturing co'pan). 8he resulting application $ill enable the user to
ta3e out a loan2 purchase a 'achine2 and o#er a series o4 'onthl) production runs2 4ollo$ the
per4or'ance o4 their co'pan).
E=ercise')); ,ra$ the suitable use case diagra'
E=ercise')*; ,ra$ the class diagra'
E=ercise')+; ,ra$ the se(uence diagra'
E=ercise'),; ,ra$ the coloration diagra'
E=ercise')-; ,ra$ the acti#it) diagara'
E=ercise').; ,ra$ the state chart diagra'
E=ercise')/; ,eplo)'ent diagra'
&"
*A A 4ulti'Threa6e6 Airport i4ulation
Si'ulate the operations in an airport. Mour application should support 'ultiple aircra4ts using
se#eral run$a)s and gates a#oiding collisionNcon4licts.
LandingG an aircra4t uses the run$a) 2 lands2 and then ta1is o#er to the ter'inal.
8a3e F/44G an aircra4t ta1ies to the run$a) and then ta3es o44.
E=ercise')0; ,ra$ the suitable use case diagra'
E=ercise'*1; ,ra$ the class diagra'
E=ercise'*(; ,ra$ the se(uence diagra'
E=ercise'*); ,ra$ the coloration diagra'
E=ercise'**; ,ra$ the acti#it) diagra'
E=ercise'*+; ,ra$ the state chart diagra'
E=ercise'*,; ,eplo)'ent diagra'
+Ae'sava Application
e!sa#a application co'prising o4 electricit)bills2$ater bills2telephone bills collection.
E=ercise'*-; ,ra$ the suitable use case diagra'
E=ercise'*.; ,ra$ the class diagra'
E=ercise'*/; ,ra$ the se(uence diagra'
E=ercise'*0; ,ra$ the coloration diagra'
E=ercise'+1; acti#it) diagara'
E=ercise'+(; ,ra$ the state chart diagra'
E=ercise'+); ,eplo)'ent diagra'
,A A Notes an6 8ile 4anage4ent s3ste4
In the course o4 oneHs students )ears and pro4essional career one produces a lot p4 personal
notes and docu'ents .All docu'ents are usuall) 3ept on papers or indi#idual 4iles on the
co'puter. >ither $a) the bul3 o4 the in4or'ation is o4ten erased corruptedand e#entuall)
lost.8he goal o4 this proect is to build a disturted so4t$are application that addresses this
proble' .8he s)ste' $ill pro#ide an inter4ace to create 2organi6e and 'anage personal notes
&2
through the internet 4or 'ultiple users.the s)ste' $ill also allo$ users to collaborate b)
assigning per'ission 4or 'ultiple users to #ie$ and edit notes.
E=ercise'+*; ,ra$ the suitable use case diagra'
E=ercise'++; ,ra$ the class diagra'
E=ercise'+,; ,ra$ the se(uence diagra'
E=ercise'+-; ,ra$ the coloration diagra'
E=ercise'+.; ,ra$ the acti#it) diagara'
E=ercise'+/; ,ra$ the state chart diagra'
E=ercise'+0; ,eplo)'ent diagra'
.
&&

Você também pode gostar