Professional Documents
Culture Documents
UML
2004-2006
www.nidam.net
: UML ا و ا ا
ام/ UML
(
1.............................................................................................................
3.......................................................................................................... UML
3...............................................................................................................
5....................................................................................................................
6...........................................................................................................
UML
6...................................................................... W ATERFALL MODEL
8............................................................................................................
10 .........................................................................................
#$
!"
11 ................................................................................................................#%&
'
11 ................................................................................................................. #()
12 ..................................................................................................................... *
13 ................................................................................... TRANSITION (#
) #+
13 .........................................................................#!
12 0
/ .
14 ...................................................................................... TIME BOXING
15 ............................................................................................ .4 ! 0
3
16 .......................................................................................... #
1 6+ $
17 ..................................................................................................................
: UML ا و ا ا
ام/ UML
25 .............................................................................................. 8
7
'"
26 ..................................................................................................................
!!
32 .......................................................................... STATE DIAGRAMS
0
!!
33 ................................................................ PACKAGE DIAGRAMS
0
!!
34 ............................................................ COMPONENT DIAGRAMS 0
0
!!
35 ............................................................ DEPLOYMENT DIAGRAMS &
0
!!
35 ..................................................................................................................
42 .................................................................
3 ,+ * :7 0
49 ..................................................................................... #()
! =
' :8
3
49 .............................................................................................
' :8
3 1. ?
49 ................................................................... (JRP) 0
!
A
!!
#. @
51 ........................................................................................... 9($ # (
52 ..................................................................................................................
: UML ا و ا ا
ام/ UML
63 .................................................................
3 ,+ ! :9 0
64 ..................................................................................................................
65 ..................................................................................................................... *
66 ..................................................................................................................
68 .................................................................................................
' :8
3 6.
68 ............................................................................................................ ' !
69 ............................................................................................................ !
69 .......................................................................................................... '8 C=
70 .......................................................................................................... 0
=
71 ...................................................................................................... 8
>
' 0
=
72 ............................................................................................
&
$
' $3
73 .............................................................................................. UML = :
!!
75 ..................................................................................................................
: UML ا و ا ا
ام/ UML
76 ........................................................................................................ – (
77 .......................................................................................... 6
:3 = 0
8
1
$
79 ....................................................................................................... 1
$
0
!!
79 ...............................................................................................0
'
'G :1
$
E(
81 .............................................................................................
:1
$
0
!!
82 ................................................................................. 6 0
8
C :1
$
0
!!
83 ........................................................................................................... #8
' 3
96 ............................................................................................................ !
97 ................................................................................ EXPERT :(GRASP 1)
100 .......................................................................... CREATOR J :(GRASP 2)
101 ........................................................... HIGH COHESION #
. C
'
:(GRASP 3)
103 ....................................................... LOW COUPLING ;) 1
3 :(GRASP 4)
108 .................................................................... CONTROLLER K :(GRASP 5)
110 ................................................................................................................
/
: UML ا و ا ا
ام/ UML
111 .................................................................................................. 0
'
'G – >
114 ................................................................................. ; 2 C(
' >
115 ......................................................................................................... %100 6.
3
116 ............................................................................................................... %
116 ................................................................................................... 1_4_ 6.
3
119 .................................................................................................. > . #
120 ......................................................................................................0
' I
121 ..................................................................................... POLYMORPHISM #
122 .................................................................................................... 6 0
)(
124 ............................................................................................................ #
63
125 ................................................................................................................
: UML ا و ا ا
ام/ UML
141 ....................................................................................................... #
' B ?2
142 ................................................................................................................ 0
.
=
142 ......................................................................................................... O
0
143 .................................................................................
0
!! < 2 0
'
143 ................................................................................................................
145 .......................................................................................... 9
7"
(
: UML ا و ا ا
ام/ UML
(
C ! #H=2 7" A
1
&2 7$ .0
*
& 0' UML
.
!
0
R 0&
'
&2 1 U
.0
8
6 & !
UML
R& U
R( 1 =G V) 1 0 (
&2 1 U
' 0
& 1
0
R$ 9R
7. UML (
. 9I
1 .
RUP 6 $
.%(2 & 1. I ; # $
& 1. I ;
1
: UML ا و ا ا
ام/ UML
*
www.shagrouni.com/sd/agilemanpre.html
2
: UML ا و ا ا
ام/ UML
UML
إ:1ا
> UML 4
R R T (UML) 2 T(Unified Modelling Language) 6R+
(
$ /) . I '8 (
$ 9( (
'
R 9R
' 9R' #() / = .(UML = 0 artifacts 7+'
.0
!
0
. = UML C !
1 9 9( TUML = '8
7"
@3
' TUML #(2 7. 6 I 9' T ( #() =
4 R 7R. UML C !
9 <
$ .0
.
( =
.
?
# = 3%. K 1 #
&&) T
& (
0
& < G 0
.
(
.1$
(
) : / 1
3
: UML ا و ا ا
ام/ UML
.< G
K
' #
G 1 >) 1' # `
&= 12
(!
0' S
#H=G 0
(Object Modelling Technique 8
) OMT •
.)> 0
0 0
$ I2 = #
=
0
' Object Oriented Software Engineering) OOSE •
$
.(Use Cases)
' :8
3 7'
(7 8
#
)
I #
A' &= #2 1 3 '2
' :8
3
.(
)$H 8
7 K= 1
4
: UML ا و ا ا
ام/ UML
R
6R & 02 T!' 0
;$ 1. I ;
R(
consortium
1
= T0
.
( !
'2 <
'
Hewlett-)
S0 #> 1 > 0
''d 1 .
&= 0
TUML R
.(Oracle) # 2 (Microsoft) 0=' (Packard
**
0R
R& 1R T1979 = (OMG) I # 3 1 UML [
0'
. UML 0 (2
. A .
&
( 7. 0 2 (OMG)
.(
B
. !
(artifacts) 0 1. $
' UML
.
& P
*
. 8&
Tmodeling ' '
**
R U & T(Object Management Group) 8
6 B . :OMG
.#(
)
1 www.omg.org I .0
)( :H
5
: UML ا و ا ا
ام/ UML
7 UML
R2 R 1H
$
H 3 >%> *
3(G
T UML# !
.
R= S #R 1 > >
0
$ 1G A .(process) 0
$
C$
H3
0
R (R
= .< 2 '
>
# 3
7. '
6
(
1 > .2 0
6 C>
0
. !
4
=
R'
'G
R) !
f'
. T. UML 1Y= A .
B
."3 " 7.
&$H 0
!
6
: UML ا و ا ا
ام/ UML
$
12 .
2
(
&
" #&'
) !' $ /
:
&
2 .4
&
C ' 3 1 12 &) 1
12 H IG = 7
K2 •
7.
8 . f ( $
A = .(
6
# 3 #
.1 +!
1 6 G # = &I
6
. #
.
:
(Risks) !
•
*
!G f(
)
X9'g .
I
#% (
S $
.1 : ).
H 6 (
1" T
&= E
! 0
= C
'
# T6 :
= •
!#$ C ) I
)
% 6 )( `
0' 1
' #!
7
: UML ا و ا ا
ام/ UML
.
7 , 5
< G 0
7 -D 3 C* H :3
6 !
KR` #
8 A
.1 :
3
$
&
U
(
3 0
!
6 B
(
P
R 1R 1
(integration) P (coding) 9
#
' :
.1 K$3
6 H
8
&
R 0 1 .K
" = !' &) #&' T
Y
.4 $
12 .
= 2
C*
8
: UML ا و ا ا
ام/ UML
4 R +(
? T (spiral model) # 'G
6 #R T 6 (R lifecycles
0 1 '' 7" K'
C ! 1.
.)
#
3 P
(Y &
:'G :
T9
T(
T#
)
6 #
7. #
12 #$ C = :!
' •
. !
7. 0' 9 ( 1 (
( TI
6 ( 1
0
I% 7. #(
•
. !
0
. = $
# 3
0
$(
$ =
0 0
G
T
6 !
!
+(
•
1 ( + U 6 0
;$ )
!
:%>)
.2
!
. #$ $
< 9
1 •
.> 1 +$ P
I
(B •
. 2 3 /
1 (/
:#>) 4
:H •
9
: UML ا و ا ا
ام/ UML
0
!
$ ' 8
9 $
$ / 1
6
. •
1 > # 3 1
$
T(RapidApplication Development)
.(hacker's charter) 6 #.
$
' 1 )= .
&
" . $( >2 $ •
1 T(Gantt Charts) !
U 0
!! #> 0
. 6 B
0
.)
'2 !
0 $
>2 1 K
'2 7. 6 I T $ . A
#2 1
.(Iterative, Incremental Framework) D 7 D : 7.
.#
:3 = =
T [5]: )
#2 !
T(Elaboration) #()
T(Inception) :'8 !2 $ 2 7" #$
!" '
TR
7. !G /
.(Transition) #
(Construction) *
R R
6 R R= #R !G / 1 ! 12 1
R R
0
!
R ; $
' !G / W 9' ' = .
. ! # =
d2
10
: UML ا و ا ا
ام/ UML
&23
. +(
> •
.1 0
8 9
' •
.(
# ) 4 (glossary) 0 ) 8
•
7. 8
$ 0
T
0d
TW
0 1H
) < ' •
.(O T
>
'
.6 !
!
8
•
.4 ! •
case R'
; $
. #()
1 * #%&
' ! @3
9'
.: #() = study
0
R' R
. / = 6 3
& 1 UML 1 1
Class )(R !! T(1 2) )
' 0
!
=
.
'' Case Use
(R
R
R
$
) 9
' K
'
H2 1 Diagram
.
3 4H # .)
'
11
: UML ا و ا ا
ام/ UML
5
# X Linear ! '` C
1 ! .P
*
T*
! =
K')
# .0
1 '' #% 1 T '2 V) /d
# 1 12 7. #% 1 .!' 3 : 'G
.0
C=
. #
12 #` T1
(32
8R ) #R$
I 7. #( f! 9' 0
1 . 2
& :
7+'R
0 R
/R .(6 R # = 6 I 1
' T: !
! #$
!" '
0
2
1 TIncrements 0
12
: UML ا و ا ا
ام/ UML
! = 6
$ 0
!
.18
7" 8
& P
# C$
8
& !
:1H
.
' 8 # 3 1
; UG 8 0 (B •
.#
''
I :
P
#
2 T:3 = 0
•
T6
& 3 =
&+ ( 0
.3 #
#>) 0
&
•
(..O T 0
. 1
'
•
.0
$ :
C'
•
3
. ! = #
R 1G S #R!2 0
1
12 $ %= /$
4 "
6+ R R= KR$ #R
$
1 +! 7. 1' $
<
' 1 9'
. >2 0
G 4 ( 12 A 1 .6
:
6+ #! = >
12
#$ ;$
=
13
: UML ا و ا ا
ام/ UML
!
.#
2 7.
*
&"
T
& :
#
"
R= $ ?
12 .
& = $
= G
.
0
=
&H
&
U #
.G $
12 T `
'2
14
: UML ا و ا ا
ام/ UML
T0
$ 6. #
" ..
= 2 K
&) 1Y= T 6 $ #
!! 1. [
%= .
&
$ !!
.
( & ; )
•
.!!
= 4 2 "
" 7H) = 4 12 = #*
H
T
; =
" •
.C=G = W
I
' $
8 A
12 ? T#
0 &I
93
' T8. 6 ( !+
= 1 +! 2 9 + '
" •
.$
!+
< G $ 6 ?
12 K
4 f' T'
'2 6 (
R 3 0
. 6 " 7"
T*
B 0
" #3 $ K . 1 / 2
.( 6 ( #$
. ? % G) 8 *4 . (+ :7
15
: UML ا و ا ا
ام/ UML
T a 1. 9
4 # 1` & / 7. 18
+ T'
'2 6 (
T#%&
'% (3 ! " !
:
;$ T%> T)
0
.0'
3
&= #%&
' ! 1Y= '. ` 3%$ 0 :
T RUP 7R
R
:
6.
'
#
&
3 0 (2 3
6
R . V
'G
*. www.rational.com = #(
)
1
" 1
R R
.RUP fR% : H
2 0
7. # 1.
(2003 = = IBM
&$
) .
# ' 7. K
$
'
"
*
http://www-306.ibm.com/software/awdtools/rup/index.html
16
: UML ا و ا ا
ام/ UML
B
.
0
$
8) 1 $
#$
!"
.#
T*
T#()
T#%&
' !2 $ 2 7" #$
!" '
.0
$
( '`
1 0
UML R
9 T Framework #$
!" 7.
9' V /
.#$
!" = ! # 0
.
17
: UML ا و ا ا
ام/ UML
2
#& /
'
IG (
9 $ ' 6 (
T2
.(Functional )8
I 7+'e
2)
I $
[
$ ! TStructured Programming & =
R&
R
R&
functions 98
I 1 . (
> T`' 7"
+
6 ( (
7
&
8
T 98
I / 0[H
" .
& !
functional )8
RI AR)
7.R
R$ /R .
&&=
&
K= +'
.decomposition
R ! 0
I)
I / T&$ 6 B I #+
T
!'
> `
:
I
A T6 =
0 # 0
$ =
H" &$ = 1 +
.
& C
0
! #
:
functions 98
I
1+H
' #
)8
I (
.
18
: UML ا و ا ا
ام/ UML
add_student 5
إ
enter_for_exam دل ا
ن
check_exam_marks
ت ا
ن%& '
issue_certificate
دة-. *ار+إ
expel_student
د1
1
.98
I / #[> data model 0
7"
H2
9'
(R
R. R T0 0
1 T ! 1. 0
$
6
.0
/& I
)
% database schema 0
6.
3 !!
/R 7R.
$
9'
'
+
functions 98
I 12
H 2 1a
R
R' (R
! =
H") "add_student" )I T%> .0
1 =)(
R
(6
& (") "issue_certificate" )I T( !) "Students" 0
(6
&
! #(
)
= $) "Student"
! 0
7" #( 7"
. "Exam" 0
0
"
H2 )I
'
.code 9
#
98
I / 12 7. "_" )' !
' 5
1R. R $
R' notation
( #$
' 1 9' T#() / #% K2 I 6
. )
19
: UML ا و ا ا
ام/ UML
T0
R
CR= R$
T98
I # ' 1. 6
.
diagram !!
. dependency
. 0
>
&= !! 0'
.Student !
O
R
1
12
)
T1
#2 7. #$
I 12 #+
T#
>
#R T8+R' 6 R= 0R
'R #> 1
. # 7.
! %
1R Students R ! #R = % O
#
12
8
.' 3 0
: 2 7" 1
.R$3
U
>c &I = + ' 3 K2 1 :
&
1 + R #R Courses 0 R # Exam 0
# 0
=
R TStudents R
! #R 0
7. (< ` 2 ! )
&
$
Tutors
add_student 98
I 3
." T !'
0
$ ;$ ' = '
3
RRRRRR)I= T expel_student issue_certificate enter_for_exams
20
: UML ا و ا ا
ام/ UML
&G `
#$
1 add_student
.: 2 1 1
3 #
1R$
&'R :!
' 1
2 2'G T
#
1 #$
T"
.
& >`
'
code 9
=
. 1
2
1. 0 + ' A2 $
12 1 6* # 9
= !' #$
03 6+ 1
I =
& 3%.
3 < 2 0
. ' = (3 U
21
: UML ا و ا ا
ام/ UML
Encapsulation =?
#>[
# 3
7+'R &) .
! Student
3 # $ "age" 0
6* 3 2 ?
R& [ T
>2 I # #$ = &' T Encapsulation 9
22
: UML ا و ا ا
ام/ UML
0
>`
1 T
# 0
8 ?
7" P
3 .0
/ 7.
.< G 1. #$
3 # ( 7 '
Objects (
R&` R!
98
I 0
1 0
$
/ 7"
2 T#() #%
R=
& 0
= ' / 8
( 7"
I "
. ."modules" 3
R= 18
# : 18
1 :3
. = Objects (.
$
18
R R
R)
& %>= . behaviour @ data ( K :3
.
R3 7" f' #+$
T6 6
3 = ! H
&$
! 0
P
$
T*
R` "" 12 K
H2
)
. 6*
HB 6+ 1
#+$ A T+$
. T
1 0 T#
)3B 2 #
K
)
23
: UML ا و ا ا
ام/ UML
(
2 8
(RR 6
RR. 7+'RR
object 18
RR
RR(
data 0
RR
2 C R! 18
R
&
)
0
=+ (
7+'
.18
Attributes 0
'
R 0
R R= 9 R$
R 9 0
& .18
Methods 0
&
. procedures 0
8 B 2 functions 98
I
.)(
24
: UML ا و ا ا
ام/ UML
KR= R+
0
R8
CR[$
#
]
UML # 3 1 6 . ? /
1R
12 R
7. A #
T4 6 [ # = 0
)(
*
R
4 = #$ +
: TA $ .K
7. 6
3 I
/R :
[
R' V / = . ! I )I '
0
)(
.)( (
7
+G #
1 l* 0!
25
: UML ا و ا ا
ام/ UML
B
.#& /
1. 9
)
! 8
7 •
.0
)( # 3%$ 0 0
= (
0
1 :
•
.0
8
# T)+( 0%>
/0+'
C
> •
.
&
& !
#% 1 T;$
&H$ : 1
$
& 0
8
•
.K') 18
"
&$
)[ 18
= 0
•
26
: UML ا و ا ا
ام/ UML
UML #
ة%&' :4 ا
1[ •
1+( •
1 •
18
•
6 3 •
1)
' •
1
[
•
7R"
& #
] TI 1 )
1
& =G *d #
]
(R
R&) 12 7"
P T#
> # ' 7. .#(
)
1 9
<
'
#R
.7G
' = 0
$
7" K
#2 1 I 4H
9R R&)
= T]# I A' 7. K
+ ( (C[>)
6
)
' 1
1 ? $
+3 +
12 UML #
.
#$
R2 ;$ $ ' 6 I
= .UML 0
!! 1 #3G 7. !! 1
:V / +
: #(
)
1
& ;+ $
9' T: !
.0
!! /
27
: UML ا و ا ا
ام/ UML
:+ Q
:13
&= .
' I & 1
I A' 9( Use Case
' $3
.0
!
&= = .
'
T !
#
# #% 68
= 0
R&= .
R' $3 0
!! 1` 1 #
$
12 &' / 1
.'
7
#%&
' 1 * T !
0
. #
#
12
&
Y
28
: UML ا و ا ا
ام/ UML
(0
:14
29
: UML ا و ا ا
ام/ UML
.
: (
:15
R!
.
& 1 >2 ( UML
1. #
>
1
$
(
. 1 T !' !! UML
12 < 9' .0
R.
R .`
$( + $ T ("K
( #&' O' P
(
" #) T#
+$=
1 > 12 : T+ (
_
H $ !! #
#
#(= (
.6 1
`
(
0
&
30
: UML ا و ا ا
ام/ UML
UML H ,
:16
VR) ; R$ R 1
R$
!! 6
3%. K K
= :
!!
7R" R
!! #)'2 7" ! !! .%3 9
# 1 T0
$
.1 .
I = 0
8
#.
)
) 9(
/
= A T1
& TRational Rose #
f
#> T UML 62 ;$
/%.2 !! '
.
?
T1
$
!! 1
c :
!!
.15 # = !! 1 6
S
31
: UML ا و ا ا
ام/ UML
:17
* H T* )( T* T6`)!
:R #R
$
R= 1
R&
12 " T
!'
>
3 8H 6
B 12 U
.
= #
!.2 43 7" +d 12 1 0
32
: UML ا و ا ا
ام/ UML
(
f'
( +
UML 1Y= T6[$ 1
12
0+
1
.
&
UML H 7 (
:18
33
: UML ا و ا ا
ام/ UML
.UML H (
:19
0
R) T! R 0
R
Theaders 0
'
T0
)) P
$) 0
.
!! =
) 2 ! #()
V (packages T)
.
I 0
$ #(= = !! ' = C$
9' T< 2 6
34
: UML ا و ا ا
ام/ UML
.UML H 72
:20
B
R :R
&
&H $
8
.
I 9( )
6. UML [=
: # 1 ;
6
"
$ :
I #.
)
' 9" S Use Cases
' :8
3 •
&
0
8
" S Class Diagram 0
)( !! •
"
&
3%.
";$ : 0
8
#
$
!! •
35
: UML ا و ا ا
ام/ UML
&. 1
12
0
" S State Diagram
!! •
"0
8
"
. ' 9" SPackage Diagram
!! •
"
0
!
' 9" S Component Diagram 0
!! •
"P
&
' 9" S Deployment Diagram &
!! •
36
: UML ا و ا ا
ام/ UML
.
: :21
= T%> . ! # = K
"
' model # ' :H
3 T !! =
0
R!! T Class Diagrams 0
)(R 0
R!! .Y ' (
!
: !
R . State Diagrams
0
!! Interaction Diagrams #.
)
.V / #% 0
!! / 9
'
'
.
d :H •
37
: UML ا و ا ا
ام/ UML
R 1G
R
3
6
4 = .4 7.
$ !
d
1
3 #%&
' ! = 6 0
!
T1
4 '` C'
.#$ !! 6.
' 9 ( 1 #
7. #(
9 $
T0
!
#
7"
3 '$ G
3%. K 4 T#
4 7.
$ # .A c 7" T0*
!$
6. T ' 0
' T4
.4
R' ."
3 K2 .%$= #
#%&
' ! 12 ;
)' TV / =
.K
#
.G 9( 1 8 0
#()
#
# .2
38
: UML ا و ا ا
ام/ UML
0
R
&= #()
`' 9
' 7.
( T#()
! =
. 2 #()
! !
TK. $ ! 1
Prototyping (
R
R . !
'
$( #&'
#()
! = '8 !
.4 7. #32
>`
1
T
&. H3 !
6 1
12
R&
)
'R 2 T
R
R& ! 1R
R& *
&
$ T 0' /
.*
! =
&
'
$
Deliverables (
`'R R+&)
=
.
' UML
1 1> !
' T0+'
.
$
&
39
: UML ا و ا ا
ام/ UML
40
: UML ا و ا ا
ام/ UML
B
$
(
#(
)
1` C 1 &) c !
#()
!
&
.(% 0'
!
$
A
.
=)
.
)
' :8
3 : ! =
.
' 9' 1
41
: UML ا و ا ا
ام/ UML
ام3,- ا45
و7%' :7 ا
R3 6
$
' :8
3 1Y= TO (
I
" T%>
."
+ $ * " 2 T"h
( C%!"" :1
0%.
R)
%
(
9' T
' $3 K!$' '
1R
= &
9' ( W / .
I
' 1 `
'
:
T
' $3 #>
!'
UML 1 T$
>2
:+ 7 :23
Actor !&
42
: UML ا و ا ا
ام/ UML
:+ !3 +&:25
43
: UML ا و ا ا
ام/ UML
1R . : #.
)
.% 1 TIG I$ '
K2 fH 1
R. 1 >2 # 3 1
&$)
1 6
' $3 12
T
' :8
3
:
#
> =
T#
' $3 !! 7"
.9
3 ,+
&
I0 9 :26
3 ,+
S?
1R
' :8
3 #+
!
' : T".%" "
' $3" 9 $
!
' 1"
1+
2
' :8
3 12
. " 1 $
$
9' TUML #%
.6 6 ( 3
' :8
3 1" .`! .
&` C 12 1 !' 2
&2 T#&'
C
! +(
1
&" .
I
$ C
!
' :8
3 •
.#
!
.
44
: UML ا و ا ا
ام/ UML
1
1G #
0
!
1 T0
!
&
' :8
3 •
:8
3 *
12 T*' #
'
&
.
>2
&$
'
* 2 12 $
.#
I #
' :8
3 4 •
!! 1Y= ./ !
I
' :8
3 = K
!
.0= 1 #
' :8
3
T&' /& !!
) 1 ! *%$ 1 #(
1 1
&" •
.(K&= :!
' #
=
12 < 9' S !
*
0
. #% !
C =
' :8
3 •
=
: 1
' T !
0
$ ) $
>
' :8
3
.K$(
#
T !
=
. !!
&
' :8
3 12 9 < 9' •
.#$
% 03
f'
.
I 0
*
V
'G
' :8
3 •
!#
2 ." = .
'
' :8
3 1Y= T 2 •
0
R !
1. $
'2 !
'
' :8
3 1` 0*
. (
U
8
!
' :8
3 1
K.
U 3 & # 1 # 12 fH .
I
3 :+ H8 R
T
R' :8
3 =
> K. 1
12 < 2 7"
$( 1 1 3
7R. 2 T
' $3 1 12
'
I 1 #.
)
# 7. # T%>
R 9 R( Rc R` T%>R 0%.
)
#
12 6
' $3
1'
. ' 12
' f' ATM
I *
TATMa
: (
= $8
0%.
)
1
.
6
R
$ [9] : I .0
!
6 3%.
&
' :8
3 1Y= T U 8
.
' :8
3 #% 1 0
!
4H
45
: UML ا و ا ا
ام/ UML
3
! #
" •
3 #
" •
! E
•
! E 7. `
•
3
!
•
#( 2 •
> 0
:+
:27
46
: UML ا و ا ا
ام/ UML
/ 4" :d' W ! 12 1 TC ' > 7. !' 6. / C !
R R "
R$ &
1 9' .
V T
' 1 9 "
.#( ("
!
' $3 K. 1
7 8$
:+ :28
47
: UML ا و ا ا
ام/ UML
3 ,+ (0
0%.
R)
1R. (R #R(
)
1
.
' $3 #
.$3
&
0 (
' $3 '
' $3
' $3 9( (
9(
$3 #$)
# 3 =
12
! 9(
' !
'
' $3 *
&
. ?'
9( !
.
0%.
)
9( 0
T$3
U ?2 :
.
0 (
9(
8
>
' 0
.
& d
1 2
:+ = C* :29
R 9R
T 6$
6 (
& T0
E(
UML 12 7. #
> 9
.E( / #
$
'
48
: UML ا و ا ا
ام/ UML
0 H
3 ,+
R' :8
R3 1R 1 . 2
#()
! = '
'G
f%
= T"( C. # ; . " :2
. =
2 : .
R
#(
)
1 1 S
' :8
3 1 1 . G
.
.68 0$
#> #
7.
.
'' .
' $3 #
2 1 `
0
!
&!
T
'
TR
$ 6 !
R 0
R' :8
3 ;$
3 " T / =
9R' / =
& 2
" 1" .
&(
)
9
' & 1 1'=
. !
6 9)
7. .
'
3 ,+
"
:
d "
0%
#% 1
' :8
3 7. >$ C ! <"
R= 1
!$R' 1)
1( 1G T $( & / .
I 1
1
'
1%R$
7
)
I K. 1 12
#
1
)
1
( UG
!( V) =
:R 6 R
0
(R
1H
9' !
0
. I$ 1" T`
6 d 7. & #( $( 1 K2 ? 1 .K
& 1
'
.#$ : $ >2 f (2 c '2 = TK
I 7.
49
: UML ا و ا ا
ام/ UML
RI
R3%. 2
& 1
$ =G 1 .
:
#$ '2
/R R= = # (stakeholders &'G
) :
1' / !
.K 12
I 7.
= / I & *
!.B . .
=
C>
& 7
T0
' / #$ @ =
H2 H
1'
12 #H=G 'G 1 T 3 #% 1 K$ 3 .0
3
s ' P
2 ('
6
' 0
') CASE 02 <" !
.6
0
!! ' ; .
KR 1 7
T1
# S
2
' :8
3 !! !
'
.&' # !! &)
$
' 7.
3 1 12 T'
1
1 .% =
; $
' *" 9(." 2
12 .1
' :8
3 =
; $
' c 9(. T
$ .2
T. # 3 1 T
=G W ! 9($ . 1 *
&
#
.3
.6 6 = 2 !' = !' 9( U
( #% 1
' $3 #
.2 = &$H .4
1 K" .!3 $
:+ H 8 @0 2 3 •
. !
. *
>2
' :8
3 1 * $ !
50
: UML ا و ا ا
ام/ UML
.
:+
(!
&"
"
> $
9' :8
3 /) 6
R
0
R$ 68
= 12
T1
'
1
(
0' /%.2 f8
(
!6! # = %100
( 1 12 !
* # 12 iterative
*
4* =:
9(R. . 12
1 :3 = X
%&' 2 V 9($
R=
R .
.
'
'G f
) .6 !
."
: 9(. '
3
=G T*
U 2 U 1 K.
< & T
=G # C>
•
6
= $ $
=2 7" #
3 * a # 12 7. 12 1
:
(2 7. K. 12 C'
.
0
3 3 . # 12 T
(
#
$
R' R 1 =
' :8
3 #.
' TC
' =
.K$
*
1 1R 7"
&
%. 7.
=G W ! . $
Brainstorming 9($
(
) .
&
$ < = )
2 ?
51
: UML ا و ا ا
ام/ UML
B
.K$
I
#
$= '2
' :8
3
.0$
' :8
3 =
> < K
12 7"
.#. = 1 :
' :8
3 *
' #H=2
52
: UML ا و ا ا
ام/ UML
9
اه7%' :8 ا
R
& T
) $ 7
2 9
UML T< 2 6
!R! R K
' ( 1 . 1.
& $
U
(
class diagram. 0
)(
UMLH (0
:30
53
: UML ا و ا ا
ام/ UML
1Y= T(#
)
I (
>
& T / = T
.
T8R !!
32 1' / = /.Y ' 0
)( !!
.8
& (
2 7. 1
$( 3
I = : •
C'
I = •
% "
& = 3 6 $ 2) 6 #
I = 1 !3 •
("!1
'
2 # 1 6 "
I = ) 5* •
9
I = HW •
I 1 0
! Y
$ (_2_L: •
* #$)
I I
Y
> C8
3 5 I
(
$ " _ •
#
I = 1 0
8 $
&=
7_(_C* •
C+'
6 R
1R! T
I
1$!
' S
) 1 1(
7R" *! R #
R'
) 1`
< 9' .(
PH #
. *
!
: #
(
0
)( !!
54
: UML ا و ا ا
ام/ UML
#
.0
/ ( Brainstorm 9($ 1.
0
6R.
C !
.W
3 #
3
.
T* a # W ! 1 *
&
R 1R &) 2
$ " T1
H 1 12 &) :1`
.(
7.
' >d
#
$ " T`' C
!
Craig Larman 1
A W
.
) *
( 0
!
> $
:0
!
1
) f
([2] ()
''
0
8
•
1
G •
0%
$ /0
•
(0
$ 9I T1 ) =G 2 •
< 2
) 0
•
(8
0
.3 #>) < G
IG •
(@!. #>) 6 *
'G •
I
0
'
•
(8
! 0
:#>) ?G •
0
'
' f8 /. •
( 0
) / 0%'
•
55
: UML ا و ا ا
ام/ UML
(
9 $
) UML ! Race "" 20 :31
56
: UML ا و ا ا
ام/ UML
(
'R 1YR= T< 2 6 – &) # (
0
'
12 7"
.A C
' #H=2 UG = 1
' 3%$ : 9(.
57
: UML ا و ا ا
ام/ UML
( M (
K
1 – 0
'
) 1
= .
'
3
.
&) :( = TA A
1
" ./ C )
`' > C %= /%.2 (
. c
10
.0
' 1
6
. 6 ) 0
3 G strings # •
– ' 1
= T* 2 #$=
& &) property (
0 " •
" 6
'" .'
"'" (
12
H T" " &) = %>
#'
3 #> 6
' # 1. 0
$ 1
G T&) #>
. &
Associations
.*
. .
!
&.
"
. 6.
3 / S
8 V 1 10
58
: UML ا و ا ا
ام/ UML
/
R
R=) T"6R 6
' #" 1` # 1 T#
> =
"
6
' #" (V
$
# 8 :37
59
: UML ا و ا ا
ام/ UML
T(R
&
) X"1
$ 1 >2 2 1 #" 12 T/%.2 #
> =
." # 3 1 e #
. #"
(7M
.
R
AR R
Cardinalities 0
B 7. 3 2
TV
'G
.0
R #R
0'
&2 U T>G ;$ 8
3
!! ; $
'
R #G ."1..*" "*" 1R !' C ) I .many "." 7"
* %.
R
2 T&) 0'
1 . ` W
' 7$ = T"." 7" ;
U #
. >2 2 $ W
'
H $ T
>2 G .$ 3
60
: UML ا و ا ا
ام/ UML
C* 5
2
2 ;
) .
) 1 !
&
I 7. 6 I T 2
) . .1
$ 6 "
I
) 6. 1.
)
=G W ! '
.(fH
0
' !
) /
2 # = /
1&)
12 / = :8
`! . #
7
1 .C 03 ! '
A
61
: UML ا و ا ا
ام/ UML
T"!
R
%" ! 1 *
)H" =
1 1 3 T c 2
12
6 6.
1Y= A .
" >2 $
!!
$
1
"6* 3 6
."" . 1 7$ !! 1 12 T
& .
.
$
B
.`' C.2 #
#2 1
$= '
)
.(
$'
' T
.code 9
*
. 0
!$ 2 2
& = 1'
.
' :8
3 =
#$ @ 0
' T *
62
: UML ا و ا ا
ام/ UML
!' iterations 0
#$ '
9 –
2 #$ 1 >
V / 0
=
)(
'
&'
(
T6
$=
# = .
' :8
3 7.
B
%R$=
3 3 1 T
$= 6 ( " .
' :8
3 1 != #
9
!
'R
.rank
' $3 # *
!.Y T
!!
(R
) Case 62 2 .
' $3 !
K=
'
7" 3
. 1 *
( f
#
R R= = $ 6 .
(
) $ '
> .3
2 1R. 0
B ;$ / .
/
= $
0
8
:(
!
12 T7$ ) 7.2
d
!."
' :8
3 1
$ 6 !
0
' :8
3 •
$ '
'2 $
' :8
3 •
I )8
I 1 $' 0
' 1H
' :8
3 •
6
2 T
)>
> !
' :8
3 •
"$ ' '
" •
' 8
$ 0 •
= ' 1 3 .0
6. 7"
!
# ' =
' :8
3 ;$
.
&$' %=
9
(
.
' $3
*R ") < 2
' :8
3 . #
' 7.
$
' $3 12 ' 2
.(A 7.
#
> "#
63
: UML ا و ا ا
ام/ UML
$HR 7R"
' $3 '
!
' – #
' 12 = ;
)
R>%> R .
R !
'
T
H
' $3
T%> .O'
1R T6R) R& d
' $3 #
T
#
& = .0
.6
:" ! C%!""
' $3
(2 :
) 9&
' W
' 21 ' •
(3 :
) W%' &
' W
' 1 ' •
(5 :
) W%' C%!Y
' W
' 1 ' •
B
.6$
0
.
.
f'
' :8
3
.
& (
=
&
2
' :8
3 #
!$
.(
= $ 7.
' :8
3
.7G
G = .
'
9' 0
B ;$
.
1 >G
9'
' :8
3 ;$
64
: UML ا و ا ا
ام/ UML
3
T ! &
$ * " ;
) 1 .#()
! #
&
R! #%R 9R
3 # $ = . 2 4 =
'
' "
1`
A 9
12 #H=G 1 –
'
#
:3 = :!
'
2 #()
!9
& = K)
12 1 1a
5
R&= 1R R
I 2 T
*
T*
! = 1 1a
.1 8 /
0%R=0
=R
1R '' :
12 #$ (
$
! 12
.
# =
!
' :8
3 1 ( . : T waterfalls 6 (
.
!B
#H) T#$
: 9' T
#
& =
65
: UML ا و ا ا
ام/ UML
B
RI 9' .*
* 1
1 1a T Elaboration #()
#
'
3
.*
0
. =
) 9 < 6 7. # =
66
: UML ا و ا ا
ام/ UML
R' :8
3
> 6
7"
' .#
*
! = 7G
7R.
R
" .:8
3 / :'
1'
T
=
& '
1 ' T
' :8
3 1 != ( $
#(
)
. 03 = K
. $
6 R / 12 – #
=
1= T*
! =
" U T
` 12 TA .#()
! = K
3
#
A 1 %()
>2 #
67
: UML ا و ا ا
ام/ UML
3 ,+ 1
#R`
R 3 6 (R3
' :8
3
Y
3 T Elaboration #()
#%
(R% ' ! T# C=
T'
'G C=
#>) #(
)
= ;
:8
R3 != 1) #(
)
=
#
' 03 1
1a .*
!
` 7
.(
=
&$ #
$
'
'
1
:H :
' $3
$ 1$ V = 7.
' : 9(
C
'
1 :1 .%
R2.3; R7.1
:0
!
: ' !
: !
:'8 C=
: 0
=
:8
>
' 0
=
.KR
8 $
R
R&= 1$ '3 # T6
' $3 #
> /%.2 #
R$3 = I
. T #
>
'
&
8 $
. fH
' #H=2
:
4 ,)
'
&
' $3 `
12 # 3
d
)
'
I ! ' 9(
:
C ' !
1 3 T1
:H #
> = .:3 =
68
: UML ا و ا ا
ام/ UML
3
< .
' $3 *
&
$
I
&. 1
% ! 9(
"
I # 3 1 1
#'
TK
:H
'"
% ! / .
' $3 0
' TC ! 1 >2 3
:#
> .“if then” "l" S1
""
'
&)(
)
."
'
' *
"
Tl" T
' 1
""
."
' 0
?
Tl" T%'
' 1
""
H
C=R
R
R= .
I .% 1 0%.
)
#()
T'8 C=
=
:"1
:H" $3 '8
69
: UML ا و ا ا
ام/ UML
`
'
I ; $ (7) $ `
1 =
' (6)
$ *
Y
' "
"1
2 :H
<S C !
2 :RH
R – CR% ! =
# C=
1. P
T
/ =
11
.1
R
% ! V)
K. P
# C=
1` # 1H) UML '
;$ 11
70
: UML ا و ا ا
ام/ UML
C=R
T< R2 6
$ .8
>
' 0
=
=
&)(
8
>
' 0
T 2
dR
< 2 ! 1 ? 43 . 2 T`! ?
.
12
.K
:
*
>
'
1 3 T"1
:H" #
> =
R$3 R&
' K
.1
!
)
' ( (E1) "
"
'
:R 8
>
R' C=
0
.9
7" #
.
Texceptions 0*
>
R' .
' 0
" – P
= 0*
>
'
.c ) ++'
=
#> –
&.
> 0
1 $
71
: UML ا و ا ا
ام/ UML
2 :
3 :+
1
:H :
' $3
C
'
$ 1$ V = 7.
' : 9(
1 :1 .%
R2.3; R7.1
:0
!
W
# #'
'
3 : ' !
I # 3 1 K'
1
:H
: !
8
3 !
T1 # 3 1 1
:H #%&
' . (1) :'8 C=
7.
&H . (2) T
I 1 0
3
'
.$ *
Y
' (A1) : 0
=
1
2 :H
<S !
' K
.1
!
)
' ( (E1) :8
>
' 0
=
' $3 &
:+ = :43
72
: UML ا و ا ا
ام/ UML
UML H ,
0 1 >
:"1
:H"
' $3 1. #
>
=
= Sequence Diagram :
!!
'
f( 1 TC
' =
" .(
= (
T 0
6. = ) S
2– :
!! .UML
'G C( #
=
.
' #
. !!
' 1 T
. K2
:!! #$ 9 < 9'
= .
I =
73
: UML ا و ا ا
ام/ UML
/
1 #>
.#)'g
I
' 1 #.
)
1 &' ! K. $
..%
I
#.
)
9(
.! 6
74
: UML ا و ا ا
ام/ UML
0%.
)
=
H" =
'
.1 ! 7. #)'g
! 7. ! 0
$
1 7
7"
1
!
I 2 .%
2 K
.“active”
. 2 >2 1
T1w '
2 – (
) 2
& V
$=
# 3 1 0
$ / =
H"
.((
62
C=
9( #2 1
c &'
& 1
' T:
!! 1 *
&
#
#R C=
# 0
!! /& H '
.
' $3 '8
.
% 6 > 2 6$ #8
&
= A C
'
&2 U
T8
>
' 2
B
R=
R' :8
R3 ;$ 7.
.*
!
T#() =
.
' $3 !
&
#(
)
)
' T
.()
' $3
. 6
=B K
R
" R
1
' T
' :8
3 =
#(
)
1 1a
.= 7" :!
' 1a S * 7"
$!
3
.#() (
75
: UML ا و ا ا
ام/ UML
–
. &H$ : #. )
: R
!!
T0
8
0%.
)
1. $
1
' 1!! UML =
!!
R
0
8
classes 0
)( C>
T
&
0
8
3 .
R= Class Diagram 0
)( !! .;$ : 0
)( / !
9 T
3 0
)( !!
#$ I$ T:3 = .0
$ / (
f
UML
! K8
Y
3 12 C '
)
' 9' – #$)
/
.C%!
!R! #R.
)
!! –
1 42 >%>
' T(
. T"
.
!! 0
)(
76
: UML ا و ا ا
ام/ UML
. H ((
) I :44
1 "
: /
I = 0
8
1
0
8
(2
.
'
V &=
9
[
77
: UML ا و ا ا
ام/ UML
6
$
' –
' $3 = I
1 12 ;
) /
' $3 4
" 1 9
?G '' 6.
'
:3 12 9 $
:
1
12 1
?
8
(2 S2
.
' 1. V &) =
T
V &= 3
!
12 1
.4F 9 = 4H
!
8
(2 S3
H" .
' 1
.4F 9 1
.
8
(G K!$
7. #( .
' S4
.1 K'
#'
8
(2 S5
0
d'
= 0
T%&' 1 KY= TC
' #
> !
' 1 U
Object Oriented 18
R 7
(
= '8 0
!
2 / .18
#
4R 12
R 3 " T%>R .R( 6 ( 18
# 0
d' :H – Design
7R. #
R$= RU
I
( 3 1= T
&')
8
(2
.C%!B
78
: UML ا و ا ا
ام/ UML
: (
Collaboration Diagram 1
R$
!! ( #
' T' =
.!!
'
9
' = < ' .UML =
:
:46
:
&. K
1
$
!! = )(
:
/
(18
T< 2 6
$ ) )( instance #>
2 '
79
: UML ا و ا ا
ام/ UML
1R
R8
T
#
> = .)( '
' 12 ) 1 K2 T
2
:#2 "first" K' 12 T
' )(
80
: UML ا و ا ا
ام/ UML
?R$
R .1$
' ( = $ 1
"bet" 18
T
#
> =
:f( . 4
Y
' 18
T "getBalance"
'
:
: (
81
: UML ا و ا ا
ام/ UML
' 2 .0
8
# : 6 $'
2 7" 6
m (#) "All" '
'
.9)( = 0
8
0
$ :H C ! 1. 0
8
. UML
1 (
:
: (
82
: UML ا و ا ا
ام/ UML
+
1a
&H
3
#8
' # 12 I%
R$3 4
R" #R2 1R
R' )
K
7"
&
' 3 := T(
' >G I2) #8
' 1
)H2
.
'
.
8 :
: (
9R')
&.
B
8'G 1 > K
T$ %
V #
>
(R 12 R T72 T%> .(#()
& = $ #8
'
8
3 ; $
R= /R (R
#8
' 6
$ 9' .1
$
0
!! *
9 #
>
.% #()
83
: UML ا و ا ا
ام/ UML
7R. R' T(7. :H) “is placed on” #> Tassociations ! 12
2
3 .1
$
!! 7. #8
'
! /
'
UG
R2 R .(C
') “race” (
') “account” 1
'
(#
>)
#
] 12 #
1= T
) = K=
! 12
! 1 T1
.!1 $ 1 %= T ? " .1 0
!
;$
84
: UML ا و ا ا
ام/ UML
“place bet”
1
. T
' $3 9( 7. *
T1a .2
8
3 7.
18
" .0
3
'
8
3 ; .
T1
:H
.(C
' 8
3) 13“Race List” 7. 18
C ' " T1$ 0
3
'
)( design class 7' .
) = &I 18
.(
03
&"
&I )(
&2 2 T(
8
3) “Race List”)( 1 18
7"
' ?$ ' .% T1Y= l" .3
& T1a .(C
' 8
3 ) “getRaceList”
&'
' T(C
'
#% 1 &
.
&') :
7
C
' 8
3
&. d'
.&8
'2 1. &d' T(C
') Race 0
8
# 7.
.=&
'
85
: UML ا و ا ا
ام/ UML
C
' 1 !
' T/
C
'
&
' "
3 3
' T"
.C
' = 1
'
1 8
/
86
: UML ا و ا ا
ام/ UML
87
: UML ا و ا ا
ام/ UML
T
I = 0
#
Y
' 9 1. !! =
8 .1
# 1` .
7. &I
12 (1
'
8
3 #>) 0
/& 9
..% # ' #$) ?'
1 12 (
1 . (
. 1 1`
< 9'
User
' & C$
#(
)
K=
2 Y= T1
B 3
.K$ #
')2
3 3 1 T / = Interface
( 7
2) 0
6.
3%.
&
4 1 . A
12 TfH
/ J ' A T / =
(
+ 12 1 T< 2 6
.$
#(
)
K$H
1
2 :
1. d' (C
'
) “runner” 18
1
$
.3
2 (C
' #
) “bet handler”
&'
T< 2 )( C
K.
.
#() =
&H
' `' / (
I) “betting system”
88
: UML ا و ا ا
ام/ UML
: (
( M S:
R .6R 0
R!!
" ) 7. 9' TV / #%
:
:
. 1. =
0
B `' TI
0
8 !! 1H
K2 T
$( =
$8
!!!
: .1
6.
3 #H=2 !
&=
' !! 1Y= T$
H
0
)( 1
#$ 12 (UML =
H2 0
!! 3
) 1
$
!! 7.
& !
T >2 $
' $3 1
$
f (2 " . 6 ( !' 2 = !!
.
I
' 1 #.
)
# #() !!
Y .K
8
1 . 7.
' $3 # .scenario .2
#8 T6
. .(0*
>
' #8 9
'8 C=
) )
0 (
.
&H
*
. G C
' G A
0'
!! 1 #$
T!! = (
# 8 :8
`!
.code 9
.
$( $
(1
#
)“BetHandler”
8
1 12 # #
$=G 7.
A' 2 #$) 7
% 1'
T1
$
!! = (1
) “Bet” 18
#$)
1 .7
0
d' K!$ TK
'
89
: UML ا و ا ا
ام/ UML
. >2 #()
G =
; 9'
B
1
R$
!R! .
' :8
3 1
# *
2 T#() =
R! #%R
(
'
0
)( 7. 0
d' :
7. 1
3
$
.#()
$
R
R
: T0
d' :
.
&
.
H ;$
'
(.1
:H) “Place Bet” #
> '
3 .
G #
R / R!
R) :'
9 < 9' T
' =
. )( !!
90
: UML ا و ا ا
ام/ UML
:/ !
1
$
(1 *) T
) 1
91
: UML ا و ا ا
ام/ UML
(: H) :1 1
@
7
T(C) create . =
HY 1
& V
I$ 12 I%
.(
&"
0
)( I$ 12 &) 1) !! 7.
(43 H) :2 1
! R K 1 Taccount )( 7" bet )( 1
&
' "
' T
:#
' 7"
1
#R$)
.! . 1
% =
'
&=
&I
T
2
/ – ! R 1 &' V2 " !
'
12
/& UML
8.
.bi-direction P3 C 7
8!
/
! 1` 1
$ modelers 1 1 >
0
3%$ = 2 ? 1 `! 2 T = . 1
!
&
"
.C #(= = / 9
' 9' .J' (
& T
92
: UML ا و ا ا
ام/ UML
( :3 1
9 :4 1
!& -0
:53
9R
R
B 0
$ 1 )
1a
T)( !! #
3 1a
.C #(= = 9
7" #
.
9' .code
93
: UML ا و ا ا
ام/ UML
,
– Aggregation , &) 7 8
(
= & f% <"
.< 2 0
8
( 1 K$
) 1 /d
1 18
12 6 =
R
$ (
, ! :54
/R 1
R
12 fHG 1 1 = T
)
=
$
( "
.:
'
T (
<32 1
T
2 composition
:
K c &)
.*G 1 # 12 ; )
3%$ 12 &) T:
1
94
: UML ا و ا ا
ام/ UML
:
T
8
1 6 / 1$ 12 *
>
'
T:
& & K
!
1
" #> ' K !
&
1 1
:
)
&
" T8
&'"
.("1
R`
G
R= T18
R 7 = '8
) 2 :
12
! T
.
. ( / 7" 6
B C
'
B
.0
R
$
R=
R. 7. *
T)( !
)
2 T#() =
Ta &'
U = 2 (
)( 7"
) 1 #
.*
$ 1 > ' 12
95
: UML ا و ا ا
ام/ UML
وBC ا4 أ'ط =ز:14 ا
= 3 1. I T !
8
0
. 1 %3 $
9' T' =
.7 8
(
*
= &'
0
&
> 4
96
: UML ا و ا ا
ام/ UML
&) #&'2 •
(.
'
'") :'
&' >2
3 •
' 6
.B
3 •
'
>2 •
T
$ C
'
High Cohesion TJ Creator T Expert :7'
!
G
/R 1 # < .
Controller T;) 1
3 Low Coupling
:!
G
Expert
:(GRASP 1)
R R
!
G >2
H2 K2 " . !' ! T
&$
T
`2 2 1
$
0
!! *
3
.2
2 1 12 ! .
&
.(
0
)( 0
!!
0
R$ AR
)( d' (
" :
12 7. !
"d' /&
%
*
Stock Keeping Unit
97
: UML ا و ا ا
ام/ UML
12 R /R
' $3 .
' :8
3 <B
$
2 #
T1a
HR
' )( 2 ./
* G
B
' 7. ; $
12
6 )( 1`
!
R #R 6 )( / 1G –
&') * 2 )( * G
.* ` C$
! !' 1 !' # 0
< * 2
$
)$H
(
1'
1G T R !R A
R&
R = T
B
' > T(6
) 98
I .)
!R' )( ! !'
"
'
& f' 12
6 )(
.
&') !
98
: UML ا و ا ا
ام/ UML
%K 4 ( :57
:
1
$
!! 7" d
5 < 0 : ( (0 "&8 :58
99
: UML ا و ا ا
ام/ UML
1" :
#d' W ! . !
>2 #
$
' J !
"$ )( 6 instances 0'
/0%>
*
" 1. 8' 1 12
:12 B
() 0
8
:
•
() 0
8
•
() 0
8
0'
:
•
() 0
8
: 3 1. #
$
•
= (2) 1Y=
) K . () 7"
'
&
0
A
•
(() C
5 $
$ ! 0 $ :59
100
: UML ا و ا ا
ام/ UML
:
/& 1
$
!!
=
< $
5 $ :60
2 = .
!
>2 )( # 0
8' 1
12 7. `
& 1
RU 0
d' #
.G
1
12 )( # T 8
(
:
)( (
T$( 6 "
I (
. T
#
> =
101
: UML ا و ا ا
ام/ UML
/R& ; R
) R
fH 1 V T)( /
( $( 1 1'
.K. )(
6 = != #>
12 )( # 12 0
)( *
.
&.
"
6.
.:3
. 1 "*" #>
12 )( T< 2 6
$ – 6 '8
102
: UML ا و ا ا
ام/ UML
Low Coupling S0
+ :(GRASP 4)
1
3 1
$ 0
T1
3 :3 ( 6
' 1
$
!!
.0
)( 0
!! #% 1
&
I%
H2 1
.1
3 6 0
%.
H K= &I 0
)( !! 1 `
>
=
103
: UML ا و ا ا
ام/ UML
(0
H
+3 1 :63
' ?$ !=
.1
3 #$ ;)
6
!
) 4
"
/R& .R
) R = /
! " < 2 7" )( 1
104
: UML ا و ا ا
ام/ UML
/ 4/0 C* – 4 <
+3 9H :
6.
"
$ / -
/+3 R ,H
. < 7
! L B H +
8
12 R
R
R3
) = K2 < 9' .* 2
I )
:(
& ( 1 &G) * 2 &$
2/1
18
1 R
R&G T .;$ 1
* 2 1 #$ 1a
3 T"
.$) :3 = 7
105
: UML ا و ا ا
ام/ UML
0
R
AR
R&=) #$ &
1 )( #$ 12 0
B <"
.( T ! 0
T9
(G
T !'G . – % &
#R R
$
& ?%> 0
)( 1a
f (2 .
)8
3 0
2
/
T !R'G *
R" 1. d' * 2
$ 1 = T< G 7.
& 6
. G !'` & . 18
&= 1
#('
G 6
&
0
12 K T* 2 )( A
1
. G !'2 *
" 6 G 7
12 #2 1 *
106
: UML ا و ا ا
ام/ UML
R
)(
= T ' G
G !' )( *
; $
" T1a "
0R
(R
R = 6 0
3 # .* 2 )( 1
' >`
'
2 X* 2 1
18
.
) =
&. 9 $
0
3
.
1 ! 0
3 1
& . !'G A
*
Demeter +
": 6
$
H2 9 $
!R=
R 12 R 18
G method
& 2 12 7. 1
.1
3
:# :
0
&
K') 18
•
& #
0
!$ •
K
18
2 •
.6
6 (
& I)
0
0
8
2 •
!(+3 S0
"&
" 8$ ( :
107
: UML ا و ا ا
ام/ UML
+3
1
$
:
. =
2 =
HB
H ;$
*' = '
$ ' – public
. 1
)( = ' #$
2 •
()( $
constants 0 > A 1 7>
') )( #
$
'
.
. get/set methods '
/#(
0
& != =
•
" "
. 1
&)
$ interface 0
& 1 1
#32 =
•
(
$ # 3 1 K
' 7"
0.
0
!$
0
1 #
–
I 1 '
0
#$
•
I ! !
$ C
'
S#$ 1
3 1 #
= )
•
.#$ 1
0
)( O)
9' 1
3 .
"! 0
8
" 1 #3 .
I K') 1. $
U
.#(
8'R 1
R' )( 2 .
' C
' #(
)
; $
T#
> TA
0
!
/
R3%. 0 #R(
)
0
K`
. W
' Expert !
'
.
& $
#(
)
; $ 1
12 C
' Race )(= " C
'
108
: UML ا و ا ا
ام/ UML
18
2 2 T0
.3 )
' 0
& # 0
$ =
H" T
.
T
I = )( 8
V
#
–
)$H
(
$
)( # ( c
0
" ?
.(
1
T
&=
1 2
&I$
1' = '
' & (
#
' 12 T0
!
./
$ H #$
0
)( # %
.
C
' #(
)
; $
12 C
' )( 9 1
<
R' R$3 R'> +#
R :1R
R 6
R. /R K )( '
:7'RR #
RR
RR
T
RR
RR= ARR .<UseCaseName>Handler
.1
_:H_#
“PlaceBetHandler”
109
: UML ا و ا ا
ام/ UML
IH)
:+ I :68
&$
.
6 0
)(
= T
' & #
'
y!
=
.K
0
)(
B
' GRASP !
G C3 C !
.“GRASP” !
2
)
' T#() =
.A'
2 T
3 >2 T
H >2 7 8
(
7" d
110
: UML ا و ا ا
ام/ UML
G ارا:15 ا
(< – 8
12
T18
7 = .&
8
( = 0
)( $H A
T
U
T)( / 1 ?
. .6 )( =
8
( / H
9HR 1G 2 1 T)( 1 ?
. .
& 6 0
)( *
.
0.
6 0
' 98
I
.* % A' 0
'
2 # .A 7. #
>
=
:
)( K. 1
'
*
.< 2 6
$
111
: UML ا و ا ا
ام/ UML
“Die” TR “Sleep” T#R2 “Eat” 0
'R T . “Age” (
2 "
TA .0
# 1
1
12 ;
) A' 0
'
1' T0
.1“Animal” 7'
6 )( *
:!
'
1R ?R
T* 1 * 1 T"" )( *
"
. T1a
.6 )(
&
P
0
' !=
&. 9H "1" )(
7.R
R
2) V
R'G )(R base class 7.R
R&
2 )(
)( derived class 7'
&
`2
0
)( .(
e. )( Superclass
.(. = )( Subclass 7.
2)
112
: UML ا و ا ا
ام/ UML
B
:72
113
: UML ا و ا ا
ام/ UML
S$
4 8
KR R
R #$ ! H
9 $ 12 T
)(
'
. T
H2
.H # . ? $
X7.G 0
)(
.
&
R' KR= 03 = >
'
'2 <"
:
&.
"
6.
.$
' !=
&
' >
R>2 4R 1
0
)( 1
. != >
' T c $
:
& 1$
' 1
.
3
.V
'G )( 1
(
114
: UML ا و ا ا
ام/ UML
1_4_ 6.
3 •
%100 6.
3 •
%100 1 +
" .
0
)( 7. C !
12 V
'G )(
(
0
) $
#
1R
(
>2 ' *
"
T?
. K2 $ &= T6.
/ C !
.1R Animal )( 1 * 1 2 ! fly()
& T73 # =
R& KR T Person T
)( 1Y= A T !
0
# V=
.K !
K. U
115
: UML ا و ا ا
ام/ UML
&3
person )R( 1R ! “fly” . Y !
'
TC
' #
> =
. # 9'
2
1
H
&H =
6.
/ .> =
&
" 1 0
&
.
3 #()
1 # = I 9' .Substitutability Principle %B
_%_4 1 +
> C ! 1. 9)(
' 6
." – #
>
R f'R
/
! )( .queue
! )( (9
)
" ;
)
.
!
2 1 #
!
& = =
HY
116
: UML ا و ا ا
ام/ UML
#R$
' 6
."
T
! )( = %$= /
2 #$ 1 6
)
'%
.)( / 1 ?
)(R #. C !
Queue
! V
'G )( = 0
& # # :%100
. ! 0
& / # 1G T$
B Dequeue _
! 6
.R
12
R& R .Stack
R )( *
"
2 # .$ 2 T1a
TRR_=
RRH") remove_from_front() add_to_front() :1
RR&
.()_1_"
117
: UML ا و ا ا
ام/ UML
118
: UML ا و ا ا
ام/ UML
.
&
(
&&=
8
12 > 12 " T
' 6
." C
3 62
&`
> 12 U
6R$ 0
7" d
12 1 > #
$
' =
.
&
.proliferation of classes 0
)(R >
9 $
/ .
&&= $(
9(
) ( U ! >
'
. >2 1
'
R.
3 : C
!
K2 T?
.
(
3 6 H 7. `
.(/%.2
."1_4_" "%100"
9R
.S;R 2 C(S =
' 6
." > $
TA 7" =
HB
R=
T
. 6 ( 9$H
)( V
'G )( 1 #(
)
RG
'R 2 TR`
T
0
)( 2 = >d 12 1 V
'G )(
.
$
0
)( '' #. ) = $
' )(
119
: UML ا و ا ا
ام/ UML
( 9
)(R $
0
& 12 #
#
12 :!
'
G T
! 7$ K
.Animal )( (
0
'
? $ 1 1
12 Person
R )(R f'R 1G
3 T 1
2 T
.
1 T. 0
' / #$
T: !
.V
'G )( = 0
' 6
.
R$ #R
2 9
1G 0
' ; $ encapsulation 9
! 9'
protected R I 7'
"6
H 2" 18
7 &) A
.visibility
120
: UML ا و ا ا
ام/ UML
9 .Person 0 2H @* -
_ Age :80
.(0 +
Polymorphism
7'R
)R( ` T%> .
&=
& *
! 6
."
&
0
)(
1G T move()
&
12
P
2 .(# ') "Transport"
. 7. 6
3 1
12 # #8
' #
121
: UML ا و ا ا
ام/ UML
R& *
R
R
3 .)
C ! 1
0
' T
.
7'R T18
R 7 = 2 .)
!
& # =
.# $
2 #
Polymorphism
1 (0
$) /d
A
T*
2 )
1
& A
T(
.
U
.> 6 = "0
"
R .Transport 7R" move() 7'R
&
)H2 ./%.2
6$
T%>
R *
R :!
'
.A
1G
# #8
' # 1G T (
! A
& # T9
(G 1
$'
3
! H
# ' 1G T
&
.)
9 RG #
$
R'
& 6 )( 1. $
UML (
:
# =
8
122
: UML ا و ا ا
ام/ UML
:
6 0
)( 7. UML = *Stereotype ' #
$
' = 1 #
1 0
:84
*
6 A
& *
#
1 6 42 C A f'
TUML 0 ) =
H" '
CR= :H
1 1'3 1 '
' ' 1. $ .
&
$
`'
(
&
C=
6 (6 ( 6 () 2
'
' (. 1. $
1 T
. c (. '
The Unified Modeling Language " 6
' # :
1 .' A
.
. " User Guide- Booch, Rumbaugh, Jacobson
123
: UML ا و ا ا
ام/ UML
1+
R% 2R CR !
R. K'R) 8
R3 4RH R
2 #R
$
R= #R$ 12 K :3
K
& 2 12 7. 2
+ .substitutability
. 0 D$ H )$ ` :
$ I T$ )(
& R
R=
R R
9R
– R! /R fRH 9
= #
>
:
H #I' 2 1 TPseudocode
=
HB 9
;$
--
--
--
accelerate (myVauxhall);
accelerate (myHullFerry);
&3 $ G) H = :85
124
: UML ا و ا ا
ام/ UML
B
UML = >
!
'
H2
&>
0
' 0
&
.9
' 6
." #2 1 6
62 #
125
: UML ا و ا ا
ام/ UML
ا &ةH'Kم – اHر اI :16 ا
&و اآ
7R
/
3
# T
. )( ."6 (" IG
. T
= 1a 7
1R . : T1 ! 4 2 3 # T H
:
7. &' K !
1 1a
.1 &
& 6 # 0
1G
3
#$
!" 1H UML # .$
0 !
/ #> = $
1
H
#2 1
H2 =
12
&
UML H 7
"UML 7'
2 =
&I
1 UML = Artefacts 0 #
– ;$ (
(
$ :H
&=
'
'2 TPackages"
.#
I = # 2 #>
126
: UML ا و ا ا
ام/ UML
.
UML !! = T
&
=
&
3%. T 1 0
. ; . :!
'
:!' #
>
=
.0
!
three tier "9)( ?%> " 1
3 T/%.2 #
> =
."Business" # (
$ 7.
$
"Presentation" # (
$
R
!R! 1Y= TA . # %$=
&I !! 12 I%
fR
6 T0
=
1 A T< 2
12 1
.#
I = 0
) 0 #>
T < 2
7
:
.R >G
' T
. .UML 0 1
2 :H 1 #
:R #$
'
2 .;$ : 3%$ 0 0
)( :
12
.;$ : 3%$ 0
' :8
3
127
: UML ا و ا ا
ام/ UML
>7 *
:
$
' " T1' .
')2 P.
&
#&' . = I2 = 6 IG :
•
7. 0
!
W
' •
.)
:
=
&
' 1 0
'
7 H (H 3 S:
&R' # 0
)( '
!!
'
" :! = ;
)
.
( &) .
128
: UML ا و ا ا
ام/ UML
Expert
" – :
129
: UML ا و ا ا
ام/ UML
9
)
# #>
8 < 3 T1
#
I C.2
) "
:(fH
; ' 1 0
$ 0
'
)( 2 6 & "1 . ) I" 1 )( 2 ? T
(
# ."2 . )
I" 1
130
: UML ا و ا ا
ام/ UML
.
' Facade & 7' (
! TI 1' .3
G /$
#.
.H$ / # =
2
.1. R) 1
I 1 !' $
< 2 )( 9I 12 1'G #
TR$
R&
& . T
' TFaçade &
7. 0
)( 1 4
.. )
I
&.
$ 0
& # 1 .
1 0*
.
' # K
# T. )
I .
1 0*
.
' T1a
1' !
1Y= T
. =
I
1
Y= .& #%
.& ?
:)(R 6
R
$ 0
R I R
= .&) &
.
&
=
7'
1
$ $
=
T $ T((
!R= TR. )( 1 )( (
Y= .Package Protection
– 9R
1 <32 <
' $ .
&"
)
& V) $
0
)(
131
: UML ا و ا ا
ام/ UML
(
1 T#
&' 6 ( . ) IG 1 . *
" #% 1
T. =
I <(
C = # T(
2 4 2 3 1 !=
) 6 ( !
C =
. a 1. #
' # T
7. 1$ 1
B
7
' TA =
HB
.
!! K. $
C ) 7
' T< 2 6
$
!
: K2 TfH .. ) IG 1 (Facades) 0
& 3
$ C =
R 0
/ 1 T0
& =
." 0
A
1' T4
7R. 1R$ 1 1 ! # 3 1 V T
$ C = # 3 1
d2
.. ) IG
132
: UML ا و ا ا
ام/ UML
8
#% 1
I
$ 2 !!
:H 0
$ C =
3 T
6
3
I
!R!
R
Y
= .
I
= 12
98
I '8 0
:
7 UML
0 9a
:92
:R'
!
R'
R 9R' 0
$ C = –
8
& V
$ 12 I%
I #
$
A
T 4 0 !
:
$ 0 )
.. =
E
U . =
I # ( 7
. ) I 9(
7. C ) '
.6 B #&' $
K
$
. =
I # .. =
I #
' :8
3 *
'
1'
.
:
1 7G # =
$=
TK') 8
3
I K`
133
: UML ا و ا ا
ام/ UML
D7
3 ,+ * :93
)
3 ,+ :
8
' :8
3 12 !
1 4 C=
< 2
=
&
8
$( 6 ( 6 1
3 #()
! =
6 R R$
= ' )
2 1 #! 3 12 # .
"0 (B" 1 '' 7"
' $3 8
= # 1 TA 1 .(< 2
.
&
$ #&'
) *
!U f
) W
' – 1 (" •
V
! H W
' – 2 (" •
W%' C%!Y W
' – 3 (" •
134
: UML ا و ا ا
ام/ UML
1" .
=
m
3 T&) &' 1
6 (" # 12 1
H 9&
.
&
' 0
>%> A&
'
9' 0 ! C%!"
' $3
5
. =
I # 1 T7G #() = K)(
*
! = #$
'
3
&H$ 1.
' T
7. #
T() C = # 3 1 T
T/ !
.1 B
R
? T#
P 0
#
T
#
& =
.. ) IG . 0
&
B
KR2 fRH . 6 I 8
!
H ;$ #() C !
:
W
#
''d
135
: UML ا و ا ا
ام/ UML
ت-
ا7%' :17 ا
0
!!
.?G / >`
H2 T18
& ; $
12 1
& ?G (
1HR
A
0
!
/ <32
1 T0
!
1 $
/&
.
I # :
12
& 1
& W' 6
?G 12
136
: UML ا و ا ا
ام/ UML
8
=4 b 8 :94
.H !! 0
'
'2 1 T#3 $ !! & ( = I 9'
!R! ; $ A T 9
&
&
&.3 1
?G :
; $
.9
&
&. 1 12 1
0
137
: UML ا و ا ا
ام/ UML
?
*R
18
1' .
!! E( I$ ; $ /%.2 !!
*
R&" R
& 0
8
I$ .K ! . 18
9(
T(8
6 8)
.18
:3 ? 9(
T(bullseye " > 1.")
?G ;$
? 1 ."#' " K
= != "
" ? #
' K e-mail
2 = K.3 1 "
" ? 12 1
6) ( / .K
= '
.< G 0
1
138
: UML ا و ا ا
ام/ UML
0 (3
9(R)
R
f( /%.2 # .0
# 0
9( G !
T
2
?R2 :
'8 # .6
C2 U K T(8H 6
" 18
0
= '
?G 1 . / 03 2 = switch off *H *
)!"
(
7H)
R
R= 1R
3 6
" . = "superstate"
.
'' = 1
12 1 T6*
H"
= 1
. ."Of" *
)!"
2 "On" 6*
H"
f'R
C
'R = UML ."* H" 2 "* )(" T"* " : . ) 0
1
:0
"nesting" 0
H
139
: UML ا و ا ا
ام/ UML
0 (3
$ C* :97
R&2 7" 2 "red"
7" K ( &' T/%.2 !! = K2 I%
G 7. K! H
' *H 1Y= T"on" 6*
H"
*
. – H
=
."Red"
C
/
" $
1
.
2
.
&.3 ! #
$=2 2 ( ) 1 1
2
:A f'
140
: UML ا و ا ا
ام/ UML
C
? =+ – H
,
? $ -4 :99
M " $
1R$ * R" 1` I% :H 7"
. ) 1 /%.2
=1
1
" .collaboration 0
$
0
8
6 ) !
./2 !
6
R )
R
1
'
T c 18
&
' "
' 12 1H
#
:( 2 # :
(0 !$) &.18 ^
^object.method (parameters)
141
: UML ا و ا ا
ام/ UML
(H
C
.1$ !
"
#
1
B
V K2 7. d 12
2
:
1$ 1'3 1 ! :H A
!
* 3 3 (
4 ,) ) "Placed" -4 :101
c (3
R$ R
; R
.
" K2 1
1 T. ) 0
7" 6$
T 2
.I) 7
&. 0
1Y= T
$
9
8
' . KY= T
!
7R" #R
."pending" 93
= 2 8
C
.
#
> `
.. = 0
6. = 1 12 1 C
TC
f
=
"Being Actioned"
C
C$
$ #% .H $
12 1 2 = T
.
#R 3
&= 1
1 C
9
8
' T$ 1 *
&
#
.
3d
.$
:
A
f' (6 8 = "H" 9 ) History O
!'
142
: UML ا و ا ا
ام/ UML
c :102
(
R
$ (
T:R3 )= T18
:
0
!! / 1 fH ; 12 1 U
:8
3
2 .0
7. V'd
I = (. G
0
!!
' 1
7R
.(K'R)
' #' " "
&= * 1
' $3 T%>)
'
R) R 12 fH – 0
'
'
&
1
I #
.H :
= "
$ C ="
B
:
2 .
#
0
!! =
I T#() =
!! ( •
. ) 0
' 9 •
# #
$=2 •
0
.
= #
' B ?2 •
O
0
•
. )
0
.
U !
143
: UML ا و ا ا
ام/ UML
1R #
R
R$ !
H ;$ 1.
' (
* =
java
=
TA >G ; $
=
'' .(code) 9
7"
.7 8
> 2 7.
& !
&' 1 !'
1
(
*
? .9
1. (
#(= 7" #
0
. ;$
.
(
A
1 c #
. 9
1 T1 3 `
#Rd
* ;$ (
7. *
B
T0
. ;$ =
.9
7" 8
& (
0 3 ;$
<(R
9 . 1. > 2 %3 9
9
U T1
=
/&
R. # 3 1
&
' 2 T
&$
2 T
&
"
$ 8 :artifact *
1
3 .$
&' 3 H . 1
T6
&= d'
' T !
144
: UML ا و ا ا
ام/ UML
1
R
R$
0
R
R!! 1R
R
R
R&I$
`R
R
method P&R
R 0
R
R) $
.Diagram
' $3 0
)(
1 < 2 0.
'
`
TCollaboration Diagrams
State R
0
' (#8 /0*
>
' 0
=
(( T=
HB #(
)
)
.(*
!G 43 ! 0
:
:9
K. 12 1 9 T)( #
>
145
: UML ا و ا ا
ام/ UML
:(6
#
$ )
1 3 P
9
public class OrderLine
{
private int quantity;
}
= 8 :105
P&R #
R" R
.constructor J =
H"
T/%.2 9
= K2 I%
R R T(
G /
.
= .
0 (2 =) )( !! 1 create()
.9
=
&
=
H"
146
: UML ا و ا ا
ام/ UML
*
R$ R' 2 6
B / =
H" T 6
" 7. ! !'
:9
reference attribute
public class OrderLine
{
public OrderLine(int qty, SKU product);
public float subtotal();
*
#>
8
. V T 2 18
7"
' reference attribute $ '
'R 1R
6
R. T(R
)( !! = .A 7"
TNumber 3 2 TString
(
) . (
&.
H = $ $
147
: UML ا و ا ا
ام/ UML
#R TR
8
1
12 # T%>) $ 0
!
7. & $) )
R
9
T!' =)(
2 ;
=
1 T( T& *G . '
:
=
1'
public class PurchaseOrder
{
public float total();
Methods L4
148
: UML ا و ا ا
ام/ UML
M *
$ "Get total"
: :110
1 1
}
Purchase Order 5 $ 0 H L2 =: :111
2 1
total += theLine.getSubtotal();
}
return total;
}
.a : 5 $ $ 5K -M = :112
149
: UML ا و ا ا
ام/ UML
3 1
./)
A . G !' )( = "getSubtotal()" 7' P& *
.
'
3
public double getSubtotal()
{
return quantity * SKUOrdered.getPrice();
}
getSubtotal() *0 :113
4 1
R
HR2 R .SKU )( = "getPrice()" 7' P& *
.
'
3
.private (( ' 3 :
!'
& 1' T)
H ?
=
= )(
8 = )( :H
' T #
") )( / :H
.(). "default"
R
'R
1YR= T"Stock" 7.
= :H
' SKU )( 0
Y=
:( 1
' )(
package com.mycompany.stock;
class SKU
{ ...
7 H (0 ,) :114
150
: UML ا و ا ا
ام/ UML
)( 9 $
encapsulation 9R
6 )
. = .)( # #
P
0
R& R.)
R&
R
R != 8 0
)( # #$ . #
.
' ! . ) I !
%$= 1 & T (facades
R
&R
.
R 7. )$H
=
=
syntax ( T9'g
Tprivate :)( 0
) $
1
2
& ' 12 1 )( declare f (
!
'
.114 # #>
S protected public
++ ?
151
: UML ا و ا ا
ام/ UML
RH
. TR
!R! #. ! V) #$ . !' 0
2 1 3 1 2 T9
6 / = .
&
= 0
. (
$
9R Tobject = 9 TDLL
9 T)
9)
.(1
9
2 2 T (
B
7R"
R #R
'8 0
$ 9( 6 (
6 (
#() =
:R R
!R 7. 7. *
B 7.
Y
= $
. 9
. / # 1
= =
I T9
152
: UML ا و ا ا
ام/ UML
47
اا5
[1] : Krutchten, Philippe. 2000 The Rational Unified Process An
Introduction Second Edition Addison-Wesley
> $ ! – – #
1 6 $
.UML
&
3%. T#
1 6 $ 6 (
[4] : Collins, Tony. 1998 Crash: Learning from the World’s Worst
Computer Disasters Simon&Schuster
$ = '
? 2'2 1 $
:
&
0
*
!
:
1 $ #= ' 9
'
' 0
1 $
3
[6] : Gamma, E., Helm, R., Johnson, R., Vlissides, J. 1995 Design
Patterns : Elements of Reusable Object Oriented Software Addison-
Wesley
153
: UML ا و ا ا
ام/ UML
154