!
" # &'()
%$ �
- +, ! "# ( ./0
,-#
•
) . (./0 6 7'
,-# + )* ( ) %&' 4 5) ) .* *9 ": 8 5
23 DC. !A "B? >? @ (
/
/
" *
! = .H? "G
$ 23 • 7 + ;$ <) • E* F
�
.
+ % / 0 1 2%3
,+ ( 3 G+ 4 5) 8( IJ • .H K L 4, ") F" G) ! "# N K E K*3 * N ' "M 9 • ": R : 9 KS3( ( R : 7 9 ' *Q ) 9 P5+ ) O ) ) 7 ( %&' *Q ) -3 ;+ Q5) E K*3 23 . .H? "7? ( T 5+ ( H-# F : !4 5 • . 7 9 ? 8*) *Q) + F& 7 ? U3 7 ( 7: ? N * 3 Z3 2 3 @ Y"
/
/
K
�
78 9 UML N3 ' H? ` K _`3 9 7 ? ` F ?*Q7 ) ( H: ? 7 ? 9 7 ?
$*) ' H? G3
? 8*) N 3 UML • ?aJ ) 27: ? . ' + F&
?*Q ) ! G+ F" G) UML • .H? E ' F \ ") E* W @ ( b $*) N UML : M3 c3 ;+ • .* ) O Q75) ( K
• UML standard is managed, and was created by, the Object Management Group. Group • UML includes a set of graphical notation techniques to create visual models of software-intensive systems. /
/
�
Type of Diagrams in UML • UML �.� has �� types of diagrams divided into two categories. • Seven diagram types represent structural information. • Other seven represent general types of behavior behavior, including four group that represent different aspects of interactions. • These diagrams can be categorized hierarchically as shown in the following class diagram. /
/
�
Hierarchy of UML �.� Diagrams, shown as a class diagram
/
/
�
Structure Diagrams • Structure diagrams emphasize what things must be in the system being modeled: • Class diagram: Describes the structure of a system by showing the system's classes, their attributes, and the relationships among the classes. • Component diagram: Illustrate how a software system is split up into components and shows the dependencies among these components. • Composite structure diagram: Describes the internal structure of a class and the cooperation that this structure makes possible. • Deployment diagram: Serves to model the hardware used in system implementations, and the execution environments and artifacts deployed on the hardware. • Object diagram: shows a complete or partial view of the structure of a modeled system at a specific time. • Package diagram: depicts how a system is split up into logical groupings by showing the dependencies among these groupings. • Profile diagram: operates at the meta-model level to show a generalization form of classes with the <
> stereotype, and profiles as packages with the <> stereotype. /
/
�
Behavior Diagrams • Behavior diagrams emphasize what must happen in the system being modeled: • Activity diagram: represents the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control. • State machine diagram: g standardized notation to describe many systems, from computer programs to business processes. • Use case diagram: shows the functionality provided by a system in terms of actors, their goals represented as use cases, and any dependencies among those use cases. /
/
�
Interaction diagrams • Interaction diagrams, a subset of behavior diagrams, emphasize the flow of control and data among the things in the system being modeled: • Communication diagram: shows the interactions between objects or parts in terms of sequenced messages. They represent a combination of information taken from Class, Sequence, q , and Use Case Diagrams g describingg both the static structure and dynamic behavior of a system. • Interaction overview diagram: are a type of activity diagram in which the nodes represent interaction diagrams. • Sequence diagram: shows how objects communicate with each other in terms of a sequence of messages. Also indicates the life spans of objects relative to those messages. • Timing diagrams: are a specific type of interaction diagram, / / � where the focus is on timing constraints.
UML ! $*)
.0
=
E* E ^ f"+ 9 K 3 e " g " ? + ;$ <) H,+ 7 ?
9 3d : 5 : *3 UML
)( $ H? 2` ) + F& U "' 7 ? U3 : ; < .* 5 E** E Y 9 K 3 e" 9 ?+ 3
/
/
@ )
'@
9
K3
+
-) Y
)
•
��
1- Sequence Diagram • A sequence diagram in UML is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. *9 ) N *Q3d U3 8 7Q' ( * " ." /
/
9 " `3 • ( = )h@ . " ) 8* ( )E L " A E*QQ' H' O • ) i7Q) M3 O U3 @ 8 ? \3
' H? [ + + ` 9O 2
"
7 ) [+ +
��
A simple example of sequence diagram
/
/
��
2- Class diagram • The class diagram in the UML is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, and the relationships.
/
/
��
A simple example of class diagram
/
/
��
�- Use Cases diagram • In ����, Jacobson Jacobson, for the first time formulated the visual modeling technique for specifying use cases. • Use Case Diagram show a system from user's point of view. A Use Case Diagram models the interaction of actors with systems. • Actor : The people and systems that interact with the target system . • A set of USE CASES: each describes a possible kind of interaction between an actor and the system. – Uses cases are actions that a user takes on a system
• A number of RELATIONSHIPS between these entities (Actors and Use Cases). – Relationships are simply illustrated with a line connecting actors to / / use cases. ��
�- Use Cases diagram j *3
*9
'
")
) G
"
7 ? ' Wd
IJ H3 f G 7 Nd G ' H? ) K Nd ) ) ;+ 7 ? ' 7 ? 3 aJ ( . ="K ( M Q') ) F (*Q' ) 8* (
/
/
' )N
: •
' ") U3 • : ' 3 *Q' ) E -7?
$5 @ + F&
") 2 T 5+ E*Q9 I3 : P ,) 7 ? ) ;+
•
"
* ' + G M "M ' H $ ; K 3 k&: ' + Nd (N ') N&) F ( " ) G ' W d
.
( M3*`3 .*9
- #"+ ' ") .*Q' ) $*)
' =
") " • ' H? N&) F ��
�- Use cases diagram (Use Case Relationships)
'
")
T 5+ e " •
(
) Include X L ") *Q 3 ( 2 ) 7 Z3 9 "J K • 9 X 7 L 3( 9 N G) X L ") Z3 ! "# Z3 N "QF H,+ K* W @ I9 X "lQ) X L ") Z3 9 . " ) E -7? < 23 9 N " *3* ") [ N ] @ Z3 *3* X ") ] F ) X ") .( ) *3* ") H ? <> 9 "J E*Q9 ` +O ' " ) E -7? ) < 23 • . Q' E -7? ' ") M3 P?"+ /
/
��
�- Use cases diagram (
) Extend -
7 ? ;?"+ H X ") U3 R : 7$ N X 8*) * L K • H$ * 7 " ( 7? * ( 3 Q+ # X ") ( 7 <> < ( 9 )N K* X ") Z3 R: N ] @ Z3 ! " X ") ( 2 < ]3 " QX ) E -7? H? # X L ") H ? Nd H X<> [ . " ) E I3 " . " ) E -7? R : !A ( 9 Qm7? I3 < 23 •
(
) Generalization -
9 "J 7L( .H? (*$ () M3 (* ) + R : e" ' ") U3 • e" U3 ' (c 7J) 9 ' ' " ( ) ' ") ( 9H9 5 . Q' ) E -7? < 23 Q' aJ ) *Q7 9 /
/
��
Example 1 of Use cases diagram
/
/
��
Example 2 of Use cases diagram
/
/
��
(Package Diagram)
=
$
*Q E( K H . " ) E -7? 7 ? d ( 9 7 2 T 5+ I3 H • . " ) E -7? 7 ' ' U3 G ` 9 3 ( ` 9 e" 9 # QF 9E K 9 -$") 9%&' O *Q ) UML H3 " ") e" 9 ) * "+ ) 7 U3 • .* M3 9 7 7 ( 9 K 3 ' ") : " E -7? 7 N "+ ) N"K "K 9 Q ) • ") N L 8 m) c 7J) ) K 3 T" ) ( e" 9 # QF *Q i5 H C. . 7 U3 : ' ") " ( ) ? * () 7 ? U3 T" ) ' ' H$ 23 ' M3*`3 c 7J) 9 7 ? T" ) $*) ? * H Cn ." ) E L 7 U3 7 ? 9 T" ) ) K 3 ( # QF # : ") 3( ' e" H ' # QF *Q i5 )" F E -7? H CD .*Q T" ) 9
: ) 5
H$ /
/
23
.*Q M3*`3 ' *Q' E -7?
9 KS3(
;+ ( M7 ( P ( *Q "+ ) 9 7 • M3 " ") # QF * "+ ) 7 9 • .H 9 ": N&' 9 -$") ��
A simple example of Package diagram
/
/
��
Screenshot Umbrello KDE (UML Modeler)
/
/
��
RUP
l ") 7 ? Nd 9 K N ' 8 5 ' *Q3d • UML K ' o"$*7) " ) 8*) UML 9 .*Q3"K ) `3 Rational
23
_`3 *Q3d " -) RUP • .* ) 9 o"$*7)
23"`+ `+ *Q3d U3 Rational Unified Process • Rational Software H' P?"+ ' * ) E* \, ) IBM n00D 8 ? H' 23 .H? E* = .H?
.* *9 ": ;$ <) 7 /
/
•
-+ RUP E*Q3d ��
CD : ; < B pK (E " F
A
9 +, = @ = : = = (' &) 04 " gH cF q) pK "lQ) C. String %&' E -7? L cF q) .* 9 ^ f"+ 7: 9"Q) ( " 9"Q) 'P Cn g* ' <3
(Vacuum O&: r *7) % ? H: ? ( *7) 23 % ? * "+ %&' H: ? gH /
/
"lQ) CD room) g" G ��
(....
)
CD :
.8 G0 ! 0F 04 CD : ; < H5t *Q )) E M s ")d 9 *Q3d `3 ` F * Q' ;? C. .* 9 I3 [ + + " ! "# ( : ) H? ": 3 * "+ ) 3d .*3 5 ) 9
"
F"
' ") " < e " UML .*3 ( 8 m) U3 T 5+ e " U3 9 )
": UML
.*3 5 Class diagram ?&' 2 i ( H (Actor) ` Q' UML /
/
7 ? 7
Cn
9 " CD g*
< e " UML ' ") " g
Cu Cv ��