CD=EGFIH J K L M"N OQPSR2JST DVUWH=XWY
¥2¦ §"¨©Vª«§4¬­©Wª
® ¯z°"±z²³´ µ"¶ · ¸ ¹@ºp» ¼½¾"¿WÀWÁ"Â"à Á«¿¼7Ã Â Ä ÅWÂ"à Á» à Ã"¼=ºp» ¼"Æ» ¾WÇ«¼½¾"Â"à ¾È É ÊËWÌ"·WÍ2δ ÏG¶ ÍÑÐ
ÒÓ Ê± Ô ¯ Õ"Ö"××Ö
® Ø °"±4ÐpÙ@Ù)µpÚ ÛW´ Ü Ü µ ¸ Ý Â Ä Å"Â"à Á"» à ¾«¼Vºp» ¼"Æ"» ¾"Ç«¼½¾ÂWà ¾È ÕWÊrÞ~ÔßÖ××à
® ±~°"±4á=µ+â ãGÐ@ä Ú µÌp° åæ ç7Áè ¼¿=Å@½~Å"è ½¾"» À¾"ÂWà ¾@¼=ºp» ¼WÆ» ¾WÇé¼½¾WÂ"à ¾4È É ê)´ ãGÐÙ@Õ"Ö××Ö
® Ó °Wë2ìÚ í"ãV´=ä î4Ìp° å ¸ Ý Â Ä ÅÂ"à Á"» à ¾«¼=ºp» ¼Æ» ¾"Çé¼½x¾Â"à ¾«½ºp» ¼ ïSÁð=ñ+à Á7à Âò ¼» Ç@¾è Å"ñ+ÀWÂ"ÅWÇ­È Õ
ê7´ ãVÐÙôóGõõõ@ä ÍË=Ì°Ø Ø Õ"Ö×"××å
® ö° Ó ·"íVáãV´ µWÍ2´ ÏGá ¸ Ý Â Ä ÅWÂ"à Á"» à ¾7¼=º» ¼WÆ» ¾WÇé¼½¾WÂ"à ¾È Õ÷~µÜ ´ ÐÎóGõõø
® ë7°"ù4ÐÐÏ=úÕ Ó °û~²Ù@³"·²=üpúÕpØ ° Ó ·ÏVгWí=ÐpÎ ¸tý=þÁÿ4Â"à ò à Á¿@ç@¼¿Á à Â
Æ p¾WÂÆ "¾"Æ
Á ÿ =Á"» Và ¿"Á4È Õ=öxÌ"Ì´ í=ÐΠʵ"íWÜ µËéóGõõõ@ä "ÐÜ íWãV´ µ7Í-Ë=Ì·Î"´ µ«æ êÚ á=µWÍÑÐÌδ ã
² Ë=¶ ãGÐWÍÑδ ãV· ÕWÊÞ~ÔßÖ××4óGå
® ê@° ÐWÍ2Ü µÚ Õ¯z°"± ÏVÐ"¶ ¶æ ÿz
ç é½ðW» ¼=ºÁ ñVÁÈ É ´ ÏGË"Î"·7ÊË=Ì·=Í2δ ÏGáW
· WÔ Ò ÕÖ××Ö
Ó
® °W± ÏWú"Ù«²Ü Ü µÚ Õ ¸ ÿz
ç é¿ ¾@ð=¾ Ä ¿Á"Æ¼È Õ÷~µÜ ´ ÐÎÕWÖ××à
"! #$
%'&)(+*-,/.-021432576 3802*:9"5 ; <25)6 3)(=6 6>&)(+*2?@(+.)AB*-,/.2576 .
Z["\"]V^_2\ ` a+b=cdG^e
f b^ gQh2i j4k
]Wl m[e nSopm^4\W]Qa+qre ets fpu s u e [n v4dwa+b^xs f n
yzaSa f o { { [W\"[|Wb\W}-s fu s u e [Wn v4dwa+b^~s f n {t2m^\=]+a
C)SPQ tJ-V TwQFIJ+O+tFSM
w= II I S SG wVQI
©ª é¦ !xª"#ª ! ª $ ¦ "!¨%ߦ ª'&)(+* , ª.-r¬
uv"Tw
® ÊËWã / ·"ÌéãGÐ 0 ÏGá=Ë2íW´ 1 µ"üá=·pÙ7´ Î"µÙ2´ í=µÙ@ÎWË"Ù.
3
465 78:9 ;=< >?A@ B:465CD> E FG=HI;JC=?A@ KDLNMOP=O Q5D>R=>CS >T;DUV WX>ZY [ 4:WC>
5:>;=< UAY W?A@ U=L\>CS JTCD> ;DU=R]:@ >DL^S W?:< K @ ?:S 4:_`]:4:WC=>=< S J:]:5:B^WV WabWCD@ KL%]:B6]6@ WaTJ
S C6c dE RS >DX< >a`BNLfehgTi:O JDM
465 78:9 @ WU< W=@ B:4:5:C=> E FG=HI;JC=?A@ KDLNMOQDO j?:< K@ ?6S W;:B:@ >CS >5ab>=@ W< S > k J
;< W=5:WC@ UL^>=CDWXUCD>`L\B? k >DR=5DS W
3
®
§wx#¨zy~§Iw|{­©=w}©Vª ~xw& ª%ߦ ¨+
\ ^666A 6ND :AN: 6D:n Az: 6= :N6A6:
: :D:n DNA6::= ¡ D: 6 :NZD¢6 \
D :£:Z66¤ D¥ A6AA¦ §=¨6:NDA©: :¥ ¢6\AZA D
©AD¢6^D ©A6©¤ N: 6D DN A AZ©6¢6N
¢66Z ª 6¢D \:: ©A::ZD¢Ab¢A\hD¥ ¢A6% :¢:Z
Z©ZAZ Z N«:n : ©A©6:A6 ¬ ­ N©ADZ:: ® ¯:¢:D°
3
WX=5D>=aTS CE C=>ZY V W;S W6Y;=S W< L\]:56BbR=5DS W m ]:W=]nY S M o=>=pDB;=< 5:B:]:@ [ ;S 9 R=UTW=X5D>=aTS C=J
CD>V W q BaTS W 9 LN;S ]D>C [ RUS C:R=W?A]JT;:U56B6@ BZLbC [ U=46WC 7 5;=< >D4:UDLbC=S
]D;DW=4rY >V S ]:@ B:465C:W:Y
²A³Z´ ²ZµZ´ ¶Z·²n¸¶r¹Zº »¼Zº ½r´ ²r¸»A¾Z³Z¶Z¿nº »rÀ ÁµA´ ¶r º à Är¹Z»A¾
³r´ ²ZµZ´ ¶A·Á¹A¶r´ Ä Å ÆZÄrº ²r¸»A¾6Ç Ç Ç
: :D:n DÈNAÈDÉ`ÊDNË Ë :AA 6AAZhD¢66§=¨
©6D\A ¢6^: ©Z:©ZD¢Dr 6 ¢66^Z¥ D¢A ^
D: :ZAhD¢6\:A: ­ :¥ ¢D ND¥ ^¢: 6DN :^6DAA A
¥ :£\:6Z 6AAhD¢: ^ Z ¢6 n­ ¬ r6ZN 6©r\ ¬ ©6 Ì
6D¥ ¢AAAA§ «:¢:D°
3
WX=5D>=aTS C;U;=< >DLb?ZULBTE C=;d:U]:@ >@ C=SAR5S W m ]:W]rY S:;DU;< >:Lb?ZUL\W6Y M
±
5:>V S 465:>4:UCD>6Y aTCS WAYFGHl;JC?A@ K=L
ÔµÚ Ù@´ Î=Ë
wV SI I S IG z 4wGQw
ðòñóôZõzô ö÷øùônõ ú û õô ñ%üô ôýÿþ}ü=ý füø xý
t
Í ÁnÍ À »Z·ÁÆZ²¸Ír³r²A·h¶rµA¶Z¹Zº ¶²A¿ ´ » Î Ï ²6¹nÁnÃrгZ´ ²AÃn»rÍnÑr¸
³r´ Ä »ZÆAÍn»Z¼Zº ²Z´ Í À ¸TÃnÄ Áº ¹ZÍ À Á À ½rÃ Ò º ¾rÍ ÁrÍ À »A·ÁÍ À »Z´ ½ Ò Ó Ãn»
½r´ Ä Ó ÆAÄn»Z¹Zº ¶Z·º »6Ï »A¿ À ´ ²A¹Aº Ã Är¹rÁn·hº
t £ ¢£Q¤
w= II I S SG wVQI
TVUWYX ø ü:û X ø}ôZõPZñ%ü=ñ W ý
ø%õzô ø
"! # $&%(')* +",
+"- .0/ (" # (/1." 2 , 3+",! 4 ! 5$6+ "",
7 8 9 :;8< =>?< @A;B;> A CD> @EAF@8 < @ / "! 3 3 G 5/ ,(/ G . G H ! $ I
"! J/ 3- .K3! 3 +" .K
# , G .5.K3 L"! 4 JMN +" ." 3 3 # (/ G . .5"5L ! .K +5 ,! .K
7 8 9 :;8< =>?< @A;B;> A CD> @EAF@8 < @ / "!L 3 G ! .K .5 G 3! ." G ."
4"""! +" .K- .5+"2 , . 6; +5! ,O/ P$ / +5 3 ,+5! Q+(! M # R ! NL! .K .5 Q+5 ."2 ,N
# .5
Ö × Ø ÙA×Ú Û Ü Ú ÝÞrßZÜ ÞZà Ü ÝráÞ âÝZ×DÚ Ý\ã ähÙAåDæ6çAè
£: N: : DNAD¢D ­ 6Z
©A::D¢:\©:\6:D¢D DN
Ô A ZZ¢6 ZD«
¢: 6©AADD¢6D«
6¤ Dr r¢::«
Õ 6 h}n¢AAD h: ­ «
D DD¢ADb Z©6¢6D«
6©Z ¬ :¢6ZD¢D
±
3
énê Ý ë ì í îï6í
t ¡ ¢£w¤
] n­ n 6h:¢: ^ZD¢AD¥ ©ANZZA D\A
6D \D¢6: D^Zh:¢D
^
`
: n­ Dn ¢A
DA:¢: AZ: :rh©A666 Õ Ahn­
AAh¢D D¢D ^¢: 6©AAh:D¢6 A
D: 6 :NZD¢6
_
_
6A::: Nn¢A D¥ ­ Dr Ar AA AhD¢:
ZAZ \A§
A66£ZDDZ:\D¢A AhD¢: ^: :r
DA:¢: r©:¢AbZ Ô A rAh¢: ZA§
:¢A6 : ­ NDD A= D\6D¢:
A©AZ©6: ©A¢6 `\ Ô ¥ 6rD :©6AAh:¢:
£ Õ ª :A§
°°°
y
^ © ¬ A©6D¢D bD ©6:A: ª ©6 ª A
: n­ Dn D% ¢A¤ D \6 6r©A¢6AN§
] :D:n Zh¢6 A_ ® : A DN A \
\[ T
ø õô ø
]
] ¥ D¢6AhD¢: :«AA©ZDr6D¢: ^r6A©Z Ah«
t s ¢£w¤
z
_
a > A;bDcde"f @ADB> A CD> @ EAFP@ 8< @$f =ghiB;> A e=g =Ejgd k @ b@5f l e:;Ejg < m nLF< = o c
p @nqrsA;b AF@8< =t B < g@ 8< =B> A CD> @ EuFPvf =gh h :;o dAPf =bD8 l n8 < e w x
8 < =dA;8 < =en8 < =8 @5f F@ 9 8;< =(f gn l q
Ö × Ø ÙA×=Ú Û Ü Ú ÝÞZßZÜ ÞZà Ü ÝráÞ âÝr×DÚ Ýã äÙAåæ6çZè
énê Ý ë ì
S îïAí
¡¢£¥¤§¦¨ª©
6879;:<9
« s¬ ­"® ¯° ±³²L´³µ ¶·¸¹ º5·¹ ±¢»i¼ª½¾¿ ÀÁ  ²PÃ Ä ÀÄÅ´D» Æ ¿ ÇPÈ Á?ÀµsÉÊDÃ É ÀÀÁ?Ã É Ê Ë
Ì¥ÍÎ ¶Ï¹Ð ¹¸¹ÑD¶ Ï ÎÒ ° Ó ® ¶Ô$¶ªÕ ¸ Ö ×¸Ø Ó ® Ø ¹Ù Î ® ¶Ð® ¹ ÏP¶Ô$¹¸Ø ¹
« ÙLÚÓÛ Ï Ò Û Ó® ¯ Ö ¸¶® ¶ Ü ¸Ó Î ® ¶Ð® ¹ÏP×$Ô4×­5¶ ® ·× Í ° ×5Ô$¹ ¸ÓÜ¶Ô ÍÎ ¶ ϹР¹¸Ø ¹
º5·"׸ ¸¶ Ý ºØ Î ® ¶º"Ó ÍÒ ° Ô4¶® ·Ó¸Ø ¹¶ Î ® ¶Ð® ¹Ï¶Ô¹ ¸Ø ¹
Þ ß5àß"á â ã0ä;å;äæ³ßOç5ß è é(æsê5ë(ì(á êOå;ß5à(â ßsíOä0í0î ì5æ³ïsð à(ñ5ò0ì(ëä0î ê5ó ä;çó ßô â õ0ãàìsã0ç5ê(ë5àìsã³àOê(î ß(õ ö ÷ é
æsê ø á â åiê ùOú å;ì5ó ä0ô â û0ß(õ ö âæsê(ë5ì5á ïiã0ç"ê(ë5à(â ìsã³ó ìOç"ï ü ß5æ³â0æ³ìOî ê(ë(äOé(ó ß(ñê5ó î êOå;ß"à(â ì(ý éOç(ì5àì"ó êOåDßþ
à(â ߢû0êë5ï³àߢñ(ê(ëí0î ßOåDâ ì¢æsê(ë(ì"á ïé0åDä0íã(ïûOâ å;ß"à(â ߢâ0ïOíï0åiß(à(â ߢÿ ü ë Oåê"ó ßãiî ìí0î ê0åiß5àâ ß
« Ô׺5·¹(Û ¶Ô$¶LÔ×® ¯ Ö ¸Ø ¹ Í Ø ÜÔ¹® ¶ Ü·¹(Û Ó¸¹ ® · Ü·Ø Y¬
Þ þàß5ó ã ëãâ ßiåDäûê5ó ã0äOí0î äå;ß5àìsåñêõ0ã ÷ î û0êOå;ä0õ iô ßãOß(õ ³ó êãå;êö ï
ê5ñ(ó êç5ó ß5æsêOåiß(à(â ß5éõãä(á â å;í(ñê(æ³ßOç5ß"à(â ì¢ß5àß5á â ãOä³âñ5ó ê ö ì5ûî êOåDß5à(â ß
Þ ! þ"å;íñê5æsßç"ß?ö ÷ õOì¢â æ³ñ(á ì5æsì5àî êå;ß5à(â ì¢â?î ìí0î êå;ß5à(â ì³ð æ¢ò â à"ò ò0í0ä0íOî ì5æiäsß5àß(á â ã0ä
å äë(ßö àê ù õâ éëì5ÿ(ïOç5ç5ì(ó äé0ç5ì"àì5ó ßî ê5ó äsñ(ó ãOäñß(ë("û Oåî ì(íî êå ä#õ Oý $(àOßö õ0ã ù õâ ìö5ãåDâ ÷ ãOß5àì³ã
û0ê(à(ûOó ìOî àOäæ ù ó ê(ë5ê0åiâ íûâ ì5æ¥â æ³ñ(á ì(æ³ì(àOî ßõ0ä ö àOäæ
« %i® ·"×­ & ¹Ü'×
Þ ( )'*,+ßî â ê5à(ß5-á + êOíì5é .êOíì5â ëê5àiô ê50ó /* 1(é 2ì"á ìõ0î 3àOî ì(ó ñ(ó â íOì5é +ßî â ê"àß5-á /;àâ ô â ì4ë . ó ê(õOìOíOí
| } ~ O}" ;0 0 i ;0}5 s DO5O
?
PQ@BR ST@U:VSW79X:<9
¡Y A
;» Ä[¿ ÈÇ» Ç]\;¼ ½ »ÇP» Ä À¼_^Á \`\[¾»i½ Á » ÊiÁ ȼ» ÇÈÉ;à Èba À [¿
` c » d »;É» e f ½ Á »;Ä;¾g^"¿ihÇjÃ ÉÆ »DÁ?¼È¿ \g^Ãà ½Á »gjÀ[ hÇ&à jgk Ç]\¿ ÇÈÁ `ÈÉ Ã È
| } ~ O}" ;0 0 i ;0}5 s DO5O
? -O (
ì4ïUì ð ñ ò ñ~óWñ ô ëõ ö
! #"$%'& ( # ) & "'*+ ,
- *# . " */ , #0 )
)1- 2 1 3
øù ú'ù ûùXù
4 ú65 7 ùý6!'
) 1 8 $%- "1 ) 9 1 ) '8
0 & & "1-:+01-( (*; */ & '8! 0& & '86 < #1 8 =
*"! 9 ! 11:/*>0( "1:
-"1:# )*/# "-& (*; */ */ '8 9, +0" 1 '8 . 1 "1:+& %- 1-1:-"3
øù ú'ù ûùXûgügý0þÿ þ
H
N ó ïOí0î ó ßõ ö ì¢ñ(ó ê ö ì5ûî ß5àOî Oåªâñ(ó êOç"ó ß5æ³â íî å
ñ(ó ãOì(õ0ãàê ùOú ñê(æ¢â ëãOäiê(ë5ñêOåiâ ì5ëãâ ß5á þ
à ê ù õâ ÷ é ö ß5ûß³íñê5õ?ã0ä0åDߢàßiå;íñ ü õãOìíOþ
å äà(â û0ß ö ÷ õOìsãiíã0ä(ÿûOâ ìç(êYñOê(í0î ñ(ïDå
àOäõ# 2( éߢâ õ#sã0ßå;ê(ë5à(ê ù õ0â ÷ å;äOà5â ûß?ö ÷ õ ÷
ãOß5û0ó ì(íOâ ì;ö ãOäû"0åiéàß5ó ã ëãâ0â0æsìî ê(ë³ê"ó ßã
ãìsã ü ê ø ê"àê ù õââõâ ÷ çá ì¢à(â ì(ë(êö ó ãOß ü äOõ#
ïõOâ ÷ø á â å;ê ù õâ0â?ë ü ïOç5ê(î ó å;ß ü ê ù õâ0ñ(ó ê5õì(í"å
æ³ìOî ê(ësî åiê(ó ãOì"àâ ߢâ?å;ì"ó ä0ô â û?ß5õ ö â
ñ(ó êë5ï(ûõ ö â éïOî ó ã0äOæsß"à(â ßYâ0ñâ ì5á ç"àßõ ö â?ê5ñ5ó ò
H
I â íûßYû0ï(á î ï5ó ߢñê"àê0åià(ìOç5ê¢ï ø äOõOâ ß
/ãOß5á ì ø à(â ì5à(â ì³ê5ó ç5ß(à(â ãßõ ö âê(ësí0äOí0î ì(æ 0å
ûê5æ³ñ5òâ0ñ(ó ã0ä ö î äOõiî ì(õ#(àê5á êç5â â
å;ä0î åiê5ó ãê5àä0#õ ³û0ê5æ¢ñê5àOì5àOî å $à(â íOûOâ
ñ(ó ãOìî å;ß5ó ãß(à(â ߢâ àô ê"ó æsß(õ ö â éOûî 5ó ì¢à(â ìsí ÷
íOî ê5ñ(â ì è ñê0åDî ß5ó ãOß5á àê ù õOâOñ(ó ãì(ë(íOâ å;ãâ (ú
í0î ß(ÿ(â á à(ìiåë ü ï0ç"â æ,ê(ó ä0ãOê"àõOâ ì³õ0ãOßíOêOå;äæ
J ü ï0ç"âOâûêí0ãOî êOåiàOäsõäû0á?î å;ê5ó ãOì5à(â ß
H
.ó ê(ÿ(á ì5æiäDå í(ñ# ü ëãâ ß ü ß"à(â ߢà5â ìOãß5á ì ø à(â ì
ê5ñ(ó êç"ó ß(æ³ê0åiß5àâ ß5é0å äOíOê5û0â ì
ãÿ(ïë(êå;ß5àOì(ç5ê³ê5ñ(ó êç"ó ß(æ³ê0åiß5àâ ß"é
ñ(ó ßOå;ë5ê5ñê(ëê5ÿ5â ì è íî åiê¢à(â ì5ñOêOåiêëãì(à(â ß
í0ãõã0ì(ç5á à(â ìYâ í0î êî àOìYñó ãOäsëOã(â íâ ì?ö í0ã0äõ#
K äû0á ø ä0õâ ß 2( é0å ä(æsßç"ß ö ÷ õ?äiíOî ß ü äO"õ ð õã í0î êsç"á ê(ÿß"á àOäOõ 0ýãæ³â ß5à LM4êç"ó ê"æ¢àOì H î ì5àë(ì"àOõ ö ßõ³â àOî ìç"ó ß(õä ö àä0õ
.ó ê(ÿ(á ì5æiä³ñ(ó ã0ä0íOî êíOêOåiß(à(â ß³ëã(â ß ü ß?ö ÷ õäõ#
û0êí0ã0î äiïî ó ã0äæ³ß(à(â ß³ê5ñ(ó êç"ó ß(æ³ê0åiß5àâ ß
í0äOí0î ì"æ Oåë(êYàêOå äOõDå;äOæ¢ßç(ß è â
K â ÷ ç ü ä³ÿ(ó ß5û ê5ë5ñêOåiâ ì(ë"àâ õ ³àß"ó ã ëOã(â0â
ñ(á ßOî ô ê5ó æªíOñ5ó ã î êOåDêþ ñ5ó êçó ß5æsêå;äOõ#
ö ãOäO-û åñ(ó êOç"ó ß5æsêOå;ß"à(â ß
| } ~ O} 00 0 i ;}5 i ;O"0
? 5 O
H
H
H
H
t
Z
þ/?þA@B? üACgþED F A ù>
*"% -"0 & ! +*/1- 2 8*/" & *+ !-"1-:
01:& (*+$#& $-*>-! 1-(*#$
% & (*G '8 %'& $%-)& (*
! #*/ $ & !3
ø!ù ú ù'ûù;úA>7 6 ù? ù
? ùH5'D>7 ùAI ?J ÿ
I D û' ýJ ÿK@ L ù ú? þ M þ!ÿ;
0*> # '8 9 1 *"1:
#! - ! 1 " 8 "1:+0-"0-& (-*G
*/ "-1: %- 1-:#* 0 2 1
0-"1: ! 1'"-1:$ 0-& "%'& (-*G #& ! "1:#1:! #(*; 11 8 -
! 2 *# & !3
ø!ù ú ù'ûù
| } ~ O}" ;0 0 i ;0}5 s DO5O
? -ã (
7u?v w @U: w
x E y z G = 7 L S {
|~}b0T]
£ ¤0¥ ¦ §¤0¥ ¨'©Xª« ¬­® ¦¯;¬'°X© ±
!
²³#´ µ ¶ · µ ¸ ¹iº ²#»¼ ²¶ ½ ¸ ¾ ¿ ¹iÀ-³ Á
 À º µ ´¶ ½¿ ´<·"À º¾ ´ à ½¿ ²½"Ä"¹"Å
º"Æ-Ç#´È É Ê Â ¿#Ǽ ²³#¾ ´¶Ê Â
Ë « ¬ §gÌ ¥'¥Íi¦ Î0Ϩ ¬® ¬ Ðg¥ ¦
¥ ¨ Ñ ¬«-¯X© Í ÒΤ0¨ ¦ Ó
Æ-Ǽ À Á É Ô²Ç¼ ²»¼ º¶²  º½#¿ ´ÔÆ-¿ ´ Õ Ô
µ Á À ÄÈ-¿ Ô0½#º¼ À Á ÖÀi¿ ºÔ0·#Ö#²»²#Ö½¿ ´½¿ º
i
÷
@FE?G @
2
8= 7 ?> 7@BA DC @FEYG @
« D¬ ° ¶ Í ¶Ô¹ ¸Ø Ó° Óº0l¸Ø ­LØ"¸¹ ® · Ü·Ø Ò & ¹° Ô$Ø ¹Û m º5׺0l Î ® ¹º ¸¹Ü· & ¶ Ö ¶ ¸×ÏØ
Í × Í ° ÓϹ ÏØ
« ÑD¶ ® ·"× Í ° ¹ ¸Ø Ó·PÏÓ° ¶ÜPÔ ÍÎ ¶Ï¹Ð¹(Û m º"׺ l¹ ¸¹ n Ø · ¸Ø Ó·¸¹ ¸×º l Î ® ¶ Ú n Ó Ï¯Ô
¶ ® ¹· Ò & ¹° Ô$Ø ¹(Û m º5׺ lLÔ×­5¶ ® ·× Í ° ¹ ¸Ø ÓÔ$º5·Ó Ý ¸ Ø Ó(Û Í ·"׺ lܶ Ý ÔØ ¹Üº·Ó o
« p Í × Í ° Ó Ï¹° ×·¶Ô¹ ¸ Ø Ó Î ® ¶º"Ó ÍÒ Ô×"° Ô¹ ® ·¹ ¸ Ø ¹¶ Î ® ¶Ð ® ¹ ÏP¶Ô$¹¸Ø ¹ q° ¹ ­$¹ Ú×
Ò & ¹° Ô$Ø r Û ÓÐ ¶ Î n ¹ ¸¶Ô$¹ ¸Ø ÓØ"ÏP¶ ¸Ø ° ¶ ® ¶Ô$¹ ¸Ø Ó
« Ì ×"° Ô$¶® ·Ó ¸ Ø ÓÔ Ý ® ¯Ü Î ® ¶Ü Ò ºÓ¸° ¯Ô§Ø¸¹Ú×5Ô$º"¯Ô Î ® ·Ó ­5¶ ¸¹¸ Ø ¹ q Ö ÓÚ Ò Ü¶Ô¹
Ü Ò Ö ÓÐ ¶ Í × Í ° ÓÏ Ò Ô4× Í ¶ ­"Ø ÓÛÛ ¹ ­5¶ Ý ºØ?Û Ó Í ° ·¹Ü¹¸Ø ÓÏ Ô×ÏP¹Ð ¹5Û m º5×Ï
Î ® ¶'s Ó Í Û ¶ ¸¹n ¸ÓÐ ¶ Î ¶Ü Ó(Û Ý ºØ ¹
ä<åBæèçéå,ê ëì í î
H
¡ 8= 7 ?> 7@BA DC
íDì<çéå,óDõ å
0# 0
"g"g 0g
!
" #-F!
g#"
! F!"#
F - !!
!
#g#
¡ gg"
,g!¢ g#
צ ت'Ù Ú ª« ¬Û-¦ÌÍi© ¨ÍiÙ°
Ç#²#Ö¾ ´"»º µ ¸ ¹ Ä ²»¼ º½#¿ ¹iÀ ´½#¿ ²¶
Ç#º¶ ¿ Á ¹"¿ ÔÇ"´¼ ¹i´Ç#¹ µ ¿ Ô Â Ä¼ º à º½¿ º
¿ ½iÜ ²¼ ¶º"¹ µ ¿"¿È ²¶ ·½¿ È º#¹ µ ¿
Ý'¬Íi¦¨ Î"Ûi©® ¨¥Þ ß Ò'Í-̬ °;¨¥ ÎÒ Ó
¹iÀ Ľ#½¿ È-¿Ç"Æ Ä"¹-Å#²¾ ²#»¿ ¹iÀ ½#´Ô´¼ »²½"²¶ ¿ ºÔ
²»¼ º½¿ ¹iÀ ´½#¿ º<Ç#º¶ ¿ Á ¹-¿¿#Ç"´¼ ¹ ´Ç"¹ µ ¿ Ô
Æ-È à ²½#½#² á Õ Ö²â³ à Á ÖÊ Â ¿"½#º"Ö· Ã Ä Õ Ô
É º µ ½#² á Õ Ô'Ç#¼ Ä Â º-É ½#² á Õ
| } ~ O} 00 0 i ;}5 i ;O"0
Ej õ õXñlkmj0ñnojåqp
õ-ó ò íBóDõ ï
? 0 (
ñDçéåFóYõ å
r sEt6u!vxwyJz {B|}uHz {}|}uHz ~ vxw
1- 92, "-*>"1:1 )0 "-0& #(* 1-*>!#0-& #*+ ) && )
*> #< % 1 8 #0 1'
9 1 8 *>( 8& & "#! ! )*> $"+ %- ., 9 !"1-:%'0 -& (*
& -"# , 0& 1'! #0! 1--"1:0 r sEt6u!vxwyJz {G y}J J|Jy} ~Hz
1 #1' 92 1 '8*/"##0 9 $"/0"-0 & !+"# 1-*+ "J8 % 0-"-0& +" 0-+*
0 1 ( #& ""#%-& (-*#$0-" 0& (*G! 1 " 8 -"1: *>0#'8 . 1-"1:-
1-*/ #& )-*>"# *+! ! *> $% & ( 8 0 &
*"0-& 1-'8 . 1-! 0-& "1 $" , 0 # ( 2 1 .
r sEt6u!vxwyJz {B|JA ~uH{JyJz w
*/ #& "1'" 8 "1:+& 1: %+ " ! -*/! 8 0& 1-01: "1:
1'0A8 0& 9 "+0 . ! 9 1 '8-8 % 2 1
*0( 1-0) 1-0"/0 1 0 . *"%- " 1-
0%- (1- 1 0 9 !)0-& 1- +*/ %- 1:+ "1:+0-"0 & !(-*
& & "# 1:8 % 2 1
N O P QO6R S T R UV-W-T V-X T U Y+V Z>U OR U+[ \>Q]!^_-`
a'b U c d _-e fAgh
{
¥o¦m§©¨Gª¬«®­x¯)¦m°E°±¨ ² ­´³±ªµ­ ¦E¶±·'¸ ¹ ¦G­º³ ¨Gª»¦q¼
¨l§m½6¨¾¿½!ÀE¼Á¨Gª¬ÀE°³ À
ÂAÃ Ä Å Æ Ç ÅÈ-É ÅÊ}Ë-ÌÍ-ÎÍ Ï ÐÄ Ñ Ò Å-Ã Ó Ñ ÊAÍ-È-É Å
ÚÍ Û'Í>Ø Ó Ä Í Ó Å-ÎÉ Ö'Û È Í Ü}È-ÍÇ É Û Í
ß à áâá)ã-ä å á-ä æç}è éâêá)ë áê!á!ì è âá
í è âê!æãîï#áð ñò óôõö ÷øù-ú ó
÷øù-ûüø'÷/ýüý)þÿ öó
þû ò ó ûÿ #ýú üó'ò ó ø ö ò û)ÿ óýú öý ò þÿ öó ô ÷ö ý
Ä Ñ-Û'ÕÉ Ø'ÍÈ-É Å>Õ-Ä Û'Å-Ó Í Ä ÎÞ
Û Í-Õ'Ë'Ó ÍÈ É ÍÑ Å Ä Ó Ñ ÊJÅ
ÑÃ Ä Å Æ Ç ÅÈ-É ÅÊÉ Û Ò É'Õ-Ä Ñ Þ-Ã Ó Þ
ÍÈ-ÍÇ É Û'Í>Õ-Ñ Ó Ä Û Å >Ä Ë ÈÃ'Þ
Ô Ì>ÕÇ ÅÌÅÈ'Ó Í Ö Ò Í
×ÅØ Ó Ñ ÊAÍ-ÈÉ Å ÙÑÈ Ø Å-Ä ÊJÍ-Ö Ò Í
Ô È Ø Ó ÍÇ Í-Ö Ò Í RÛ Ã ÑÇ ÅÈ-É Í
6Ý ÑÃ'Þ Ì>ÅÈ Ó Í Ö Ò Í
ß å æ ì æêHè æ+ï)áç6á ñ6ûùÿ ó ú ý!üóô óú ó
ôö-ö-ó û÷>ó#÷>ø ý ýü ý+÷Bô-õ ûô üù !û#ô-øô õ ó"
# $%'& () * +, -/./& 0 12% 3) -4& 0 */54& -0 176 +6/8 59:9-;) %/< & 0= >
ß ?+ê!áì è âáë xî@!æì îïáê!è æð ñBAû-÷/ý!ü-øAò óô-õ!ú ûC 'öüø
ûó!ú ôø-ôõ ó!Dûþ ô ò -ø>ôþûôCAÿ óý!ú öý ò þûô-õ ý÷ û!üø E#÷ø#ýý F G H -/.;6 +/68 59:9-'I*/& - J - K = L
ß MJå î N Cæ -ä îïáê!è æ ñHûþÿ ý û÷>ý!ü óô-ö -öó û-÷+ó û
þÿ û'ò óù'õ ô ø-ôõ ó !+ôþó ü ý'ò -ó ûûù-ÿ ó ú û!üó+÷ø #ý !ýñ
ü ý G H -/.& 6 +/68 59:97-7*%6/8 - K *-& 9O(P 5 925 4 8 %Q- 4+= L
! > - - + >- # /
m
' ¡ ¢A£¤
ß aAbî cb)æ!êä îï#áêHè æ ñHþû÷>ôõ ý'ò ÷>ý)þûô-õ ý÷>û÷/ó
X ZY!ì æ xæêä áé N á ñHþÿ û'ò óù'õöûô-õ ý'ò ó
õ øþ-øûù #óüõ ý ò d-õ óEü -öüý!^ ûþ ô ò ó)þÿ û óô
öý þú óóüõ û-÷+ýü-ø/÷ù ûüù-ÿ óõ üø
÷ø-õ ÷/ûÿ öóü ýû!þÿ û6ÿ ý#û÷>ýü ýD ô õ ûõ üýeú ý
ÿ
û û2÷ ôù þÿ û !ÿ Cý ! ô-õ ø öü-ø öóôþû þÿ û'ò ó!ù õ û÷>óûeù ó!ÿ û-÷#ü 'õ ÷+ý`Hû!ÿ ýö
ûÿ ýö/÷øù-ûü-ø-÷/ýüó#ô õ óô-õ ø
] ø-õ ù û÷>ý!^ ûþ ô ò ó)þÿ ûù'õ Dù óÿ üù û÷/ýüý)üý
þûô-ö öó ú üø E!#û ÷
ýe ü ôõ ÿ ýõ ûÿ ÷ þÿ ö-ø-ô-ö øE! ] øõ ù û÷+ü ù -÷
ô-øô-õ óC!`
ß [Hæã-ä î!ï#áê!è æ \ñ üõ ó !ÿ ý ò ý)þûô ö öóñ
ú üø E!#û ÷;þû -öûüý#ö
ß fg@Hå î h æê!è æ ^ ô-öù ûú ó!ü ý`HñHþÿ öóþÿ û-÷+ýöýüóô õ óô-õ û÷+ýü Có Eþû ô-øô-õ ó !-÷Gû!ÿ ýö
-ô öù ûú ó!ü ý)þÿ öø-ô-ö øEe ] ø-õ ù û÷/ü ù÷i
ý ó ûûþÿ û !ÿ ý û-÷+ýü ý
ý e ü ôõ ÿ ýõ ûÿ ÷
ß X êãä áì áé N á ñ}üýôõ þ ò ó
ß jAîHê!ãæå ï+áé/N áë Y6è æì k ç}êáé/N áð ñ6û!þÿ û!ÿ ý)û÷>ýü ó
þÿ öóù-ýöýü óûþÿ û !ÿ ý #û÷>ý!ü ý
ò ó-ô õ÷>øù-ûÿ öø-ôõ ø ÷/ýüóþÿ öóö! ] øõ ù-û-÷+ü ù-ýC_
] ø-õ ù-û÷/ü ù û
÷ /^ üô-õ ýú ý ò ý+÷
l û!'ù û!ü ò ó#ô ûø ù ý ò þûú óý ò øEüý
ô ó ö A óù-ú óüõ Cý D ü ò û÷+ýüó#ô ô-÷/ýü !A ÷Gû!ÿ ýö+ö! ýü+ô ] 'øE
ôõ ÿ ù õ ÿ ø ýüø ED_ _ _ `
ÿ ûö-ô öó ÿ öóü üù ò ûüýú üû ôø-ôõ ó!
6 -- - + > + >!-
' ST ¢A£¤
ß
¨inm«q· « ­¦m¶©· ¸ ¹ ¦©­´³ À ¨l§m½!¨¾¿½HÀm¼ ¨Gª¬ÀE°;³ À
ß oJÿ ûù ò ýe'óù'ôþú ûýõ ý ò ýûþÿ û!ÿ ý#ûñ
÷>ý!ü ý>ò óô-õ!þÿ ûóôó!Dù'õ ÿ óû#ôõ ÿ ù'õ ÿ ý
ûù-ÿ ó ú ýüýò óô-õC#ûóú óCp'øù-ú ] ø ý
ß q#û ó!ú ó#÷+þÿ û÷>ý öý ò ýö-ø ] ø ý D
ûù-ÿ ó ú ý'ò öøüüû ÷>øù-ûü-ø-÷>ýüó+÷
þûôö -öó ú üø E ýöý E#ûÿ ý!ö -ôõ ýú ý ò ù ûú ó'ò üû r õ ø E ýö
ß o}ûö-÷/ýú ý ò þûÿ ö !ù û÷>ý r þÿ öó A ó þÿ ý ß s ýõ ÷ ý'ò þú ýüû÷/ýü ó#öý ý F û!ÿ ýö
#û
ü õ ûÿ û÷>ý!ü óþÿ öó A ó C! Eÿ óýú öý ò ß tAý!ú ó ] øþý e õ ý r D ] eó û ó!ú ó#ôõ ýüû2÷ þó-÷#üeó óýú öý ò ó)ÿ ö-ó 'öø ÷ ôõ ø E
þÿ û óô u÷ '÷©ö-÷ öù +ö+õ ø Eü óüýú ó ] ø
E)ü
ý üõ óÿ þÿ óõ û÷ø ÷>ý r
m
ß
¨ n;«q·ºª ¨in;¨pzº§©À:nm¨Gª»¦
U{|2}Z~p{7/{ ! W
ÿ þø^ õ øþ-ø`b#ûóú d
ß ô óù'÷>ó!ü ø ò üó
Ã Ç Í-Ø Ë'Ö'Û È ËÌÑ -ÅÇ ÊJÑ Ñ-Ø'Õ-Í -Ñ-ÊHËÉ Ò Å-ÎÑ
Ñ ÌÉ Í-È 2Ë # ÛÕ-Ñ ÊJÄ Ñ-Ó Í-Ì>É w-Ä ÅÍÇ É Û Í-Ö Ò Í
Ø Ó Å-Ä Ñ ÊAÍ-È'Í Ñ-Ã'Þ-ÌÅÈ'Ó Í-ÌÉ wx x x >
ÌÑ -ÅÇ y
ß õ óÿ ý ø ò üó d
ÌÑ -ÅÇ Ø'ÕÉ Ä ÍÇ È'Ë
Õ Ä Ñ-Î Ä Í-Ì>Ñ ÊAÍ-È-É Å/Ñ Ã Ä Ë'ÊJÖ Û'Å
# ÅÃ Ø ÕÇ Ñ-Ä Í'Ó Ë ÊÈ'Å >
Ä ÅÍÇ É Û Í-Ö Ò Í/Õ Ä Û Ë Ä ÑØ Ó Ñ ÊAÍ
ß õ ÷>û!ÿ öóü ó#!ö ] ø ó ÷ ó!ú ûù-ÿ ûõ üø ß ûÿ ýú üó#õ ÿ ýüô û!ÿ #ý ò ó
ùÿ ó ú óü ó#÷ø#ý!ý F
Jÿ û ò ó!üù ýõ ûú ÷>öý ü ó
o
J)ÿ ûþò ú ó!#ù õ ûó÷>üõ ýü ò ó ý
o )þóú ôóõ #û÷>óüýõ üý ó ò ý
}ûóüôôõ ûó!÷>ÿ ÷/ýýü òó ý
___
¨in;«q·´ª¬¨inm¨ z´§±Àn;¨Gª»¦
ß ô-õ ûôüù-û÷/û ýõ ÷+ó#öýÿ ö öýü ó
þÿ öó ô ÷ö ó p^ þú ýüû÷/ýü óD
Eýÿ ûü
û !ÿ ý û÷>ýü ó D#ûü õ ûÿ û÷>ý!ü ó`
ß ýõ 2÷ ý)ÿ ûöú -öóü eý üýüô-û÷>ó D
#û ] ú ÷/û r ÿ ó ú û-÷+ýü ýþ ýõ üû þû
ù ûú ó'ò üø E#óõ ý!þý E
m
v
ß ü üó)üýö ÷ødûóú-ù-ýôù ýû÷>øDú ü û÷>øDù ú ýôø öüø
ß 6ý!þÿ û!þûüû÷/ýüø#þûþÿ öóö#ýüýú ûC öÿ óý!ú öý ò þÿ öó ô ÷ö r ÷Bõ ÿ ý ø'ø ò üø Eö ó ö üý E
ß Aøùú ] ø ýò óô-õþÿ û -óôó Eú ü û÷ø !D-÷Gù õ ÿ ø þûôö öó ú üó ýöø/÷ø-ôõ þ ò ò ó üý)þ!û ÿ C ó ò
ß Hý ] ý2ö ýö e-ô Aø r ö-ý!ù û F -ö-û!üý)þÿ öó
ÿ ûöþû -ö ó Eù ûú ó'ò üó'ò
ß oHû ö ý üýù ûüù-ÿ óõ üó ýö!ø #û ] ó#ô ÿ ] ü r ÷
öýú ó ] üû û ý-õ ûÿ !ý ^ üCþ _ ûýõ ù û÷>eó ýö-ø dýüýú öýe
#û ó!ú û÷/ýü ó D üô-õ ý!ú ý ò ý D_ _ _ `
ß þÿ ýù'õ ø Có D ò ó ] óú ú ó#ôõ ûôû÷/ýüø D#û ] eó Aø r ] ø-õ ø
ò ó øü ó#÷Gùÿ õ ù E)þÿ û'ò ó!ù'õ ý ED'÷;ù õ ÿ ø E+÷>ø ý ýü ý
ô þÿ ó øö ø ò ü óûù-ÿ ó ú ûüeó öÿ ûö ! ý ó
}ûüôó!ÿ ÷/ý ò ý
! > - - + >- # /
O\ C
¥o¦m§©¨Gª¬«®­x¯)¦m°E°±¨ ² ­´³ UVW
' S! ¢A£¤
6 -- - + > + >!-
UVW
¨in;«q·;¶Àiz´¶Àn;¨Gª»¦ ¯Á§±¨GªÁ½6¨uJÀq¼ ³
m
iC
ß ÷ø-ôûù -ù-ûô-ö õCA ÷þûþó ü ûüøE+÷/ó
÷ öó ü ó'ò ô-ö ø E ýöý E!Aÿ ýù #û ] ú ÷>û 7
E)ù û!ÿ óù õ ø/÷Gÿ ý #ý E!#û óú
ß ý)þÿ öóÿ ÷/ý+÷Gù-û!üõ ýù'õ ý E+ö#ù-ú óüõ ó ^ Aÿ ý
ù üõ óÿ ýù ò ö+ùú óü-õ ó ;û e#Cû óüõ
ûù-ÿ ó ú óü ý+÷>ø #ý ý F û üôõ ýú ý ò ô-øô-õ óC!`
ß üýÿ ö -óü ó#õ 7÷ ÿ û mûþÿ û !ÿ ý #û÷/ýü ý
ô ó'ò!ù ûú ó'ò üû ÷/øù-ûüø-÷>ý
ü ýþÿ ý
' SS ¢A£¤
ùÿ ó ú óü ó+÷>ø#ý!ý F
}ÿ û'ò ó!ù'õ û÷>ýü ó
o
þú ó#óüõ ý ò ý
óô-õ û÷/ýü ó
Hûüôó!ÿ ÷+ý ò ý
ß tAýö-ø ÷/ýüøÿ ÷/ü ó ] ÷>ýÿ ýüõ ó
õ óÿ ý ø ò üø
ß s;)û ] ú 2÷ ý)üý)ù-ý ] ø;ö+óõ ýþ ÷þû-÷#ÿ õ
û)þû!þÿ öó ö-ý ò ø E ýö/÷©÷>øü ù
ôõ 2÷ óÿ öóü ý)ÿ ûö A ó ] üû þû e öø
ÿ óýú öû÷/ýüø ;ô-øô õ ó ó mý
û öóù ÷>ýü ý !-ùú óüõ ý
ß Hüý -öü eó Aýÿ ö ó òHÿ óý!ú ôõ ø -öüø#û
#û ó!ú #ûÿ ø C üýú üó û
ß ó!ü öý)ú ù 2÷ ý ò þû ô-õ ý÷/û÷>ó ò÷+ý ø
ò óô-õü óô-õ óõ ø õ ÿ ýõ ý)þó÷+üø E+öýú óõ
^ ÷/ü ó)þû Eû !ü-ø E)þÿ ûô-õ ûõ !
ø #û óú `
! > - - + >- # /
' S£ ¢A£¤
6 -- - + > + >!-
' S ¢A£¤
º¼»½¿¾ À Á½:ÂÃĽÆÅ!ÇÄ»¿ÈCÉiÊ˽¼Ì½ÎÍ ÉÐÏgÑ ÒÓ»pÌ:ÇĽ¿ÒÔÀ
W
ÕÖ×2ØZÙ!ÚÛÜ'ÝÞàß!×7áâÚeãä åß׿Öççã ÛÖ7Ü;èé
` <'5%8%: " 6%35 ( 3
ëOìí îïðZñò ð\í ó"ì\ô õ ïðöeì÷ìZðCî\óZõ ì÷ìùø í úbìbô õ ïìCûü ìCý;óðCîbúbô þBÿìCñCÿìîðöúCð
ê
ê
;í ïúü ûCõ úBîCð ÷CìCñ ÷úüCò ìï2ü úCîC÷Cõ úðBïììbÿûú ðöeì÷bõ þCí ïúï"ïô úbûúÄ÷Cõ ðCî\ìö!û öñïñ ÿõ û îð\ÿþóú\÷ Cö
ê
Oìbô ú a 2 +)( ' 67$*=+EJ @ J
c +E+.F3&" 'd7./#7$ ? <&'$ '#$ +.F3 &" '*=+EJ @ J
ê
;ì î "ú Y
ì Cí ðöìCîïCõîCðBïö!õ ÿñïúb÷bõ ìZñïûï
ú Z ðöð ûCõ îúò õ ÷õ ûü õ ì îbð
ðñõ \÷Cõ ûCõ ìZîCð\ô ÷Cú ð[bþC÷ÿ þðCïC÷Cìûïì ü ûúCðZö ö!ðbí ïúÄ÷Cõ úùÿðîbþBóðCîÄþ Z ö
!
ê
\7ìñ ÷Cõ ú í úì\ô õ ïðöeì÷Cúñ ÿí ðbÿõõ ÷ ú\í bí ìûü ÷ú þCóBõ úCñïûïðb÷CúB÷ìZîbí þÄõ ó í ìbóBõ ú\÷õ þ
ô õ úÄí ] ^/_ø ñ ðBñí ï ðb÷CúBïÿðbô úü ÷CóBõ ú ìYìbóBõCí ðûúbñ!öú\í ò õ ÿìû/ü ÷ú õ
ö!ì\ô õ îbìûü ÷úý
¡C¢ £ ¤ ¢ ¥7¦§ ¤ ¦ ¨ ¤ ¥©¦ ª7¥ ¢ ¥« ¬2¡­®¯°
h ÈCÉuÇOÉuÇikjgÉuÊ
½¼ÌuÀ »ml
Ò
½¿ÏBÀ »:ÇOÉuÊ
a 2 +$ +$ 8<
u ðCîbúbôÿìñCÿìîCðCö
n 6%2 ' 0 - '&" ';.A8*3N 3 R
ê
s'ðbîì ÿðö!úBïìô ú !
a 2 +)( ' 6)$ +./3&" '
!
vvv
*+ , - " .;+ 01 E'*+&#%$ 2 35 ( "%<2 35J ( > 57'7(.;'2 # ( "
#%8#%$ ' *J
*+ , - " .;+ 01 2 +4<+574 ? 5" 3#46%+- ' R <2 4'E
<+.F#%$ 3&" '*t<' @ &')(./'2 # ( ")#%8%#%$ '*=J
¡C¢ £ ¤ ¢ ¥7¦§ ¤ ¦ ¨ ¤ ¥©¦ ª7¥ ¢ ¥« ¬2¡­®¯°
W
P
c 3 , E'=+ 672 >, '&" '<+#<" 2 3- "%2 ' <2 '4%' &$ J ( '
P
±/² ¥ ³ ´ µg ·O¸¹
<- 3&+./3&" '" ./8%$ .F+2 4'&" '<'%.;&'N+
'- '*='&$ J=<2 +EJ67$ J<2 +)( '67$ J
3 @ 8=<2 +)( '6)$#6 @ 3E3=#" ? 4/#%4'2 'N J+ I2 +$ B.
<+2 +46%2 ? 5%3)( 35%')( #" ? #<" 2 3- "
3./&'<+$ 2 367$ +.F3&" '43N 2 + , ' R
7 %) 7V% A77 ¡ ¢)£/%7 V%
¢ %/¤7 ) %¤7%¥ ¡ ¦ A ¢)£
Y7¦ § ¤ % F7 %%¦ 7)¢)% %
%Y) ¨%© ))¢7£F¦ 7 ª
¤7 )¢)7V% ;«F) %/77¤%¥% 7% A% 7
77¢7£77V%% A[¤7 %¤%7)7¢)£Y7¦ § ¤ %%
) %
e #$ &" '7( '.;" ' - ';./32 " 3&%$ B.U$ 'N+*+E'- J
P
P
Q
P
P
*=+ , - " ./+ 01 4*" 3&8=6%" '2 J&67B.
2 +4%.F+)( J;#%8#7$ ' *=J<+*=" ? E4%8+I2 +$ 3*="
0 5" # @ 3.A#<B @ <2 3534=6%- " '&$ '*
J 0 ./" 3E+ *" '&" '6%+&" '574&+ 0 5"
432 4 > E43&" 32 8%4%86%" '*
3E3
<2 48%E3$ &8E+=#%8%#%$ ' *B./d6)$ B2 '*+N >
I8 1 ./E2 3 , 3&'<2 48;+62 +7( +&')(
: J&6%5 ( +&3- &+ 0 5"7"%+I&" , +&')(%( 3 6)+ 0 5"
+#" > N &" ? 5" '=E+5%'- +.F')(./'2 # ( "
#8%#$ ' *=J=*+ , ';.F8*=3N3 1 E @ JN" 'N+
5%43#J
¡C¢ £ ¤ ¢ ¥7¦§ ¤ ¦ ¨ ¤ ¥©¦ ª7¥ ¢ ¥« ¬2¡­®¯°
±/² ¥ ³ ´ µ ·O¸¹
x y z{ z { |}
~ .;+- J5 ( 3.r6" '2 J&6%J
E+5%'- +./'N+#%8#%$ '*J
a - 3&+./3&" '
P
P
<2 4')( 0 5" '=+E<2 +$ +$ 8<JE+67+ R 57+./'N+
#%8%#$ ' *=J
3 - ' , 8;#%$ 32 3 1 #" ? &" '=E+<J 0 5" 1 E+
#%8%$ J35 ( " d3I8=6%- " '&$*" 3 @ ./2 3 , '&" 'd , '
<2 +$ +$ 8<( '#$<2 3.;" 'J6)+ R 5%4+&8*
<2 +EJ6)$ '*
a +: 34" '<2 +$ +$ 8<+.F3 &" 3&3)( - '<" ')(
<2 +$ +$ 8<;#6%" '2 +./3 1 E+=32 59" .;J*
ÉiÍ »¿¾gÅjuÀȽ¼¾/Ìi
P
T &3- " 43
A
43N 2 + , ' R
P
P
n 5'&3
P
c +&%#$ 2 J675 ( 3
+.A82 4J5%'&" 3
C 3&N %$ 92 +.A 3.F38%G
+ 0%1 574 ? #$ +&3#%$ ? <J)( '='./+- J5%8 ( &'
P
¡¢ £ ¤ ¢ ¥'¦ § ¤ ¦ ¨ ¤ ¥©¦ ª7¥¢ ¥« ¬7¡­C®¯ °
W
¬ 3 - '$ 8
+'9*3.O
P
'$ +E8;<2 +$ 8<+%.;3&" 3
" '<' @ &32 '3- " 4%35 ( 3=C $ 8- 6%+;.F8I2 3&'
: J&675 ( '#%8%#%$ '*=JG
P ? 486%" .F87#+6" 'N+<+4" +*J
P , 85" '=N+$ +%./8%5967+*<+&'&$ B.
P '&'2 3$ +2 8" &$ '2 : ')( #JJ , 87$ 6%+.;&" 6)3
C .A867+&87.F3 &8( '#$.A8 @ > 574&" '" &%$ ' 2 : ')( #%G
P ` 4%8I6" '<2 +N2 3*+.F3&" '=C 3&N%J" 567
3&E E" 2 $ 8G&+ 2 *3- &'<2 +N2 3*+.;3&" 'd
3- '&<<+*=" &" ? 5" '=+I# @ JN "7I @ ? EB./d
P a 2 +N2 3*+.;3&" '+E6%2 8%./574'
P a 3<" '2C <2 4'E#$ 3.;" '&" 'A( 'E8&" '
" &$ '2 : '7( #JJ , 8%$ 67+./&" 673G
±/² ¥ ³ ´ µ¹ ·O¸¹
Õé
P
ÉiÍp»¿¾gÅ[jiÀȽ¼¾/Ì[i
a +2 34<" '2 .F#478;43<2 +<+ &+.F3&8;<2 4'4
P
hpÈCÉuÇOÉuÇikjgÉiÊ˽¼ÌuÀ »
.A86%2 85" '&" '<+2 +4J*' R *" ? E478=6- " '&$ '*p3
$ ./B 2 53*=")#87#%$ '*J
! .A86%2 85" 'I2 36J ( > 5%85%9=: J&675 ( "" $ 2 JE&859=J# @ JN
! .A86%2 85" 'I2 36%B.q.r#<'578: " 6735 ( " .F8*3N3 R
Oì\ô úûì÷úYCîe
ðbÿí ú ô ú\÷õ úZö!ñ ÷ û eö= óìì ü úCñCñ ðñþ÷ÿðö!ð[
í ðñ ú
ê
¡¢ £ ¤ ¢ ¥'¦ § ¤ ¦ ¨ ¤ ¥©¦ ª7¥¢ ¥« ¬7¡­C®¯ °
½pÌ À »
!
Q '2 8: " 6735 ( 3<2 4'4;6- " ' &$ 3
P
±/² ¥ ³ ´ µ¶ ·O¸¹
o7úÄô ú!ü úCñ\óZõ ÷bõ óZìô õ ïìCûü ìùí ïÿìZïöeõ ïìb÷úCðBï
÷õ úCö Z ì ûCõ ö=C
óàð\ÿí ú ô úb÷õ úÄóÐöC óZì\ì ìö
ñïûïú \
ô ÷Cð ûCõ
ê
n NB- &';.F8*3N3&" 3
P
f + 2 *3 - &' $ '#$ +./3&" '*+EJ @ J
" #%$ &" ')( '*+ , - " ./+ 01 2 '3 - " 435 ( "67+- '7( &859;: 34=<2 4'4=" && > : " 2 * ?
! 0 5" # @ 3.A#<B @ <2 3534=6%- " '&$ '*DC 4- '5' &" +E3.F5 > G
HiìCî I32 E4+=EJ , 8=&36 @ 3E<2 3578=&" '4I ? E&8E+=+<2 35+./3&" 3=E+6J*'&$ 35 ( "7C <+ &3E=KLM
53 @ 6)+./" $ 'N+;./87#" @ 6%JG
! &" '4I ? E&'<2 4'2 .A8/.D2 '3- " 435 ( "7# @ J ,> 5%'E+=.F'2 8%: " 6%35 ( ")E+6%J*'&$ B.O<2 4'4=6%- " '&%$ 3
Q 86%+2 478%#$ 87./3&8<2 4'432 *=" ? 3*'2 8673 R #6 > E+2 '3 - " 435 ( "%<2 +)( '6)$ B.S.UTVE4" '
P
#%8#%$ ' *J
e &$ 'N 2 35 ( 3" ./3- " E35 ( 3<+E#8%#%$ '*=J
a 2 + ( ' 67$<+E#%8#7$ ' *=J
!
ê
b '#%$ +.F3&" '=3675'<%$ 3578 ( &'
e &$ 'N 2 35 ( 3" ./3- " E35 ( 3
a 2 +)( ' 6)$#%8%#$ '*=J
Oì î\ìeò ìïìùÿð ûï eñCõ ð Cí ìCûðöeìb÷õ ú\óñïúÄí ú Äþ ûCõ ô úBðbÿí ú ô ðÄ÷û eîbðbÿþó"ú\÷ Cö
öÐÿ bí û ðõ ñCþü úBñõ öC÷õ ÿõîbìb÷úüò ìCïCîCð\ÿþCóú\÷ úðö"õ ÷b÷ ö
ñ ìbí ûïìü û ðîC
ñ ìö îCð í úì\ô õ ïìûü õÿðbô úü ÷û "ò ìï
ê
É Í »¿¾X
±/² ¥ ³ ´ µw ·O¸¹
Õé
x ® ¯°z±=¯°² ³ J #%$ 3- '&" '=5%'- B.O<2 48%N+$ +.F3 &" 3
' - '*'&$ J=- JI=<2 +EJ6)5 ( "%67+- ')( &')(.F'2 # ( "
#8%#$ ' *=Jd" E'&$ 8: " 67+.;3&" '=3- $ ' 2 &3$ 8%.O"
+N 2 3&" 574' R
´ ° ¯® ² µ¯µ¯¶y z · ³ ¸ Y+ 5'&33- $ '2 &3$ 87./d
" E'&$ 8: " 6735 ( 3"7+#%4%35%+.F3&" '2 8%478673d6%2 +6%"
4*=" '2 43)( > 5%'=E+2 'EJ675 ( ")43N 2 + , ' R C '.
IJE+.F3<2 +$ +$ 8<J%G
¹ z°º{ y »¼½ ¾ ¯ ./8%$ ./+2 4'&" '" ./'2 8%: " 6735 ( 3
&3#%$ ? <&'N+<2 4%8I- " , '&" 3<2 +EJ6)$ J
¿ ½³° ¯ 3$ '#%$ +.;3&" '=C <2 4'4=6%- " '&$ 3G ' , '- "
+5'&3&" 'A( '#$.O<' @ &"<+48%$ 87./&3d
2 +4<+5%4%8&3&8( '#%$6%+- ' ( &85)86%- À%.
<2 4'5" .;&8*t2 34" '<2 4'59+E4" *;8;E+
<- 3&+./3&" 3&3#$ ? <&'7(: 34%8
¡¢ £ ¤ ¢ ¥'¦ § ¤ ¦ ¨ ¤ ¥©¦ ª7¥¢ ¥« ¬7¡­C®¯ °
±/² ¥ ³ ´ ¸­ ·O¸¹
~pæ è
ÜtÝSÞkß à áÞUâ;ã Þåäpæ á=çtæèDéêYèrëìÞ
T 0- / , # & - - / $ U # - 0 & % ' V
-- %W #- 0 $- & % ' X
'Y ' 'Y, ' ' $- %$ $0 'Y & % ' - / % U#- '$ # -$ '$ / '
! %# 0 -- ,%
Z [
\ ]J^_ `ab`0])cd ef _ ca g hbi `jf _ `_dk i `bg h
l ea g hf ^ _ebc^mMn f hop`bg q]
\ ad f q^ `bi `0jf _`f ]r]sd ebg hd g h^m_dk i `bg `p
\ pe t k i ])e uv `k ha g c^_b`oef `hoe]Jhbi hbh
je]Ja g h w `ejq x bi `bi h
# y[
\ l e l h g d e])cd ea _ g_ ]Bi z _hbc_Mbi `_hk ` t b z
f `hk i _h^ { z n f hop`bg q]@a ca g `p|
S
S
"2 3 4 567
8 9 63 : 5; < =;
! " #$! %
& % ' '
S
()$'$ * +
' , - . - '$ '$ / '
-- %, 0# 1 S
>@?BADC EBF)EGAIHJ?JKML NIO"PJC Q EBL F"K)RBH
Â Ã Ä ÅÃ Æ Ç È Æ ÉFÊ7Ë%È Ê%Ì È É7Í;Ê ÎFÉ%ÃÆ ÉÏ Ð/ÅÑÒÓÔ
è Uê Þ
á pèrêYèOë
çrâD
Ýtß Ý
1 V #% ' * # -$ $ $
- $- , # ! - 0
0 $ 0 ,# '$ 0 $ 'Y -- G $0 $- 0'Y G# - / 'Y, %
$ * # U [
\ £i £k i eg `di
\ { _ cd i ^ _ ]Bhf g ` { o`b`f h^ { i¤ ¥¦M§¨
\ oeg e]J`hjk i dh^ { `
# $- 0 [
\ _hd|j0`k `pM`bg q]@e l _ `]Jb g f _bc^m l ea g h])^q]
\ jf _ coeg e]Bhbi `0`k `pM`bg q]sjejf _` l bi ^m
jf _ ` l ai ]J_i v l e jebe]Bb`oe| t c^i h
S
S
Ê
Ê
Ê
Ê
ÞtßqÝ
- ' & ' - V
# © $,, # & ' $% 1 ' ª çSâD
Õ)Ö É × Ø ÙÙ ÚVÙÛ
Õ)Ö É × Ø ÙÇ ÚVÙÛ
Ýtß Ý
ÝêJrë
ÞtßqÝ
ê/æ ÞUé,Éè æM
Z [
S - 0 $ y 0 'Y $ V - / 0-
$0 # '
S
S
S
í ®ÿ
# [
# # -$ $- -0 # , $- S $ ,%$ 1 - / #U# - 0'
S ! $ '$ - #
$-, -$
$ ' W -$'$ U - U # '$ 0 ,! * / # X
S # - $ / # $ - ''Y #$ '
Õ)Ö É × Ø Ù ­ ÚVÙÛ
Â Ã Ä ÅÃÆ Ç È Æ ÉAÊ%Ë%È Ê%Ì È É7Í;Ê ÎFÉ7ÃÆ É;Ï ÐFÅÑ ÒÓ%Ô
Èè æ
#
#$ * '
%
Õ)Ö É × Ø Ù } ÚVÙÛ
S
¯° ± ² ³ ´° µB¶
· °¸°0´¹¸º »°½¼ ± ¾M¿³ À
Á À¸0» º¼0ÃÀ ij ² ³ Å ¾BÆ
¬BÂ
ÞSâ;ã Ý
Â Ã Ä ÅÃ Æ Ç È Æ ÉFÊ7Ë%È Ê%Ì È É7Í;Ê ÎFÉ%ÃÆ ÉÏ Ð/ÅÑÒÓÔ
# # ! $ -% - - -!
0 $ Z [
S 0- , $ # V W ' X
S $ -$ , $U 0 #$ %
S & $- - ' - S $%' - # # S ' , # % ' U -$ « ' y ' - V
# T
S
Â Ã Ä ÅÃÆ Ç È Æ ÉAÊ%Ë%È Ê%Ì È É7Í;Ê ÎFÉ7ÃÆ É;Ï ÐFÅÑ ÒÓ%Ô
ËJÌÍ Î ÏyÐ ÌyÑÒ)Ó ÔÑÕ Ò)ÖUÒyר,Î ÙÑÛÚ Ü"Ý Þ ß Ýrà áÞ â@ãä Üå"æá Ñç Ó è ÔÓ"ç é)Õ ç çÌ)êyÕ Ìyë"Õ ÒyÖÛÌÑÒ"Óyç Ò
ìªÔÖrÒ ë"ÒyÓ"ç ÒsÓ ÒrÍ Ô ÍÎ é"ÖíÍ î ï ÌJÕ ÖrÏ ð ÌÑÒ)Ó érÑê éÑ,Ó Ô Öï Ì"Õ ÖrÒyÐ Ó ÔÖñ ò Ù ÔóÏrÒ
Ó ÒÍ Î ò êÓ"ç éôê Ìyõyõ"Ò Ñ,ÒyÓésóÌJÐ éñ Ó Ô ÖíÎ Õ ÒyÓ Íï Ì)Õ ÖrÒy× ñ ÌJÖíÒ è õyÌsÏÙÔ Í óÒ"Óç ÒrõyÙ ç Ò ð Òñ î ×éyëyÌ
êÕ Ì"ë"Õ Ò"ÖrÏ
öBÒ"ó ð ÒõyÒrÍç ò ÷ è éôóÌ)Ð éñ Ó é@Î Õ Ò)Ó Íï ÌJÕ ÖÛÒ×ñ é@Í î Ñ ÔóÌ"ÓÔÑÒyÓéôø éyÙrÏ õyÙç Ò ð Ï@Ð Ï õyÙ ç ù Ñ
êÕ Ò)óÎ Ô × éÛÌ"ÙÓ Ò× Ù ÒrÎ ÌJ÷ è é,ñ ò Ù ÔóÍê éy×Ôï ç óÒ×ñ ç ñ é"Í Î"Ó Ì ÑÔ Ö½ú ×Ï õÌyÑÓÔ ÖÛûñ ò ÙÔó ç é)Ö
êÕ Ì"ë"Õ Ò"ÖUÌyÑÒ)Óç Ò ü
ý0Òñ ø Ò)Õ õyÙç éñ"ÙÓ ÒyÓÔÖ½êÕ ÙÔó ð Òõyé)ÖíÎ Òyó ç éyëyÌôêÕ Ì"×é"ÍÏÑÔ Î Ñþ)Õ × ÙéyëÌ,ñ éyÍÎJÿ Ð éyÒ"ÓyÕ ÌyÌ"Ö@÷
êç éJÕ ÑÌÎ Óç érÌ)êÕ Ò× Ì Ñ,ÒyÓÔ
Ñ "ç ÓyÓ ÔrêyÕ Ù Ô ó ð Ò õ@Î ÌôêÕ Ìy× éÍUÌ)ê Ò)Õ Î ÔÛÓ ÒsÖÛéÎ Ìõ"Ùç é T
è UêYÞ
á Dèrê èrë
0 êFæ ÞSéÉYè æM
S
Õ)Ö É × Ø Ù Ó ÚVÙÛ
¬¬¬
Èè Mæ
S
- 0 U ' -- ,%
`k
eai z obi g c
. - '$ -- %
þõ7ý;ðõ%î÷ ÷ ó ï/ðÿ
' # !- / ,#,# # , W $ ' #'X +$ - 'Y ' -
%- #UY 'U #- , % $ + $ ,% $, $$ $ -- ,%
Z y[
1 V - -0 , $ # %
% # ' % '$ 0 # [
'$ , 1 $'Y - - - % % -- U%
- U 1 0, 0 * '$ ! ' ' S
$ ' Ýqê)Oë
Â Ã Ä ÅÃ Æ Ç È Æ ÉFÊ7Ë%È Ê%Ì È É7Í;Ê ÎFÉ%ÃÆ ÉÏ Ð/ÅÑÒÓÔ
ÞOà ÝmèqæçqëìâòáÝ
èOë
, íî;ï/ðòñ=ô ý=÷ ÷ ö=õ7ôAó î=úFý %ù /ö B/ö=ú rUs¡I¢ÿ
S
æÞ
íîï/ðòñ=öM;þú ýõ7î/ù%ý=õ
íî;ï/ðòñó ï;ôõ%ö;÷øöï/ù%îú/ûöü;ö;ú ý=þ÷øö;ï;ùÿ
ÞSâ;ãYÝ
í ®ÿ
# [
% # V & , - ' & 0 S * & V 0 $ , # %
S ! # ! $, $ / 'Y% 0 - 'Y
/ $ & - ' & ' $ # S
# '$ , U! * G- ,% $ V * " # + # 1
# * '$ U ªW -'Y '$'YX" ,# ''Y
& % %
$ $ % $ 1 -$D U $ , - #$ * - / ' ) - $ -$ -$, 'Y $- - # 0$ 0 # $ ª0- V ! # $ -$'$ * 0$ # , ! '$ ,'Y $ 'Y'Y - Â Ã Ä ÅÃÆ Ç È Æ ÉAÊ%Ë%È Ê%Ì È É7Í;Ê ÎFÉ7ÃÆ É;Ï ÐFÅÑ ÒÓ%Ô
Õ)Ö É × Ø ÙÛ ÚVÙÛ
Á
Modelowanie
Podstawowe zasady modelowania:
• Podjęcie decyzji, jakie modele tworzyć, ma wielki wpływ na to, w jaki
sposób “zaatakujemy” problem i jaki kształt przyjmie rozwiązanie
• Każdy model może być opracowany na różnych poziomach
szczegółowości
• Najlepsze modele odpowiadają rzeczywistości
• Żaden pojedynczy model nie jest wystarczający. Niewielka liczba niemal
niezależnych modeli to najlepsze rozwiązanie w przypadku każdego
niebanalnego systemu
Model jest uproszczeniem rzeczywistości, który opracowujemy
po to, aby (lepiej) zrozumieć budowany system
Inżynieria oprogramowania (Wyk. 2)
Unified Modeling Language
Slajd 2 z 37
Główni/pierwsi autorzy UML
Połączone siły trzech metodologów:
The UML is a language for visualizing, specifying, constructing
and documenting the artifacts of software-intensive systems
UML jest językiem do:
- obrazowania
- specyfikowania
- tworzenia
- dokumentowania
wytworów powstałych podczas budowania systemu informatycznego
Grady Booch
– OMT (Rumbaugh et al.) - sprawdza się w modelowane
dziedziny przedmiotowej
– OOSE (Jacobson) - modelowanie użytkowników
(przypadki użycia) i cykl życiowy systemu
– OOAD (Booch) - dobrze podchodzi do kwestii projektowania, konstrukcji i związków ze
środowiskiem implementacji
– Fusion (Coleman et al.)
Slajd 3 z 37
Inżynieria oprogramowania (Wyk. 2)
Trochę historii
02.2009
2004
2001
1999
Wersja 2.2
Wersja 2.0
Wersja 1.4
Wersja 1.3 opublikowana przez OMG Revision Task Force
•
01.1997
UML wersja 1.0 przesłany do Object Management Group jako
propozycja standardu języka modelowania obiektowego
•
Utworzenie konsorcjum (m.in. DEC, HP, IBM, Microsoft, Oracle, ...)
Wersja 0.9
Do projektu dołącza Jacobson (uwzględnienie OOSE)
Wersja 0.8 jeszcze jako Unified Method
10.1994
Początek prac - Booch i Rumbaugh w firmie Rational
Inżynieria oprogramowania (Wyk. 2)
Skupiono się na standardzie języka do
modelowania, a nie na standardzie
procesów tworzenia oprogramowania
Bloki konstrukcyjne:
• Elementy (ang. things):
– strukturalne (np. przypadki użycia,
klasy, interfejsy, komponenty,
węzły, ...)
– czynnościowe (np. interakcja i
maszyna stanowa)
– grupujące (pakiety)
– komentujące (notatki)
(różne organizacje i problemy wymagają
różnych procesów, które mogą być opisane
przy pomocy tego samego języka)
Wersja 1.1 ostatecznie przyjęta przez OMG
10.1995
Slajd 4 z 37
Zakres UML
11.1997
06.1996
James Rumbaugh
Wykorzystano doświadczena zdobyte przy tworzeniu
nast. metodyk:
UML nie jest metodyką analizy i projektowania
UML nie definiuje procesu rozwoju oprogramowania
Inżynieria oprogramowania (Wyk. 2)
Ivar Jacobson
•
Wysiłek autorów jest skoncentrowany
na stworzeniu wspólnego metamodelu
(unifikacji semantyki) i wspólnej notacji
(odbioru tej semantyki przez ludzi)
Przy czym promowany jest proces, który
jest:
– ukierunkowany na przypadki użycia
systemu
– skoncentrowany na architekturze
– iteracyjny i przyrostowy
Slajd 5 z 37
•
Związki (zależności, powiązania,
uogólnienia, realizacje, ...)
•
Diagramy:
– struktury
– zachowania
Inżynieria oprogramowania (Wyk. 2)
Slajd 6 z 37
Rodzaje diagramów
Diagramy struktury
Diagramy zachowania
Pakietów (2.0)
Klas
Diagramy struktury
Stanów
Czynności
Złożonych struktur
Obiektów
Przypadków użycia
(2.0)
Diagramy
interakcji
Diagramy
implementacyjne
Wdrożenia
Komponentów
Statyczne części systemu
Przebiegu
Czasowy (2.0)
Komunikacji
Przeglądu interakcji (2.0)
• Klas - najczęściej spotykany diagram w modelach obiektowych
• Obiektów - wyobraża zrzut pewnych egzemplarzy elementów występujących
na d. klas
• Komponentów - obrazuje zbiór komponentów i związki pomiędzy nimi; ściśle
związany z d. klas
• Wdrożenia (ang. deployment) - obrazuje zbiór węzłów i związki między nimi;
wiąże się z d. komponentów, gdyż zwykle każdy węzeł posiada co najmniej
jeden komponent
• Pakietów – służy do prezentowania grup bytów (w postaci pakietów) i relacji
pomiędzy tymi grupami
• Struktury - złożonych struktur (ang. composite structure) - przedstawienie
wewnętrznej struktury klasyfikatora (np. klasy, komponentu, ...) z
uwzględnieniem punktów interakcji z innymi częściami systemu
Dynamiczne aspekty systemu
Inżynieria oprogramowania (Wyk. 2)
Slajd 7 z 37
Inżynieria oprogramowania (Wyk. 2)
Slajd 8 z 37
Diagramy zachowania
• Przypadków użycia - umożliwia uporządkowanie zachowania systemu
• Przebiegu - sekwencji (ang. sequence) - kładzie nacisk na kolejność wysyłania
komunikatów w czasie
• Komunikacji - współpracy (ang. collaboration) - kładzie nacisk na strukturalną
organizację obiektów, które wysyłają i odbierają komunikaty
Diagramy przebiegu i współpracy są w zasadzie izomorficzne
(można “swobodnie” przekształcać jeden w drugi)
• Stanów - zmiany stanów systemu spowodowane zdarzeniami
• Czynności - aktywności (ang. activity) - obrazuje strumień kolejno
wykonywanych czynności; przepływ sterowania od czynności do czynności
• Przeglądu interakcji – widoku interakcji (ang. interaction overview) –
połączanie d. czynności i przebiegu; prezentowanie zależności i przepływu
wiadomości pomiędzy interakcjami
• Czasowy – przebiegów czasowych (ang. timing) – funkcjonowanie obiektów w
kontekście ograniczeń/wymagań czasowych
Inżynieria oprogramowania (Wyk. 2)
Slajd 9 z 37
Przykład scenariusza: student zdaje egzamin
Scenariusz to ciąg kroków opisujących interakcję
(pomiędzy użytkownikiem a systemem)
•
•
Slajd 10 z 37
Diagramy przypadków użycia
– przypadki użycia
– aktorów
– zależności, uogólnienia i powiązania
• Dwa podstawowe cele:
– Jeśli brak to koniec egzaminu
•
Wartość mierzalna: wpisana ocena
E zadaje pytanie
S odpowiada
E ocenia odpowiedz i notuje ocenę
•
Potencjalne klasy w systemie: aktorzy
(student i egzaminator), indeks, karta,
protokół, ocena (?)
– jeśli ostatnie pytanie to dalej
– wpp powtarzane są 3 ostatnie punkty
Inżynieria oprogramowania (Wyk. 2)
• Diagramy przypadków użycia zawierają
Przykładowy scenariusz:
• Student (S) zgłasza się na egzamin
• Daje egzaminatorowi (E) kartę i indeks
• E sprawdza tożsamość S i czy figuruje na liście
egzaminacyjnej
•
•
•
Diagramy przypadków
użycia
– modelowanie otoczenia systemu (wyznaczenie granicy systemu i wskazanie aktorów,
którzy wchodzą w interakcję z systemem)
– modelowanie wymagań stawianych systemowi (określenie, z punktu widzenia
otoczenia, co system powinien robić niezależnie od tego jak ma to zrobić)
E wystawia ocenę końcową
E wpisuje ocenę do indeksu, karty i protokołu
Inżynieria oprogramowania (Wyk. 2)
Slajd 11 z 37
Inżynieria oprogramowania (Wyk. 2)
Slajd 12 z 37
Aktorzy
•
<< Stereotypy >>
Aktor reprezentuje spójny zbiór ról odgrywanych
przez użytkowników przypadków użycia w czasie
interakcji
Aktorami mogą być ludzie, urządzenia i inne
np.
systemy informatyczne
Nazwa aktora
Jedna osoba może wchodzić w interakcję z
lub
systemem z pozycji wielu aktorów; np. być
AnalitykKredytowy
zarówno sprzedawcą, jak i klientem. I odwrotnie,
<<actor>>
jeden aktor może odpowiadać wielu konkretnym
Nazwa aktora
osobom, np. aktor “strażnik budynku”
Aktor jest tu pierwotną przyczyną napędzającą
przypadki użycia. Jest on sprawcą zdarzeń
Aktor to jest rola, nie
powodujących uruchomienie przypadku użycia
jest związany z żadną
Aktorzy aktywni (inicjują przypadki użycia) i
pasywni
konkretną osobą
•
•
•
•
Inżynieria oprogramowania (Wyk. 2)
• Stereotypy stanowią jeden z mechanizmów rozszerzalności UML. Dają możliwość
definiowania nowych elementów, co ułatwia przystosowanie języka do
modelowania specyficznego procesu, do specyficznych preferencji użytkownika
czy też pozwala na uszczegóławianie semantyki modelu
• Stereotypy są wyrażeniami językowymi (nazwami) umożliwiającymi
metaklasyfikację elementów modelu; są wspólnymi nazwanymi własnościami
• Element modelu może mieć co najwyżej jeden stereotyp
• Istnieje lista stereotypów dla każdego rodzaju elementów, są stereotypy
predefiniowane (np. stereotypy klas: aktor, zdarzenie, wyjątek, ...), ale
użytkownicy mogą też definiować własne
• Stereotypy mogą mieć implikacje semantyczne (ograniczenia)
Slajd 13 z 37
Inżynieria oprogramowania (Wyk. 2)
Aktorzy (2)
Przypadki użycia
Rodzaje aktorów przykładowe stereotypy
•
Przypadek użycia to opis zbioru ciągów akcji (i ich wariantów)
wykonywanych przez system w celu dostarczenia
określonemu aktorowi godnego uwagi wyniku
•
Przypadek użycia opisuje oczekiwane zachowanie
budowanego systemu (podsystemu, klasy lub kooperacji), ale
nie określa sposobu implementacji tego zachowania
Z punktu widzenia aktora przypadek użycia opisuje działanie
mające dla niego wartość, np. obliczenie wyniku, utworzenie
nowego obiektu lub zmianę stanu obiektu
Średnio skomplikowany system ma około kilkudziesięciu
przypadków użycia
Czasami wyróżnia się 2 rodzaje przypadków użycia:
Urządzenie
System zewnętrzny
•
Czas
np.
•
•
Bankomat
System ZUS Płatnik
Slajd 15 z 37
Przypadki użycia - dokument opisu
•
•
•
Dla każdego przypadku użycia tworzymy dokument opisujący przebieg zdarzeń opisany
z punktu widzenia aktora
UML nie precyzuje standardu opisu przypadków użycia
Typowy opis zawiera:
jak i kiedy przypadek użycia się rozpoczyna i kończy
kto uczestniczy (aktorzy)
kiedy dochodzi do interakcji z aktorami
jakie obiekty są przekazywane
typowy i alternatywne przebiegi (ciągi) zdarzeń
przebieg zdarzeń w sytuacjach szczególnych (wyjątkowych)
parametry czasowe: częstotliwość wykonania, przewidywane spiętrzenia oraz czasy
realizacji (typowy, maksymalny)
– opis wartości uzyskiwanych przez aktorów po zakończeniu działania p. użycia
Ciąg zdarzeń można zapisać na wiele sposobów:
– tekst strukturalny (nieformalny lub formalny)
– pseudokod
- diagram czynności
Inżynieria oprogramowania (Wyk. 2)
np.
Inżynieria oprogramowania (Wyk. 2)
Slajd 16 z 37
Związki pomiędzy przypadkami - zawieranie
–
–
–
–
–
–
–
•
Nazwa przyp. użycia
– biznesowe - opisują jak przedsiębiorstwo (organizacja) reaguje
na klienta lub zdarzenia
– systemowe - dotyczą interakcji z oprogramowaniem
godzina 24:00
Inżynieria oprogramowania (Wyk. 2)
Nazwa
przyp. użycia
lub
– zbiór scenariuszy powiązanych ze sobą wspólnym celem
Człowiek
Slajd 14 z 37
Slajd 17 z 37
• Zawieranie wykorzystujemy, gdy
kilka przypadków użycia ma wspólną
sekwencję podobnych kroków, której
nie warto ciągle kopiować z jednego
przypadku do innych
• Pozwala na uniknięcie wielokrotnego
opisywania tego samego ciągu
zdarzeń
• Wspólne zachowanie jest
definiowane w odrębnym przypadku
użycia, który jest następnie włączany
przez bazowe przypadki użycia
• Związek zawierania - stereotyp
<<include>>
• Grot strzałki wskazuje na przypadek
włączany!
p1 jest przypadkiem bazowym i zawsze
występuje jako pierwsze w kolejności działania
«include»
pu1
pu2
Przebieg podstawowy (sekwencyjny):
pu1 ZAWSZE włącza (używa) pu2
Inżynieria oprogramowania (Wyk. 2)
Slajd 18 z 37
Związki pomiędzy przypadkami - rozszerzenie
• Służy do modelowania fragmentów
przypadków użycia postrzeganych
przez użytkownika opcjonalnie
• Oddzielenie działań opcjonalnych
od wymaganych
• Stereotyp <<extend>>
• Uwaga! Należy zwrócić uwagę na
grot strzałki reprezentującej
zależność - przy rozszerzaniu
wskazywany jest przypadek
rozszerzany (podstawowy)
pu1
«extend»
•
pu2
Przebieg opcjonalny (alternatywny):
pu1 jest CZASAMI rozszerzane o pu2
•
Inżynieria oprogramowania (Wyk. 2)
Slajd 19 z 37
Związki pomiędzy przypadkami - uogólnienie
•
•
•
•
•
Związek analogiczny do uogólnienia między
klasami
Przypadek-potomek dziedziczy całe
zachowanie i znaczenie po przypadkuprzodku
Potomek może dodać nowe elementy do
odziedziczonego zachowania lub zmienić
całkowicie zachowanie
Potomek zawsze może zastąpić swego
przodka
Przedstawiane jako ciągła linia zakończona
zamkniętym, niewypełnionym grotem
potomek
Inżynieria oprogramowania (Wyk. 2)
•
Aktorzy: Czytelnik - inicjuje przypadek,
Bibliotekarz
Typowy przebieg:
– Czytelnik podaje kartę biblioteczną, która
jest skanowana przy użyciu czytnika
kodów kreskowych w celu identyfikacji
– Następnie Bibliotekarz rozkodowuje
książki, które wybrał Czytelnik
– Czytelnik wychodzi z książkami
•
Alternatywny przebieg 1:
– System stwierdza, że Czytelnik jest
dłużnikiem i Bibliotekarz zatrzymuje kartę
do czasu zwrotu książek i opłacenia
kary,
•
Alternatywny przebieg 2:
– Maksymalna liczba książek na koncie odmowa wypożyczenia
•
Przypadek bazowy może być
rozszerzony tylko w ściśle
określonych miejscach (tzw. miejsca
rozszerzenia; rozpoznawane przez
etykiety; może być ich kilka)
Jeżeli zachodzą warunki związane z
rozszerzeniem to w miejscu
rozszerzenia wykonywane są
czynności opisane w rozszerzającym
przypadku użycia po czym
kontynuowane jest przetwarzanie
bazowe
Inżynieria oprogramowania (Wyk. 2)
Slajd 20 z 37
Przykład diagramu przypadków użycia:
część systemu bibliotecznego
przodek
Slajd 21 z 37
Przykład: opis przypadku użycia
Wypożyczenie egzemplarza
•
Punkty rozszerzenia (ang. extension points)
Inżynieria oprogramowania (Wyk. 2)
Slajd 22 z 37
Przykład diagramu przypadków użycia:
część systemu maklerskiego
Alternatywny przebieg 3:
– Po identyfikacji czytelnika okazuje się, że
oczekują na nego zarezerwowane
książki
– książki są przekazywane Czytelnikowi i
usuwana jest rezerwacja
•
Wartość uzyskiwana:
•
Parametry czasowe:
– wypożyczone książki
– częstotliwość: z punktu widzenia
Czytelnika co 2-3 tyg; Bibiotekarza
kilkanaście na godzinę
– czas trwania: typowo kilkadziesiąt
sekund; maksymalnie 3 minuty
– spiętrzenia: przed długimi weekendami,
świętami
Inżynieria oprogramowania (Wyk. 2)
Slajd 23 z 37
Inżynieria oprogramowania (Wyk. 2)
Slajd 24 z 37
Diagramy czynności
• Służący do modelowania dynamicznych aspektów systemu
• Może być traktowany jako schemat blokowy reprezentujący
przepływ sterowania od czynności do czynności
• Zwykle przedstawia sekwencyjnie (rzadziej współbieżne)
kroki procesu obliczeniowego lub innego przetwarzania
• Można na nim zobrazować również zmiany zachodzące
w obiekcie, gdy przechodzi on z jednego stanu do drugiego w różnych
fazach przepływu sterowania
• Służy do modelowania przepływu czynności i modelowania operacji
• Diagramy tego rodzaju mogą być wykorzystywane w systemach inżynierii
do przodu (generowanie kodu na podstawie diagramu) i inżynierii wstecz
(odtwarzanie diagramu na podstawie kodu programu)
Diagramy czynności
Inżynieria oprogramowania (Wyk. 2)
Slajd 25 z 37
Inżynieria oprogramowania (Wyk. 2)
Przejścia
Slajd 26 z 37
Rozgałęzienia
• Gdy czynność kończy się, sterowanie jest natychmiast przekazywane do
następnej czynności (przejścia automatyczne, zakończeniowe) zakładając,
że odpowiednie akcje wyjściowe i wejściowe są wykonywane (o ile istnieją)
• Przejścia oznaczane są poprzez zwykłą strzałkę
• Przepływ sterowania może trwać bez końca (w przypadku czynności
nieskończonych) lub do chwili osiągnięcia węzła końcowego
• Wybrany przepływ może zostać również zakończony bez zakończenia
całej czynności
• Przejścia mogą zawierać warunki dozoru
– podawane w nawiasach [ ] dowolne
wyrażenie logiczne
•
•
•
Rozgałęzienia (symbolem jest romb)
opisują ścieżki alternatywne; do wyboru
jednej z nich dochodzi na podstawie
wyliczonych wartości wyrażeń logicznych
Na każdym przejściu wyjściowym
powinien być umieszczony warunek
dozoru (wyliczany raz, w momencie
wejścia do rozgałęzienia)
Warunki nie mogą się nakładać i muszą
uwzględniać wszystkie możliwości
•
Słowo kluczowe else służy do
oznaczenia jednego przejścia
wyjściowego, reprezentującego ścieżkę
wybieraną, gdy wszystkie inne warunki
dozoru nie są spełnione
W UML nie jest określona forma wyrażenia dozoru. Może to być np. tekst
strukturalny lub konkretny język programowania
Inżynieria oprogramowania (Wyk. 2)
Slajd 27 z 37
Rozgałęzienia - przykłady
Inżynieria oprogramowania (Wyk. 2)
Slajd 28 z 37
Rozwidlanie i scalanie ścieżek
• Służą do modelowania współbieżnych (równoległych) przepływów
sterowania
• Obrazuje się je za pomocą pasków synchronizacyjnych; mają one postać
poziomych lub pionowych grubych kresek
• Rozwidlenie reprezentuje podział przepływu sterowania na dwa lub więcej
(niezależnych) przepływów współbieżnych
• W punkcie scalenia dochodzi do synchronizacji współbieżnych przepływów
sterowania (oczekiwanie aż ostatni przepływ osiągnie punkt i dopiero
wtedy scalony przepływ podąża dalej)
Słowo kluczowe else
Rozwidlenia i scalenia powinny się równoważyć (liczba
przepływów opuszczających rozwidlenie = liczba
przepływów wchodzących do odpowiadającego mu scalenia)
Iteracja
Inżynieria oprogramowania (Wyk. 2)
Slajd 29 z 37
Inżynieria oprogramowania (Wyk. 2)
Slajd 30 z 37
Rozwidlenia i scalenia - przykład
Rozwidlenia i scalenia - wątek warunkowy
•
•
Inżynieria oprogramowania (Wyk. 2)
Slajd 31 z 37
Współbieżność dynamiczna
Inżynieria oprogramowania (Wyk. 2)
Slajd 32 z 37
Sygnały i zdarzenia czasowe (2.0)
• Umożliwia zilustrowanie iteracji bez konieczności tworzenia pętli
• Znacznik iteracji ”*” oznacza, że czynność jest wykonywana wielokrotnie
• Sygnały reprezentują interakcje z zewnętrznymi
uczestnikami:
– sygnały są komunikatami asynchronicznymi
– węzeł sygnału odbieranego może spowodować
uruchomienie akcji przedstawionej na diagramie
czynności.
– węzeł sygnału nadawanego wysyła go do zewnętrznych
uczestników.
• W sytuacji, gdy chcemy powtórzyć
grupę kilku czynności, wówczas
można to oznaczyć wprowadzając
czynność złożoną (analogicznie do
stanów złożonych na diagramie
stanów) składającą się z
podczynności
Inżynieria oprogramowania (Wyk. 2)
Do przepływu wychodzącego
z rozwidlenia można dodać
warunek (tzw. wątek
warunkowy)
W trakcie wykonania, jeśli
warunek jest fałszywy,
zakłada się, że z punktu
widzenia scalenia wątek ten
jest już zakończony
• Zdarzenie czasowe – pozwala zamodelować okres
oczekiwania
– krawędź wchodząca do zdarzenia czasowego oznacza,
że jest ono aktywowane tylko raz.
– zdarzenie czasowe bez wchodzących przepływów jest
cykliczne, co oznacza, że jest aktywowane w odstępach
czasu podanych obok symbolu klepsydry
Slajd 33 z 37
Tory (1.5), partycje (2.0)
Inżynieria oprogramowania (Wyk. 2)
Slajd 34 z 37
Tory - przykład
• Służą do podzielenia czynności na grupy, z których każda reprezentuje
jednostkę (np. przedsiębiorstwa lub organizacji) odpowiedzialną za
przydzielone czynności; każda grupa nosi nazwę toru (ang. swimlanes)
(analogia do pływalni czy bieżni)
• Tory wskazują na umiejscowienie czynności i przydatne są zwłaszcza w
modelowaniu procesów zachodzących w przedsiębiorstwach
• Każdy tor ma unikatową w ramach diagramu nazwę; sam tor nie ma
żadnego szczególnego znaczenia, oprócz tego, że może odpowiadać
pewnemu bytowi ze świata rzeczywistego i reprezentuje określone na
wysokim poziomie abstrakcji zobowiązanie realizacji czynności
• Tor może być zaimplementowany przez co najmniej jedną klasę
• Na diagramie czynności każda czynność należy do dokładnie jednego toru,
ale przejścia mogą przecinać granice torów
Inżynieria oprogramowania (Wyk. 2)
Slajd 35 z 37
Inżynieria oprogramowania (Wyk. 2)
Slajd 36 z 37
Przepływ obiektów
•
•
Obiekty związane z
czynnościami lub przepływami
można umieścić na diagramie
i połączyć je związkiem
zależności
Można zobrazować również
np. zmiany stanów obiektów
(w nawiasach [ ] pod nazwą
obiektu) lub zmiany wartości
atrybutów (w dodatkowej
sekcji poniżej nazwy)
Inżynieria oprogramowania (Wyk. 2)
Slajd 37 z 37
NDOQPRTS U V WYX Z []\_^0Ua` OJbJSQcQd
·¸Y¹»º9¼ ½
¾¿MÀ$Á ÂJà ¿TÄ Å Æ
Ç ÈnÉ ¿>ÊnË>ÌMÁ Í]Î ÂJÃ Ï Â_Ä ÊnËÁ ÈaÐ>ÐJÑ ÂJÃ ¿MÒYÄ Â
Ç Ó ÀÁ Å ÓMÈ Á Æ Ó ¿ É Â Ô Í Ð Õ ÒMÁ Ì>Ö Ð>×>ØjÉ ÍMÁ ÂjÍ>Á ¿DÁ
Ñ]Ð ÀÁ Å Ó ¿jÍMÁ ¿
Ù Ú Ö Ô]Å Û ÐÐJÜ Ã ¿ ÓnÐ À¿jÍjÁ ¿ Ý]Þ ßMÞ àJáMâMãMàJá>ä
¿MÊ Ñ Â È Î Ø À Ñ ÂjÃ Ê Ñ Â È Î ËnÀË Ñ Ã Ð Ä Â È Î Ð ÀÂnÄ Ì_À
È Î Ø Ã Â_Ä Ü Á ÂJÃ Ó ÂmÊ]Á å Ñ]Ð Û,ÖnÀ¿ × å À$Ë]æ¿ × ¿>Í>Á ¿
Ï ÖMÍ È ÒYÄ Ð ÍM¿ É Í]ÂÊ_Ë_Ê_Î ÂJæmÖmç ÖMÊ Ú Ö × Á ÌYÄ ¿ È Á Â
Ê_ËnÊ]Î Âæ Ñ]Ð ÀÁ Í>Á ÂJÍmÖ]Û Ð Ê_Î å Ñ Í>Á ¿ è ÊnÀ Ð Á æ
Ö Ô ËnÎ ÈaÐ À$ÍjÁ ÈTÐ æé
! "$#
%&(' )' *,+-/.0+1*(2 ' &4365$71&439847030*:
;' 703=<>7=?A@CBD2 74EF',.9G(' *9BHJI,K
LD71BD' *,HM@
ë
N(e_\_f gTU0hji klhmf `nijRnU][>o_RTXpe
DC>FEHGICJ
Ê È Ú ¿]ÛJÍ>Á È ¿
R ø nÿnþ nþ_ÿaúS T U
t Q]x>&t V ö Î Ë É ÈTÐ,Ñ_Ð Î Ð æ ÈTÐ ÀÁ Â,æ¿nÄ Å Û Ð Ê]Î å Ñ
M syQx]2
Û Ð Î ¿ È Á Â ×>Ð Ê È Ú ¿MÛjÍ>Á È ¿
ú SW U
R ø nÿnþ nþ_ÿa
M sJ| XrJx>t ö Û Ð Ê_Î å ÑÐM× Ã ¿jÍjÁ Ò Ó Í]ËÎ Ë É ÈaÐ Û Ð
ÐÑ ÂJÃ ¿]ÒYÄ ÁYÊ È Ú ¿MÛ Ð À$ËnÒ Y
ú SZU
R ø nÿnþ nþ_ÿa
L
L
Q4=Kl
ÂHÃ4ÄÆÅ Ç
Ù
Í
È Ð
ÑMÐ>Ó _Ë ÒYÄ ¿jÆ>êQÖ>Í È Î
mÛ Ú Ö ×>Ð Õ è Æ Í_Î Â × ÂJÃ
mÊ Ó Âjà ÐJÈaÐ è Õ Æ Í]Î Â × ÂjÃ
Ñ_ÐJÈ ¿ Ô ç é
Ö È ÃË Äçé
Ñ Ã Ó Â>Ê]Ö & $
ö Í>Á Â Ð>× Ã ¿>ÍjÁ Ò Ó_Ð Í]ËÛ Ð Ê_Î å Ñ Û Ð Î ¿ È Á Â ×MÐ
MNOP | Q
L
<>=@?1 A"B
Ù
"' ' j ' $ ''
¢ £¤ ¥' ¦+¥'£¤ §
$&¡
(
[]\ ^*_*`'a+b2_ c&d egf"hDij_k^l2_2e-\ m+^*m4mb2mn _*o\ `$a+b2p+qrl+_'s t `+\ _q
ÚÛ"ÜÝÞ+Ûàß$á 2â ¥ ã ä $£å ¥' ¤' æ çèé
ää & ê
¥
' ¥ä$ ¥¥ §
ç
ë ì
â í
â
ä £3
ë
îï ÞÜ$Ü'ð ñðá&ò é å âé ä$¥ ç ¥' ë ì
¥ä$ ¥
ó' ¥åä' ¥
æ¤&£¤ ¥$
â í
â ç
ç
â
¥ ¥" ¤ ä $ "¥
ç
â ë
°Y± ¤ ² ³ ® µ®¶
¢
ßY"Þ+Û[Z+á2Þ\ïá "£å¥ ' ¥ ä £ ä] â ¥ é
¥' ¥
¥
ä £3 ¥
ë
¡è è ç í ë ç ë ì
ë
Þ ^ ^_åÛåï ` ç ¥ä âè ¥ ¡è ó ç4 ¡ ë a8
£ ã ¥¤ä ä¥ ¥
¥$ ¥' " ࣠㠥" æ
ç ì ç
ç
ë
£à ' ¥
ì
ñò1b c&á&Û ç ¥' ëì ¥ ¡è è "£ ã ¡ ì £¤ & ¥
¥'
¥'
é ç
è3$¡ â è
Ù
Ù
Ù
ç
B
C D E FG HJI Ed efg[h ij
Ikl1I1HmG DkD
<<<
ã &
' í ã &
ã & &¦
í
è â
ã & "'¦ " ;6;
í
è â
&% £$ $
â é
è
@ 3
£ $ $ ¥ $
è
â
¥ä¥ % £¤'
é è
' ä'¥ é % è £& + '
ö'ÿõ+ÿýký 4õ ký ø 'ýú
õkÿ ý *ÿ
7 ¥'£
â í 69è
Ô4ÖHË2ÃÑרkÖÉÅ£
÷
"!#!
æóä
¥": ;< < =6> &?
8
í
»¼ ¯ ½ ¾ ¿ À¹&Á
ÖIÊkÓ¥¤ÑÌ
±
²#³ ´ µ ¶·¸¶ ¹ I#ºl1»F3¼½ G ¾&DF-¿ DqÀº C À3M G Á¾ ¹ Âà »3¿ Ä}I Å L1DÆD Å1Ç kD d IkIÈG » ¾ ¹ À
L1D ¹ I
Ä G Dº ¹ ÉqÊ1ËÌ ÍÎ Ï ÐqÑ ÒÓÔ Õ Ò}ÕÖÏ × ØÙ ×ÐÓ1ÕÚ ×Ø-Ù Ñ
Û
Ü1Ý Þ ßÝ"à&á â&Ýã-äå æ ÝçXèéê à-Ý[ëì-â3æ Ý6èê Ývçí Ý6äéî[ï-ä6áã-é ð ñòá ó ñÝà&Ýoñîoâ&å ë6ß ó ô6çå õæ âê&å æ â ö-ð ë3çæ â ö í Ý
Ýí ÷&ëæ éå îqò é-çë3à-éò Ý3í à-é
Û
øë Þ âãé ð òoá â3í âvîoâ6å ë&ß[ß3í Ýå âêäÝ3îoâêë3ìâ3æ Ý-è ê áù ß&ñ6á ú çáXß6ñ&á â&ß6ñ6á èñâ3à6á ïû
~y x| ~Jy 3
C D E FG HJI E FGK DLMN OP QO RP S T RU VXW
â
¨ © ª «©$¬ ­ ®¬ ¯°±®° ²® ¯³¤°´¯©'¬ ¯µ ¶« ·&¸¹'º
w xzy {}|m~[| " #xw y ~[v}| v w JwXx#| "
B
°Y± ¤ ² ³ ´ µp®¶
$
)* +-,-.&/1032 465 í è ã ä à $ ¥ ' ¥à ¡
' '£à ¥'
¥ ¤
¥
ó
â â
é&â
è¡
¡'è ç
AûÊË'ÌFÍHÎIÊ2Ì
ìíJîQï>ð í>ñ ßjãJò ï ÝMájä ïJô ß]Þ õ,ð í$/ ò á]âMã ï (
0JßMânà î ß>ã>àJájä ö ý0
ý ú ú_ü$þ aþ aønù Yø]ÿ ú _ÿTø 1 ÷ Tú Tø_2ý Týþ]ÿ þ
ýþ , lù]þ_ÿ pý ú þ û ÿnúYû lø ú øaý úYû
nþ ú$ù]þMÿ )]÷ Yú nú_üþ ø _ü úMü ÷ þ]ÿ÷ øYû ú øMÿ Tú]÷ û ÿaú n3
ø nþpù]þ]ÿ ú _ø÷ _ÿ p
ý ù Tú]ÿ þù þ þ_4
ü þ û ú ÿnþaù ø ú]ü9ù þ þ]ü ný0úMÿ û þ 5 Yý Tú *6 þ]ÿ 7
ôõö2÷ ø ùûúkü õöýþ÷ ú+õ+ÿDý >÷ õ õ
a&^*u*v \ b*\ _2ewmb&p+qxeye-\ t z{$a&_ c `+\s t a&p2z'|2egl*} _+o} mqj_+ewmb*\ m4~ "+$m+2mkk
J|}~ -[|vxmw 3|"- }y x
ë
ÈÉÃDÊË'ÌFÍHÎIÊkÏÑÐÒÅÑÓÕÔ4ÖHË+Ã4רÅ
*ÿ þ÷ ÷
_j¡ ¢ £Y¡ ¤¥n¦_£Y¥]§ £Y¤T¨m¥Y©$¤Tj¡ ¤ª «n¬­a®j¯
ä % í&í !J'ï # á ( ò ö
ìíJîQï>ð í>ñ ßjãJò "
ï !$# í ÝMÞ àJáj"
ø ú úMÿ ú ø YønøM÷Tú û þ
Y
ý ný0
ü ù $ÿ ü ) úMþ û ø]ÿaú
ý*n÷ ÿ ú aþnù]þ]ÿ þ ú ÿ ú_üø ý ú$ùnø
ý+ ø>ÿnþ_ÿ þlý1÷aø û ú]ù nÿ )]÷Tø Yþ aþ]ÿ ú
ÿT
ø þ a÷Tø Yø ný4+ý n÷ , ÷ þ ú ú]ülúMÿ aý-Tú , øaýpÿ þ .
ê Ð ÛMÊ]Î ¿MÀ Ð ÀÂ Ó ¿>Û>¿jÍ>Á ¿jÆ
ìíJîQï>ð í>ñ ßJãJò ï Ý ó íjñ ãJò á]Þ ñ ßmÝ]àJÝ_Þ ï>ô4õ ö
÷aønù]úYû ülø_ýþ]ÿ ú$ù_ú û úþ þ û ú ø Týþ þ]ÿaú ]
ø ú_
ü ø ú ú>ÿ ú
8&9+: .
Y
ø Tøný nþ
nJ¡ ¢ £Y¡ ¤¥a¦]£Y¥_§Y£ ¤a¨¥T©¤aj¡ ¤$ª «_¬­T®j¯
q r!sQtJuv(s w x>yJz{>u$|
}p~>_p
j j Y>]n Y }Q$ j _a~j }
Y}$ >JJ~M } p J p_T~j } >M
;
ë
í
ê X+ $£3$
â
¥ ¥": ;3< < 8-> 7
ç
ä2 ' ] &
ä åä
â
¥' ¥ ¥ ¥ ã ä
é â
¥ ¥£¤
èé
~vy x| ~y 3
''¥ §
èé
ê ¥'
w &Jox¯[Xm°wJx}-| " {}|#©
n gojqp1r Htsvu u
¨ © ª « ©'¬ ­ ®¬ ¯°± ®°² ®¯³å°´¯©'¬ ¯µ ¶«·&¸¹'º
w x¦y {}|}~[J| " JxwX§ y ¨-1J&#©¦&6ªvx¬«&w J
x­}y [®Jw 3|#"& my mx
»¼ ¯ ½ ¾ @ Àk¹&Á
¨ © ª «©$¬ ­ ®¬ ¯°±®° ²® ¯³¤°´¯©'¬ ¯µ ¶« ·&¸¹'º
»¼ ¯ ½ ¾ ¡ À¹&Á
#%$'&)(+*-,.!&0/)12&43!576-8
S B
< = > ? @BA CD ? @EA F
G
H IBJLKMBN O P QSR T UEV W V X YZ [ V T \ ] XV X Y^_X Y V X W` a W V [
`R` a Y _[b
IBMEcdKMBeLfH gdh P QSRQiU j [ ] k \YUBl X YBT a R_[`^ k ^W mBl W n o G
W lRLQpmBW VY] \ qQrX s XlR j a R s T U!] Y m Y Vt u ^YBt j RQ
`a YEu U QSWBV X W oQvt u ^Y \ X QrVR _'u W ^X YwV X Yi] Y `a
G
^W xQ!W u W Va U Q!W VYt UBt u WQrVYm ^ X W j WBV X Y b
yEKgdNzSMEz P m ^ X { TX `^YEu Y x UQiY _[!QSRQiU j WBV X [
Qi`^ R`a TX \ qL\ q u U V X U VR\ qLUBtYEu W \ ] X^W tY QrV X W
tU t u WQ!V Ym ^X W j W V X Yt u ^R!QrX YEs [t u ^YEt j RQ!W \ q
`a YEu U QSWBV X Wb
|B}e| KLNNEMBef P U tYBu W \ ] Wi] Y `a a u WBT a U Q!W V WS] W T U
V X YEtU m ^ X YBs V WX _[` XlR n a W Ti^W t u U] YBT a UQ!W VW o W lR
t u ^Y l X Y xBW n tUBt u WQrV X YwVWQiY a x m Ru ~QrVUEs Y xBs Y
QSRQiU j W VUwX V VYUBtYBu W\ ] YP V t `Y [ YBVa X W s bV W!a R _
`W _rR _4UBl X YBT \ X Y b
G
G
G
G
¢¤£ 5¥(S,¦&¨§4© *«ª
9:;
<v Dd E@ D¦ B > >Ûw DBC> BçBEA ÀÛ D >BD C> è E D ? EdBA D d >
E> A d C CDd è B dÛ Þ > E D BwEDBCA é >dBA >E >Ûw > >dÞ BEDÀBD
>E >Ûw ê D Ûw>dÞ BED
æ
H e P t W u W _Ya u QiY ] \X U QSRoBV X Y_LU YwlR n
_rU m RZ X T U Q!W VRb
}KLf P t W u W _LYa u QSR ] \ X UQSR _LU YwlR n
_rU m RZ X T U Q!W VRrQ\YEs [Lt u ^YBTW^ W V X WX VZ UEu _W\ ] X
QSRQiU j [ ] k \Y _[b
H e}dKLf P t W u W _LY a u QiY] \X UQSRo _LU YwlR n
_rU m RZ X T U Q!W VRb
¬L­i®¯°L­¬L­L±²L°L³´L´¶µ·!¯¸
²r°³´´%´r¬¹´»º
µ·!¯ ¼Á¯Â¿
ÃLÄ ¬ÆÅL¹Çd® à ³Å ¿
¯ÈLɰ à ²pÊ
D >
Dd>
> Cw FBr> C> F A E
DEA d 'FE BEd
CL d d > EBE
ü ý þ ÿý Xý ÿ
A > þ*@ B C D
æ
Þ > >À E Dà C Ø D DB E>B@ DdB> E
= þ>?*@E0 >F >Bþ F ?3@
æ
ü÷ òBùú ü òdõó ö ÷ òø ù ô ú ûdü Ø C Û>BE>ÛwBB>E
CL DdD ? è FB EE
d DD ? è FB EBd
Üi @BA
G
"! #$ % & ')(*! +#,-,./ 0-0! 1 )2)( %3& (04
ü ý þ ÿý Xý ÿ / M £ § /)N 5 K
æ
BA é DB >BCLDBCEDEE> AED
D CA é > FE >BC>EE DÞ >A Þ A @ dBBD ? è
> EBÛïD @ Dd >B > d B>B@ >
Ü+DBCA é >BA À > DE@ >B@ > Ø X üø
óBö ÷ ø ö +÷ òñ ûEô B à C > d DdBA
d EEDdÞ Û é D = é @ DdB
DBA >ÛA A BED
o " <* 3 ¡*¢*£*¤* ¥ ¦
§ ¦g ¤"3¨* ¢*£© ªI¦g«¦L¨ ¬ §­ ¦¨
­ ® )¨ 3 ¯
°
± ²*³ ´oµ ² ¶G·0¸¹"²«± ²º"»I´ ¼ ½o¾ ²*¿"³ À ÁG»I¸Â
°
Ãij ´¶I´Åo² Æ ¸²º"¹± ÇÄ·´ È µ É ¶I´"Å É ³ ½¿
± Ê Æ Ëĸ«± ²³ ¸ ·ÌIJ"·À É »I´"Ë"À ´IÁ"Í
Î
ë !"
ü ý þ ÿýd ý ÿ Ï ¡"¤ ­ ¨" ®"Ð ) ­ ® Ñ ­ 3 ­ IÒ Ó¦L ª
¬ <"ª Ð § ¥ ¡"¤)¨"ª¡*Ôg¤I Õ £ª*¬
)* ­ ÄÒ ­ ¬_" *"ªg¤¨IÖ £3¢ÄÖ ¡ ­ Ö3 ¯ §
£) ¢*©) ­ Ö"Ò 3¨ ­<§ *¦g ¤")¨ 3×*¨*ÄÖ ¡¤ ¯ Ò ¤ ­
¦ ªÒ ¯ § ¢ÄÖ ¡ ­ ¡"¤ ­ ¨ ® ¡* Ø
Ù
ÚÛ Û Ü Ý ²*ÌIÁ ¼ ²Ë"´³ Ë"À ¸gÞ »Ä¸± ²«³ ½¿ ¼ ¸"º"¸ËIß
°
Ü Ý º"²*Ã à ´"º*ËÀ ¸¼ ¸º¸*Ë
Ü"Û Û á Ý ÁG²«Ë´ ¼ ÅË"À ¸ ¼G¼ ¸"º¸*Ë
á Ý º²"·²³ Ë"À ¸ ·À ¸³ ¸gÞ »Ä¸*± ²g³ ½"¿·À â ÁĸG¼ ß
°
°
¿´"± º"»À ¸ ¼» à ² Æ ²*˸³ À ÁG»Ä¸*¿² ã ÁIÀ ²ÃI± ¸ ã ³ ´Ëĸ
¶ É ·ÌI²¶ µ ´ÁÀij À ¶Gµ Ç »Ä´*ÃG± ¸"¶ÄÊ·äå
æ Û Û çè*éÛ Û ê ë Ë"Ìì"íì ì î*ïð*ì ì ñ
ü ý þ ÿý Xý ÿ ` \ ` a ` a YBu Y U a R tr`a W Vm WBu m UQSRo
]
tUa U _YBTSm ^X Y m ^ X \^R\W j k X _t s Y _LYBVa W\ ] {
t u ^U mBTW o WBs YV X Yw[m U `a { t V X Wi] WBT Uwt [ l s X \^ VR \q
] Y x UX Va YEu Z Y ] `~ Q!o WBV XX \qV X Yu Y W s X ^ [ ] YP V X Y
_LU V WL^W `a k t X n t u ^U mBTWra W TX _'tU a U _TX Y _b
0 (3.m& +{,x| +0} 2w:<;o;0~
/ M £ *ïî7/ *
°
EDBd> C> è >E @BýÀ DBC @Bý D DÛ àBC
\ ` c ]e^ G Ø BA C @
D DdÛDECA C DBàdÞ EA EA D >Þ AC
ÛwDEEÞ C Þ Y EA dEA BÛ D B> EDEE> C> è
D C @ ý
b
fg& 0,& (0 hikjmlnoipnoqrsorhtq
9* m0o * ;
æ
d >dBA @ dBA > >E d>E ED CdF
b c ]d^
Ø C @ D DdÛDBCA
D >EÞ A C Þ Y dEA dBA EBA wCDdÞ D
% u 6 v (w-0,x4y,-8 ,.m+0/ z-2/ 0-20/ )2 o+0/ D >
5 60+0'3"! ,47./ & 68 + (049.7:<;;
JLK
\ ]_^
¡ r"
/ M £ § /)NPOí5LQSR¥©î«/&)î«/ *
DEBàdÞ B Û)> BC BÛ E@ ê A @ B BÛ EED
DEE > dÛ Z Ø DE > Û[ ç D DdÛwdÛwD
> CA À >BC > é A è Dd>d >Þ ÀA
DE Cw D BA
DB @ >dFBÜ E
d >BA @ BA A EBEA @ EA >C7Þ A ? @BA >B@Bý DE >E@ D
E
D Ü E à C
ü ý þ ÿýd ý ÿ TUV W ñ ûX üû X ü Ø CwA é d DdÛA Y E dÞ Û Û
æ
ã ã l X Vm äBäP åd[ V T a b
D Bá Ü â
!"
= þ*>*?@
D DdÛDBCA > BCwBA Þ A A @ ýA Û Þ Û > @ >BC> Ø
þBÿ @ EÜ ÀFBÝDEDÞ E>w A ßw
B ÛÀA F d
C = à d Þ SF Ù DdA
½¹ Ã Ñ¶Ó Ô Õ Ö ÍµL·r¯Ë­L°ÂÎL¿
× ¿
JLK
ðLñ òEó ô¦òEõdó ö ÷ òEøBùBô ú ûdü Ø BA ÂÛwDE é Û A è B D ? BdEA @Bý
B Û Þ > B DEBB>B@ Dd E D>EEA ¦ >B C
þBÿ d
ØÙ F Ú
Ø DBEÛ A > F BEd
ɹL¹L°Ë²Çi·wÌiÈ´r¬·'ÍÎϲL¹ Ä ´r¬À¿
µ·!¯ÐÇiÑ­ÒS® à Ò4ÍdÎL¿
ìí£ / &«6 £ / , £ &ïî7/ &
æ
D
µ·!¯ ¼¾½À¿
"B" !"
Î
ª § "¦£ ¥ ¦ § ¤ ­ £"Ò "¦g Ð ¡¤ ­ ¨ ® ¡*
% § ¦« ¤3¨* <¨3 ­ Õ ª'& § ¤ ­ ¡"¤ª"Ò Ð ( Ö ­ ¦
£*¦g ­ Ò )¨"ª3Ø
Î
"IH r"
"!$#
) ¨*¨ ­ ££*Ò Ä¦ ­ ¦ ¥ ® ¡* ¦ ® ¡IÒ
¨ "¦« ©3¡ÄÖ "*Ħ3 + "¡GÖ Ñ Ó Õ ¨ ­ *£¤IÖ ­
*
*©3 ­ ©*¡GÖ
,-.-/10324 -56$798 :<;:"=9>@? -<;A6CB0<D4 E FA:/"G
FH8 4 IF=KJL03234 -5M6 NDO798 :<;:=PJ
,-<.<-3/@0324 -56$798 :<;:"=KJQ? -;A6RB0D4 E F:</"G1F
8 4 IFA=3>S0324 -56 NDT798 :<;A:U=9>
ò ó ô õó)ö ÷ øGö ù úIûøGú"üGø ùIýúÄþ ùIó3ö ùÿ gõ
ù
qrtsvu w
<dM Ud $"UU AMR
' b U""A" U" < M
<AA U$"b< M < L" A <M
$ U' b U U" "d< <U
¡ ¢£ ¤<¥"¤¥<¦M§¨¡ ©<¦ª« ¡
¬QMMUMA­ UdU HA " UUd " "
" U U­ A A$U "U AM"A<U
RM MM' MU ®U b U RU MM
"C< " AA " b U
UM$ U U" A H A"b "
UAMMMUM3 U
$ CbCU ¨M ¯ U AMMMdAR<"
A"'<U < ° UR$"" "U <" ¨"
U ""< UR
xy{zu y
|"}$~
qrtsvu w xy{z{u yÊÉËyLÌÎÍ϶Ì{ytÐRÑÏ
$ "' U A §b¡ ±<²ªU³U¥² ´"µ dA
MM' MU b ¨<U "¶U H" < AU
¶ U"
·"U d$ U"MM UA ¸ MMM' <U
¹Cº'»d¼ ½ ¾ ¿$ M " M®
¹dÀ3ÁÂUÃ3¾UÂUÃ3Ä ¹dÀ½ Å'ÆÂUà U" UM
RCUUU M M< UA U
Ç À½ ŨÆ<ÂUà ¿<"UUUM® " ¨Mb
¸ ¨ "UA ¯ UMHM"M¨<" <
" A M ¶U$ U""
xy{zu y
k l ] m n oi pKio
¬îU< AM ¨$ ­ U < ®U "
<" < U$ M" bd U
M" U<MU"MUM" "
"U MH" MU¨MU$ U" U9 $"
U A M" H AUM UA " î
<U U
|Mê¨~
è U ¨M ¯ U "$MU "Ud"
ðñ ¢UªMòó ¡ U¦ô ²3£ õ§Ë¡ ¥"ô ¢£ ó ¢« ð ¤
ï<R< ­ M < ¨MM' ' < U M U
3U
3U
û÷ü ÷
ï9 M
ö ÷ø ù ú û øAü ýþ ÿ û ÷ùü .¶svu w x0/îu<É
5
5
5
5
5
4 U UM$U" A ¨U" M M
5
¯ "¨ UM Ab" < Ý
5
6-7 89;: < = >-9 ? @;A BC@= DE)FGDFHJIK L= DMBCD@N= OL
9-@OFK @BCFG-@JD)P < EO-7 FHQ9L8EOR
IL-= L-H;FA = >-BTSA = PU A P= LK 8EO-R
Ù
ç U A U ¯ M d AUM" "M "
< " "M U MU U ¨M "M ¯U U
Ù
ç ¯U U" A <A M M
MMd $ U R< A" U " ®M HM"
" < U $U U
Ù
è UUMMM' <®U ¯A < M M L U
M Ud A HU M Ab"d "<A U
Ù
ç "M"d U<'MH A U " H C< <" H
" " " ¯U "
k l ] m n oÈ pio
y"!$#&%trtsu w xyz¶u y
')( ¦ ð ¦ ñ ²"§¡ * ³M¦¥¡ ¦ ¿3UUd ¯ "
Ù
U M M d M
ï9 UMMU$ <" C A<
M" U UU¨ "dMH MAC "$
MM' MU
Ù
Ù
+ UR A" AM Ubd ¯ AAU
"< UM$ "" <®M b<M
"U "U" A MH UMM U"M
Ù
ï9 UMMU$ <" UUd "'
"M A UM
k l ] m n oé pKio
.{y1 Ï 2 ztr 3 Ðîu
3 M ¿A$ < M ÜM<M
UAMM ® R "M UM d'< U A
< " <M tA MU M< U Ü
"MdtM­ " < æU d A
"'< æ < $"Ü
Ù
å UMHUUACÝAMMd "" <®U M"A <æ
M"U <
ö ú ÷ ÷ü ýþ ÿ ÷ ù3ü ï9 M
V W X YWZ [ \ Z ]R^A_\ ^M` \ ]ab^ cd]WZ ]$e f$YAghij
Ù
è <M
Ù
V W X YAW<Z [ \ Z ]R^_M\ ^` \ ]a¨^cR]WZ ]de f$Yghij
å < ­ $ bUM ML<< M ®U <
RUUMU M U­ < M$"MH" U
U ¯ b UM< ®U" $A M MM
M­ < Ud $ < ­ A U
·9 MU¨MU$ MU b¨ U ""< U MU
° U Ud H" "<M "R U
¯" Ad " AU
ë'âQÖì ã íã à9ÖPר Ö ¿ '" U' MU
" <" CM A $"" ®U < A­ U
<U "t$ M ¸ MMU$ <U "Ü
Ò@Ó$Ô ÕPÓRÖP×<Ø Öt×PÖ ß à9áKâtã ä Ö
Þ U $t M" UU
""UU bM"UA<U HM ¯ U Md®"U
¨UUMM" HMMd U ®U
RUUMU'M M M ¯ UM
U U M"A MU
<U U
Ù
Ç À3ÁÂMÃ3¾UÂUÃ3Ä ¿"U" AMd¨< b
MU "¶A "
V W X YWZ [ \ Z ]R^A_\ ^M` \ ]ab^ cd]WZ ]$e f$YAghij
qrtsvu w
Ò@Ó$Ô ÕPÓRÖP×<Ø Ö
<$ MdÚ M ¿ M ¯UM Û ®
< MUb " "<
$ ¯ AA$ MU" U" $U ¯
¯" " ÜAC" ¨U ¯ M M M
Ú MÛ ÝA<" ¿ A ¨<" < A¿
¯" "
Ù
5
k l ] m n o pio
V W X YAW<Z [ \ Z ]R^_M\ ^` \ ]a¨^cR]WZ ]de f$Yghij
qÍ<xu#v/ w ynxyxËu yLÌÎÍyvz|{y/Q y"!~}{LÐHxÏ
zu y
9F= 7 VFJ: W = >9 ? @XH;@ < 8-L)BYED8LODE Z 8L
I@-9S A LBM7 FJOFK P;[ 8I-\9-@JLA = E-6-PA >B
B]E-K 7 ODLK 8EOR;8-LJI@-9-SA LB^7 FJI@-D@-SA L ? EOR_
` a b cde : W = >-9 ? @XHJL)SDODFG->K 8E)9-@-SA f I)9@
BM8 f A = DL;OFK Pg[ UK LS E;DLI= D E h L W 8-7 @8F;Bji]kk_
7 8SA L-8OFlCm:@6-7 FU A W = >-9 ? @B]EYh FS A
FG-DFHXIK L= DF-H"UK LSEm 7 U LA @= L;9-@OFK @-BCFG-@
7 8SA L-8A 7 LA FJ: W = >9 ? @;A BC@= DEMF-GDFHJI-K L= DFJOFK P
I@BCFN= A E-IFJ:OFK h F-SA-A EIF-HnI@A f G@-BYEH
W = >9 ? L-\oE-I;I@A f G-@B]EYh FS ANUK LS Em 7 ULA @= FH)p
U A >N= FG-@;B]SDES A U7 FJ@6-7 FU A E)HJL h q 9-L8FG-@
I= D@-9UL
= F-m 7 8FJ: W = >9 ? @^h FSAN8L;9@SU @8-L-K SD EH
I@-D7 @H;7 FXL6SA = LU O h 7[ 6L= 9-D7 FhSDODF-G-> ? @B]EH)_
87 < OFK
PSFJ:D-8LODF87 Fr6EA P W = >-9 ? @BCF-G@JDLK F < EM@9
D8LODF8-7 L;OD fs O7IP-6K 7 OD8FhOFNK P
V W X YWZ [ \ Z ]R^A_\ ^M` \ ]ab^ cd]WZ ]$e f$YAghij
k l ] m n o-, pKio
V W X YAW<Z [ \ Z ]R^_M\ ^` \ ]a¨^cR]WZ ]de f$Yghij
k l ] m n ot pio
¯
"¢¡Yv£¥¤§¦¨ ©1ª¬«)­"®
n¢¡
£ê¤§¦¨ ©vª¬«M­n®ìëîí1¡ïuðvª ñ ¨ò
°M± ²³µ´ ²µ¶v·¸ ²¹Xºµ»´ ²¼½¾ ¿u¼» ± Àµ´Nº»± ¿µ·Á À¨±-± ÃÄX¼-ÂX± Å ¼·ÀÂgÂÆ½¹Á ²N¸ º Ç¿-¾ÃNÄÂr± ¸ ± ȼ-²ÂJ± ¿µ´ ²É
ËÌÍ ÎÏ Ð Ñ
Ê ÒMÍ Ó ÔÕ-Ö-Í Õ
° ± ²³µ´ ²µ¶Æºµ»± ¿ ·Á ÀNÂ"Á º$Â"¼²¹²×N¼± ¿$¿N³ ¼¿µ¶uØN¸ ²N´ ¼r× ± ²³µ´ ² ¶u½Ù·¸ ²¹u¸ ½N»X¹-Á ²Á Ú-üDz$Ã-¼ ÛNÜ-Ý
M
×± ²³ ´ ²N¶Ù½$± ÇÁ ¿ ´ ²N·Ã¾ ± Þ
¯
Ê
² ¶u± óuÉNôµ± ´ ¶r²
¹± ¿N×N¼± »²NõÙö ß]¸ ¿NÂJ·-± ÷
ß à ²×N¼± ¿ÙDzNñ ¹·XDzٷºÇN·´ ¿ Á Ç-¿âá ¸ ½N»uØN´ ºÁ ºNÁ ÚØºÂ;¿Nã¿N³¼¿ ¶Ùظ ²N´ ¼-¿
¯
ä ¿µ¸ ¿µ¶"¾ ¿N¹Á³ à ÀÂJÇ ± ¿¬¶rºN׿µ¸ ºNÂ;² Ç ± ¿$¹-Á ´ ½ ·Á ½N´ ºµ»± ¿µ·Á ºÂ;Ú-ÃÄ$å]غ ¸ ¿N³ ²$ºµÇº¬Ç²Ù´ ºµ»N± ¿µÇ± ½Ù´ ¼½Á ÀNÂ
M
º»± ¿ ·Á ÀÂ"¹-Ú-¹-Á ¿µ¶u½XÂÆ½-¹Á ² ¸ ºµÇ-ÚÃÄ$¶rºµ¶r¿µÇÁ ²ÃÄ$Ã-¼-²¹½
¯
¯
æC¼Ã-¼¿³NÀµ¸ DZ ¿¬ØN´ ¼-Ú-×N²NÁ Ç-¿âØ´ ¼-Ú$¶rºN×N¿ ¸ ºÂX²NÇN± ½r¼ à º ç º ÇÚÃNÄr¹Á ´ ½N·Á ½´µ×N² ÇÚ-ÃÄ
×ø$ɰ^¼± ² à
×µúÙɰ^¼± ² à
×Nü¬É°C¼N± ² à
ÇN²¼ÂJ²NõÙö ù]´ º ×µ½·Ã ¾ ²÷
Dz¼-ÂJ²NõÙö ûY²×N²µÇN± ²÷
Dz¼-Â;² õuö æ^ØN´ ¼-¿N× ² ç ÷
º¬ÉNùC´ ²ÃºNÂJÇN± ·
ÉNߺ ÇÁ ²N·Á
ÇN²¼ÂX± ¹·ºNõ¬ö ý]ºÂJ² ·÷
þ °)ù]´ ²ÃõøúNüNÿ
¹-Á ² Ç-ºÂX± ¹·º õµö æ]¼¿ ÷
- ;- uJ X X
^
Á ÚØõÙö µ¿¸ ¿ ºµÇ-÷
Ç ½¶r¿ ´ õ ö øúNüå ÿå ÷
µ ;- $; J X-
g1ª ©"«Yð
ë®
èé M
í1¡Y¤"®~"òÆï⩨ ©
! " # "%$ &('*)+'*, &.-/)0-0"21 3 '24 ! 57625 8 '29 : ;<6%= # &>@? 9 A;7B+)(B+)*, C+DFE 4+? 57'2G
9 $ , &%H I &> ' C+D<GKJ J J L
MNB )0-<CKAO&2I &%4, )*D/$79 &P$79 -(9; 5%H ; 3 62;*5 8 Q+" DO', 5> &RQ "2, H ; &%B 501@H =7Q2" DS5%$79 50, )+A T
VXWNY(Z<67"[H &75.? 9 ;*57A> 9, &21K"(;+576K5%$79 50DS) 4"%H ;*)+'*, )*DS5%$ &(' 3 Q 5%49 &2, )
B+)+, C DUDFQ &2D/$ &PQ ".H A> &
WN-(9 &2'*; A*;+&%$29 &RB+)+, C DUD\Q+5%4*9 & , 57A2T(Q "7;DS5%? 5P$ 5(;+5%H ; 3 62; 5K$79 &P$79 -(9]> 5%4
1.H =7Q 5%-^9
_`"2'+, : Q06K"0;+52DS5%H , " a A29*Q25%4*9 &2, C Db> &2'+,.4".$+, H ".? " DS5.$+)/cd4"%$+, H "%? 5(D/9 67"KA;7$ " a A 9
E A; :2a 8 '74 ! 576%$79 4C2DF-<" # &RB+) 8 D<9 67"7A*; $ 5.G 5^A; :2a 8 =74*H )+, 52L
_`"%B7H ; &(;*5.Q7H "*> &%4, " DS5%$2&RQ 5%4+9 &2, )O'74 ! 57675> 3 '29 : ;(Q "76K"%B7$+) A T<;2$ 5KA;+&%$79 "+DO"R9
H 52;+&.-e' 9 : ;7-(9 &.$79 5> 3 A)+A2T(B+)+, C D<J2fd5%49 &2, )(Q " D/9 $7$+)(B+) 8 ; 52, &%-gQ+" D<9 3 ;+5%$+&
; &0'+".B 3 Dh'7Q "2'+C%B^? = i $ )2G7$+57, "%-(9 52'*,@B 5%H 62;+"('2Q C*> $ &(DS& D/$ : , H ;2$K9 &
- ;- uJ X X
èè M
ª ñ nòb¨ª ví"1ª ©g«M­"®
4 ! 5K6%$79 45%-(9+Q 5%4*9 &7, = -<"21 3 B+) 8 4+? 52'+)7G79 $+, &.H I &*> '+)2G74"%-(Q2"%$ &%$*, )7G*D : ; ! )7G
"%Q &.H 57A> &.G7Q7H ;*)7Q 576%4+9= # ) A 9 5%G 6%9 521.H 5%-/)0"%H 52;(9 $7$ &[Q 5%4*9 &2, )0E DFQ7H 5K4, )+A*&
$ 5%? & # )0=7$K9 45 8 ;7B+)+, $79 &21K"0; 521 ! : B79 5.$79 5[Q 5%4+9 &2, C DSL
| ± Û × ¼ÚX×NÂ)ºµ¶$²$¿µ¸ ¿µ¶r¿µÇÁ ²µ¶$±-± ¹Á ÇN± ¿¾ ¿
r
¼-² ¸ ¿ ç Ǻ ÜÝ È¾ ¿ ç ¿µ¸ ±¼¶u± ²NÇÚX×N¿ ± ÇN± þ ± ¾ ¿ ×µÇ-¿N³Nº
¿µ¸ ¿µ¶r¿µÇ-Á ½u¶$º³ Å ¹ØºNÂ)ºN× ºÂJ² Ý ¼¶Ù± ² Ç-Ú
×µ´ ½³µ± ¿³NºÞÂ"ºN× ÇN± ¿N¹± ¿µÇN± ½r×Nº¬·¸ ²¹
¼-² ¸ ¿ ç Ǻ Ü Ã±º »¹¿µ´ Âr½¾ ¿ ȳ×NÚ$ÇNØ}¾ ¿×Dz
·¸ ²¹²$Â)Ú-¹-Ú à ²$×Nºu×µ´ ½³µ± ¿-¾ ·º ¶Ù½ÇN± ·²NÁ ÚÈ
¾ ¿N׵Dz¬·¸ ²N¹-²$¼-²ÂX± ¿ ´ ²r×µ´ ½³ Å ¾ ²µ·ºuü ÛNÜ-Ý
× ²NÇÚ-ÃÄNÈ·¸ ²¹²;¾ ¿N¹Áز ´ ² ¶r¿NÁ ´ ¿¶ÆºµØ-¿µ´ ²Ã¾ ±
¯
ß ² ç × Úrز ·-± ¿NÁ ¶Ù½-¹±-¶Ù± ¿ Ý ØN´ ¼ÚØ ± ¹-² Ç Å
]
ÇN²¼Â Û È·Á À´ ²XÂJÚ´ À ç Ç ± ²$³ºÙ¹Ø-º Ü ´ ÀN×
± Ç ÇNÇ-ÚÃNÄuزN·± ¿Á ÀN¨á Dz¼Â;²J¾ ¿N¹-Á DzNØN± ¹¿ ¶$ã
¯
µ ;- $; J X-
©^jMÆ kml^©
ù]² ·± ¿ ÁÁ º¬½NDZ Â;¿µ´ ¹² ¸ ÇÚ$¶r¿NÃIJNÇN± ¼¶
غ×N¼± ² à ½r¹· à ²×µÇ± ·À¨Dz$³µ´ ½ØÚXÂ
× ºÂ;º ¸ Ç-Ú¶1ÿ ¸ ½Þ Dz$× ± ²³µ´ ² ¶$²ÃÄ
Ø ´ ¼¿N× ¹Á ²-Âr± ² Ç-ÚM¾ ¿N¹-Á¾ ²N·º$¹·ºµ´ º¹-¼-Ú-Á¼
± ¹-¼· Å
¯
¯
è ^
n-¿ ç ¿µ¸ ±-Dz¼ÂX²ÙغµØ´ ¼-¿N×¼-ºµÇ²;¾ ¿N¹-ÁµÇ²¼Â Å
ØN²N·-± ¿Á ½rºNÁ ²Ã¼²¾ Šÿ³Nº¬¶rÀÂr± ¶rÚXº opqrKs t
u v s t w xzyr.t { È嬯 ´ ¼¿Nñ ÂXÇÚ¶vØN´ ¼-ÚØ²N× ·-½
¶$² ¶rÚ$Dz¼Â Û Ø´ º¹-Á Å
¯
~² ¸ ¿ ç Ǻ Ü-Ý ¶Ù± Û ×¼-Ú$ز ·-± ¿NÁ ² ¶$±-á ¼²ÂX± ¿µ´ ²¾ Å å
ÃÚ¶Ù±·-¸ ²¹-Úã]± ¹Á ÇN± ¿¾ ¿È-³N×Ú$± ¹-Á ÇN± ¿-¾ ¿
¾ ² ·²µ·ºµ¸ ÂX± ¿µ·;¼² ¸ ¿ ç Ǻ ÜÝ ¶Ù± Û ×¼ÚJ×NºÂ;ºµ¸ ÇÚ¶$±
·¸ ²¹² ¶u±Á Ú-ÃÄÙØ² ·-± ¿NÁ ÀÂ
- ;- uJ X X
è ^
`&%? 57Az> 50D ! 52'2$2" a A 9, "(521.H &21K57A> 5RA*5 ! 4" D/9 , 5PE B+)+, )<;*576K&%4*? 5%H " DS5%$ &(' 3 D
Q 5%4+9 &KA 9 &%+1K62)(Q 5%4+9 &7,*> &2'+,.$79 '*; A*;*"%$+)<1.9 $ 3 D '+;*)+', 4*9 &S> &71K"0'74 ! 576%$79 4*9 745 # 62)
B+)+,*> &7'*,2D ! 52'7$ " a A+9 3 67"%4 ! 576.$79 &/> &76%$2&21K"RQ 5.4*9 &2, = L
fm5.4*9 &2,*> &7'*,K".B+'*;+5%H &%-$ 57;DhcdB+)+, )<, &21K"0' 5%-<&21%"PH "762; 5> =(-^=+'*; 3 -(9 & 8
=7$79 457, " DS&P$ 57;D )ODb> &71K"RH 5%-<57A2T
fm"K62;29 5 ! $ 5RQ 5%4+9 &7, )(-050'*; A*;*&21KC.? $ &(;2$ 5KA; &%$79 &.G+1K62)($ 576/> &76%$ )2-QKH "*> &%4, &%Q7H 57A2=> &(D/9 &%? &(; &2' Q " ! C+D<G ;04, C%H )+A2T(45 # 67)0$79 &2; 5%? & # $79 &^"%Q7H 57A+" D/=> &<D ! 57'2$+&
4+? 52'+)/c%D )74"KH ;+)'+, 5%$79 &RQ 5%4+9 &7, C DFQ7H ;+&KA 9 DS62;29 5 ! 5R4".$+I ? 9 4, ".-$ 52;D
X/(7 zP^ P 7 P7 K +OK* 7+ +¡ ¢% ¢.+%£2X*¤K2K¥
O72¦]2§* R¢7+¨ K ¤ OK [ P©7ªK P(¤2¢7K« PR ¬ R ­ 7K ¤ OP7+ %£
µ ;- $; J X-
è M
Ó
ÉËÊÌÍPÎ Ï<ÐRÍ ÑNÒ
&('*)^Í,+.-KÍ0/21ÐPÊ3
ÔÖÕ ×KØ7ÙÚ7Û Ø Ü Ý Þ7ß à á7×%ÛKÕ ßâ ãeä+á%ß+Õ å æ ç<Ø%ß+è å Ü é á.Û áOê å2Þ*æ7ãUæ á%ß+ÕÞ á%ëeÞ2ä Ø2Þ â%ì ê á%ß¡ã
Ó
9 ë^ä2ØKè æ Ø2ãSá%Û7Õ å^æ ØOê å7×%Û Ø2Þ+æ è Ø%Û7Û å^Ú+å2ÚãSØ%é å%Û7Õ åPç ×2Ú7Õ å%é Ø%Û+åPì í*æ Ø%ëhê å7×.Û å2ÿKØ
ã í7ä á7×.ß*ç<á7æ è í2ì7ç+æ â2ãFÕØ%ä2å%è áKÙzê Õ*ß+é á2Þ+í
Ó
ä á%ß+Õ å7æ ç^Û á(×KØ2Þ*æ ð ä0×7ØRì í*æ â ãF×%è ç ÿ.Õ å2ÿ%ØPä á%ß*Õ å7æ ç
î+å ï åKé Õ+ì+í*æ.ì ð × ñ ÙíOã à á Þ7Û Ø Ü Ù2Õ ñ ä á.ß*Õ å2æ çNê å2Þæ ò.ó2ô7õ ö ÷ø*ù ú û ü7ýþ*ãSâ ãSÙÚ+á7Þ¡ê å2Þæ
Ó
Ô;:<>=<Ø%ì7è á2Ú+Ø ãSá%Û å/ê å2Þ+æ7Ú áRä Ø%ë0Ø7Ù ñ Ú+á%é å ï Û Ø Ü Ù+Õ+ç+Ú2çKä å à ÛKÕ Ø%Û å*ê
Þ+æ å%è å2Ø2æ í7ä å%ë (?!@A!B
é çKì C!DD 8EE þKßæ â%è å0ã Þ2ßá7Ú2çê ñ þ ï åRä á%ß+Õ å7æ
×KØ2Þ*æ ð ä7Û+í<×%é á(Ú+á ãSá.è æ Ø Ü Ù2Õ×7Ø2ãSØ%é Û å7ÿKØRä á%ß+Õ å7æ ç(Õ ë(ä Ø%è æ çê ñ Ùå2ÿ%Ø^×7á%Û í0ä á.ßÕ å2æ
Ó
è â7× à Ø ã í^ë<á(×KØ2Þ*æ ð ä0×7Ø0Ú á ãSá%è æ Ø Ü Ù Õ+ä á%ß+Õ å7æ ç0×7Ø7Ù*å%é Ø ãSå2ÿKØ
mí*æ ÷2ù7ö 2ù ú û .ýmë0Ø ï åPì+í Ý ã/Õ ×2Ú Õ á%Û+íNê å7×7í2Û7Õ åPä7è Ú å2Ú0ä2Ø2æ Ø%ë(ßâ ã/þ7Û á7æ Ø%ë^Õ á2Þ*æ
ì í*æ ò ú
G ?@AB è Ø2Ú+Þ+Ú+å%è Ú á(Ø%ì+Þ+Ú+á.è%Û á7Úã è â7× à á^Ø(Þ7ß à á7×%Û7Õ ß*ÕÙ*å%é ç0û ä Øê á ã/Õ á(Þ2Õ ð
Ú á2ÿ.è Ø ï å.Û7Õ å0Þ7ä7è Ú+åKÙÚ Ø Ü Ù2Õ+Û á2Ú*ãSý H C!D!D 8EE Û7Õ å(Ú7ë(Õ å%ÛKÕ á^Ø.ì+ÞÚ á%è ç^Û á2Ú*ãFÕ
F
ù ú û ýdÛ7Õ åRë0Ø ï åPì+í Ý ãhØ2ÿKâ%é å0ã/Õ ×7Ú2Õ á%Û+í^Û+á(Ú å ã/Û ñ æ è Ú^ä á%ß*Õ å2æ ç<ã
ßæ â%è í ëhê å2Þ+æ7Ú á7×7åKß+é á.è Ø ãSá.Û+í
æ è Ú+å.ì+áPߨ%è Ú+íÞ+æ á Ý Ú(Û á2Ú*ã
mñ ÙÚ2Û7Õ åRä7ç7ì7é Õ ÙÚ2Û2å(Þ ß à áK×%Û7Õ ßÕ+ä á%ß+Õ å2æ ç<Þ*æ á%Û2Ø ã/Õ ñ ê å2ÿKØ
Ó
Ó
Ê4365!78)^Í,+%-KÍ0/21 ÐPÊ 3
Ü Ù2Õ å ï ߨ ã í+ÙI"
Õ C!D!D 8EE
Õ Û+æ å%è åê Þ
Ó
J@á%é å ï Û Ø Ü Ù2Õ K?@A!B
dá%ß+Õ å2æ7Ú á%ä7è Ú+ízê á Û7Õ Ø%Û+í/Ú(Õ Û7Û+í7ëû ! ý
Ó
L`Ú ð2Ü+Ý ä7ç7ìKé Õ Ù*Ú7Û ñ ä á%ß+Õ å7æ ç(Û á2Ú+í*ãSá%ë/íNê å2ÿKØRå%ßÞ7ä Ø%è æ å%ë
ë0Ø ï åPߨ%è Ú+í*Þ+æ á Ý Ú+å(ã ÞÚ+í*Þ+æ ß*Õ Ù#"Rì+íæ â ã/þ7Û7Õ å2Ú+á.é å ï Û7Õ å
MKNOKP Q(RTSVUIN(WXP Q Y Z[UI\X(Q^]_NOKP Q(Ra`cbdNIe f
ØK×RÕ Ù#"/ã/Õ ×7Ø7Ù*Ú2Û Ø Ü Ù2Õ
k gUlS_g#R%OP Q[W[\[m!n\
® ¯ ° ±z¯² ³ ´² µ@¶]·z´¶¸ ´µ¹`¶ºmµ¯² µd» ¼d±]½+¾¿À
rs+*Ïtu5 v 1RÌ
Û7Õ å(Þ ñ ä7è Ú+å7ÙI" Ø7×.Û7Õ å
ÁÂ µ Ã Ä ÅÆ ÇK¿+È
k
Z[\g#R h ]iZ\VRjQ(W\
P Z[UoPK\_RjN(noU.N e f nS6epQ^](NOKP Q(R
® ¯ ° ±]¯*² ³ ´² µ@¶·´¶z¸´ µ¹¶º@µ¯² µm» ¼d±z½+¾¿À
Êj'*)^Í6+l-%Í0/w1ÐPÊ 1x)41y5/Ê 3>-oz4/
ÁÂ µ Ã Ä Å%$ Ç%¿+È
|UÍs}yz,~ÐPÊ 1ÐPÊ3x)41y5<Ê 34- z0/
Ó
:`Ø2ÿKâ.é Û7Õ áKÛ7Õ åRä á%ß+Õ å2æ â ãUÞ à ç ï í/×7Ø
ì7ç ×KØ ãSá%Û7Õ áPè Ø7×2Ú7Õ Û(ä á.ß*Õ å2æ â ãFÕ]ê å2Þ+æ
ì á%è ×2Ú ØRä Ø7×KØ%ì7Û åR×2ØPç Ø2ÿ%â%é Û7Õ á%Û7Õ á
ß+é á2Þ
Ó
má.ß*Õ å2æ í2þKßæ â%è å(×7Ú2Õ å7×2Ú7Õ Ù*Ú ñ ä2Ø
ä7è Ú+ØK×%ß*ç^ë<Ø2ÿ ñ Ú*á2Þ+æ ñ ä2Õ Ý ì í*æ í
ì á%è ×2Ú7Õ åê%Ø2ÿKâ.é Û åPû ç+Þ+Ú*Ù*Ú å2ÿKâ à Ø
ã/Õ å.Û7Õ åKý@é ç7ì<×7ØK×7á ãSá Ý Û Ø ãSå
Ó
má.ß*Õ å2æ í^ì7Õ Ø%è ñ Ù+åRç ×2Ú7Õ á à ã
ç Ø2ÿ%â%é Û7Õ å%Û7Õ á7Ù."Rä Ø7×%é å2ÿKáê ñ æ åê
Þ á%ë<åê@è å7ÿ.ç7é å(Ú+á2Þ+æ ð ä+Þ+æ ãSá(Ù+ØRß+é á2Þ+í
Ó
NÕ å(ã Þ*Ú+íÞ+æ ß*Õ åRÛ2á%è Ú ð ×2Ú7Õ áRû ÛKä I`ý
ç7ë<Ø ï é Õ ã/Õ áê ñ ç2Ø2ÿKâ%é Û7Õ á.Û7Õ å[ä+á%ß*Õ å æ â ã
® ¯ ° ±z¯² ³ ´² µ@¶]·z´¶¸ ´µ¹`¶ºmµ¯² µd» ¼d±]½+¾¿À
Ó
ÍPÌy36~ Í0/21 Ð[Ê 3}
ÁÂ µ Ã Ä Åaq ÇK¿+È
+ y)t>- z0/
® ¯ ° ±]¯*² ³ ´² µ@¶·´¶z¸´ µ¹¶º@µ¯² µm» ¼d±z½+¾¿À
Ó
ã/Õ ×7Ú+å%ÛKÕ áPä2Ø2æ è Ú å%ì7çê å%ë/í ê å2Þ*Ú ÙÚ å0ã/Õ ð ßÞÚ+í+ÙI"(ä Ø%è Ùê Õ*Û7Õ ï ä á%ß+Õ å7æ í/Ú+á ã/Õ å%è á*ê ñ Ù+å
ë0Ø ï Û2áRÛ á2Ú*ãSá Ý ÕÚ á%è Ú ñ ×7Ú*á Ý Û7Õ ë(Õê á%ß Ú2ì7Õ Ø%è å%ë
ÿ.è ç7ä+í(ä Ø%ß+è å2ã/Û+í+ÙI"(ì+í+æ â ã
dá%ß+Õ å2æ í<Þ à ç ï ñ ê åK×2í2ÛKÕ å^×KØ0Þ*í+Þæ å%ë<á2æ í+Ú+Ø2ãSá%Û7Õ á^Þ ß à á7×.Û7Õ ßâ ã
Ó
må.è Þ7ä å%ßæ íãSá^×7Ø2æ í ÙÚ+í/Ø.è ÿ%á%Û7Õ Ú á7Ùzê Õ*ÕÞ+æ è ç7ßæ çKè í<Þí+Þ+æ å%ë(ç7þ7äKè Ú*í0ÙÚ+í2ëgß à á7×2Ú Õ å
ë0Ø7×7å%é ç p aIa _ ap% a j¡j¢
Þ7Õ ð ãFÛKÕ åê@Û á7Ù2Õ Þ7ßOÛ2áPä+å ã<Õ å%Û/Þ+Ú+Ù*Ú*å7ÿKâ%é Û*í<á7Þ ä å%ßæ7Þ+í*Þ*æ å%ë(ç H7Û áê ÙÚ ð2Ü Ù2Õ åê
`á*ê Ù*Ú ð2Ü Ù+Õ åêKÚ*á ã/Õ å%è áê ñ å%é å.ë<å%Û+æ í ê åK×%Û å2ÿKØPè Ø7×7Ú+áê ç £
Ó
Ó
¤
pa¥%p ¦ §j aj p¨ ja©_ p ª «p©Kj% ¬ ¥l% lj¡­¨_©®p% ap%§­ ¡j©_
j l§ p©(Tl j% j j ¯°_±K²(³´ p% ¦ « p ¥ §­%p l a©(%a
¥ap ¬ «j¢
¤
pa¥%lµa §% p%alj ¡_©®jl ap%§T ¡­©[ a %%p pp¡ pT
ë<Ø ï é Õ ãSíNê å2Þ+æ.ä Ø7×7Ú Õ á à Û á[Û7Õ å.ë<á%é+Û7Õ å2Ú á%é å ï Û2åRä á%ß+Õ å2æ í2þ2ßæ â%è å0Þ ñ ã à á Ü Ù2Õ Ù2Õ å%é á%ë(Õ
á%ì+Þ+æ è á%ßÙê Õ+Õ Þ+æ Ø2æ Û í+ÙI"/Ú<×7á%Û å2ÿ%ØRä7ç7Û7ßæ çOã/Õ ×2Ú å%Û7Õ á
Ó
©®% ­¡pa¥l§j« aa ap­lj%jap ¦ «_% µa¡ ©K¡a§T% ­¡j­
p¥a ¥aa §­%j¶ .«a p j §­ ¥%¡_p%§j ·p©
pp©_ % §­ aj¡T¥l a% ¡a¸a§­ ·l p.µa l p
j_%¥¡T¶ §Ta©Klj .§T a %¢
® ¯ ° ±z¯² ³ ´² µ@¶]·z´¶¸ ´µ¹`¶ºmµ¯² µd» ¼d±]½+¾¿À
¼má.Û Ø%Û7Õ ÙÚ7Û á(×7å.ߨ%ë^ä Ø2Úí Ùê áPÛ2áê ã í ï Þ*Ú+å7ÿKØPä+Ø2Ú7Õ ØKë^çOã í7è â ï Û7Õ áPä åKè Þ7ä åKßæ íã í£
ä7è Øê åKßæ Ø2ãSá%þ7ä7è Ø7Ù+å2Þ*Ø ãSá.þ7Õ ë^ä7é å%ë0å%Û+æ á7Ù*íê Û á%þ*ãS×.è Ø ï å%Û7Õ Ø ãSáPÕ+ä7è Ú*í2ä 2ç ï í Ù Õ á
<0Ø2ÿ ñ Ø%ì2åê ë0Ø ãSá Ý ì+í*æ í(è â ï Û2å2ÿKØPè Ø7×2Ú áê ç £
¤
Í[Ìy3u~ Í0/21 Ð[Ê 3)43u+#78)43u5-#t>/º1u+ λ[Ê - 3u5-%Í ÐÊ Î Ï<ÐtRλ
`Ø2Ú7ä á2æ è çê ñ ÙOá.è ÙI"7Õ æ å%ßæ çKè ð Þí+Þ*æ å%ëRç(Õ Û# Ø%è ë<á2æ í ÙÚ7Û å2ÿKØ(Ú0è â ï Û+í+ÙI"(ä7çKÛ7ßæ â2ã
<è ÿKáKÛ7Õ Ú+Ø+ã/á%Û2Õ åPë<Ø7×7å%é Ø ãSá%Û+í ÙI"(ì+í+æ â ãÖãhÿ.è ç7ä+í7þ7ßæ â%è å
Ó
ÁÂ µ Ã Ä Åa{ Ç%¿+È
¹
Ó
aj¡­jp p¨% %§T «%
·­ ©Kl ­ ©(a©K
ÁÂ µ Ã Ä ¿a ÇK¿+È
má.ß*Õ å2æ í/ãFè ØKé Õ+ä åKè Þ2ä åKßæ í*ãFè â ï Û7Õ ñ Þ7Õ ð ØK×> á2Þ á7×%þ+ÿ%×2í ï Þ ñ ã à á Ü Ù2Õ Ù2Õ å%é á%ë(Õ
Þ*ãSØ%Õ ÙI"(ì+í+æ â ã/þ7Û2á æ Ø%ë(Õ á2Þ*æ á2Þ+áK×2íOÚ á ã/Õ åKè áê ñ ê å7×2í2Û7Õ å(Ø7× ãSØ à á%Û7Õ á(×7Ø
½ Ù ç ×7Ú*í Ù."#¾dì+í+æ â ãI¼dá ï ×2í0ì í*æ.ë0Ø ï åPÛ á%é å ï å Ý ×7ØR×7Ø%ß à á7×%ÛKÕ åSê å7×KÛ å2ÿ%ØPä á%ß*Õ å7æ ç7þ
á%é å0ã/Õ å.é å> á7Þ+á7×Pë<Ø ï å(Þ Õ ð ê å7×%Û Ø7Ù*Ú å Ü ÛKÕ å(×7Ø[Û7Õ å7ÿKØ(Ø7× ãSØ à íãSá Ý
® ¯ ° ±]¯*² ³ ´² µ@¶·´¶z¸´ µ¹¶º@µ¯² µm» ¼d±z½+¾¿À
ÁÂ µ Ã Ä ¿+È Ç%¿+È
monpYqsr t u v w!x y{zs|?}s~ Y.%
îZï ðAñòðóOôõï öA÷øòðùHúûï
Diagram interakcji - obrazuje interakcjü jako zbiór obiektów i zwiý zków miþ dzy nimi, w tym
teÿ komunikaty, które obiekty przekazuj mi dzy sob ; zawieraj na ogó obiekty,
wi zania oraz komunikaty; cel: modelowanie przep ywu sterowania
)*,+ -.+ /10
Diagram kooperacji (ang. collaboration) uwypukla zwi zki strukturalne pomi dzy
obiektami (organizacja strukturalna)
wysy aj cymi i odbieraj cymi komunikaty;
graficznie jest to zestaw wierzcho ków i
kraw dzi
! " #%$ &('
24365,7,8 9 :<;=>?:<;A@<><;67B
CED FHGAIJF6KMLON P1Q.R?IJF,SUTV!N6N1WXN FHG?IYF,KZL\[]Q.F?P<^H_
`Ea bHcAdJb6eMfhga i]f<j(iUk<l
– nacisk na zwi zki strukturalne mi dzy
egzemplarzami uczestnicz cymi w interakcji
oraz komunikaty przesy ane mi dzy nimi
– wygodniejsze do przedstawiania z o onych
iteracji i rozga zie – stosowane przy wielu wspó bie nych
przep ywach sterowania
!.6 %. ¡
¢]£.¤]¥s¦o§¨!©
ªY« ¬®­%¯ ° ±¬A²³Yª´sµ¯ ¯ ¶ ·¸¹¶ ¸!¯ ­Y° º]»s´s¼.² ¶ ·!°
½]¾ ¾ ¿À Á Á Â.ÃYÂ.Ä.Å.ÃJÆUÇ ¿%ÈÇ ÈÉ Â.Ê Ë]Ì{¾ Å%Í¹Ç ¿Ê Á Î1Ï®ÍÃJо
? J H. 6 Js ]
\]
•
•
O V rodek sterowania (ang. focus of control) podW uX ny, cienki prostok Y t reprezentujY cy
okres wykonywania przez obiekt akcji osobi Z cie lub przez procedury podrz[ dne;
zagnieX d X enia sterowania (np. wywoW ania
rekurencyjne lub wywoW ania wW asnych
operacji) oznaczane s Y za pomoc Y
dodatkowego prostok Y ta oZ rodka sterowania
umieszczonego na prawo od jego przodka
"!$#$ !% '&(! )*' (+ ,($-.'/10
ÐBÑOÒOÓÔÕÖI×ÑØÙÚBÛ ×ÔÝÜ ÞPß
ö
é
|E}O~OMI}B P
Linia R ycia obiektów - pionowe przerywane
kreski reprezentujS ce czas istnienia obiektów
(zwykle obiekty T yj S przez caU y czas trwania
interakcji, wpp od odebrania komunikatu
stereotypowego <<create>> aT do
otrzymania <<destroy>>)
•
•
•
•
2 3 4 5 6 786:9
Prosty - powoduje jedynie przekazanie
sterowania od obiektu do obiektu; na danym
etapie modelowania nie s ¨ istotne szczegó© y
tego przekazania
Synchroniczny - obiekt wysy© aj ¨ cy komunikat
oczekuje na odpowiedª zwrotn « i dopiero po jej
otrzymaniu przechodzi do dalszych dzia¬ a ­ ;
zwykle reprezentuje wywo® anie proceduralne
Powrót - oznacza powrót z wywo® ania
procedury; mo ¯ e by ° pomijany (i najcz±1² ciej
jest), gdy¯ jest nieuchronn ³ konsekwencj ³
wywo® ania
Asynchroniczny - po wys® aniu komunikatu
obiekt kontynuuje swoje dzia® ania bez
oczekiwania na odpowied´
')(+*-,/.1023.
•
•
å æ ç è é ê ë]ìí
tE':1(¢¡¤£*¥ ¦(§
` a b cad e f d g"h$i$f hj f g'klh m*g'ad gln o(cp1q$rts
àáâ¢ã¢äæå ç(è
ê8ëKì8í îðïñ ò8ëðó
- jeô li nadawca nie jest
znany w obrõ bie danego fragmentu
÷lø ù úKû1üýðþ
- jeÿ eli odbiorca komunikatu
nie jest znany w obr bie danego
fragmentu
– nacisk na sposób przekazywania
komunikatów w miar ich pojawiania si
– szczególnie przydatne w kontek cie
scenariusza przypadków u ycia
– wygodniejsze do przedstawiania
prostych iteracji i rozga zie Ñ Ò Ó ÔÕ.Ö × Ø Ö Ù¹Ú{Û{Ø ÚÜ Ø ÙsÝÚ Þ ÙsÕ.Ö Ùß à(ÔáYâ{ãJä
;=< >@?BAC>EDGFIHEAKJMLONE< LP?BQ
^_
Diagram przebiegu (ang. sequence) uwypukla kolejno komunikatów w
czasie; ma posta tabeli, w której obiekty
s u o one wzd u osi X a komunikaty
wzd u osi Y, uporz dkowane wg czasu
ich wysy ania
u v g w x r y8z{
457698-:;<>=?@BADC9EF GH
Stosowana w celu zobrazowania
ciI gu powtarzajI cych siJ
komunikatów
Zaznaczana na diagramie
wyraK eniem iteracyjnym przed
nazw I komunikatu:
– * - (“sama gwiazdka” - liczba
powtórze L nie jest okreM lona)
– * [i:=1..n]
•
µ ¶ · ¸¶¹ º » ¹ ¼"½$¾$» ½¿ » ¼'À(½ Á*¼'¶¹ ¼( Ã(¸$ÄÅ'Æ1Ç
È É ¼ Ê Ë Ì Í8Î:Ï
W sytuacji gdy iteracja dotyczy
kilku komunikatów, obejmowane
one s I w ramkJ i wyraK enie
iteracyjne podawane jest w
lewym górnym rogu
! " #%$&
1
i-j-kmlon pqsrutuvxw y7z
{
¬
|7} ~
- alternatywa; wykonywany jest ten
fragment, przy którym spe niony jest warunek
x/
- opcjonalny; wykonywany je li
spe niony jest warunek
)
- wspó bie no ; wszystkie fragmenty
wykonywane wspó bie nie
33
- iteracja; warunek okre la podstaw
iteracji
)+
- odwo anie; stanowi referencj do innej
interakcji; przykrywa linie ycia
¡)¢+£ ¤+¥% ¦)§+¨
- obszar krytyczny;
fragment mo © e mieª tylko jeden w « tek
uruchomiony w danej chwili
•
•
Wykonanie komunikatu uzaleé nione
jest od speê nienia warunku
logicznego; na diagramie oznaczane
w postaci klazuli (np. [x>0]) przed
numerem komunikatu
Postaë wyraé enia nie jest
sprecyzowana, moé e to byë dowolne
wyraé enie logiczne, którego wartoì ë
jest wyznaczana w momencie
wysyê ania komunikatu
Nie wszystkie narzí dzia umoé liwiaj î
wykorzystanie rozgaê í zie ï
­®/¯)°±)² ®´³3µ´°)¶··®)² ¸ °¹%º%»/·¼ ½3®3²¾ ¾ ¾
!"$#&%
•
äså æáçDå è
•
N O P QOR S T R U VWT VX T UYV ZUOR U[ \Q]^_`
•
Ú-ÛÝÜßÞáà â ã
Maszyna stanowa - okre? la ci @ g stanów
przyjmowanych przez obiekt w odpowiedzi na
zdarzenia zachodz @ ce w czasie jego A ycia, a
takA e reakcje na te zdarzenia; bardzo
przydatne, gdy bieA@ ce zachowanie obiektu
zale A y od jego przeszB o? ci
Zdarzenie - specyfikacja zjawiska, które
zachodzi w czasie i przestrzeni; jest bodC cem,
który moD e uruchomiE przejF cie pomiG dzy
a b U c d e f%g>h
¿ À Á ÂÀÃ Ä Å Ã Æ ÇÈÅ ÇÉ Å ÆÊÇ ËÆÀÃ ÆÌ ÍÂÎÏÐÑ
')(*,+.-0/213(41657')(98 : ;=< >
•
j6klmnpohqsrutnvwyx
Stan - okolicznoF E lub sytuacja, w jakiej
siG obiekt znajduje, kiedy speH nia jakiF
warunek, wykonuje jak I F czynnoF E lub
czeka na jakieF zdarzenie; zwykle obiekt
stanami
Prosty (zwykz y) - nie posiada wewn { trznej struktury
•
Pocz | tkowy - pseudostan oznaczaj } cy punkt startowy miejsce rozpocz~ cia dzia ania maszyny stanowej lub podstanu
Przej K cie - zwiI zek miG dzy dwoma
stanami; wskazuje, L e obiekt znajdujI cy
siG w pierwszym stanie wykona pewne
•
Finalny - pseudostan oznaczaj} cy punkt ko cowy
•
Z o ony sekwencyjny - z o ony z jednego lub wi cej
podstanów, z których tylko jeden jest aktywny, gdy aktywny
jest stan z o ony
Akcja - wykonywalna niepodzielna
procedura obliczeniowa prowadz I ca do
•
Z o ony wspó bie ny - podzielony na dwa lub wi cej
wspó bie nych podstanów; wszystkie podstany s
jednocze nie aktywne, gdy aktywny jest stan z o ony (jako
ca o )
akcje i przejdzie do drugiego stanu, o ile
zajdzie okreF lone zdarzenie i b G d I
speH nione okreF lone warunki
•
Nazwa
•
pozostaje w pewnym stanie przez
sko J czony czas
•
zmiany stanu systemu lub do
przekazania wartoF ci
ð ñ ò óñô õ ö ô ÷ øùö øú ö ÷ûø ü÷ñô ÷ý þóÿ
Ò Ó Æ Ô Õ Ö ×%ØÙ
÷ Nazwa
Nazwa
M N O PQNR S T R U2V W T VQX T UY)V Z4UNR U)[ \,PQ]^ _`
¥6¦ § ¨©«ª3¬ ¦­¬® ¯±°p²p³ ´ µ
a b U c d ee fhg0i
"!
Zdarzenie uruchamiaj # ce (ang. event trigger)- zdarzenie oznaczaj $ ce, % e przej& cie
mo' e nast( pi) ( sygna* , wywo* ane operacji, up* yw czasu i zmiana stanu)
Å)ÆÈÇÊÉÅ)ËpÌÎÍ ËÏ­ÐÎÉ.ÐÊÑÒÇÈÓÍ Ç,Ô Õ Ö4×ÙØÚÙÛÈܱÝÈÞp×ÊßàÎáÈâpã)âäÜ.ÝÎåæçÛÊßuÖ9è9Û
•
•
•
Stan ¶ ród· owy - gdy obiekt jest w stanie ¸ ród¹ owym i nast º pi zdarzenie uruchamiaj º ce,
a warunek dozoru (o ile istnieje) jest spe¹ niony, przej» cie mo¼ e by½ uruchomione; do
czasu a¼ przej» cie nie zostanie uruchomione, obiekt pozostaje w stanie ¸ ród¹ owym
Akcja - wykonywalna niepodzielna procedura obliczeniowa, która mo¼ e mie½
bezpo » redni wp¹ yw na obiekt b¾ d º cy w¹ a » cicielem maszyny stanowej i po» redni wp¹ yw
na inne obiekty znajduj º ce si¾ w jego zasi¾ gu
– mo ¿ e to byÀ wywoÁ anie operacji (obiektu lub innych dost pnych obiektów), utworzenie lub
zniszczenie obiektu oraz wysÁ anie sygnaÁ u do obiektu
– nie mo¿ e byÀ przerwana przez zdarzenie - zawsze jest wykonywana w caÁ oà ci
Stan docelowy - stan obiektu po zako Ä czeniu przej» cia
Q 2 Q , 4 , ,
¡ ¢£¤
•
– sygna+ lub wywo+ anie mo, e mie - parametry, których warto. ci s / dost 0 pne w ramach
przej. cia
– przej. cia automatyczne (bez zdarzenia uruchamiaj / cego) - przej. cia (tzw.
zako1 czeniowe) uruchamiane s 2 natychmiast po zako 3 czeniu czynno4 ci w stanie
5
ród6 owym
zdarzenia czasowe:
– after(okres_czasu)
np.after(3 miesi 7 ce),
after(1 godzina)
– when(moment_czasu)
np. when(31.12),
when (godzina 22.00)
8:9<;>= ?@ 9
é ê ë ìQêí î ï í ð2ñ ò ï ñQó ï ðô)ñ õ4ðêí ð)ö ÷,ìQøù úû
ü ý ð þ ÿ 2
ef g hikjl mnlo
prqst u v
wSxzy
¬
Warunek dozoru (ang. guard condition) - wyra{ enie logiczne, którego warto| } jest
wyznaczana w chwili otrzymania zdarzenia uruchamiaj~ cego i spe nienie go
warunkuje dokonanie przej cia
– obrazowany w postaci wyra enia logicznego w nawiasach kwadratowych tu za
zdarzeniem uruchamiaj cym
– mo na okre li wiele przej z tego samego ród a i z tym samym zdarzeniem
uruchamiaj cym o ile warunki nadzoru si nie nak adaj
– zdarzenie uruchamiaj ce jest ignorowane,
gdy adne przej cie przez nie inicjowane
nie mo e do do skutku
– warunek dozoru mo e wyst powa bez
zdarzenia uruchamiaj cego => zmiana
warto ci wyra enia skutkuje umo liwieniem
przej cia
A B C DFE:G H I G JLKMI KFN I JPOQK RSJPE:G JQT UQDV:WPXZY
•
•
•
•
•
kartaW
Oczekiwanie
Przej2 cie od 3 ród4 a znajduj 5 cego si6 na
zewn 7 trz mo8 e prowadzi9 do stanu z: o; onego
anulowano
(wtedy musi by9 okre< lony stan pocz = tkowy)
kon
lub bezpo< rednio do jednego z jego podstanów
ser
Niezale; nie od przyj> tego rozwi= zania akcja
wuj
wej < ciowa stanu z: o; onego jest realizowana
Zagnie; d; ona sekwencyjna maszyna stanowa
Serwis
mo ; e mie9 co najwy; ej jeden stan pocz = tkowy
i jeden stan ko ? cowy
Aby zapami@ taA aktualny podstan obiektu
po opuszczeniu uB ywamy stanów
wznowienia (pC ytkie
i
gC @ bokie)
ò ó ô õFó:ö ÷ ø ö ùLúûø úFü ø ùPýQú þSùPó:ö ùQÿ Qõ
¯ °±²³²´ ²µ¶²
Akcje wejÈ ciowe (ÉËÊÍÌÎÏ ) i wyj Ð ciowe
•
( ÑZÒSÓ Ô ) - wykonywane zawsze, gdy
przyjmowany / opuszczany jest stan; w
zasadzie nie mogÕ mie Ö argumentów ani
warunków dozoru
Przej × cia wewnØ trzne - do zdarze Ù
obsÚ ugiwanych bez wyjÛ cia ze stanu;
ilekroÜ zachodzi zdarzenie to skojarzona z
nim akcja jest realizowana bez
opuszczania stanu (nie s Ý wykonywane
•
akcje wyjÛ ciowe i wejÛ ciowe)
ï ledzenie
•
•
Walidacja
[kontynuacja]
Wybieranie
Realizacja
[not kontynuacja]
Drukowanie
•
entry / odczytajKartD
exit / wysu ? Kart D
±¼z½¿¾À
Czynno Þ ci - bed Ý c w jakimÛ stanie
obiekt moß e realizowaÜ pewne zadania
aß do chwili zajÛ cia zdarzenia; sÚ owo
kluczowe à>áLâSã sä uå y do wskazania
prac wykonywanych w danym stanie
od chwili zako æ czenia akcji wejç ciowej
(moå e to by è uruchomienie innej
maszyny stanowej lub cié g akcji,
rozdzielonych ç rednikami)
Zdarzenia odroczone - lista zdarze æ ,
których zajç cie w stanie jest odroczone
do czasu, aå stan, w którym nie s é
odroczone, siê uaktywni - dopiero
wtedy te zdarzenia powoduj é przejç cia,
jakby wä aç nie zaszä y; zdarzenia takie
oznacza siê specjalnym rodzajem akcji
ëLìZíPì:î
oqprk&s-t
Umo{ liwiaj | tworzenie dwu lub wi} cej
maszyn stanowych, dzia~ aj| cych
równolegle w ramach jednego obiektu
Czynno ci podstanów wspó~ bie{ nych
przebiegaj| równolegle i ostatecznie
ka{ da z nich osi| ga swój stan ko cowy;
je { eli jeden dotrze do swego stanu
ko ca wcze niej to czeka na pozosta~ e i
dopiero wtedy nast} puje po~ | czenie
przep~ ywu sterowania
Zagnie{ d{ ona wspó~ bie{ na maszyna
stanowa nie ma jako ca~ o ani stanu
pocz | tkowego ani ko cowego;
natomiast mog| je mie sk~ adowe
podstany sekwencyjne
u v$w x
£ ¤ ¥ ¦ §¨ ©ª«
y z)x
Oczekiwanie
kon
ser
wuj
Konserwacja
Testowanie
Testowanie
urz dze
Autodiagnoza
Przyjmowanie zlece
Oczekiwanie
E F G HIFJ K L J MONPL NIQ L MRSN TUMFJ MSV WXHIY
ù
Áº²Äà ÅÇÆ
F: L F P SP: QFZ¡>¢
hijklmn
ObsC uga
±·r¸¹º·»
entry / ustawTryb(szuka)
exit / ustawTryb(nieSzuka)
nowyCel / celownik.Rozpoznaj()
do / ð ledñ Cel
autoTest / defer
[ \ ] ^ _ `a b<c>d
H*
¢¤£ ¥
•
!"$#&%'"$)(*&+,-"
Podstany sekwencyjne dziel . przestrze /
stanów stanu z0 o1 onego na stany
roz0 . czne
H
•
­ ®
Wykonywanie
polece
naci ni toKlawisz
Z[\
M _ ` acb dfecg
] ^
ÝßÞ à)á¨â©à¨ãåä*æ©àç)è)éëê¤ìâîí*ïð ñ à)ò
¦¨§©¥¨ªr«!¬­¥®-¯-°
ó ô õOö ÷ ø ùúüûú,ýþcÿ ú
þú
ùú
• Przedstawiaj± maszyny stanowe z uwypukleniem przep² ywu sterowania
mi³ dzy stanami; pokazuj´ jak zachowanie obiektów zaleµ y od kolejno¶ ci
zachodz · cych zdarze ¸
• Zawieraj¹ :
– stany zwykº e (proste) i zº o» one
– przej¼ cia ze zdarzeniami i akcjami
• Najcz ½©¾ ciej wykorzystywane do modelowania obiektów reaktywnych
(sterowanych zdarzeniami - ang. event-driven)
– zachowanie obiektów reaktywnych jest najlepiej charakteryzowane przez ci ¿ g
odpowiedzi na zdarzenia wywoº ane w jego otoczeniu, przy czym obiekt taki jest
zwykle bezczynny do chwili zaj¼ cia zdarzenia
– reakcja na konkretne zdarzenie najczÀ ¼ ciej zale» y od wcze ¼ niejszych zdarze Á
– nacisk kº adziony jest na stany stabilne, zdarzenia uruchamiaj ¿ ce przej¼ cia i akcje
wykonywane po ka» dej zmianie stanu
I O I X U X X
Â Ã Ä ÅIÃÆ Ç È Æ ÉOÊËÈ ÊIÌ È ÉÍSÊ ÎUÉÃÆ ÉSÏ ÐXÅIÑÒÓÔ
Õ Ö É × Ø ÙÚ ÛfÜcÚ
¡
3
576 8:9<;=8<>@?A=8CBEDEFHG7IJ;LKMON P 8:Q RTSU
V W=X=WZY [ \W=] ^Z_`1a b c=dZeZf ghjilk m nTo=p*qOrLs=n*p*tZu=v spLwv t=xys{zt|
­¯®°²±:®<³E´C³:µL¶¸· ¹º±C»{®¯¹½¼E¾O¿À´C³<Á ´
Akceptuje komunikaty w postaci: }~} : yT=j}jT= "
gdzie napis_1 - znacznik a napis_2 - tre komunikatu
"! #" $ %&'"(*)
+ , - . /10 2314
• Komponent to fizyczna, wymienna czÂ{Ã Ä systemu, która
wykorzystuje i realizuje pewien zbiór interfejsów;
na diagramie przedstawiany jako prostok Å t z bolcami
• SÆ uÇ Å do modelowania elementów fizycznych, które mogÅ byÄ
umieszczane na wÈ zÆ ach; s Å to m. in. programy wykonalne, biblioteki,
tabele, pliki i dokumenty
• Komponent to fizyczne opakowanie bytów logicznych takich jak klasy,
interfejsy i kooperacje
• NazwÈ komponentu podaje si È zwykle w formie krótkiego rzeczownika
lub wyraÇ enia rzeczownikowego, pochodzÅ cego ze sÆ ownictwa
implementacji; nazwa komponentu obejmuje teÇ rozszerzenia pliku,
zaleÇ ne od systemu operacyjnego (np. .java czy .dll)
" " *¡¢1£
¤ ¥ ¦ § ¨L© ªZ«T¬
äEåæ²ç:å<èEéCè:êLëíìOì èEêéCî{ï{éyðñë
ä¯åæ²ç:å<èEéCè:êLëíìOì è:êZéCî{ï{éjðZñë!
• Interfejs to zestaw operacji, które wyznaczajò usó ugi oferowane przez
klasô lub komponent
• We wszystkich popularnych udogodnieniach komponentowych (np.
COM+, CORBA czy Enterprise Java Beans) uõ ywa siô interfejsów do
ó ò czenia komponentów
• Umoõ liwia to podzielenie fizycznej implementacji na czô{ö ci: okreö lane sò
interfejsy, które reprezentujò podstawowe szwy w systemie; dostarczane
sò komponenty realizujò ce te interfejsy oraz komponenty, które
korzystaj ò z usó ug przez te interfejsy
• Interfejs realizowany przez komponent nazywamy eksportowanym
(komponent udostô pnia usó ugi innym poprzez ten interfejs); komponent
moõ e mie÷ wiele interfejsów eksportowanych
• Interfejs z którego komponent korzysta nosi nazwô importowanego
(komponent jest zgodny z tym interfejsem i na jego podstawie buduje
swoje usó ugi); komponent moõ e korzysta÷ z wielu interfejsów
importowanych
• Jeden komponent moõ e zarówno importowa÷ jak i eksportowa÷ interfejsy
• Istnienie interfejsu pomiô dzy komponentami rozbija ich bezpoö redniò
zaleõ noö ÷ (komponent korzystajò cy z danego interfejsu bô dzie dziaó aó
poprawnie niezaleõ nie od tego, jaki komponent realizuje ten interfejs)
• Interfejsy õ yjò ponad logicznymi i fizycznymi granicami (interfejs
importowany (eksportowany) przez komponent jest takõ e uõ ywany
(realizowany) przez
klasy implementowane
w komponencie
É Ê Ë ÌÊÍ Î Ï Í ÐÑÒÏ ÑÓ Ï Ð"ÔÑ ÕÐ"ÊÍ ÐÖ ×ÌØÙ"Ú*Û
Ü Ý Ð Þ ß à1à áâ1ã
ø ù ú ûùü ý þ ü ÿþ þ ÿ ÿ"ùü ÿ û
ÿ %'&Eñê ( )!*,+$-/.10324)3.!576 .98:6 ;=<>.@?BA1C'6 0!2@D03;3EF.
sBt@u@vxwxyz4{>t}|~tB3zFL!
• Wszystkie udogodnienia komponentowe maj G za zadanie umoH liwienie
zI oH enie systemu z cz JLK ci wymiennych na poziomie kodu binarnego;
oznacza to, H e moH na zbudowaM system z komponentów a nast J pnie
rozwijaM go poprzez dodawanie nowych komponentów i wymianJ
starych
• Komponent - fizyczna i wymienna czNO P systemu, która wykorzystuje i
realizuje pewien zbiór interfejsów
– fizyczny - istnieje w Q wiecie bitów, a nie pojRS
– wymienny - mo T e zostaS zastU piony przez inny korzystaj U cy z tych samych
• Komponenty wdro enia - niezb dne a zarazem wystarczaj ce do scalenia
dzia aj cego systemu, takie jak biblioteki dowi zywane dynamicznie (DLL) i
interfejsów
– czRQS systemu - rzadko wystR puje samodzielnie; wspóV pracuje z innymi
komponentami i w ten sposób wplata siR w otoczenie architektoniczne lub
technologiczne; jest fizycznie i logicznie spójny - strukturalna lub czynnoQ ciowa
porcja systemu; potencjalnie wielokrotnie wykorzystywany w wielu systemach;
reprezentuje podstawowyø ù blok
ú ûùü konstrukcyjny
ý þ ü ÿþ þ ÿ" ÿ"ùü ÿ" û#
ÿ $
pliki wykonywalne (EXE);
Definicja komponetu w UML jest na tyle szeroka, e dotyczy klasycznych modeli
obiektowych (np. COM+, CORBA, ...) a tak e innych jak dynamiczne strony
WWW, tabele baz danych oraz programy wykonywalne korzystaj ce z
nietypowych mechanizmów komunikacji
• Komponenty procesu wytwórczego - powsta e w trakcie opracowywania
oprogramowania,
sk adaj ce si z takich elementów jak pliki z kodem
ród owym i pliki danych na podstawie których generuje si komponenty
wdro enia. Nie s one bezpo rednio sk adnikiem dzia aj cego systemu: s
produktami opracowanymi w procesie wytwórczym, niezb dnym do utworzenia
systemu wykonywalnego
• Komponenty wykonania - powstaj w wyniku dzia ania systemu, np. obiekty
COM+ adowane z DLL W X Y ZX#[ \ ] [ ^_`] _a ] ^b_ c^X#[ ^d e"Zfghi
j k ^ l m no pqr
4
¬®­@¯@°'± ­!²/³F´Bµ °=¶B± µ ·¹¸²º²¼»@·>­'´½»²/³'± ´½»3¾À¿1µ3Á'µ Á'± µ ­!ÂL°'·
• Jeà eli system skÄ ada siÅ z wielu plików wykonywalnych i licznych
bibliotek obiektowych to przy uà yciu komponentów moà na zobrazowaÆ
decyzje projektowe dotyczÇ ce systemu fizycznego
• Rola tego procesu jest jeszcze wiÅ ksza, gdy chce siÅ panowaÆ nad
wieloma wersjami systemu i zarzÇ dzaÆ konfiguracj Ç jego skÄ adników
• Zobrazowanie zaleà noÈ ci miÅ dzy
komponentami jest w istocie
skróconÇ formÇ przedstawienia
prawdziwego zwi Ç zku (komponenty
zwykle sÇ niezaleà ne, jedynie
importujÇ interfejsy eksportowane
przez inny komponent)
# " # " "#¡¢
£ ¤ ¥ ¦ §¨ ©$ª«
宿@ç@èBé æ!êìë@íBî è:ï$ëFðè9é ñóòBé î ô¹õêöîÀçFæ'ô7÷Bøùè@í3ï$õ3ê
• Istniejú inne rodzaje (niû programy wykonywalne i biblioteki) pomocniczych komponentów, które sú niezbü dne w dziaý ajú cym systemie
• Ský adnikami implementacji mog ú byþ np. dokumenty pomocy, skrypty
oraz pliki dzienników, inicjalizacyjne, z danymi,
instalacyjne i z procedurami kasowania
• Modelowanie takich komponentów jest
istotnú czü ÿ ciú procesu zarzú dzania
konfiguracjú systemu
• Najcz üLÿ ciej wystü pujú cymi zwiú zkami
pomi ü dzy komponentami pomocniczymi
i wý aÿ ciwymi s ú zaleû noÿ ci wskazuj ú ce
wpý yw potencjalnych zmian
É jednego
ský adnika na drugi
Ê Ë ÌÊ#Í Î Ï Í ÐÑÒÏ ÑÓ Ï ÐÔÑ ÕÐÊ#Í ÐÖ ×"ÌØÙÚÛ
')(+*+,.- (0/21+3.4 ,54 376%,98;:<,>=%?A@CB98D(+E.8<1.FG(0/H,IE9(KJ<LNMPOQ
• Programista buduj R cy system z gotowych komponentów musi znaS ich
interfejsy programowe, umoT liwiajR ce U R czenie ich ze sobR .
• Interfejsy te reprezentujR szwy systemu, który modelujemy za pomoc R
interfejsów i kompoonentów
• Operacje wchodzR ce w skU ad niebanalnego API, s R zwykle bardzo
liczne; ich listV warto zapami V taS wewnR trz modelu i uT ywaS interfejsów
jako wygodnych uchwytów, za pomoc R których moT na mie S dostV p do
tych zbiorów operacji
• NaleT y obrazowaS jedynie te
elementy interfejsu, które sR
istotne w danym otoczeniu
¡£¢9¤D¥0¦¨§7©uª¬«u­.® «C¯°¦
')(+*+,u- (0/H193.4 ,Kv>(+*.@
• Do zarz dzania konfiguracj
i kontroli wersji u yteczne
s metki okre laj ce
np. numer wersji, autora
lub informacje dotycz ce
pobrania
W X Y ZX[ \ ] [ ^ _`] _a ] ^bc_ d^X[ ^ce fZghi"j
± ª ² ³
ÜÞÝàßDá
" %"
{ |0}H~I9|
• Graficzne modelowanie kodu ród owego jest szczególnie u yteczne do
obrazowania zale no ci kompilacyjnych mi dzy plikami
• U atwia to panowanie nad podzia em i czeniem grup tych plików, gdy
konieczne jest np. rozwidlanie i scalenie cie ek procesu wytwórczego
"! #%$"&
• Wszystkie komponenty systemu informatycznego s´ wdraµ ane na
sprz ¶ cie komputerowym - niezaleµ nie od tego czy napisano je od nowa,
czy wykorzystano od nowa => SI ze swej natury obejmuje zarówno
oprogramowanie jak i sprz ¶ t
• Opracowuj´ c architektur¶ SI naleµ y rozwaµ a· zarówno wymiar logiczny
(klasy, interfejsy, ...) jak i fizyczny (komponenty reprezentuj´ ce fizyczne
opakowanie bytów logicznych oraz w ¶ z¸ y reprezentuj´ ce sprz¶ t na
którym te komponenty s´ posadowiane)
• W¹ zeº to fizyczny sk» adnik dzia» aj¼ cego systemu; reprezentuje zasoby
obliczeniowe; ma zwykle pewn ¼ ilo½;¾ pami¿ ci i zdolno½D¾ przetwarzania
• W¿ z» ów uÀ ywa si ¿ do modelowania uk» adu sprz ¿ tu komputerowego, na
którym dzia» a system; zwykle reprezentuj¼ procesory lub urz¼ dzenia, na
których wdraÀ ane s¼ komponenty
w x<y0z
Ü Ý Ð Þ ß à#á âãä
•
•
•
•
•
k l ^ m n o"p qsrtp
â ã+äàå ã
Wæ zeç przedstawiany jest w postaci szeè cianu z nazwé (prost é lub è cieê kowé );
zwykle symbol w æ zç a zwiera jedynie nazw æ , ale mog é byë metki i dodatkowe
sekcje
Stosuj é c stereotypy modyfikuje
siæ ten symbol, aby wyróê nië
specyficzne rodzaje procesorów
i urzé dzeì
W praktyce nazwí podaje
sií na ogóî w formie krótkiego
rzeczownika lub wyraï enia
pochodz ð cego ze sî ownictwa
implementacji
Wí zî y mogð mieñ egzemplarze
Zbiór obiektów i komponentów
jednostk ò È Ö × Ø;Ù ÚsØtÛ
Á Â Ã ÄÂprzypisanych
Å Æ Ç Å È ÉÊÇ ÉË Ç ÈÌcÉ wÍí ÈzÂî Å owi
ÈcÎ Ïnazywamy
ÄÐ
rozproszenia
ÑÒ"Ó
Ô Õ
5
"! #
PRQTSTU"V QXWZY\["] U_^\`aQTbcUedfQ `hgiWj]ik\`al m STlfU n
Najcz$% ciej wyst$ puj& cym
zwi & zkiem pomi $ dzy w$ z' ami
jest powi( zanie, które w tym
przypadku oznacza po) * czenie
fizyczne (np. sie + Ethernet,
) * cze szeregowe lub wspólna
szyna)
Powi * za , mo- na u- y+ te- do
modelowania po) * cze ,
po . rednich (np. komunikacja
• Aby rozró- nia + rodzaje po) * cze , (np. sie+
satelitarna mi / dzy odleg) ymi
Ethernet od ) * cza szeregowego) warto u - ywa+
maszynami)
stereotypów dotycz * cych powi * za ,
W przypadku powi* zania
• W/ z) y mog * by+ równie- po) * czone zwi* zkiem
w/ z) ów (analogicznie jak dla
uogólnienia, aby pokaza + ogólny opis w/ z) a z
powi * zania klas) mog* by+
jego specyficznymi wariantami
wykorzystane role, liczebno .+ i
ograniczenia
ó ô õ öô÷ ø ù ÷ ú ûüù ûý ù úþû ÿúô÷ ú ö
ú •
•
•
TT XZ\" _¡he¢¤£T¡hT¥¢f §¦e¨¤©«ª¬®­¯£i"XTi°±X
•
•
•
Modeluj² c uk³ ad systemu, mo´ na zobrazowaµ fizyczne rozproszenie jego
komponentów po procesorach i urz ² dzeniach wchodz ² cych w jego sk³ ad
Komponent zwykle jest przypisany do jednego w ¶ z³ a ale mo´ e byµ te´ umieszczony na
kilku (np. specyficzne programy wykonywalne i biblioteki)
Po³ o´ enie komponentów jest zwykle obrazowane przez ich wymienienie w dodatkowej
sekcji symbolu w ¶ z³ a
•
•
•
•
Standardowe konfiguracje: wolnostojo cy komputer, system wbudowany, system
klient-serwer i system rozproszony
Procesor to wp zeq , który ma zdolnorOs przetwarzania, czyli mot e realizowas
dziaq ania komponentów
Urz u dzenie to wv zew , który nie ma zdolnox ci przetwarzania (lub nie jest ona
modelowana) i zwykle
reprezentuje sprzv g
ze x wiatem zewnv trznym
Stereotypy mog y i powinny
sw uz y{ do specyfikowania
nowych typów procesorów
i urzy dze| (wprowadzenie
specjalnych symboli
graficznych)
0 1 2 3415 6 7 5 8:9;7 94< 7 8=>9 ?@815 8>A B34C DEF
G H 8 I J KK LMKON
¸e¡h¢¹¦Tª º e«® i»®¡¼"­¾½«ªc®­¾£i"e\i°h±X
¿¤ÀÁÀ¬ÂO¼à ÄÅ
ÆÈÇcÆÈÉÊË
Ì ÍÎMÏ ÐÑaÒÓ Ô ÕMÖ × ØaÙ ÚÛcÜ
Komponenty nie musz ²
by µ przypisane do
w¶ z³ ów na sta³ e
(mo´ na modelowaµ
dynamiczn² migracj ¶
komponentów mi ¶ dzy
w¶ z³ ami, np. w
systemach wieloagentowych)
} ~ 4~ : 4 @~
øeùhú¹û\ü ý þeÿ«ÿ þ ùaþZÿ®ù
û
þXú } ~ 4~ : 4 > @~ > 4
· MO
øeùhú ûTü ý þiÿ«ÿ þ ùaþ ÿ ù# þXú- .\ú /0 þ\ù¼úû
!#" $&%
')(*')+ %,
12 3 " $&%
')(*')+ %,
Ý Þ ß à4Þá â ã á ä:åæã å4ç ã äèå é@äÞá äê ëàìíî ï
ð ñ ä ò ó ôõ öô÷
Ý Þ ß à4Þá â ã á ä:åæã å4ç ã äè>å é@äÞá ä>ê ëà4ì íîï
ð ñ ä ò ó ô÷ öMôO÷
6
NO1PRQTS U V W XZY []\_^+U_` O@a"S1b"c
±J² ³ ´o²µ ¶·Zµ ¸º¹»´½¼¾¸¿¸ À
ÁGÂJÃÄ8ÅÆÇ ÈLÉJÊ ÆTÇ ËÇJÃ%ÌÍ½Ç Ã ÄLÊ ÃÇÇKÆÊ à ÄKÎ
Ï Ð Ñ Ò Ó%Ñ>Ô Õ>ÖÔ ×0ØÙÓÚ×ZÛ%× Ü Ý Þ ßáà%â ã>äâ ãZå1ã(æZç èé ãê@ë ì í î1ï ðå"ñ ë ì ë ò åRó+ñ ô å1ë(æ"õ1ê1ö-å
äZíZå@õ1÷Zø@ñ ó8ëæ(ñ ãùúâ ã(äâ ã"å"ãæ"ç í"óÙëæñ ã>ù<úZë(æ"ë(û ñ å ô ñGå1ë(â å ô ðZå1ë(æZñ ã(ùó8õ"ù-ë"ü(ë(æ(ñ ë(ùñ
óâ ë(ù-ëZê"ö<ø@íæZç ã(øG÷"ç è0ó8õ@å"æZëêRå1í>æZãZü(íäâ å1ãZå0êRõ"ø"û ý õ1ê1ñ ë<÷@õ@÷@ç ã(ù<è<ñ æZþ ÿ
! " #%$ & ' ( # $ *) + #"
-,. " / " %0 # # . 1 # . #-0 # ! 2 0 $ 1 # 3!4! 5%
! - # " 6/ . #" " 4( # $ " 6 ## /0 # " $ 5" $ " ( 2 ' #! #% %7 #-( 3 % #
8 2 !%((# 2 #/(! % # 0 6%- 9 % ' - !/ " #,( #
5 1 #4 #%! # ! :; <=>/ ( #" %? ( 2 !3; #
( 1 #/ 2 !-%!( # /#" ( #/( # " . #6 #"-<=@A " # #4 1
!( #! 0 .% 9 5 0 #6 1 6 #" #-%#/ 2 !/#" ( #
( - 4% 1 #/ ' .#"< B <C " # #D
E# #/ #" $ (# 0 " $%5) F # " " ! # ( #" # -
6 " # #G " # 7 H 2 >( (! %! 1 ( #" $ >! # (( % #7 # " " /-0 # 1 ( !# # 2 ( # " $
"! #%$
&(' ) *+'-, .0/1, 243*+56287+2 9
:<; 24=>*8=?@.+5BA83C, 'EDGF-/1562E?G*EHJIK'L*EHLM
deZfZg@hi+f j kGl1monRhp
q(r@s>tTuKv>w(x
yRz {|G} ~1{s(@yT} } q1 (} |R~ >T r@s q"~
q |G@|@@rRGL q@ (} |G~ >TrRs q~ J{s(Ry]
N+T\ U81 "E `_RQTUG[]_Q_X(
JLK ·"¶ M N ¸½²µ ¶ ¹4´¼¾¸¿¸ À
1 TT T¡ _¢ £%_R ¤ ¥%¦@§_¨G©
O3- -#0 $*0 #" // #" #
6 .#" #% " #/
(# #/ - #%" % #0 $
PQ0 #- "- !!- 2 ! # #6 #
6 % -( # # 0 # #
6 %#0 $ R% # 0 #6 - 9 0 # 1 / # '
/( #5G " $ S 0 #" .( $0 #
-0 " - " #% $-.% 9
!.(" % - #0 ±Qy¶·@¸>t´^z²Ys M4{
o ·qpYr²Ys M t0µ-¹us K ·@¶ M N ¸½² µp ¹4´o¼ ¸¿o¸ À
PQ0 #- "% # - 2 # #! 2 ! #& ( $% - ' 2 1 #4#-0 #, #0 #
0 # " %.0 #/% ' - " #/
#0 #%( $
vV 1 #/ " # " #
( # #0 / 1 " $5" $ #0 #
" %( ##, $ 1 1 " % ( 2 - . ' " # 0 3 $ " % ( 0 #% OU0 ## ! 1 " "
" / # , 2 0 ##- !$ = #" #
!# ! 50 #/ #% #4( " 7 -
2 #/( # ! # ' ( " # ( 2 / 1 " $
WYX Ö ZÛ%Ö ×Ú>Z(Ø-×>Ñ>Ô Õ
[\^]_3[3]` a b [a
c \d^ef/g a[3g a
` c aj-\ f\[-a
hi k c e l ]g m
i
R%( - -% .- #/%-%$ # #%@
# ( #! " "-0 " $T( 2 1 " , # ! #/! 1 #
- 1 . # #% " % 0 # " R%( - -% .- #/ .#/@U " V # %" "( " # 0 0 #" -
%# (# " - %!#! #! @ %_T T¡ _¢ £%TR J¤ ¥¦R§_¨R©
ª« ¬ ­ I ¯+®G°
<V " ! # . ' .%- 5 " $- 1 " #/ !/? ( ! " !/(6" .- ^0 6T(#7 D
wV " /( % / 5
" $ #% ( .!- #( .! # #
" #-( " # -0 " $x #( $ 2
wV -( $ #% 2 " ' ( #0 # 0 #
( #! . / #%( 6
# #%( # " #
1 TT T¡ _¢ £%_R ¤ ¥%¦@§_¨G©
|C}*~>xx L* >G
ª_« ¬ ­ n ¯0®]°
G+YS }> +> |Y} "!$#3}F> % +!q
ª+«6¬A­¨q®U¯Y°Q®
 ¸ ÂQÌ ¹ µ À ¤4· ¾¥ ¦¿U§V ¨A© ¾ ¼ ´ µ Â Ì ¶q¹
´ Å ¾ ¾µ пU¿3¹ ¹ Ï ¹ ÅÆ µ µÅ¶ Æq¿3Á µ ƹ  ºÀ À ÃU¹ ƹ  ¹ Â È ´ Ò ¾ ¼ ÌÀ ´ ·¸¾  ¾ Ð ÃAÀ Á Ó ¹ ¿¸ Õ ¾ É Æ ´ ´ Æ µ À Ï ¹ Å Á µµ ÆÂ ÀÀ ¹¹ ÂÆ
Ë ÃU´ ¾¾ Ì ¸¸ ¹Â ¿-Ã3¾ ¶AÐ Á Å ¹ ¾Q¹ ¾ ´ ¾É µ ´Í Æ¿UÎ À ¹ Ï ¹ Á µ µ Æ Â À À ¹ ƹ Æ
Ñ
Ä
Î »
Í
Ô ¼ Â Á Ö À ¾ ¸ ¾ ÎÍ É Î ¹ Æ Í
¸ Â Á Â À ¹ ¾ Å Æ ¿-Á ¶
´ ½ ¾Æ×·¸ ¹ µµ À ¾¼ Æ¿-¸´ ¹ ¶¼Æ ¶ µ ¸ Á À¶ ¶ ¾ ½ о Ø Õ
Ä
A
Ô
±-£ ¢ £ ¢ ²
Í Q
¢ ¶ ¼ ½ ¾ ¿3³ ´À µ ¹ Á¶ ¶U· µ · ¸ ¶¹ · ¼  à 6 ¡ ¢ ¾ ½ ÃAÍ Â À ¼ Æ Á È Æ - /¢ £ £
Ç ¿¶º ÃUÆ É Æ Ê
º»
º
ÙVÚ Û ÜUÝ-ÞßÜàß á âã-Ýä-åæÛ ÝÞ ÜUç ÜUãÛ Ü=èé-ß/Û Ý-Û ÜAÝ&êä ë ìâUÛ Ý-Þ ÜQç Ü3ãéß/â3Ý-äí âUî é ï ð-Û ñ éAîç Ü ï Ú éQÝäð-ò
ß%äåàâ3ó3â ô ÛÛ ð-ò4Ü-ß%ÜAÝÞ õ3â3Ú Ý ñ å^é-öUä÷ Û î â-ðí ñ øó3ö-äàõ3Ú Ü3ó3â í ñ éQÝÜ&ì-å&Û âUÝ-Û Üàßðìâ-ãÛ Ü
@ %_T T¡ _¢ £%TR J¤ ¥¦R§_¨R©
ª_« ¬ ­ ® ¯0®]°
ª« ¬ ­ ¨ ¯+®G°
* .,+ . - /0 1234657 839 / :;
6')( < = %
² ( > + £ </ ? ² :
( @ 6 @ 6 A£ ?
% ( ? - ² ("( ( £ ¢ ² %
<£ ? 6 A/ = ? B %B
( ¢
& CD( £ ? B ¢ B% . @ @
- £ ¢ ² =- ² (
¢ -S% / - E
&
F G H I JKL M NPO QO JR JS O JH TN)UO Q M NPVPW O H XPY
F L Z [ \ ]^YPW O UVUL TN_J `6S TU^M H TR VPTK$L M H TU^Y
][K \ JM [$GH T a JS M [
F S^O JH TN)UO Q YPIVO U^M JH JL TN)VUYQ b KI^O V Z cN
F GH I JKL M V^N)O QO JR J [ \ Y M S TN_UO S cN
S T d Q^TNeY^Qb
&
6 @ £ ¢ ² G = ? B
B ( / ¢ £
' ?
F f H cK Z VN_O JKI YPT H TI N)O g I Y^N_VU^YX
GH T]R JXO JGTKQ^I VLPI^]O JH VUO V
NeYXVhV d
F H JGH JI^JU^M VUQO NiS TXO M JQ O JG^H T a JS M [
F TQ JUO V a g Q YGH TM T^M YGY
F M JL M [ a g Q YI^VGH TG^TUTN)VUJ H TI N)O g I^VUO V
F L^I^S TR JUO GTKQ IVL_NeKH T \ JUO V
F S T d Q^TN)O [ \ Y M S TN)UO Q YUTNeJhT$L YL M JX[
ù ú û ü ú3ý þ ÿ ý ÿ ÿ úý .ü
e> . )¡
¢
¢
¢
¢
¢
åËçæ"è>
£¤)¥¦ §_¨ ©
ª «¬­¬®¯6°6± ²³ ®µ´ ¶ ·¸ ®­¬²¹º®º«¸ » ¼²®^½¾ ¹¬³ ®6¿¼À¬º$¹6± ¹"²¹"¼À¬²¹6²³ ®"ÀÁ ¯6¹6²³ ¬¹­ ½ ³³
± ®6¼«¬®"¼Á ¬·¯6À¸ Àº ¹6²³ ®,«³ » ÂÀ"³ ²²·­Ã¸ ®­Ã²³ Ä
Å"ÆeÇÈÆeÉËÊÌ)ÉÍÊ6ÉiÎ ©_ÏeÊ
ª ¼À«¸ ¹º$Àº$¹Ð¾ À6Á Ñ,¹Ò´6ÑÐÀ ¶ ± ³ º$³ ¹,«¬·ÓÄ Ô Á ®6¹6Ä­ ½ » ²¹"´¬·«Ä³ º$¹²®"³ ²¾ ÀÁ Ñй­ ½ ®ÐÀ6Á ¹¬
¼À¬º$¹6± ¹µ²¹ÐÂÀ6Ä Õ ¹Â6²®"Á À¬¼Á ¹­Àº ¹6²6³ ®"³ ²¸ ®6Á ®«´ ½ Ô ­·­Ã¬¹¯¹Â6²³ ® Ö Ò
ª Ñ,À ¶ ®"Ó· × ½ ®Â6²¹6Ä ­¬¹«À­Ã Õ À6²²¹"³ÄÀ«¬¸ Àº$²¹
Ø ÙÚ.¤)¨ ÉÍ©_ÛÜ ©
ª Ó®¬¼À Ý Á ®Â²³ ¹º®6Á ·¾ ³ Ĺ­ ½ ¹"³ ²¾ À6Á Ñ,¹­ ½ ³ ¬Ð³ ²6²·­Ã Þ Á °Â® Õ Ò´Ñ,À ¶ ± ³ º,³ ¹,«¼6Á ¹º$¬®6²³ ®½ ¹6Ä
²¹¼6Á ¹º$ » ¼Á ¬®Ó³ ®¯6¹^½ Ô ¼Á À6­®«·¹"²6³ ®,¸ ·± ÄÀÐÀ6¼³ ®6Á ¹6²6³ ®,«³ » ²¼ß²¹"Á ®6± ¹­ ½ ¹6­Ãм6Á ¹­ß
ਠá Ù_¥6ÆeÉÍ©)â)Î ¤ÏeÆ)¥§_Ȥ)⦠á.É
ãµâ_¥Î ¤¦ ÆeÉÍ©_â)Î ¤
ª ´¬·«Ä¹6²³ ®"³ ²¾ ÀÁ Ñ,¹­ ½ ³^ÀÂ"¬²¹­¬²®^½± ³ ­^¬Ó·À«°Ó6¿º«¼À«°6Ó¿Ä^¸ °6Á ·,¼À¬º ¹6± ¹"²¹Ð¹6²¹6± ³ ¬ »
«¸ ¹¸ ·«¸ ·­¬² Ô
k l m nlo p q o r stq su q rvs w rl6o r,x y$nz6{|6}
~^ r
>ÍæË
Á ¬®ÂµÁ À¬ÑÐÀº Ô ÿ
! #" #! $ !
&%! " %' ( ! )* +#! ! , &-#. /012! ! 3 1" 045
# " 6 . ! $ #0 $ 7*. ! 2" #048
- %" 9$ 20 : %# # ) 01! )
$ " + 3 /$ #2$ &01$ 7/ $ #. ! +#0;4! 3 ! #! 7%" < ! . ! $ 3
% $ = 7#> > > ?
@ ¹6Ñ,¹ËÁ À¬Ñ,Àº$¹ÿ
&%;! ##! +2! : %#/ $ /##. 6 7
! 1#%#0! ! 3 %" # $ 2! 7 $ " ! 3
$ ;" 01! A < $ 04# B " 3 7# 2 /#" 0;'5 ?
æ ç_
k l m nl.o p q o rstq su q rvs w rl6o rx y nz{|}
K M LµN
Íç
O À6¬¹^½ ®.ÿ
B " 04&. 1: $ #! 1" ' , +4$ # +#! %&04! " +?
! B #" 01#. C*$ #! 4$ " $ : %#>#D8. #9E#?* ##
% ) # #7#04#B ! 2;F" ! %$ " &-
! #" / )&" #0; < 7##. /#! )*%" " #! / , 2 )#$ " 0! &. 9#! ! " 0;'5 7#! 1/#2 )
G & %" $ 115 $ ! 9H
%" 6 18 ) 6 ! &! ;F%" %# /! ) 6 !
" ; %#! 1#/04#$ 'I $ '#" +0;'!
" #04'5
$ " )*! 3 " ' , ! B # $ ;#%#! #!
! 45" , )& A +;&%! !
À"Á À¬Ñ,Àº³ ®ÿ
P ®± ®"ÀÓ«®6Á º¹­ ½ ³²³ ®¾ À6Á Ñй6± ²®^½ ÿ
/ #! 9#'&. 9#1#-" /
& " ! %$ # ) &. +;& %" $ 'F: '# 0%$ &$ +1! $ " $ +?
%" #-! 9 %" $ 2" #! 1 ;! < #92#0
& /#04#$ &0 : %# < $ /4#1 = ?
-" #! ##+! . 6 ! 5+
8 " ! ! < '
! ##$ B ! #! 101 , . ! 5+4 A ' = " " & ) !; $ /# ) #! $ %5
04! ;I#-! <, &! /1%" <
049# ;#+4QR " $ $ # !
/## /04#$ 2! !/ $ #" ) 1" #048
/ $ &. &! . ! $ ;$ " $ +1%" 5#" B ! ) 1/ +1## +7 A 8 ) 6 #! &! 1%" # 6 !
k l m nlo p q o r stq su q rvs w rl6o r,x y$nz6{|6}
T>NU >æÍ
"
é ©Ü ÛÇ êë Û.Î ¤Üì_¨ Æ.ÉÍ©)ÏeÇÎ6Ï_ÆìÆeÇâe©Pâ_Î ©©)¥¦ §e©)í âe¤Ü)ÚÊ.¦ §e©_ÛÜ Î.î Î Ú.¦ âeÎ ¤Ü ï ÛÊiÚÊÚ¦ ¤_È
Î âð Æ)¨ Èñ©_Û6ÊÜ âÊ.ò óe©)í ¤âeÎ ¤ÏeÆÆP¥¨ ¤ ë í ¤)â_Î ©ÉËÊÈ©eô)© õ ÉiÆ)Ùe¤eÛñâÆÉi¤eô_ÆÚÊ.Ú¦ ¤)Èñ§
à$Æe¦ ¤PâeÛÜ ©)í âe¤ ö ¨ á)Ï ÷ ©É Î ¤)ÏeÇÊÆÆ)¨ ô)©)â_Î Ç.©_ÛÜ ÎÎ^Ü ¤ÜÛ¤)í ©_Û.øÙ_Î Çâe¤eÚ.ÆÉËÊÛ.ø)ù
ú À6¼³ ««¸ Á ´Ä^¸ ´Á ·,À6Á ¯¹²³ ¬¹­· ½ ²®^½
ú À6¼³ «·«¸ ¹²Àº$³ «Ä¼Á ¹­·Ð³ û ± ´ÓÐÀ6ÓÀº$³ Ô ¬Ä°º>¼Á ¹­Àº²³ ݺ
ú Á ° ¶ ²®ÐÂÀ6Ä´Ñ,®²¸ · º$®º$² » ¸ Á ¬²®
ú Á ¹6¼À6Á ¸ · ¬$º$­¬® Ý ²³ ®^½ «¬·­Ã,¹²¹6± ³ ¬
ú ÂÀÄ´Ñ,®²¸ ¹­ ½ ¹,¾ ´6²Ä­ ½ À6²´^½ Ô ­®¯À"À¼Á À¯Á ¹Ñ,Àº ¹²³ ¹
ú ¹6Ä^¸ ·Ð¼Á ¹º$²®ü ý þ ÿ´«¸ ¹º ·¿Á À¬¼ÀÁ ¬ Ô Â¬®²6³ ¹6¿¼Á ¬®6¼³ «· º ·ÄÀ6²¹º ­¬®6¿6ß ß ß
ú ¼± ¹²·Ð³ ²º ®«¸ ·­· ½ ²®¿¼6Á À^½ ®Ä¸ ·¬Ñ"³ ¹6²6¿ß ß ßü ²Àº ®Ðº·Ñ,¹¯6¹6²6³ ¹6ý þ
©eô)¨ Æ ¤)â_Î ¤ù
ú ÂÀÄ´Ñ,®²¸ ·ÐÑ,À¯ Ô Ó· × ²³ ®¹6ĸ ´¹6± ²®µ± ´Ó"²³ ®"À¬º$³ ®6Á ­³ ®Â± ¹ × Á ¬®6­¬·º,³ «¸ ·­ÃмÁ À­®«°º
¬¹­ÃÀ¬ Ô ­·­Ã$ºÀÁ ¯6¹²³ ¬¹­ ½ ³
>æñè
~^ r
b >æ _
V ÉÍ©¦ ¨ ÊÙÊñì_¨ ©)ÛÊeù
6¹ ²¹± ³ ¬¹½ ¹6ÄÀ Ý ­³ Àº ¹XW¯Á À6Ñ,¹Â¬®6²6³ ®"¼´«¸ ·­Ã,À6Á ¹¬$º·¼® Õ ²³ À6²·­Ã,ÂÀ6Ä´Ñ"®²¸ °º¼À­¬¹«
º·º³ ¹6°º³ÀÓ«®Á º$¹­ ½ ³
ú ¹6²¹± ³ ¬¹"³ ± À Ý ­³ Àº$Y
¹ W.«¸ ¹¸ ·«¸ ·­¬²¹Ð¹6²¹6± ³ ¬¹Ð¬Ó6³ À6Á °ºÂÀÄ´Ñ,®6²¸ °
º ZR["º·ÄÁ ·º¹²³ ®
º¬À6Á ­°º³¼Á ¹º³ Â Õ Àº À Ý ­³
\ ¤)í ¤PÈ Ü ¤eÚ¦§Ú¦ ©Pí ¤)â_Î ¤ì_¨ Ç.¤e¦ Éi©)¨ Ç.©)âeÊ.Û.øÏ_©)âÊ.Û.øÉ ìeÆ_ÚÇ.ÛÇ.¤eôPá_í â.ÊeÛ.ø
ì_¨ Æ_Û¤Ú©eÛø ü ¬¹Á °º,²^
À ] Á » ­¬²³ &® _½ ¹6Ä$³¼Á ¬·Ð´ ¶ ·­³ ´"³ «¸ ²³ ®^½ Ô ­·­Ã«·«¸ ®Ñаº$þ ÿ
ú Á À¬¹^½ ®"³Á À¬Ñг ¹Á ·,¹6²·­Ã
ú ³ ± À Ý× ³­¬ » «¸ À¸ ± ³ º$À Ý× ²¹6¼ Õ ·º$´,¹²·­Ã
ú ¸ ®²Â®²­ ½ ®,¬Ñг ¹6²¿º¹Á ¸ À Ý ­³ Ý Á ®Â²6³ ®"³®6Ä^«¸ Á ®Ñй± ²®
ú «¸ À6¼³ ® Ö ¬¹6´¸ À6Ñ,¹¸ ·¬Àº$¹6²³ ¹ÐÀ6Á ¯6¹²³ ¬¹­ ½ ³
ú ¼À¬³ ¹ Õ ­¬¹«´"¼À6Ñг » ¬·Ð¼À«¬­¬®¯°6± ²®"­¬·²²À Ý ­³
ú ³ ± À Ý ­³Ó Õ » °ººÂÀ6Ä´ÑЮ²¸ ¹6­Ã
` ìe¨ ÇÊeìe©_Ï)¥§Ï)¨ ©eÚ.¦ Ê.Û6Ç_âe¤ÜPÇÈÎ ©)â.ÊÚÊÚ.¦ ¤)ȧ_ó©)¥¦ §e©)í â_Î ¤ì_¨ Ç.¤e¦ Éi©)¨ Ç©_âe¤
Ï_Æ)¥§)Èñ¤_⦠ÊñÈñÆeô ï Çeâ©_Û.Çâ_Î ¤ÆeÏ)Ù)Î ¤eô)© a Æ_Ïìe¨ ÆPìeÆ_âeÆÉi©_âÊ.Ûeø
k l m nlo p q o r stq su q rvs w rl6o r,x y$nz6{|6}
~^ r J*J
¡_
± ´«·6ÿ
8 #;;! " 9## 6 / +2
$ #1% '&-1! B #" 0 ) !
0; , . ! 5 6 8 " ! 1 $ / ) !
! $ % +1! 8019& = 7 $ '" +
/ , $ 2! 1! < 6 2! #0!
S ¹¯Á À ¶ ®²³ ¹.ÿ
! 3 6 . /! ! . /-#!- #- #" 20. /-1+/ ) ! 3
! )R#! , 5. %" #-. #0;4$ 12&0!
%" ###. 04!
k l m nl.o p q o rstq su q rvs w rl6o rx y nz{|}
ç2U
~ r ä
~^ r J ñ
ç
c ²Ä³ ®¸ ·« Õ ´ ¶Ô ÂÀ,¬Ó6³ ®Á ¹6²³ ¹,¬¹Á °º$²ÀÐÀ¼³ ²6³ ³ ½ ¹6ij^¾ ¹6ĸ °º
@ ®²«Àº$²®,¸ ·± Ä^ÀЯ6·P½ ®«¸¸ À"²¹¼Á ¹ºÂ » ´¬¹«¹Â²³ À²®
d ·Ñй¯6¹½ Ô ÂÀÓÁ ·­Ã,«¸ À«´²Ä°º¬¹²Ä³ ®¸ Àº ¹6²·Ñгü À6¼Àº³ ®Â6²6³ ¹"Ñ,À¸ ·º$¹­ ½ ¹¿
ú
ú
ú
ú
¹6²Ä³ ®¸ Àº$¹6²³Ñ䫬 Ô Ñ"³ ® × ¸ ® ¶ ­¬¹«Ð²¹"³ ­Ãº ·¼® Õ ²³ ®²³ ®þ
e ¾ ®6Ä^¸ ·º$²®,º«·¸ ´¹­ ½ ³^¬Ó³ ®Á ¹6²6³ ¹"³ ²¾ À6Á Ñ,¹­ ½ ³^¬,Á À¬¼6Á À«¬À6²·­Ã¯6®6À¯Á ¹¾ ³ ­¬²³ ® Þ Á °Â® Õ
ú f ÀÓÁ ¬®,¬¹¼6Á À^½ ®6Ä^¸ Àº$¹²·ÐÄ º®«¸ ³ À²¹6Á ³ ´«¬ÐÑ,À ¶ ®"Ó· × ¹6²¹6± ³ ¬Àº ¹6²·¼Á ¬®¬,ÀÂ6¼Àº$³ ®Â²³
«·«¸ ®Ñº«¼À6Ñ,¹¯6¹^½ Ô ­·
©)í ¤_Û¤)â_Î ©Ï)Æñ©)â)¥Î ¤e¦ ÆÉi©_â_Î ©)ù
ú ²¹ ½ ¼³ ®6Á º«¼Á ®6­^·¬Àº¹ × ¿Â6± ¹6­¬®¯6Àº·«· Õ ¹Ñ·¹²Ä³ ®¸ ·Ð³­¬®¯6ÀЭí®Ñ,·$«³ » ÂÀº$³ ®Â¬³ ® ×
ú ²¹«¸ » ¼²6³ ®"¼6Á ¬·¯6À¸ Àº¹ × ¼·¸ ¹6²³ ¹"ü ²¹½ ± ®6¼³ ® ½.¼6Á À«¸ ®"¼·¸ ¹6²³ ¹Ð¬ º ·ÓÀÁ ®Ñ À6Â6¼Àº,³ ®Â¬³ ¿º
¼Á ¬·¼¹Â6Ä´«´Ó³ ®6ĸ ·º²·­Ã,À­®²º ·ÄÀÁ ¬·«¸ ¹6²³ ®,«Ä^¹± þ
ú ²³ ®"¼·¸ ¹ × À,«¼Á ¹º·,À­¬·º$³ «¸ ®
ú ¼³ «Ñ,À"¼Á ¬®º$ÀÂ6²6³ ®Ðü ­®± ¿Â¹¸ ¹,¬º$Á À¸ ´þ
ú º ¹Á ¸ À"¼Á ¬®¸ ®«¸ Àº ¹ × ²¹º«¼° Õ ¼Á ¹­Àº$²6³ Ĺ­Ã
ú ²³ ®,¬¹6²³ ¶ ¹ × ÄÀ«¬¸ °º¹²Ä³ ®¸ Àº ¹6²6³ ¹
k l m nl.o p q o rstq su q rvs w rl6o rx y nz{|}
~^ r J ñ
ú
j
Y
8¼*Á ¼*ÄY¿
Â*Æ ¼#Ã1¼ &Á
¼RÀ*Á Â »2¼N½*¾ ¿Y¼RÀ*Á ÂÃ4¿&ÄYÅ&ÆNÅ Ç È
É Ê ËÌÍ#Î ÏÐ ÑÒ;ËÓ ÔÕ;Ñ#Ö Ï#×ÍÓ ÕÏØ ÕÑ Ò
;ê ë*ì í î¢í ï ð ñ
É Ë#Í#Ö ×Ù Ú Û Ø Ò;ÕÔØÜËÝÔ#ÑÖ Ï1×Ö Þ
òó¢ô ñ*õNñ ö
× Ò× Ð ÏÌÙ;Ý2Ö ßÕÖ ÔÑÏÕ2ÕÏÝ2Ñ Û Ð Ó Õà
÷ Ëã#á#Î ÑÒ Ë#Í#Ö ×Ý Ú Þ Õ ÒÊ Ù
ÔÑÖ Ï1×ÍË#×á#â8Ú Ï#ãËÓ Ï&Ô#Î Ö ÕÔØ Ú Ö
ÑÔÐ ÙÓ Ô#Î ÑÒÌàÓ ÏÕÙ#Î Ð ÔÐ
É Ë#âÏ Ú Ì1Ù Ú Û Ø Ò4Ëã#Ó ÔÑ#Ö Ø ÕÏ&ÑÖ Ô1ÍÓ Õ Ò
Ý× Ð Þ Í#ÑÒØÜ Ó ËÕÌ1áÝIÕ ÊÎ Ö Ï&ÑÐ Ï#Ì4ø
Ú ÔÊÖ ØÜ1Ì1Ù×Ö ÍÓ ÔØ ËÝ2Ô ä × Ò× Ð Ï&Ì
ù2ú ë*ï ó ì í û&ñ*ïð ñ ò ó¢ô ñ&õ8ñ ö
É å Ô Ð ÝÒ2ÝFÌ4ËßÒæ Ö ÊÔØ Ú Ö ËÓ ÔÕ
÷ Ø Õ Þü ØÖ ËÝ2Ë Ù× Ð Ó ÙÊ Ð ÙÓ ÔÎ Ö Õ ËÝÔ#ÑÒ ÕÔ#ÍÖ ×à
ÙÝÕã#Î Þ ß&ÑÖ Ô Ú Û Ø Ò4ÍÓ Õ Ò×Õ å Ï
Ì;Ë ç Î Ö ÝÏ1ÕÌ1Ö ÔÑÒ;Ý5ÒÌ1Ôã#Ô è
Ý5ÒÊ ËÓ Õ Ò × Ð Ù Ú Û Ø Ò Ú Þ Õ ÒÊ;ÑÔÐ ÙÓ Ô#Î ÑÒ;Ë#Ó ÔÕ
ÝË#âÏ#Ø2× Ò× Ð Ï#Ì1Ù#é
ØÕ Þü ØÖ ËÝ2Ë × æ Ë#Ó Ì1Ô#Î Ö ÕËÝ2ÔÑÏ ÑËÐ ÔØ Ú Ïø
É Ë#Í#Ö ×Ù Ú Û Ø Ò;ÕÔØÜËÝÔ#ÑÖ Ï1× Ò× Ð Ï#Ì1Ù
ù2ú ë*ï ó ì í û&ñ*ï ð ñ ý ú¢þ ý¢õ þ ñ ô ý ò ñ*î8í ñ
ÝI× Ò Ð ÙÔØ Ú ÔØ ÜÑÖ ÏÍË çÛ ßÔÑÒØ Ü
÷ ÝIÍÏ å ÑÖ æ ËÓ ÌÔ#Î ÑÒ4Ë#ÍÖ ×àÓ ÕÔß#Ê Ë1Ý8ÒÊ Ë&ÑÒ ÝÔ#ÑÔ4ÝFÍÓ ÔÊ Ð ÒØ Ïø
Î Ùâ1×Ê Ó Ô Ú ÑÒ ØÜ
^& N N N¢¡8£¥¤ ¦ §¨2£© ¨5N;ªR«;¬5N¨2¬8 ­ «8®¯2¬° ¨ 5° ¬5MN¡N ±5 58²
¡8³5«8®¯¡¢¢²°N³5«2£M° 2¬° ¨®´¡ µ ªR¶8®¸· ±¤³­ N¡5³82§2ªR¶8®º¹2­ 2¬° R8¬8¡¢8²
h i j k#iNl m n l o1pqn pr n os p t1oiRl oYu vk#wRxyRz
{| o } ~ *
ÿ ;±¬ªR «¬52· ¬5¨
¼¾ Å! " # ¼$¼X¿Â%# NÄ ÄYÅ^¾ RÅ Á &¼#Ã1Å &
Å # Ã(¼ Á ÃÅ )#%¿ *
' ¼%# ¿% " ¾ (( # À*¾ %+ , ¿ # ¼#-Ã )*Á !&ÃÀ#¼ ' !&Å&ÂYÁ )%# *¾ Å Á
¿% # R+
Ä RÄ
¼RÀ&Á ( " . ()( $#¿ )()&¼ #Á¼R¾ (Å ¼R%À N¾ (Å YÃ4¿ (¼ )#¿ÃÅ )^À*¾ % ¿% # RÄ
ÄY¼&Æ " ¾ #-Ã )*Á , /¼ ¾ Å & Å Á +. (# ¿
. ()( (
¼ )&Å )0)*Á YÂ " ' ¼R(À #Â #Å )
ÄY¼&Æ " ½#¿ & ½*ÅR¾ ' &0¼ Á !)
1
:
^«§88& ¨ ® ¡5£ 5¹2 H ¬° ¨32 ±2¬ªR «¬52· ¬8¡¢8²DI »2(¼ # ¿ " ú¢þ Ký JMLNû N L O )&À PÃ4(¿ )&Á !Å " %5%
Â&À (¿ . Á ÁÂ*À*¾ 7 # ÿ ¼R¾ ¿# # ¿Ã1Å )(&ÆR¼
À&¾ 5 Á ()%# %Å Q
»2(¼ # ¿ " ú¢þ ý¢ï&(ë R/L O )*(À P#Æ*¼ ' )&¼ & ¿% # N5Ä RÄ À&¾ Å#4à )#¿*S
Ä *-½ +)&ÅR¾ ¼ )#¿&ÄXÁ
 # Å ) ' ÅR¾ ' ÅRÄXÁ Q
¼ ¾ !Å " #Å&Â&Å ' ¿
T ë ò î U N þ V î¢ë O Ã4Â&À À*¾ Å -¿ YÁ )()&¿#ÄXÁ¿# # NÄYÅRÄXÁ Q
ù3V óKZ û&ý [(\ J V í ñ ] ñ*î8í ñ È ¾ ' )&ÁO ÄYÅÂ#¿#ÄXÅ )#¿Q
&Å#ÂY¼R
À R¾ Å Á *½XÁ %* Â 4Ã ) Á Y( Á *½#Å
¼R%À N¾ (Å Á )#4Å ' )*¼&Â # 7 #Å&Â ê2ý8û ] ñ J5îRý [(\ ÈÂ # ¼*À*Á Ç À*¾ (¿ ÁÀ*¼RÄXÁ ÅR¾ Ã
*½XÀ*¾ (# Ã1ÅR¾ &(
Å )*Á +Å O ÿ&ÄYÅ&ÆRÅ )#Å ' (¼ Å ' )&¼ %&
Ã4¿ )*Á 4Ã Q
^ õ þ ñRî¢í ï V ëRîNí ñ È
Ï `*×Ö Ï ä àÍÓ ËÐ Ë&Ê Ë å Òà
_ Ö Ñ Ð ÏÓ æ Ï Ú × Ò1Ê Ë#Ì1ÙÑÖ Ê ÔØ Ò Ú Ñ8
Ý5Òß#Ô Ú ÑË ü ä ×Ö ÏØÖ a
Ú
Ô
Ê
Ë
ü
Ø
Ö
Ë
Ý
Ï
_
Ï `RÖ × Ð ÑÖ Ï Ú Û ØÏ1Ï&Î Ï#Ì4Ï#ÑÐ Òàæ Ö Õ ÒØ ÕÑÏ
_ ×ÍÓ Õ Þ Ð ËÝ2>
W ­ N¡8ª ¦ 5§5¡I®¯¡8£ 5¹; H I
Ë#ãÓ ÔÑÖ Ø ÕÏ#Ñ#Ö Ô#àÝ5Òß#Ô Ú ÑË ü ä àË#ßÍË#Ó ÑË ü ä
÷
Ý2Ö Î ãËÐ ÑË ü ä àÐ Ï#ÌÍÏÓ ÔÐ ÙÓ Ôà&é é é ø
X ý V ô í ñ þ È% Á !&½&Å+# N¾ Ä^Á )#Å ÁÁ ' )&¼( )*Á Ô `*ÕãË#ß#ÑË ü ä Õ
_ Ö Ñ Ð ÏÓ æ Ï Ú × Ò4ËÍÓ Ë#ãÓ ÔÌ;ËÝÔ#ÑÖ >
À&¾ Å( " ¿%*+ , ¿# ¼#Ã-)*Á #Ã-Y( Á *½#Å
×
Ò×é Ë&ÍÏ#Ó é à#Ö Ñ#ÑÒÌ Ë#ÍÓ Ëã#Ó Ô#Ì4ËÝ2ÔÑÖ Ï#Ì1à#é é é
¼)%# ¾ ¼ ¼&Ã1Å)¿%*+*¾ " ' Ç O )RÁ #Ã8Q Y
_ Õ Ý2Ö Û ÕÔÑÏ1Õ4Ö ÑÐ ÏÓ ÔÊ Ø Ú Û ØÕ å ËÝ2Ö Ï&Ê ` Ê Ë#ÌÍÙÐ ÏÓ
¾ ¼%*ÄXÁ ÅR¾¢À*¾ %(%*&¼#Ã4¿ÃÅ)#¿%%* ' Å)#¿%*
÷ Ð ÒÍÖ ÑÐ ÏÓ æ Ï Ú ×ÙÙ ç ÒÐ Ê ËÝ2ÑÖ Ê Ôà&é é é ø
h i j k#iNl m n l o1pqn pr n os p t1oiRl oYu vk#wRxyRz
{| o } ~ 9 *
G
f J
h
< S?E
<;>=6?@-B3C E F@
S/ F? <
Rë ïRñ
F¿ ' Å! )&¼ %&
2(
¼ #Ä Á ÅR¾
%Š# ü %&
, ¿ # ¼#Ã1
Å )RÁ Å
j Á #Å#ü ' )&¼ %& Á
¼ ' À*¼R¾ )&¼ &
¾ %)&Å#Â%#Å )&¼ %&
Yë þ ó û&ñ
*Á #½*Å+# ¾ Å)&ÂÅ/! Á¼N½Â , ¼)&¿%*Ã&Á " ÆK Â() ' ¿
&Å#ÂY¼ ' À&¼#ÃÁ ' *Á
*Á #½*Å ¾ ¼N¾ ' #Ãý&(
Å #Á ' Å )&¿ *
F¿*ÄYÅ&Æ*/
Å )&Å À*¾ *Â # ¾ % Ç ' ¿#Â ¼#Ã1Å
&Å#+
 )*Á &½ 7 ' )#¿ ' Å^ÀR¾ %&% ¼ )*Á AÅ , ¿ # ¼#-à )*Á !&Ã
2(
¼ #Ä Á Å*¾ ' (¼ %*5Ä )# (Å Á
¾ Å#à ' ¼RÀ#¼ ' ¼R½RÁ Ç % # ü ½ 7 ' XÀ&¼ ' !#Å&ÂX¾ *Å Á &(Å Á # ¾ Å()#Â&Å( Á
¾ ' )*Á Å*ÂYÀ*¼RÄXÁ 7 ' #¿ ½ 7 ' )#¿&ÄXÁ Ã1
¿ /¼ )#Å )*Á ÅRÄXÁ
»2¼*Â # 7 (À )#¼ & O À*¾ (¼ )%##Å&(Â
à # R¾ ¿&Ä Â¿# # NÄ & # ' ¼#% # 7 (À )&¿Q
&Å#ÂX¾ &Â # ÅR¾ # ^À&¼XÅ#Ã1ÅN¾ Á Á Â#¿Â # R+
Ä
¾ Å#Ã ' ¼RÀ#¼ ' ¼R½RÁ Ç %Â # Ã+¼ )*Á Â %%)*Á Å ' Å )¿ %*Ã À*¾ ¿*À#Å ' ^Å#Ã1ÅR¾ Á Á
¾ (¼ )%#¼ ' 5#Å , )&Æ*¼^¼ ' (À %Å # . ¼R¾ Ä ¿ ' ¼ / ¼-Ã !
*Á #½*Å À Å # . ¼R¾ Ä ' ¼ ¼#Ã1¿ %*
Å )&0Å )*¼#Ã " (À Å # . ¼R¾ Ä 7
¼&Â #NÀ*¾ /)*Á *Â#Á )*Á 0
{| o } ~ *
c!dMe
C?=
wC =
N¢¡N ª8° ¨ ®´¡8£ 5¹2;¬5° ±8N¹2«2§2¬° «;¬5¨MªN· ° ¨¬8 ¨2£¥³«8®I° ¬¬8¡ ¤8¡ ¢¨2¤2­ 2¬5¨ ®
§«ª¢±2£¨2¬5¢° ¨«2³° 8±F®¯¡8£M8¹2 H
¡ «2ªN±£M¨2¬85 ¨2¬ ¨5NN®´¡5ªN· ¨³5«§5¢ 8® µ N8R¢¨5¹;¶ ¦ «5®´¨5¹;«ªR«;¬8 ­ ;ª* ±£ ° §5N¡
ªN· ° ¨¬5 ¨2<£ ¢5³­ «5§2±5N¨;¬8 ¨2£ «;³­ «5¹;­ ;£ «8®¯2¬°
¡ «2ªN±£M¨2¬8«2³° 5±F®´¡5£ 5¹ H £±88°N¤8¡ 8­ «8±£ ° ¦ ¡F§2· «2¤8¡¢§8®I± N ­ «¬
W«8®I° ¬° ¨¬³5«5R®I·
¬5F®I¨2­ /¡ 2 ° ªR ±£« £ · ° ®I° * µ µ N ®F° ¨2­ §5¢¨;¬° ¤¨ ¢RN¡
®´¡5ªR«2¬82¬5¡I8¡NN ¨;£ ­ ¢¨RN¡R®F° ¥ ¢° ¨ 5³5¨ ¦ ¬2° ³5«5N 8®I° «;¬5¨®´¡5£ 5¹22¬°
¦ ¢;­ ¶8®I¬5«M«2§N ­ «2¬5§
¡ 2 ±5¬ªR «2¬5· ¬5¨&¢ 2ªF°N¬° 3¨ 2 ±¬ªR «¬52· ¬5¨* ¨
1;° ­ £M
¡ ¢ª* ¶2­ ¨M¢* £M±& µ 8° ³­ «§2±ªR µ «2³­ «5¹;­ £ «8®¯2¬° R ¢ «¬° ¨M µ
¢2° ¬8 ¨2­ ¨5¢«8®I¬5¨ ®¸³2­ ¨R¡NN¡& ¬8¡8
£ 2 «2­ £M± ¦ «5®¯2¬2° ±®´¡8£ 5¹; H ³5«R®I2· * µ R¡¢5²
¬5­ ¢¨NN¡N®I° ¢ µ ®¯¨;­ /¡ 2 ° ªR N ®¯«­ ¢«2¬5¨5¹«MN¡¢¢ ¨2£MD± ©£ « £ ¨ «³­ «8®I§85°
§«ªN«M¬ 2 · ° ª* ¶8®
%N
h i j k#iNl m n l o1pqn pr n os p t1oiRl oYu vk#wRxyRz
M <;>= 6?A@-BDC FE
{| o } ~ *
8ñ ú N ý ò ñ/g îRý [(\ È&¾ *Å/! ÅA)#Å+&ÄXÁ Å)#¿Ã4¿&ÄYÅ*ÆRÅ Ç j Å/ , ¿ ' ", ¿ & ' ¼0*ÄY¼ , Á ÃÁ )*Á Å
ò ë þ ó ì í û&ñ&ïð í Ã1¿&ÄYÅ&ÆNÅ Ç Y&À&¼#Ã Á )()&Å
ë V&ú í ë*ï V ë ö RN ò ý ÈÂ#À*¼&Â*½5#ÅRÀÃ5)*Á ()*Á Å
Á Â# )RÁ & ÄY¼ , Á ü %& Â*À&¾ Å#à ' ()*Á Å
À&¼. )*¼ Á O ¿% # RÄ ¿XÁ ' )# ¿ . Á Å Á , ¿ # ¼5à )*Á !&Ã
&½5&ÄXÁ N¾ %)*Á Å+#¿ ¿Â%# RÄ
Á¼(#¾ Å )&Á Å À&¾ Å#à ' ¼#% # 7 À %Q $Ã%¿ ¾ ¿Ã1Å )RÁ ¾ !¿Ã Á &Á YÂ#À( )RÁ ÅX¼(%#Á Ã1Å)RÁ Å
)*Á *À&¾ Å#4
à )RÁ ¼ )(&ÆR¼ ' ¼#% # 7 À ($&¼ ' À&¼R¾ )&¼ #Á )*Å^%Å # Å Á
-%#4
à ) " # ¾ ($ÃÁ ¾ &¿ $P P P
5¾ #¿% Å ' ¼#ü Ã1¿&ÄYÅ*ÆRÅ)*Á ÅRÈ%k lml%n o%p
p0q5rm s t q(n u3m0uwvrl t x(y%zo { $
È (¼ )#Â (8Ã /) ^½ 7 ' &Ã
^ J ú ý þ î¢ý [(\ îNñXñ ò ñ þ í ë l!m%ln opSpAq5r(m s }(~ o%zquv(y}%m { $
üNÀ*¾ ¼&Æ¢¾ P *½XÁ )()¿ %*- ' Å*¾ Ç O À&¾ R¾ ÿÃ
|
l!m%ln opSpAq5r(m s y(v(ln qn oz}~ o
&Å#Â*Á (
Å )*Á %Q $%ÅNÀ #4Ã )RÁ ()RÁ ^Á )%# #ÆN¾ Å )&¼ #Á ' /Å )#¿ *$
|
lzmr(~ { $*Á # ' P%)*Á YÂ " À*¾ Å!# ¿!)*Á ¼*À*Á 5&ÅR%½ *À&Á (#!Å " $ ' *Á ())*Á Á &ÄXÁ Å )$(P P P
Ã8N¾ ¿. Á ¼&Ã1Å )%
ù N ñRî J¢ñ þ J ó !È . ¼N¾ ÄYÅ # ¿X(À Á #-à $*À&(¼ ¼ )*Á #(Å Å $
%Â # Å ) ' ÅR¾ ' ¿XÀ*¾ ¼ %&%Â #ÃÁ#À*¾ ¼ ' (!# #-Ã $(P P P
¼)*Á (()%8 #Â%#NÀ#¼&Â ÆNÁ ÃÅ)*Á YÂ*Á 7
ÃÁ ¼ &Á ÅRÄXÁ#ÄXÁ R¾ #Å )#¿&ÄXÁÃ<%( ñ R*ý ZRó È i5¾ ()*Á X¼&ÆN¾ Å )*Á !% Ç . Á )#Å )&¼&Ã1%¿ %*($
T ¼(#¾ Å)RÁ ÅYÃ1¿&ÄXÅ#ÆRÅ Ç # #ÆN¼+# ¿#À
' #Á *XÁÄX%Å # R¾ Á Å ¼#Ã1
¿ */P
ù û&ñ g ñ^ï V ñ R*ý ò ñ È#¼&Æ¢¾ Å )*Á )&Á AÅ )#0Å #Å&Â
Ã4(¿ ¼ )*Å )*Á Å^¿% # R+Ä ($&Å# % ¼ )RÁ (Å $
à ' ¾ Å , Å )RÁ Å
h i j k#i¢l m n l o4pqn pr n os p t1oiRl o u v1k#wNxy*z
{| o } ~ b *
^° ¨32 ±¬ªR «¬2· ¬5¨
¼RÀ*Á Â " ¾ , )&¼N¾ ¼ ' )X¼&ÆR¾ Å)*Á %/)&Á Å$*ÀR¾ ¿
&Å(%*&¼#Ã
Å )*Á +!# *¾ ¿ %* Â#¿Â # RÄÀ&¼#Ã Á )*Á )
¾ *Å Á #¼#ÃÅ & ÂÃ ¼ +. ()( Ã(À #4Ã )#%¿ * Â%¿ # &(Å (Å %*+*ÄY¼ , Á ÃYÁ ()RÁ Á %*YÂ#(À )RÁ ()*Á Å^ÄX5Å )&Å ! " ¿Ã À ¿6
à )&Å
À*¾ #¿ 7 # ^¾ ¼ Ã Á " &Å )&Á Å À&¾ !¼ /!# ¼&8Ã ^Á
À*¾ ¼&ÆN¾ ÅRÄY¼#Ã4
)*Á 0)&
Å , ¿XÁ %*+ #Ã1Å , ¿ &
h i j k#i¢l m n l o4pqn pr n os p t1oiRl o u v1k#wNxy*z
M <;>= 6?A@-BDC FE
:
5F M
h i j k#i¢l m n l o4pqn pr n os p t1oiRl o u v1k#wNxy*z
{| o } ~ *
g
b`cd,egf h i j k!l mongprqgs t,u2vPw%x
0RGHORZDQLHLSURMHNWRZDQLH
! " #%$ &'
(*),+-.0/12+03547678 .9808 :<;*= .0:>.?124A@-4
BDCFEHG I J K7L MNPO*NRQ2M7SUT*VWL KAX,YFZ%SU[?Q\O*]^_K`O?]_a
yz!{|2}~0{ %2
2g`P!
, % P,g R ! , ¡gg¢2 !
£¤ ¤ ¥¦ § § ¨2©,¨2ª2«2©H¬®­ ¥%¯­ ¯P° ¨2± ²³o¤ «%´R­ ¥P± § µA¶´P©H·¤
¸r¹ ºH» ¼ ½*¾2¿ À7» Áo¿\½HÃ\Äg Ź
þ ÿ ÿ
ÿ ÿ Modelowanie (analiza)
•
•
&*)
&
+
•
!#" $
( &
'
'
(
)
& '
%( '
%
+
,
Jak system ma by zaimplementowany?
Jak system ma dzia a ?
ä å æ çå2è é ê è ëRìoíoê ìî ê ëgïÖì ð ëgå2è ëÖñ òÖçoó2ôgõ,ö
Û Ü Ý Þ ß à áâã
PQ RTSVUXWZY W
W odró nieniu od analizy du rol
odgrywa rodowisko implementacji;
projektanci musz wi c posiada dobr
znajomo j zyków, bibliotek, i narz dzi
stosowanych w trakcie implementacji
D enie do tego, aby struktura projektu
zachowa a ogóln struktur modelu
stworzonego podczas analizy;
niewielkie zmiany w dziedzinie
problemu nie powinny powodowa
du ych zmian w projekcie
Wynik: szczegó owy opis implementacji
systemu
Projektowanie
!
Celem analizy jest ustalenie wszystkich
•
tych czynników lub warunków w dziedzinie
przedmiotowej, w otoczeniu realizatorów
projektu, w istniej cych lub planowanych
systemach komputerowych, które mog
wp yn na decyzje projektowe, na
•
przebieg procesu projektowego i na
realizacj wymaga .
Wynik: Logiczny model systemu, opisuj cy
sposób realizacji przez system
postawionych wymaga , lecz abstrahuj cy
od szczegó ów implementacyjnych; model •
staje si podstaw tworzenia projektu
Æ Ç È ÉÊ2Ë Ì Í Ë ÎRÏoÐoÍ ÏÑ Í ÎgÒÏ Ó ÎgÊ2Ë ÎÔ ÕÖÉ×,ØoÙHÚ
÷ ø ë ù ú û üû\ý
•
Class-Responsibility-Collaborators =
Klasa-Zobowi zanie-Wspó praca
Klasy przedstawiane s na kartach
katalogowych (papierowe kartoniki) o
okre lonych wymiarach (4x6 cali)
[
•
\
[
Zobowi zanie - wysokopoziomowy opis
zada klasy (kilka punktów)
– unikanie opisywania fragmentów danych i
procesów
– ograniczony rozmiar karty ma wymusi
unikanie zbyt rozbudowanych klas i
ewentualnie ich podzia na mniejsze
^ _` a
a
a
• Wspó dzia ania - odnosz si do klas z
• Karty wypeb niane sc podczas nieforktórymi dana klasa ma wspó pracowa
malnego spotkania (burza mózgów) i
– wysokopoziomowe poj cie o zwi zkach
nastd pnie mog c bye ukb adane w celu
modelowania interakcji
lnmpo:qrmts#pomi
u mVv wy x dzy klasami
– kaf dy uczesnik mof e odpowiadag
za jednh lub wii cej kart
zV{T|p{3}~ =T3
:p 3# VV
• Na karcie poza nazw j klasy notowane
s j jej zobowi j zania i wspók dziak ania a
nie atrybuty i metody
6JK
- . / 01.32 4 5 2 687:9:5 71; 5 6=<>7 ?@6=.32 6>A BC01D
– ew. atrybuty i metody na
odwrotnej stronie karty
H I F LNM1O
E:F*G
]
– mo liwo atwego uzupe niania,
uk adania, niszczenia, ...
·¹¸ º » ¼½V¾¿ÁÀ¸ º  ÃV¾X¸ º »¼Ä½ÆÅÇȺÉʻ˽nÌÍÌλ
÷ùø úüûÄýÿþ VýÄþ yþ úVû nþ W wielu przypadkach przy definicji klasy naleÏ y dokÐ adnie ustaliÑ , z
jakiego rodzaju abstrakcjÒ obiektu mamy do czynienia; naleÓ y zwróciÔ
uwagÕ na nastÕ puj Ö ce aspekty (czy mamy do czynienia z ... ?):
• Zrozumienie systemu - systemy oprogramowania s du e, skomplikowane i musz •
•
•
•
konkretnym obiektem w danej chwili czasowej
konkretnym obiektem w pewnym odcinku czasu
opisem tego obiektu (dokument, metadane)
pewnym zbiorem konkretnych obiektów
×
•
•
•
!#"
Ü
"
"
!
!$"
• Promowanie ponownego wykorzystania - architektura pomaga w
Ø
Û
Ú
cz ci, tak aby ich tworzenie by o mo liwie niezale ne; zale no ci pomi dzy cz ciami s
jasno okre lone i punkty styku dok adnie wyspecyfikowane
konkretny egzemplarz samochodu (unikalny numer nadwozia i silnika) wyprodukowany przez
okre lon fabryk
model (rodzaj) samochodu oferowany klientom przez znany koncern
pozycj w katalogu samochodów opisuj cy w asno ci modelu
histori stanów pewnego konkretnego samochodu
Ù Ú
Û
Û
• Organizowanie rozwoju oprogramowania - pozwala odseparowa ró ne
W przypadku klasy „samochód” obiekt mo e reprezentowa :
•
spe nia sprzeczne wymagania; architektura zapewnia szkielet rozwi zania, który
abstrahuje od szczegó ów implementacyjnych, ale ustawia wzajemnie podstawowe
elementy tak aby mo liwe by oby spe nienie wymaga
Ù
13 ¡ ¢ £8¤:¥:¢ ¤1¦ ¢ £=§C¤ ¨@£=3 £C© ªC:«3¬=­p®
¯ ° £ ± ² ³ ´Nµ#¶
zidentyfikowaniu na mo liwie wysokim poziomie analogicznych systemów krytycznych i
podsystemów, dzi ki czemu ponowne wykorzystanie nie ogranicza si do poziomu klas;
wspólne podsystemy mog by przystosowane na etapie rozwoju do pó niejszego wyk.
!
!
%
• Promowanie ci& g' ego rozwoju - wi ( kszo)+* systemów musi reagowa* na nowe
*
potrzeby i wymagania przed nimi stawiane; dobra architektura pozwala zapanowa nad
ewolucj systemu w czasie i kontrolowa jej przebieg; zapoznanie si z architektur
pozwala na zrozumienie dzia ania systemu przez przysz ych twórców i eliminuje
potencjalne zagro enia
,
.
-
*
Ý Þ ß à1Þ3á â ã á ä8å:æ:ã å1ç ã ä=è>å é@ä=Þ3á ä>ê ëCà1ìpí:î*ï
(
,
ð ñ ä ò ó ô õNö1ô
1
PRQTSVUWXYWZ[\^]_`ZQTaY\b[bc \d[SeSQfXhgic jk\ lmjnQ o
Tb¢¡£¤¡¥ ¡§¦¨M© ª ©5«
Proces projektowania architektonicznego zalep y od wiedzy o zastosowaniu
oraz umiejq tnor ci i intuicji architekta; wspólne czynnor ci dla wszystkich
procesów (czynnor ci te zwykle naks adajt siu na siebie):
• strukturalizacja systemu - system jest dzielony na kilka podstawowych
podsystemów (podsystem - niezalev na jednostka oprogramowania, jej
uss ugi nie zalev t od uss ug oferowanych przez inne podsystemy);
identyfikuje siu komunikacj u miu dzy podsystemami
• Repozytorium - wszystkie wspó¬ dzielone dane s­ umieszczone w centralnej bazie
w
w
x w y
w
­
¬
­
¯
• Klient-serwer - model rozproszonego systemu, w którym dane i przetwarzanie s ­
¯
­
¬
rozdzielone mi dzy zbiór procesorów (samodzielne serwery oferuj ce us ugi + klienci
korzystaj cy z us ug oferowanych przez serwery + sie , daj ca dost p klientom do
us ug)
– cienki klient - ca o przetwarzania i zarz dzania danymi na serwerze, zadaniem
klienta jest uruchomienie oprogramowania prezentacyjnego
– gruby klient - serwer odpowiada za zarz dzanie danymi; oprogramowanie klienta
implementuje logik programu u ytkowego i interfejs u ytkownika
­
¬
– podzia podsystemów na modu y (modu jest zwykle komponentem systemu, który
oferuje co najmniej jedn us ug innym modu om; zwykle nie jest niezale ny)
w
®
danych, z której mog korzysta wszystkie podsystemy; zwykle generowane przez
jeden podsystem a wykorzystywane przez pozosta e
– systemy sterowania i kontroli, systemy zarz dzania informacjami, systemy CAD,
zestawy narz dzi CASE
z
• modelowanie sterowania - okrer la siu ogólny model zwi t zków
sterowania miu dzy czufr ciami systemu; uzupes nia uv yty model struktury
¬
®
¬ °®
­
¯
­
¯
­
±
±
• maszyna abstrakcyjna (warstwowy) - opisuje sprz ¯ ganie podsystemów; uk¬ ada
/ 0 1 23054 6 7 4 89+:+7 93; 7 8=<>9 ? 8=054 8>@ A>2+B5C=D#E
­
±
¬
{ | } ~3|5 ++ 3 = =|5 >~3#+$
system w ci g warstw, z których ka da oferuje pewne us ugi
F G 8 H I J KMLON
ûýü þ ÿ ÿkÿfü ÍÏÎTÐÑbÒ ÓkÔÕÓ ÖÎf×dÕØ Ò ÔÙÓÚÛÜÔ ÎÝÞÔÎ
•
•
z podsystemów jest wybrany do roli
sterownika i odpowiada za zarz dzanie
dzia aniem innych
model wywo anie-powrót - sterowanie
zaczyna si na wierzcho ku hierarchii
podprogramów i przez wywo ania
podprogramów przechodzi do ni szych
poziomów; jedynie systemy
sekwencyjne
model mened era - stosuje si do
systemów wspó bie nych; jeden z
komponentów systemu jest
mened erem i steruje rozpoczynaniem,
zatrzymywaniem i koordynacj innych
procesów systemu
Å Æ ¹ Ç È É$É ÊkË$Ì
^
_
`
` ^
a
`
` b
c
_
_
• Projektowanie sk] adowych systemów, które nie s d zwid zane z dziedzin d
problemu
• Optymalizacja systemu
• Dostosowanie do ogranicze e i mof liwog ci g rodowiska implementacji
• Okreg lenie fizycznej struktury systemu
h
i j
k
i j
k l
– okre lenie struktury kodu ród owego, tj. wyró nienie plików ród owych, zale no ci
pomi dzy nimi oraz rozmieszczenie sk adowych projektu w plikach ród owych
– podzia systemu na poszczególne aplikacje
– fizyczne rozmieszczenie danych i aplikacji na stacjach roboczych i serwerach
m
j
j
!#" $ % " &('*)*% '!+ % &-,.' /0&-#" &.1 2.*3#4-576
i j
8 9 & : ; <*= >?=A@
•
ß à á â3à5ã ä å ã æç+è+å ç3é å æ=êç ë æ=à5ã æì í>â3î#ï+ð$ñ
ò ó æ ô õ ö+÷ øùOú
VNV ¡ ¢?£?¤
•
_
– projekt musi by wystarczaj co szczegó owy, aby móg by podstaw implementacji, przy czym stopie szczegó owo ci zale y od poziomu zaawansowania
programistów (ale np. szczegó owy projekt jest dobr dokumentacja techniczn )
podsystem musi reagowa na
zdarzenia zachodz ce na zewn trz
model rozg aszania - zdarzenie jest
w zasadzie og oszeniem dla
wszystkich podsystemów, ka dy
podsystem, który mo e obs u y to
zdarzenie, reaguje na nie
modele z przerwaniami - u ywane
wy cznie w systemach czasu
rzeczywistego, gdzie zewn trzne
przerwania s wykrywane przez
obs ug przerwa ; nast pnie s one
przekazywane do innego
komponentu, który je przetworzy
BCED C FG CIHKJ LNMFOJPH CFEQ R MEDSUTVC W RXYM[Z?QLU\?MEH CFG C
• Uszczegó] owienie opracowanego modelu logicznego
•
² ³ ´ µ3³5¶ · ¸ ¶ ¹º+»+¸ º3¼ ¸ ¹=½>º ¾ ¹=³5¶ ¹>¿ À>µ+Á5Â=Ã#Ä
Sterowanie zdarzeniowe - ka dy
Sterowanie scentralizowane - jeden
+ O
•
•
•
•
•
•
•
¥ ¦
Wybór sposobu implementacji konstrukcji, które mog by zrealizowane na wiele
sposobów (np. zgodnie ze standardami przyj tymi w firmie)
Okre lenie poziomów widoczno ci atrybutów i dost pu do nich
Podanie regu odwzorowanie notacji w struktury konkretnego j zyka programowania
(np. polegaj ce na dok adnym okre leniu typów danych)
Je eli j zyk implementacji narzuca ograniczenia, wówczas mo liwe jest tworzenie np.
nowych klas, które b d jedynie cz ci implementacji (nie nale do modelu)
Podanie nag ówków metod oraz ich parametrów
Okre lenie, które z metod b d realizowane jako funkcje wirtualne a które jako
zwyczajne funkcje
Zast pienie niektórych prostych metod bezpo rednim dost pem do atrybutów
Zast pienie niektórych atrybutów redundantnych przez odpowiednie metody, np. Wiek
= Bie caData - DataUrodzenia;
¨
ª §
©
¨
¥
¥
¥
©
§
¨
©
¨
§ ¥
§¨ ¥
§
§
ª
ª¥
§ ¥
¨
§
ª¥
n o p q!o#r s t r u(v*w*t v!x t u-yzv {0u-o#r uz| }.q!~7*A
u *
2
ÇÉÈÊUËUÊÌEÍ Î Ï Ð ÑÒ ÌÓÒ ÌÔÐ Õ ÌÖ × ØAÙ.Ú
OkreÛ lenie sposobów implementacji zwiÜ zków (asocjacji), gdyÝ zwykle
moÝ na je zaimplementowaÞ na wiele sposobów, z reguß y poprzez
wprowadzenie dodatkowych atrybutów (pól):
•
•
•
•
à
à
â ã
à
ã
(kompilator, syst. operacyjny)
SkG adowa dziedziny
problemu
à
W zale no ci od przyj tego sposobu oraz od liczno ci zwi zków (1:1, 1:n, n:1, m:n)
mo liwe s bardzo ró ne deklaracje w przyj tym j zyku programowania:
• tablica obiektów
• lista wska ników
• tablica wska ników
â
á
à
ã
á
â
ä
å
ä
SkG adowa zarz F dzania
zadaniami
l-mnoprqts u4vrqxw
•
•
•
Za pomoc plików skryptowych:
•
celem automatyzacji powtarzanych
wielokrotnie tych samych dzia a
•
Przez graficzny interfejs okienkowy:
•
•
wi ksze systemy
doceniane zw aszcza przez pocz tkuj -cych
i rednio zaawansowanych u ytkowników
ö ÷ ʾ¿xøÍÅùÍúÈ
•
•
•
•
¼ ½¾r¿ÀÂÁµ¿ÄÃ5ÅÆ
•
•
•
wpisywanie polece w postaci tekstowej
(np. w linii komend)
wybór opcji z menu lub przycisku w dialogu
korzystanie z ikon w paskach
narz dziowych lub ze skrótów (kombinacje
klawiszy)
nawigacja przy u yciu urz dzenia
wskazuj cego np. myszy (kursor, przyciski,
...)
dotykanie aktywnego ekranu
g osem
...
K L M NOL!P Q R P S T;U;R TOV R SXW4T YZSXL!P S4[ \4N;]!^X_a`
¼ ½¾r¿ÀÂÁµ¿ÄÃÅ Æ
§ ¨ ©ª«­¬¯®°®±²
Typowe sposoby wydawania przez
u ytkownika polece :
sytuacjach szybsza od interfejsu
graficznego):
niedu e systemy lub prototypy
programy typowo obliczeniowe
dla zaawansowanych u ytkowników
•
•
•
b c S d e fg hikj
Ú Û Ü ÝOÛ!Þ ß à Þ á â;ã;à âOä à áXå4â æZáXÛ!Þ á4ç è4Ý;é!êXëaì
Skróty dla doÑ wiadczonych u Õ ytkowników - mo Õ liwoÑOÒ zast Ó pienia komend dost× pnych
przez menu przez kombinacj× klawiszy
Potwierdzenie przyj× cia polecenia u Õ ytkownika - realizacja niektórych operacji moÕ e
trwaÒ stosunkowo dÔ ugo; w takich sytuacjach, aby uÕ ytkownik nie byÔ zdezorientowany,
naleÕ y potwierdzi Ò przyj× cie polecenie, oraz informowaÒ o przebiegu operacji (np. jakiÑ
wskaØ nik lub najlepiej czas do zako Ù czenia)
¼ ½¾r¿ÀÂÁµ¿ÄÃ5ÅÆ
í î á ï ð ñ;ò óôkõ
ÎÏ2Ð
umieszczanie etykiet zawsze nad lub obok pól edycyjnych,
umieszczanie przycisków zawsze od doÖ u lub od prawej,
spójne tÖ umaczenie nazw angielskich, spójne oznaczenia pól
...
ö ÷ ʾ¿­ø¯ÍÅÍúÈ
ZrozumiaÔ a terminologia komunikacji - nawet (zwÔ aszcza) w sytuacjach krytycznych
oprogramowanie powinno posÔ ugiwaÒ si× terminologi Ó zrozumiaÔ Ó dla u Õ ytkownika
Eliminacja prostych bÔ × dów edycji - oprogramowanie nie powinno dopuszczaÒ do
wprowadzenia niepoprawnych danych; jeÕ eli uÕ ytkownik wprowadzi dane, które
dopiero po zweryfikowaniu mo Õ na zakwalifikowaÒ jako bÔ × dne, wówczas naleÕ y
zasygnalizowaÒ rodzaj bÔ × du oraz umoÕ liwiÒ poprawienie wprowadzonych warto Ñ ci lub
umoÕ liwiÒ powrót do wartoÑ ci startowych (poprzednich)
OdwoÔ ywanie poprzednio wykonanych operacji - moÕ liwoÑ;Ò cofni× cia ostatnio
wykonanej operacji lub cofni× cie si× „dowolnie” daleko (w granicach rozs Ó dku)
WraÕ enie kontroli nad systemem - nikt nie lubi, kiedy system sam zaczyna robiÒ co Ñ ,
czego uÕ ytkownik nie zainicjowaÔ , lub kiedy akcja systemu nie daje si × przerwa Ò ;
system nie powinien inicjowa Ò dÔ ugich akcji (np. skÔ adowania) nie informujÓ c
uÕ ytkownika co w tej chwili robi oraz powinien moÕ liwie szybko reagowaÒ na sygnaÔ y
przerwania akcji (Esc, Ctrl+C, Break,...)
³t´µ©·¶r«t¸ª5©¹®º'» ®
Æ Ç È ¾ ÉÄÊË̽0¼ É Í
O! ;; O X- ZX! - 4Oa;k
Îaü#Ð
•
•
•
ù ú í û ü ý*÷ þÿ
SpójnoÑ;Ò - wyglÓ d oraz obsÔ uga interfejsu powinna by Ò podobna podczas korzystania z
róÕ nych funkcji; poszczególne programy tworz Ó ce system powinny mie Ò zbli Õ ony
interfejs, podobnie powinna wyglÓ daÒ praca z rozmaitymi dialogami, podobnie powinny
by Ò interpretowane operacje wykonywane przy pomocy myszy; przykÔ adowe reguÔ y:
–
–
–
–
ûtÀµÊ·Ãr¿tɾ5ÊËͽ0¼ Í
Æ Ç È¾ É ÊË~½'¼ ÉÄÍ
(przechowywanie trwaI ych danych,
SZBD)
æ ç è é!ç#ê ë ì ê í(î*ï*ì î!ð ì í-ñzî ò0í-ç#ê ízó ô.é!õ7ö*÷Aø
y z { n s |}~m0 s o0
Za pomoc linii komend (w niektórych
•
•
•
¾ ¿ ² À Á Â*Ã Ä?ÅAÆ
Narz J dzia
typy RAD
SkG adowa zarz F dzania danymi
(podziaI czasu procesora;
kompilator, syst. operacyjny)
Okre lenie dodatkowych regu przy transformacji schematów obiektowych na relacyjne
« ¬ ­ ®!¬#¯ ° ± ¯ ²(³*´*± ³!µ ± ²-¶.³ ·0²-¬#¯ ².¸ ¹.®*º#»-¼7½
8#9;:#<#= >#?A@#B
SkG adowa interfejsu uH ytkownika
(do niedawna nawet do 90% nakI adów;
obecnie realizowana zwykle poprzez
GUI)
à
à
ä
.0/-.21 3-/4.51 6 7
SkC adowa zarz D dzania
pamiE ciF operacyjn F
obiekty powi zanej klasy
wska niki (referencje) do obiektów powi zanej klasy
identyfikatory obiektów powi zanej klasy
klucze kandyduj ce obiektów powi zanej klasy
á
!#" $ %&'" ( )*#+-,
¡ ¢ £;¤ ¥5¦¤
ûtÀµÊ·Ãr¿tɾ5ÊËͽ'¼ Í
Æ Ç È ¾ ÉÄÊË̽0¼ É Í
ÿ
Dost pno powi zanych informacji - w momencie wype niania konkretnej informacji,
u ytkownik powinien zawsze mie mo liwo podejrzenia (lub wyboru z listy)
Nieobci anie pami ci krótkotrwa ej u ytkownika - u ytkownik mo e zapomnie o tym
po co i z jakimi danymi uruchomi dialog; system powinien w miar mo liwo ci
wy wietla stale te informacje, które s niezb dne do tego, aby u ytkownik wiedzia , co
aktualnie si dzieje i w którym miejscu interfejsu si znajduje
Grupowanie powi zanych operacji -je eli zadanie nie da si zamkn w prostym
dialogu lub oknie, wówczas trzeba je rozbi na szereg powi zanych dialogów;
u ytkownik powinien by prowadzony przez ten szereg, z mo liwo ci atwego powrotu
do wcze nie wprowadzanych informacji
Regu a Millera 7(±2) - regu a psychologiczna okre laj ca liczba obiektów nad
którymi cz owiek mo e jednocze nie pracowa w sposób efektywny
•
Ograniczenie powy sze mo na prze amywa poprzez grupowanie powi zanych ze
sob elementów w wyra nie wydzielone zespo y
Ú Û Ü ÝOÛ!Þ ß à Þ á â;ã;à âOä à áXå-â æZáXÛ!Þ á-ç è4ÝOéaê;ëkì
í î á ï ð ýkþ ó5ôõ
3
<>=@?BADCFEDG H IJELKNM9EO=QPSRTMSUDVW?!X
Optymalizacja (rozumiana jako poprawa efektywnoY ci) moZ e by[ dokonana na poziomie:
• projektu
• implementacji
Kluczowe zagadnienia na etapie projekowania:
• Zmiana algorytmu przetwarzania - np. zmiana algorytmu sortuj \ cego poprzez
wprowadzenie po] redniego pliku zawieraj \ cego tylko klucze i wska ^ niki do sortowanych
obiektów mo _ e przynie`a nawet 100-krotny zysk.
• Wykrycie potencjalnych “wb skich gardec ” w przetwarzaniu i staranne ich
zaprojektowanie; stosuje sid tutaj twierdzenie, e e 20% kodu jest wykonywane przez
80% czasu; moe liwe jest równie e rozwi f zanie polegaj f ce na zleceniu implementacji
kluczowego przetwarzania na nie szym poziomie
• g wiadoma denormalizacja relacyjnej bazy danych - wprowadzenie nadmiarowoh ci
danych w celu zwii kszenia efektywnoh ci (np. j k czenie dwóch lub wii cej tablic w jedn k )
• Stosowanie struktur pomocniczych - indeksów, tablic wska l ników, ...
• Analiza mechanizmów buforowania danych w pamii ci operacyjnej i ewentualna zmiana
tego mechanizmu (np. zmniejszenie liczby poziomów)
!" # %$& '(% &) *&+,%-.
¤
,PSOHPHQWDFMD
/ 0 1 2 3 465 798;:
m n o pnq r s q t!uvs uw s t%xNu y(t%nq tNz {&p|}~;
¥ ¦@§S¨ª© «­¬®© «O© ¯±°®² «®¯³«­¬@§¦µ´&¶(©
ÝßÞ àLáãâµäæåQç®èLå é ê
•
•
•
•
Implementacja ulega znacznej automatyzacji wynikaj· cej ze stosowania:
J¸ zyków wysokiego poziomu
Gotowych elementów
Narz ¸ dzi szybkiego wytwarzania aplikacji - RAD (ang. Rapid Application
Development)
• Generatorów kodu - s ¹ to najcz ºB» ciej sk¼ adowe narz½ dzi CASE, które na
podstawie opisu projektu automatycznie tworz¾ kod programu; zwykle
jest to szkielet programu, który nast½ pnie jest uzupe¼ niany przez
programistów; typowe elementy kodu:
– skrypty tworz ¿ ce relacje w bazie danych
– definicje struktur danych
– nagÀ ówki procedur i funkcji
– definicje klas
– nagÀ ówki metod
! %& (% & &%
•
•
•
•
Rosn õ ce oczekiwania klientów wynikajõ ce m.in. z coraz wiö kszej powszechno ÷ ci
wykorzystania oprogramowania oraz z wysokiej niezawodno÷ ci sprzö tu; w kwestiach
niezawodno ÷ ci oprogramowanie znacznie ustö puje sprzö towi (byø moù e wynika to z
mniejszej powtarzalno ÷ ci oraz duù ej zú où ono ÷ ci oprogramowania)
Potencjalnie duù e koszty bú ö dnych wykona û (wysokie straty finansowe wynikaj ü ce z
bý þ dnego dziaý ania funkcji oprogramowania, nawet zagro ÿ enie dla ÿ ycia)
Nieprzewidywalno efektów oraz trudno usuniþ cia bý þ dów w oprogramowaniu
Cz þ sto pojawia siþ konieczno znalezienia kompromisu pomiþ dzy efektywno ciü i
niezawodno ciü ; teoretycznie ý atwiej jest jednak pokona problemy zbyt maý ej
efektywno ci niÿ zbyt maý ej niezawodno ci.
Zwiþ kszanie niezawodno ci
Unikanie
bý þ dów
•
•
•
Wykrywanie i usuwanie
bý þ dów
Á Â Ã ÄÂÅ Æ Ç Å È!ÉÊÇ ÉË Ç È%ÌNÉ Í(È%ÂÅ ÈNÎ Ï&ÄÐÑÒ;Ó
;¡ ¢9¡;£
Mo= na przyj> ? , @ e stworzenie bardziej zA o@ onego systemu, który nie
zawiera bA B dów, jest praktycznie niemo@ liwe; trzeba natomiast stara ?
si B zmniejsza? prawdopodobie C stwo wystD pienia bE F du dziF ki:
•
ëDì­íBëQî®íSïDðFëLñæï­ò®ó ï
Znaczenie niezawodnoô ci:
k
)+*-, .0/1*2, 354 6 7 8:9<;
•
•
•
•
•
t ;
unikaniu niebezpiecznych technik (np. programowanie oparte na wskaG nikach)
stosowaniu zasady ograniczonego dostH pu (reguI y zakresu, hermetyzacja, ...)
jH zykom z mocn J kontrol J typów i kompilatorom sprawdzajJ cych zgodnoKL typów
wykorzystaniu j H zyków o wyM szym poziomie abstrakcji
dokI adnemu i konsekwentnemu specyfikowaniu interfejsów pomiH dzy moduI ami
oprogramowania
zwróceniu szczególnej uwagi na sytuacje skrajne (puste zbiory, p H tle z graniczn J
iloK ci J obiegów, wartoK ci zerowe, niezainicjowane zmienne, ...)
wykorzystaniu gotowych komponentów (np. gotowych bibliotek procedur lub klas) z
zastosowaniem zasady ograniczonego zaufania
minimalizowaniu róM nic pomiH dzy modelem pojH ciowym i modelem
implementacyjnym
! "$# %'&$(
...
l m
n oqp rtsvuxwys-z<{1|~}<|y-}r
Tolerowanie
bý þ dów
Ô Õ È Ö × Ø;Ù ÚÛ Ü
:2p
~
•
•
•
•
•
•
•
•
•
•
•
•
•
•
U ywaj znacz cych oraz unikaj podobnych nazw zmiennych
Nie u ywaj tych samych zmiennych do ró nych celów
Dla jednoznaczno ci u ywaj nawiasów
Pisz tylko jedn instrukcj kodu w wierszu i u ywaj wci$
Ucz si i u ywaj prostych cech j zyka
Ucz si i wykorzystuj dost pne funkcje biblioteczne i standardowe
Dopóki program nie jest poprawny nie my l o jego efektywno ci
Nie po wi caj czytelno ci kodu dla (cz sto pozornych) zysków w efektywno ci
Unikaj trików j zykowych
Nigdy nie ulepszaj programu je li nie musisz
Komentuj to co istotne, ale unikaj zb dnych komentarzy
Komentuj c odpowiadaj na pytania czytelnika
Komentuj wszystkie niebanalne zmienne (pola)
...
N O P QO R S T R UVWT VX T UYZV [UO R UZ\ ]Q^_`$a
b c U d e f$` gihj
4
¸º¹¼»¾½:¿-À Á¼ÀÃÂÄ¿ÅqÆÇ:È ÉÊ¿-À ¹2˼¹Â0Ì-À ¹<»0Â0¿<¹
•
•
•
•
•
ÍÎ$Ï
Instrukcje typu goto (skocz do) oraz wykorzystanie etykiet prowadz Ð zwykle do
programów, których dziaÑ anie jest trudne do zrozumienia i przeÒ ledzenia
Stosowanie liczb ze zmiennym przecinkiem, których dokÑ adnoÒ$Ó jest
ograniczona i moÔ e byÓ przyczynÐ nieoczekiwanych bÑ Õ dów, najczÕ stsze bÖ Õ dy
pojawiaj × siÕ podczas porównaØ
WskaÙ niki i arytmetyka wskaÙ ników: dajÚ moÛ liwoÜÝ dowolnej penetracji caÞ ej
pamiß ci operacyjnej i w przypadku popeÞ nienia bÞ ß du prowadziÝ mog Ú do
zupeÞ nie nieoczekiwanych (losowych) zachowa à , które ciß Û ko jest
diagnozowaÝ
Obliczenia równolegÞ e: mog Ú prowadzi Ý do zÞ oÛ onych zaleÛ noÜ ci czasowych i
tzw. pogoni (wynik zaleÛ y od tego, który z procesów szybciej dojdzie do
pewnego punktu w obliczeniach); z uwagi m.in. na niedeterminizm zachowania
bardzo trudne do testowania; np. wá tki s â okreã lane jako zatrute jabä ko
Przerwania i wyjå tki - wprowadzaj å równieæ pewien rodzaj równolegç oè ci;
dodatkowo, ryzyko przerwania operacji krytycznych czasowo
¡ ¢ £¤¥¢ ¤¦ ¢ £§¤ ¨£ £© ª« ¬­®
•
! "$# "%$"
& ')(
Rekurencja - mo* e prowadzi+ do krytycznego zap, tlenia albo przepe- nienia
stosu wywo- a . ; utrudnia / ledzenie programu,
Procedury i funkcje, które realizuj0 wyra1 nie odmienne zadania w zale* no/ ci od
parametrów lub stanu zewn, trznych zmiennych,
Dynamiczna alokacja pami , ci - stosowana bez zapewnienia mechanizmu
zwalniana pami, ciu ju* niewykorzystywanej,
Zmienne globalne,
Niewyspecyfikowane, nieoczekiwane efekty uboczne funkcji i procedur,
Przeci 0 * anie operatorów - problemy z kolejno/ ci 0 wywo- a . operatorów
•
•
•
•
•
235476849!:<;>= ?A@B4B9"C D EGF)HBIKJMLONBIKJ>P<Q RSH<TVU7W7UMFGU7IJ7XBS!U7P<Q UY[Z \ ]G^
_7`bacd_ e fB_ g hji k%l<m nMoqp<i n<rbs5t>u v7hKwxbvKszyBlBh{Ol7hw}|V~ j
< bB<KzB <M b< K >B
ü ý ð þ ÿ é ê ë ìê í î ï í ðñòï ñó ï ðôZñ õðê í ðZö ÷ìøùú$û
¯ ° £ ± ² ³ ´ µ'¶$·
ÓÔ!Õ Ö×ØÙ Ú8ÛÜÝÛ
Producenta
(opisuje szczegóâ owo proces
wytwórczy i rozwiÞ zania wykorzystane
do stworzenia systemu)
'RNXPHQWRZDQLH
Kierownictwo
•
•
¯ ° ¢ ± ² ³´ µ8¶·
•
•
¸ ¹ º »O¹¼ ½ ¾ ¼ ¿jÀdÁd¾ ÀOÂ ¾ ¿§ÃBÀ Ä¿§¹¼ ¿BÅ Æ7»OÇzÈdÉÊ
!
W trakcie trwania przedsi" wzi " cia powstaj# nast " puj# ce dokumenty:
dokumentacja procesu produkcji oprogramowania
dokumentacja techniczna opisuj$ ca wytworzony produkt
Dokumentacja procesu obejmuje:
• Plany, szacunki, harmonogramy - dokumenty tworzone przez kierownictwo
przedsi% wzi% cia jako propozycje; odbiorcami ich s$ przeå oç eni wyç szego szczebla; po
zaakceptowaniu dokumenty tego typu peå nia rol% polece & dla wykonawców
• Raporty - dokumenty (przygotowywane przez kierowników dla przeå o ç onych) opisuj $ ce
przebieg i rezultaty prac
• Standardy - dokumenty opisuj $ ce poç $ dany sposób realizacji
• Dokumenty robocze - rozmaite dokumenty zawieraj $ ce propozycje rozwi $ za &
tworzone przez czå onków zespoå u; zaakceptowane mog$ sta' si% standardami,
raportami, planami, ...
• Komunikaty - rozmaite, z reguå y krótkie dokumenty så uç $ ce do wymiany informacji
pomi% dzy czå onkami zespoå u
è é ê ëOéì í î ì ïjðdñdî ðOò î ï§ó7ð ôï§éì ï7õ ö7ëd÷ø§ùzú
û ü ï ý þ ÿ 8
ÿ
Uç ytkownicy systemu
Administratorzy
Dokumentacja jest integraln Þ czßà ci Þ systemu i powinna powstawaá równolegle z
procesem wytwórczym oprogramowania
Cz ß sto jakoàdá dokumentacji jest dobrym miernikiem stopnia dojrzaâ oà ci procesu
tworzenia oprogramowania w organizacji
Opracowanie dobrej dokumentacji pozwala uniknÞ5á wielu problemów na etapie
wdroã enia i nastß pnie rzeczywistego wykorzystania systemu
•
O ¡ ¢j£d¤d¡ £O¥ ¡ ¢§¦7£ ¨¢§ ¢7© ª7d«¬§­z®
Zespóå projektowy
(projektanci, programiæ ci)
Uä ytkowa
(opisuje system jako produkt,
ukierunkowana na uå atwienie
korzystania z oprogramowania)
•
•
Ë Ì ¿ Í Î ÏÐ ÑÏ5Ò
* + , -.
Zawiera dokå adny opis systemu (projekt + kod + testy + oszacowanie
niezawodno æ ci...); przeznaczona jest zwykle wyå $ cznie dla producenta
Dokumentacja techniczna przed oddaniem oprogramowania do eksploatacji
powinna by' poddana weryfikacji celem wyeliminowania bå % dów i nieæ ciså oæ ci
Istotne jest wypracowanie w firmie standardów dokumentacji technicznej:
• procesów wytwarzania dokumentacji: tworzenia wst% pnej wersji dokumentów,
wygå adzania, drukowania, powielania, oprawiania, wprowadzania zmian w
istniej$ cych dokumentach, zatwierdzania; konieczne jest æ ciså e okreæ lenie
odpowiedzialnych za to osób
• treæ ci i formy dokumentów: strona tytuå owa, spis treæ ci, budowa rozdziaå ów,
podrozdziaå ów i sekcji, indeks, så ownik
• sposobu dost% pu do dokumentacji: niezb% dne jest stworzenie rodzaju biblioteki
dokumentów technicznych, z zapewnieniem sprawnego dost% pu do dowolnego
dokumentu
è é ê ëOéì í î ì ïjðdñdî ðOò î ï§óBð ôï§éì ïBõ ö7ëO÷zødùú
û ü ï ý þ ÿ( ÿ)
5
RTSUWVXZY[\]^B_]`V a bc:d egfh i d j
.
• Opis funkcjonalny - wstk pna czkl3m dokumentacji opisuj n ca w sposób zwarty
przeznaczenie i go ówne mop liwol ci systemu; mop e bym wykorzystywany do
pierwszego zapoznania sik z oprogramowaniem
• Podr q cznik ur ytkownika - przeznaczony gs ównie dla pocz t tkujt cych
uu ytkowników; powinien zawierav podstawowe informacje niezbw dne do korzystania z
systemu (najlepiej na podstwie przyks adów) oraz odno x niki do bardziej szczegós owych
informacji
Z¡¢!£¤¥
Czynniki wp¦ ywaj § ce na postrzeganie i
akceptacj¨ dokumentacji przez
u© ytkowników:
• czytelna struktura dokumentu
• zachowywanie standardów
• sposób przekazu informacji:
– jasno «<­ wypowiedzi, eliminacja
dwuznaczno« ci (w tekstach
technicznych mo¬ na mniej
rygorystycznie przestrzega­ np.
unikania powtórze ° )
– precyzyjne definicje u¬ ywanych
terminów (najlepiej zebrane
dodatkowo w s® owniczku)
– stosowanie formy aktywnej i zwracanie
– powtarzanie trudnych opisów (w
siª bezpo« rednio do u¬ ytkownika
przypadku kluczowych kwestii
(dyskusyjne w odniesieniu do
dopuszczalne jest powtórzenie opisu
dokumentacji w j. polskim)
w kilku miejscach)
– bezwzglª dna poprawno«<­ gramatyczna i
– stosowanie tytu® ów (podtytu® ów)
ortograficzna
sekcji, wylicze ° i wyró¬ nie °
– zwiª z® a forma (krótkie zdania
– zrozumia® e odwo® ania do innych
zawieraj¯ ce pojedyncze fakty; rozs ¯ dnej
« ci @dokumentacji
z { | }3{5~ ~ :<< 3 ? Bcz
?{5ªI~
}3I<
)
d® ugo « ci akapity)
• Kompletny opis systemu - przeznaczony gs ównie dla dox wiadczonych
uu ytkowników; opisuj t cy cas t funkcjonalnox v oraz ograniczenia systemu, zawierajt cy
opisy formatów danych, mou liwych bs w dów, ...
• Instrukcja instalacji - przeznaczona gs ównie dla administratora, zawiera
procedurw instalacyjn t
• Podr q cznik administratora - opisuje mou liwox ci zmian konfiguracji dostw pne
bez ingerencji twórców systemu oraz sposoby udostw pniania systemu u u ytkownikom
ko y cowym; tworzenie kopii zapasowych, ...
/ 0 1 23054 6 7 4 8:9<;<7 93= 7 8?>@9 AB8?054 8@C D@2<E5F?GIH
J K 8 L M NN OPNQ
æ@çgèêéë ì ëWí@îPëïèêðgèêéñ òôó
Szczególnie istotna w przypadku oprogramowania wykonywaniego na konkretne
zamówienie; w jej trakcie nastõ puje przekazanie systemu klientowi, który w
momencie zako ö czenia instalacji staje siõ w÷ aø cicielem systemu
Podstawowe czynnoø ci podczas instalacji systemu:
,QVWDODFMDLZGUR *HQLD
•
•
•
•
•
•
± ² ³ ´3²5µ ¶ · µ ¸:¹<º<· ¹3» · ¸?¼@¹ ½B¸?²5µ ¸@¾ ¿@´<À5Á?ÂIÃ
Ä Å ¸ Æ Ç ÈÉ ÊPÈË
o=prq9sut v6w0x yzx|{~}0)s
%'&)(+*-, .0/2143'(656798;:=<?> @=<BA":C, :'7EDE>
•
•
•
WypeF nienie startowe bazy danych jest czG sto bardzo H mudnym procesem,
wymagajI cym wprowadzenia danych z róH nych noJ ników oraz uzgodnienia ich
poprawnoJ ci i spójnoJ ci. Niekiedy czG J K danych moH e by K dost G pna w formie
elektronicznej (np. w postaci zapisów poprzedniego systemu), ale wymaga to
przygotowania specjalnych programów konwersji (moH liwe to jest w zasadzie tylko
pod warunkiem znajomo J ci struktury bazy)
WaH ne jest planowanie i harmonogramowanie prac - pojawia si G szereg
problemów, np. koniecznoJLK usuniG cia bM G dów i wprowadzenia modyfikacji; nale H y
doH yK do zarezerwowania odpowiedniego czasu na prace zwi I zane z instalacj I
pamiG taj I c przy tym, H e uH ytkownicy nie mogI zaniechaK wykonywania przez nich
bieH I cych prac
Opór uN ytkowników przed zmianO sposobu pracy - czP sto u Q ytkownicy ko R cowi
systemu s S to osoby mniej zaawansowane i na starcie nieufne do nowego systemu;
zwykle nie uczesniczyli bowiem w poprzednich pracach prowadz S cych do powstania
systemu; bardzo waQ ne jest uzyskanie ich akceptacji
przygotowanie ù rodowiska pracy: dostarczenie nowego lub wykorzystanie istniejú cego
sprzû tu (serwery, stacje, sieü , drukarki, ...); odpowiednie skonfigurowanie systemów
operacyjnych; instalacja i/lub dostrojenie systemów bazodanowych
przeniesienie stworzonych aplikacji (instalacje na serwerach i stacjach)
dostosowanie oprogramowania do wymogów konkretnego stanowiska
inicjalizacja baz danych (zdefiniowanie reguý postû powania, wypeý nianie sý owników i
kartotek, przeniesienie - import danych z funkcjonuj ú cych systemów,...)
zdefiniowanie u þ ytkowników (ew. grup lub ról), przydzielenie im uprawnie ÿ i weryfikacja
dostû pu do odpowiednich czûù ci systemu
sprawdzenie moþ liwoù ci wykorzystania przynajmniej podstawowej funkcjonalnoù ci
systemu
Ì Í Î Ï3Í5Ð Ñ Ò Ð Ó:Ô<Õ<Ò Ô3Ö Ò Ó?×Ô ØBÓ?Í5Ð ÓÙ Ú@Ï3ÛIÜ<ÝÞ
ß à Ó á â ãÝ äã)å
!"$#
•
•
•
•
•
v+w0x v
Cz $ wst pna szkole (najczL ciej w postaci seminarium, bez bezpo redniej pracy
u ytkowników z systemem) mo e by przeprowadzona jeszcze przed uko czeniem
systemu
Szkolenia musz by dostosowane do poziomu u ytkowników (np. odzielnie dla
u ytkowników ko cowych i administratorów systemu) i powinny by organizowane w
taki sposób, aby osoby uczestnicz ce by y zainteresowane ca o ci zagadnienia
Zaleca si , aby szkolenia przeprowadza y (lub przynajmniej je rozpoczyna y) osoby,
które by y zaanga owane w prowadzenie przedsi wzi cia; jest im atwiej nawi za
kontakt z przysz ymi u ytkownikami
Zwykle stosowane jest tzw. nadzorowane korzystanie z systemu (u ytkownicy pracuj w
nowym systemie pod kontrol wdro eniowca), cz sto równoleg e z tradycyjnym
sposobem pracy, po którym nast puje weryfikacja rezultatów
Usuwanie b dów w oprogramowaniu i dokumentacji u ytkowej
T U V WUX Y Z X [ \ ] Z \^ Z [_E\ `[UX [Ea bWcd e$f
g h [ i j k$l mnkLl
6
HJIKMLON P Q R S!T UWVOX5YOZ [M\/]_^%`
Ç5ÈÉÊJËÌÍÎÈÍÎÏÑÐÈ7Ò Ó ÔÕ Ö
• Testowanie - polega na przeprowadzeniu eksperymentów z pewnymi
cz ר ciami systemu (lub jego caÙ oÚ ciÛ ), wykorzystujÛ ce specjalnie
dobrane dane testowe i porównaniu wyników uzyskanych z
oczekiwanymi; tak postÜ puj Û c moÝ na w sposób kontrolowany i
systematyczny, zademonstrowa Þ obecnoßÞ okreß lonej funkcjonalnoß ci
systemu oraz badaÞ obecnoß%Þ niepoàá danych efektów
! " #%$ &'
()+*-,/.10325476 )8619:.;41*)+<=0>2@?A2B.;C7<D.+E;<D25FG.+0325476 2
• Weryfikacja (ang. verification) - sprawdzenie zgodnoß ci systemu z
okreß lo-nymi na starcie wymaganiami
„Are we building the system right”
• Atestowanie (ang. validation) - ocena systemu podczas lub na ko â cu
procesu jego rozwoju na zgodnoãä z rzeczywistymi wymaganiami
uå ytkownika
„Are we building the right system”
(ten o który chodzi uæ ytkownikowi)
ª « ¬ ­j®/¯ ° ± ¯ ²³W´W± ³jµ ± ²O¶³ · ²O®/¯ ²¸ ¹:­jºM»=¼j½
¾ ¿ À Á Â Ã Ä-ÅjÆ
a b!cd/ef+c g hji%kl/m n
o-p/q-rOsJt_u!v
wMx y{z%| } ~y_MwjO| | !| zM} -OO/ !}
- /M///D % _ / -W % _ {_Dj
¡7¢ £D¤ ¥ ¦1§/¨ ©
UWVXY[Z]\ ^`_a^cbd_(ef
• B ! d (ang. fault, error) - niepoprawna konstrukcja znajduj" ca si# w kodzie,
która mo$ e doprowadzi% do niew& a' ciwego dzia& ania; poj # cie statyczne,
najcz#(' ciej skutek dzia& ania programisty
• B) * dne wykonanie, awaria (ang. failure) - niepoprawne dzia+ anie systemu
w trakcie jego pracy; program nie jest w stanie prawid+ owo wykona, co
najmniej jednej swojej funkcji w okre- lonych warunkach operacyjnych;
poj . cie dynamiczne; objaw b+ . du
• Jeden b+ / d mo0 e prowadzi, do ró0 nych b+ . dnych wykona 1 , ale mo0 e
równie0 nie objawia, si. przy typowych sytuacjach
• To samo b+ . dne wykonanie mo0 e by, spowodowane ró0 nymi b+ . dami
• Proces weryfikacji oprogramowania mo0 na okre- li, jako poszukiwanie i
usuwanie b+ . dów na podstawie obserwacji b+ . dnych wykona 1 oraz innych
testów
ç è é êjè/ë ì í ë îïWðWí ïjñ í îOò:ï ó îOè/ë î:ô õ:êWö/÷jø=ù
ccd
Gg ówne cele testowania:
• wykrycie i usunih cie bg h dów w
systemie
• ocena niezawodnoi ci systemu
•
dynamiczne (polegajr na wykonywaniu
•
statyczne (oparte na analizie kodu):
Na tej podstawie wyrój niamy:
• Wykrywanie bg h dów - testy, których
gk ównym celem jest wykrycie jak
najwil kszej liczby bm l dów w programie
• Testy statystyczne - celem jest
ú û î ü ý þ ÿ-þ
programu i porównywaniu uzyskanych
wyników z wynikami poprawnymi):
– funkcjonalne - zaks adajt jedynie
znajomou v wymaga w wobec
testowanych elementów;na zasadzie
„czarnej skrzynki”
– strukturalne - znany sposób
implementacji testowanej funkcji
– dowody poprawnox ci
– metody nieformalne
wykrycie przyczyn najczl stszych
bm l dnych wykona n oraz ocena
niezawodnoo ci systemu
2 3 4 56387 9 : 7 ;=<?>?: <6@ : ;AB< CD;387 ;BE FG56HJIK6L
ac¡d(¢W£ ¤¡¥¡¥aW¦`§
ËÍÌÎ Ï ÐÑÒÓc̤ÌWÔ ÌÖÕ×ÌÓÏ(Ø
• Testy cz¨(© ciowe (np. moduª ów) - wykonywane najcz¨© ciej podczas
implementacji, bezpo© rednio po zako « czeniu realizacji poszczególnych
moduª ów
•
• Testy systemu - wykonywane po zintegrowaniu cz¨© ci skª adowych;
testowane s¬ poszczególne podsystemy oraz system jako caª o©®­
•
• Testy akceptacji (ang. acceptance testing) - w przypadku
oprogramowania realizowanego na zamówienie system przekazywany
jest klientowi do przetestowania przez przyszª ych u¯ ytkowników (testy
takie nazywa si ¨ testami alfa);w przypadku oprogramowania
sprzedawanego rynkowo testy takie polegaj¬ na nieodpª atnym
przekazaniu pewnej liczby kopii systemu grupie u¯ ytkowników (testy
beta)
y z { |6z8} ~ } =?? 6 G Dz8} G G|?86
Z punktu widzenia techniki wykonywania testów mop na je podzieliq na:
T
•
•
KompletnoÜ Ý i jakoÞ6Ý zaß oà onych funkcji
systemu
Wydajno á?â systemu i poszczególnych
jego funkcji
Zabezpieczenie systemu - odporno á?â
systemu na naruszenia prywatnoá ci,
tajnoá ci, integralnoá ci, spójnoá ci i
dostã pnoá ci
Wä asnoá ci operacyjne systemu, np.
wymagania logistyczne, organizacyjne,
uà yteczno á?â / stopie å skomplikowania
instrukcji kierowanych do systemu,
czytelnoá6â ekranów, operacje
wymagajæ ce zbyt wielu kroków, jako ç?è
komunikatów systemu, jakoç?è informacji
o bé ê dach, jakoç6è pomocy
•
•
•
M N ; O P Q RTS6Q
ÙÚ Û
Przenaszalnoç6è oprogramowania poprawnoç?è dziaé ania w zróë nicowanym
ç rodowisku, róë nych rozmiarach
zasobów i rodzajach sprzê tu
Odtwarzalnoç?è oprogramowania (ang.
maintainability) - mierzonæ zwykle
ç rednim czasem doprowadzenia do
sprawnego dziaé ania po wyst æ pieniu
awarii (od zgé oszenia awarii do
ponownego dziaé ania)
Bezpiecze ì stwo oprogramowania stopie ì minimalizacji katastrofalnych
skutków wynikajæ cych z niesprawnego
dziaé ania (standardowy przyké ad - awaria
zasilania)
° ± ² ³6±8´ µ ¶ ´ ·=¸?¹?¶ ¸6º ¶ ·»B¸ ¼D·±8´ ·B½ ¾G³6¿JÀÁ6Â
Ã Ä · Å Æ Ç ÈTÉ6Ê
1
Obci %& alno ')( systemu - zdolno')( do
poprawnej pracy przy du & ych
obci%*& eniach; np. maksymalnej liczbie
u& ytkowników, bardzo du& ych
rozmiarach danych; w tych testach czas
nie odgrywa najistotniejszej roli, chodzi
wy+ % cznie o to, czy system poradzi sobie
w ekstremalnych warunkach)
Skalowalno',( systemu - spe+ nienie
warunków (m.in. czasowych) przy
znacznym wzro' cie obci %& enia
Niezawodno')( oprogramowania - zwykle
mierzon % ' rednim czasem pomi - dzy
b+ - dami (MTBF)
•
•
•
•
•
•
•
•
•
!"$#
QSRUTWVYXZTV [V XUT$V X\^]`_UR
Modyfikowalno')( oprogramowania zdolno')( do zmiany przy zmieniaj % cych
si- za+ o & eniach lub wymaganiach
Jako')( dokumentacji, pomocy, materia+ ów szkoleniowych
Testy wykorzystania zasobów - np. czas
jednostki centralnej, pami- ( operacyjna,
przestrze . dyskowa, ...
Spe+ nianie ogranicze . - np. na
zajmowan% pami- ( , obci%*& enia
procesora, ...
Interfejsy systemu na zgodno ')( z
wymaganiami
Akceptowalno')( systemu, tj. stopie .
usatysfakcjonowania u& ytkowników.
í î ï ð6î8ñ ò ó ñ ô=õ?ö?ó õ6÷ ó ôøGõ ùDôî8ñ ôGú ûGð?ü8ý6þÿ
•
Schemat testów:
•
losowa konstrukcja danych
weja ciowych zgodnie z rozkb adem
prawdopodobie c stwa tych danych
• okrea lenie wyników poprawnego
dziab ania systemu na tych danych
• uruchomienie systemu oraz porównanie
wyników jego dziab ania z poprawnymi
wynikami
Powyd sze czynnoa ci powtarzane s e
cyklicznie
•
Podstawow e zalet e jest mo d liwo a f ich
automatyzacji, a co za tym idzie,
mo d liwo a ci wykonania dud ej ich liczby
ô þ •
•
•
•
I J 7 K L M NO,P
ÑSÒUÓWÔYÕZÓÔÖר`Ô×Ö©ÙÚ ÛUÒ
Sprawdzanie funkcji oprogramowania bez zagl ª dania do « rodka programu; testuj ª cy
traktuje sprawdzany modu¬ jak „czarn ­ skrzynk ® ”, której wn¯ trze jest niewidoczne
Powinno obejmowa ° ca± y zakres danych wej² ciowych, co zwykle jest praktycznie
niemo³ liwe ze wzgl¯ du na olbrzymi ´ liczb ¯ dopuszczalnych danych wej² ciowych (efekt
„eksplozji danych testowych”)
Mo³ na podzieli° dane wej² ciowe w „klasy równowa³ no² ci”, co do których istnieje du³ e
przypuszczenie, ³ e b¯ d ´ produkowa° te same b± ¯ dy; klasy mog ´ by° równie ³ zale ³ ne
np. od wyników zwracanych przez testowane funkcje
Konieczne jest tak³ e przetestowanie warto ² ci granicznych
Wiele wej ²)° dla danych (wiele parametrów funkcji) mo³ e wymaga ° zastosowania
pewnych systematycznych metod okre² lania ich kombinacji, np. tablic decyzyjnych lub
grafów przyczyna-skutek.
m n o p,n4q r s q t9u)v)s u,w s t=xCu y@t=n4q tCz {Cp)|4},~
•
/ 0 1 2,043 5 6 3 798):)6 8,; 6 7=<>8 ?@7=043 7>A BC2,DFEG,H
S Y`>U U
44 4 ** F¡F¢¤£ ¥Y¦ £ § 4©¨
•
•
Stosowanie testów statystycznych wymaga
okrea lenia rozkb adu prawdopodobiec stwa danych
weja ciowych mod liwie bliskiemu rozkb adowi, który
pojawi sig w rzeczywistoh ci (doki adne
przewidzenie takiego rozki adu jest trudne, w
zwi j zku z czym wnioski wycij gnig te na podstawie
takich testów mog j nie byk wystarczaj j co
wiarygodne)
Zai ol eniem jest przetestowanie systemu w
typowych sytuacjach (pojawiaj j sig znacznie
czg h ciej); aby przetestowak system w sytuacjach
skrajnych, nietypowych, ale dostatecznie wal nych
nalel y zmodyfikowak wykorzystywany rozki ad
prawd.
Jest to przyki ad techniki tzw. „brutalnej sii y”, która
jest jednak stosunkowo mai o efektywna
•
•
•
•
•
W celu odróÜ nienia od testów funkcjonalnych nazywane testowaniem na zasadzie biaÝ ej
skrzynki (ang. white-box testing)
Celem jest sprawdzanie wewnÞ trznej logiki oprogramowania poprzez odpowiedni dobór
danych wejß ciowych, dzi Þ ki czemu mo Ü na przeß ledzià wszystkie istotne ß cieÜ ki
przebiegu sterowania programu
Tradycyjnie programiß ci wstawiajá kod diagnostyczny do programu aby ß ledzià
wewn Þ trzne przetwarzanie; debuggery pozwalaj á programistom obserwowaà wykonanie
programu krok po kroku
Zwykle niezbÞ dne jest wczeß niejsze odpowiednie przygotowanie danych testowych lub
wykorzystanie specjalnych programów usprawniajá cych testowanie (np. programu
wywoÝ ujá cego testowaná procedurÞ z róÜ nymi parametrami)
Ograniczeniem testów strukturalnych jest niemo Ü liwoß)à wykrycia brakuj á cych funkcji w
programie (wadÞ tÞ usuwa testowanie funkcjonalne)
t
ú • Z punktu widzenia u ytkownika liczba b dów w oprogramowaniu
niekoniecznie musi by bezpo rednio powi zana z jego zawodno ci • Oszacowanie liczby b dów ma natomiast du e znaczenie dla producenta
oprogramowania, gdy ma wp yw na koszty konserwacji
• Przewidywane koszty konserwacji oprogramowania zwi zane z
usuwaniem b dów mog by prognozowane na podstawie:
• Szczególnie istotne dla firm sprzedaj cych oprogramowanie pojedynczym
lub nielicznym u ytkownikom (relatywnie du y koszt usuni cia b du)
â ã ä å,ã4æ ç è æ é9ê)ë)è ê,ì è é=íCê î@é=ã4æ éCï ðCå)ñ4ò,óô
õ ö é ÷ ø Ì*Ì ÎÏ*Ð
µ ¶ · ¸,¶4¹ º » ¹ ¼9½)¾)» ½,¿ » ¼=À>½ Á@¼=¶4¹ ¼>Â ÃC¸,ÄFÅÆ,Ç
]W^Q_`[acb dMegfhQikjb ^lmekacb e n o6p q[rQsut
ùûúýüþ ÿ
– szacunkowej liczby b dów w programie (np. przy wykorzystaniu techniki „posiewania
b dów”)
– rednim procencie b dów zg aszanych przez u ytkownika systemu (oszacowanym
na podstawie danych z poprzednich przedsi wzi )
– rednim koszcie usuni cia b du na podstawie danych z poprzednich przedsi wzi .
È É ¼ Ê Ë Ì)Í ÎÏÐ
•
•
•
•
•
D
D EE
FE
FE
FE F
D
GIHKJMLONQPSRUT L
G HVJMLONQPWGIRXTILYJ[Z\N
– N oznacza liczb posianych b dów
– M oznacza liczb wszystkich wykrytych b dów
– X oznacza liczb posianych b dów, które zosta y wykryte
•
•
Do oprogramowania celowo wprowadza si pewn liczb b dów (powinny by podobne
do tych, które zwykle wyst puj )
Wykryciem tych b dów zajmuje si inna grupa programistów ni ta, która dokona a
“posiania” b dów
Szacunkowa liczba b dów przed wykonaniem testów:
Szacunkowa liczba b dów po usuni ciu wykrytych:
Oznaczenia:
E
D D
Szacunki te mog by mocno chybione, je eli sztucznie wprowadzone b dy nie b d
podobne do rzeczywistych b dów wyst puj cych w programie
Technika ta pozwala równie na zweryfikowanie skuteczno ci metod testowania
oprogramowania i zbyt ma y stosunek X/N oznacza konieczno poprawy tych metod
*
!" # $ % # &('*)*% '"+ % &-,.' /0&- # &.1 23!"46587"9
: ; & < = >*? @BA8C
2
WXIXOOQ
ÈQÉÊUËQÌÎÍ Ï ÐQÑ
Polegaj na analizie kodu bez uruchomienia programu, mo liwe techniki:
• dowody poprawno ci (nie s praktycznie osi galne dla rzeczywistych
programów);
• sformalizowane przegl dy;
• metody nieformalne (polegaj na analizie kodu przez autora i je li uzna
on swój kod za poprawny przekazuje go bardziej do wiadczonemu
koledze; szczególnie istotne cz ci kodu s analizowane przez grup
osób), dwie mo liwo ci:
Przegl d jest procesem lub spotkaniem, podczas którego produkt roboczy lub pewien
zbiór produktów roboczych jest prezentowany dla personelu projektu, kierownictwa,
u ytkowników, klientów lub innych zainteresowanych stron celem uzyskania
komentarzy, opinii i akceptacji
Wyró niamy przegl dy:
• nieformalne
• formalne:
– przegl d techniczny - s u y do oceny zgodno post pu prac z przyj tym planem
(ANSI/IEEE Std 1028-1988 „IEEE Standard for Reviews and Audits”)
– przej cie (ang. walkthrough) - wczesna ocena dokumentów, modeli, projektów i
kodu, której celem jest zidentyfikowanie defektów i rozwa enie mo liwych
rozwi za ; wtórnym celem jest szkolenie i rozwi zanie problemów stylistycznych
(np. z form kodu, dokumentacji, interfejsów u ytkownika)
– audyt - potwierdzaj zgodno oprogramowania z wymaganiami, specyfikacjami,
zaleceniami, standardami, procedurami, instrukcjami, kontraktami i licencjami
–
¡
£
¡
¢¡
¡
¡
£
¢
¤
ledzenie przebiegu programu (wykonywanie programu “w my li” przez analizuj ce
osoby)
– wyszukiwanie typowych b dów (niezainicjowane zmienne, porównania liczb
zmiennoprzecinkowych, indeksy wykraczaj ce poza tablice, b dne operacje na
wska nikach i w warunkach instrukcji warunkowych, nieko cz ce si p tle, ...)
¥¦
¨ ¥© ¦ ª ª
Testy nieformalne s « niedocenione, chocia¬ bardzo efektywne w praktyce
v w x y"w z { | z }(~**| ~" | }-3~ 0}-w z }3 3y* "8
} *
§
¤
Ó
Ò
Ó
Ò
Õ
ìîíïðñ òkóôOõBö[÷ñ\íùø úûüôó0ýVþñüðÿúökô
Celem audytu projektu informatycznego jest
dostarczenie odbiorcy i dostawcy
obiektywnych, aktualnych i syntetycznych informacji o stanie ca ego projektu
Zbierane s dowody, e zespó projektu:
• posiada mo liwo ci (zasoby,
kompetencje, metody, standardy) by
osi gn sukces,
• optymalnie wykorzystuje te mo liwo ci,
• rzeczywi cie osi ga za o one cele
(cz stkowe)
Zebrane informacje s u jako podstawa do
podejmowania strategicznych decyzji w
projekcie
•
procesy projektu informatycznego - celem
jest sprawdzenie prawid owo ci wykonywanych prac jak i sposóbu ich wykonywania
produkty (cz stkowe) projektu
informatycznego - celem jest sprawdzenie
czy rezultaty poszczególnych prac
odpowiadaj zak adanym wymaganiom
Perspektywy audytu:
•
•
technologia - celem jest sprawdzenie czy
u yte techniki oraz opracowane rozwi zania
s prawid owe i prawid owo stosowane
zarz dzanie - celem jest sprawdzenie czy
sposób zarz dzania projektem umo liwia
jego powodzenie
Ù Ú Û Ü"Ú Ý Þ ß Ý à(á*â*ß á"ã ß à-ä3á å0à-Ú Ý à3æ ç3Ü*è é"ê8ë
•
•
•
Wymaga si , aby wprowadzanie
modyfikacji polega o na zmianie nie
tylko kodu, ale równie dokumentacji
(np. projektu)
Dzi ki temu dysponujemy ca y czas
spójn dokumentacj i minimalizujemy
ryzyko zwi zane z niekontrolowanymi
zmianami kodu
Przyk ady modyfikacji ulepszaj cych:
•
•
•
Poprawa wydajno ci istniej cych funkcji
(np. nowy algorytm przetwarzania)
Poprawa ergonomii interfejsu
u ytkownika (np. automatyzacja
powtarzalnych operacji)
Poprawa przejrzysto ci raportów lub
inne sposób prezentacji
•
•
•
•
Ó
Õ*Ö
­ ® ¯ °"® ± ² ³ ± ´(µ*¶*³ µ"· ³ ´-¸.µ ¹0´-® ± ´.º »3°"¼6½8¾"¿
À Á ´ Â Ã Ä*Å ÆBÇ8Å
IstniejR trzy gS ówne klasy wprowadzanych w oprogramowaniu modyfikacji:
• poprawiajT ce - polegaj U na usuwaniu z oprogramowania wykrytych podczas
normalnej pracy bV W dów (nie zostaV y one wykryte podczas testowania) a
popeV nionych w czasie analizy wymaga X , projektowania lub najczY>Z ciej
implementacji
• ulepszaj [ ce - polegaj \ na poprawie jakoZ ci oprogramowania,
• dostosowuj[ ce - polegaj\ na dostosowaniu oprogramowania do zmian
zachodz \ cych w wymaganiach u] ytkownika lub w Z rodowisku pracy
oprogramowania
* + , - ./ 021(3
¶·7¸ ¹º 7¸ {{ » ¼¾½
¿MÀGÁH¿@ÃBÄ<źÃGÆ ½ à ÇMÂGÄÈÉ ½ Ê Ã ¼ Ë#½
Zmiany (rozszerzenia) wymaga
u ytkowników (np. nowy profil
dzia alno ci)
Zmian przepisów prawnych dotycz cych
dziedziny problemu lub jego otoczenia
Zmian organizacyjnych po stronie
klienta (np. inna forma w asno ci lub
zmiany terytorialne)
Zmian sprz tu i oprogramowania
systemowego
Zmian innych systemów z którymi
wspó pracuje oprogramowanie
(potrzeba opracowania nowych
interfejsów)
^ _ ` a _b c d b efgd f h d ei#f j e_b e#k l#amn o(p
Ó
! "# $&%(' )
Modyfikacje dostosowuj ce wynikaj z:
•
Ò
ÓÒ
×
Inne uP ywane terminy to pielQ gnacja lub utrzymanie (ang. maintenance)
Konserwacja polega na zapewnieniu poprawnego i efektywnego
funkcjonowania systemu poprzez wprowadzenie niezbQ dnych modyfikacji
z|{G}~ B#H{7GH{JK7M{7
•
Ò ØÒ
Õ"Ö ×
45768:9<;>=@?BA#CD?E57FG;H5IJ;K?7LM5=N?G6<O ?
Przedmioty audytu:
•
ÔÓ
Ò
q r e s t u(o vDwyx
UÌ ytkownicy zwykle zgÍ aszaj Î wiele potencjalnych usprawnie Ï i modyfikacji, które ich
zdaniem s Î wskazane lub niezb Ð dne w pracy systemu; naleÌ y podchodziÑ do takich
propozycji z naleÌ ytÎ uwag Î , ale i odpowiednim krytycyzmem
Analiza celowo Ò ci wprowadzenia zmian powinna uwzglÐ dniaÑ :
•
•
•
•
Ó
Znaczenie wprowadzenia zmiany dla u ytkowników
Koszt wprowadzenia zmiany i uzyskane korzy ci
Ocen ryzyka destabilizacji normalnej pracy w wyniku b du nowej cz ci
Wp yw zmiany na poszczególne sk adowe systemu i sk adowe dokumentacji technicznej
Ö
Õ
Ö
Ô
ÖÕ
Ö
ÕÔ
Dopiero po dokonaniu oceny zmiany podejmowana jest decyzja o jej ewentualnej
realizacji; w przypadku bardzo duÌ ych przedsiÐ wziÐyÑ moÌ e zosta Ñ powoÍ ana w tym
celu specjalna komisja
Zaleca siÐ grupowanie zmian, których wykonanie prowadzi do nowej wersji systemu
¡¢£ ¢ ¤ ¡¥¢ ¦ ¡ ¡§ ¨# ©&ª(« ¬
­ ® ¡ ¯ ° ±² ³2´(µ
3
! " #"$&%(' )*#,+.-."
#,/*02143 5 #6/ 0%*$ 57+.-." 8:9<;
ô GþHô Jþ ôÿGü óôõ:öº÷Høúùûô7üõºýGþKÿ
•
Obiektywne czynniki wp ywaj ce na koszty konserwacji:
• Stabilno rodowiska w którym pracuje system - zmiany zachodz ce w przepisach
prawnych, zmiany struktury organizacyjnej i sposobów dzia ania po stronie klienta
prowadz do zmian wymaga wobec systemu
• Stabilno platformy sprz towej i oprogramowania systemowego - wymiana sprz tu
mo e skutkowa konieczno ci dostosowania systemu
• Czas u ytkowania systemu - ca kowite koszty konserwacji oczywi cie rosn , gdy
system jest eksploatowany przez d u szy czas
•
Wyst puje tendencja, aby zbyt nisko ocenia koszt konserwacji; okazuje si jednak,
e koszty te mog by bardzo du e, zw aszcza w przypadku organizacji
funkcjonuj cych w zmiennym rodowisku
Niedocenianie nak adów pracy na konserwacji jest jedn z g ównych przyczyn
opó nie przedsi wzi i tylko cz ciowego ich wykorzystania
× Ø Ù Ú ØÛ Ü Ý Û ÞßàÝ ß á Ý Þâ#ß ã ÞØÛ Þ#ä å#Úæç è(é
•
=>
?
•
•
•
@
F>
@ @
rodowisko implementacji - odpowiednio
zaawansowane i niezawodne narz dzia
(np. RAD) sprzyjaj skróceniu czasu
niezb dnego na wprowadzenie modyfikacji
Niezawodno oprogramowania wysoka niezawodno systemu
przekazanego klientowi zmniejsza liczb
modyfikacji zw aszcza o charakterze
poprawiaj cym
In ynieria odwrotna (ang. reverse
engineering) - odtwarzanie dokumentacji
technicznej na podstawie istniej cego
oprogramowania; daje si w pewnym
zakresie automatyzowa , ale mo e
wymaga dodatkowej korekty
Zarz dzanie wersjami
T
•
•
}~
•
•
A
B
C
B
B
A @
CB
BE
B
BE
C
?
Ö×
Wiarygodno jest atrybutem (wysokiego
poziomu), na bazie którego mamy
prawo zaufa us ugom oferowanym
przez system; wyró niamy bardziej
szczegó owe atrybuty m.in.:
• Niezawodno (ang. reliability) okre la zdolno systemu do
nieprzerwalnego dostarczania us ug, w
okre lonych warunkach
funkcjonowania
• Dyspozycyjno (ang. availability) charakteryzuje procent czasu, w
ramach którego system jest zdolny do
wiadczenia oczekiwanych us ug, w
odniesieniu do wyspecyfikowanych
warunków funkcjonowania
Ý
Ú
Ý
Koszt
konserwacji
Koszt
budowy
I J K L:J<M N O M PRQTSTO Q:U O PWVQ XPWJ<System
M PY ZLT[<\:1]^ System 2 _ ` P a b cGd e4fg
@
?
BHE
E
A
@
D
E
B
ð2ñ(ò
ê ëÞìí
Ý
× Ø Ù
Û ÜÝÞ
àÜ
ß
•
•
á
â
Bezpiecze stwo (ang. safety) - gwarancja,
e awaria systemu nie spowoduje
katastrofy w rodowisku funcjonowania
Zabezpieczenie (ang. security) - wi e si
z dost pem do informacji przetwarzanej,
przechowywanej lub przesy anej
æ
ã
ë è éì
ç
äå æ
ê
– poufno (ang. confidentiality) - okre la
stopie zabezpieczenia przed
nieupowa nionym dost pem do informacji
– integralno (ang. integrity) - okre la
stopie zabezpieczenia przed
nieuprawnion modyfikacj
– dyspozycyjno - okre la stopie
gwarancji, e informacja b dzie mo liwie
najszybciej udost pniona na danie
uprawnionych podmiotów
í
ð
ñ îTï ò
ò
÷ óTô ø õ ø W÷ ò ö ÷
ß
:< RTT : W. W< .¡ ¢:£
© ª «« ¬®­¯
¤¥:¦
§¨
_a`cbd`&ecfhg^ikj lnmoicp,`aqnr `se.l&tolauvg wyx
Zapobieganie defektom (ang. fault prevention) - dwa podej3 cia: unikanie defektów i
usuwanie defektów;
Samo zapobieganie defektom nie gwarantuje jednak uzyskania wysokiej niezawodno3 ci;
wynika to przede wszystkim z tego, 4 e:
Oznacza to, < e techniki zapobiegania defektom musz= by> uzupe? nione metodami
maj = cymi na celu tolerowanie skutków defektów, które wci=< wyst@ puj= w systemie i
ujawniaj= si@ podczas jego pracy
Tolerowanie defektów obejmuje zarówno sprz@ t jak i oprogramowanie sk? adaj= ce si@ na
funkcjonuj = cy system
ù ú û ü:ý<þ ÿ þ Wý<þ ü
@
°²± ³*´<µ(¶*· ¸¹· º » ¼¾½ ¼¾¿4À ÁàÄ
ÅÆÇ.È6É ÊË4Ì6ËÍÎÊ.ÏRÐ¾Ñ Ò Ñ Ó Ô Õ
– starzenie si5 i zu6 ycie elementów sprz5 towych powoduje pojawianie si5 defektów fizycznych
w trakcie dzia7 ania systemu (nie ma mo8 liwo9 ci ca7 kowitej eliminacji problemu)
– praktycznie wykorzystywane oprogramowanie jest na tyle skomplikowane, 8 e nie ma
mo 8 liwo 9 ci przetestowania go dla wszystkich sytuacji; podczas konserwacji cz: sto
wprowadzane s; do oprogramowania kolejne defekty
•
@
@
× Ø Ù Ú ØÛ Ü Ý Û ÞßàÝ ß á Ý Þâß ã ÞØÛ Þä å#Ú æ&ç(è é
!#" $&%('*),+.-0/&+ 1 2
•
@
E
ê ë Þ ì í îï ðDñyò
Wiele dzia a zmierzaj cych do
redukcji kosztów konserwacji
musi by podj te ju w fazie
budowy systemu.
Ca kowity koszt
•
D
@
@
@
A
FG>
C
GF >
E
hij!k*kl m(l n&op q*m6rs.l
m6t*u2i2v&w x m6t k uo*n xyr.s.l zW{ |
•
?
Znajomo dziedziny problemu - je eli analitycy pracuj cy nad systemem
dobrze znaj dan dziedzin problemu, maj mniej trudno ci z w a ciwym
zebraniem wymaga oraz budow oddaj cego rzeczywisto modelu; mo liwe
jest równie przewidzenie i uwzgl dnienie potencjalnych kierunków rozwoju
systemu
Wysoka jako modelu i projektu, w szczególno ci jego spójno , stopie
powi zania sk adowych oraz przejrzysto
Wysoka jako dokumentacji technicznej (powinna w pe ni odpowiada
systemowi, by wystarczaj co szczegó owa i zgodna z przyj tymi w firmie
standardami)
Stabilno personelu - niezale nie od jako ci dokumentacji, pewne aspekty
systemu s znane lepiej osobom bezpo rednio uczestnicz cym w realizacji; nie
musz one dokonywa modyfikacji, ale dobrze jest gdy mog wspomaga
innych poprzez konsultacje w momencie pojawienia si w tpliwo ci
•
Celem jest zapobieganie spowodowanych defektami awarii systemu; dziaz ania musz {
by | podejmowane zanim bz } dne funkcjonowanie poszczególnych komponentów
przerodzi si} w awari} caz ego systemu
Wyró~ niono 4 fazy obejmuj { ce caz o| zagadnienie zwi zanych z tolerowaniem defektów:
• wykrycie b dnego wykonania (ang. error detection) - pomi dzy wyst pieniem defektu a
jego wykryciem mo e up yn pewien czas, gdy stan systemu nie jest obserwowany w
sposób ci g y po k tem wykrywania defektów
• ograniczenie i ocena zniszcze (ang. demage confinement and assessement)
• naprawa stanu systemu po wyst pieniu b dnego wykonania (ang. error recovery) przywrócenie stanu uprawnionego, tak aby mo liwa by a kontynuacja dzia ania bez
negatywnych skutków
• usuni cie defektu i kontynuacja pracy systemu (ang. fault treatement and continued
system service) - identyfikacja komponentów zawieraj cych defekty i np. ich wymiana
A B C DBE F G E HIJG IK G H LMI N H BE HMO P DQSRTU
V W H X Y Z[ \^][
4
ÜÞÝcßáàãâåäæ&çèæ&ç&ékêìë çaàoÝcí,Ý îðï ñóò.ô0õ÷ö øaù^ú&ø
ûü ýMþ ÿ ¢¤£y¥k¦s§ £a¨ª©c«¬© ­(®
Odnosi si¯ do tych cz ¯° ci systemu, których zadaniem jest osi ± ganie efektu tolerowania
defektów:
• sprz ² towa - komponenty sprz³ towe specjalnie dodane do systemu i wykorzystywane
tylko do tolerowania defektów
• programowa - (analogicznie jak sprz³ towa, ale dotyczy oprogramowania)
• temporalna (czasowa) - operacje s ´ powtarzane; stosowana zwykle w celu wykrycia i
naprawy skutków defektów przejµ ciowych, które nie ujawniaj ´ si³ w trakcie wszystkich
powtórze ¶ danej operacji (np. w protoko· ach komunikacyjnych komunikat mo¸ e by¹
wysy· any wielokrotnie w celu tolerowania awarii sieci)
Inna klasyfikacja rozró¸ nia nadmiarowoµ¹ :
• dynamicznº (w celu wykrycia b» ¼ du; np. sprawdzanie bitu parzysto ½ ci)
• statyczn º (w celu zamaskowania awarii komponentu i uniemo¾ liwienia im
spowodowania awarii systemu; np. potrójna nadmiarowo ½¿ modularna)
OQPSRUTWVYXUZS[\ZS[]_^a` [bTPScdP ef
•
•
•
•
^gPb]ihij [kTLZS[
•
"
$
•
#
"
$
! & #&
'
% $
•
$
•
•
•
•
•
•
&
%
%
#
%
$
Ô Õ Ö ×ÕØ Ù Ú Ø ÛÜ+Ý+Ú ÜÞ Ú Û<ßÜ àÛ<ÕØ Ûá â×+ãäåDæ
%
Komponent
S' u, y do zamaskowania awarii jednej
kopii modu' u
W nieznacznym stopniu wp' ywa na
obni, enie efektywno) ci czasowej
systemu (kopie dzia' aj & równolegle,
jedynie urz & dzenie g' osuj& ce
wprowadza opó - nienie)
•
•
Ó Ô Ç Õ Ö ×Ø Ù^ÚÛ
Polegaj É na powtarzaniu oblicze Ê dokonywanych w systemie i moË na je traktowa Ì jako
alternatywn É implementacjÍ specyfikacji systemu
W celu wykrycia rozbieË noÎ ci wyniki pierwotne i wtórne s É porównywane
Zakres oblicze Ê zale Ë y od typu defektu, który zamierzamy tolerowaÌ
Maj É bardzo wysok É zdolnoÎ Ì wykrywania, ale ze wzglÍ du na zakres nadmiarowoÎ ci s É
kosztowne w realizacji
Je Ë eli rozpatrujemy wyÏ É cznie defekty fizyczne moË na wykorzystywaÌ dokÏ adne repliki
systemu; technika ta jest stosowana w systemach, które musz É wykazywaÌ siÍ
szczególnie wysok É dyspozycyjnoÎ Ì i É (np. centrale telefoniczne)
PrzykÐ adowo w systemi Stratus wszystkie komponenty sprzÑ towe s Ò duplikowane w ramach
wspólnej pÐ yty montaÓ owej,wyposaÓ onej dodatkowo w urz Ò dzenia samodiagnozujÒ ce i wykrywajÒ ce
defekty; dodatkowo kaÓ da pÐ yta ma kopiÑ dziaÐ ajÒ c Ò z ni Ò w konfiguracji dupleksowej; w momencie
wykrycia sytuacji niepoÓ<Ò danej, system kontynuuje prace przy u Ó yciy drugiej pÐ yty;
z { | }{~ ~ ++ < <{~ }D
N D
IKJMLONQPSROTVU W RXZYJ[R]\_^`a^MTbXaYcU JdeU Ygfh^i d]XMj k;U
&
&
Urz . dzenie
g/ osuj. ce
· ¸W¹Wº» ¼ ½¾¿ À ÁNÂLà À ÄLÅSÁNÆL½WÁNÇ È
E F 7 G H IB JLKNM
&
Komponent
S¢¡ £ ¤¥k¦¨§a¤ª©«S¬®­L¥b¯W¤¥b¦i° §i±²« ³i´ ° µ¤§ ¶
W celu wykrywania defektów oprogramowania
(np. w postaci zap tlenia si programu) stosuje
si testy tzw. nadzorców (ang. watch dog
timer); komunikacja pomi dzy programem a
jego nadzorc polega na tym, e okresowo
program od wie a ustawienie czasu
obserwacji u swego nadzorcy; je eli nadzorca
stwierdza wyczerpanie limitu wówczas
sygnalizuje sytuacj wyj tkow
Podobnie realizowane jest wykrywanie awarii
procesorów w systemach wieloprocesorowych
i rozproszonych; ka dy z procesorów co jaki
czas rozsy a do innych sygna potwierdzaj cy
poprawne funkcjonowanie
&
!
"
%
•
Komponent
À Á Â ÃÁÄ Å Æ Ä ÇÈÉÆ ÈÊ Æ Ç ËMÈ Ì Ç ÁÄ ÇMÍ Î ÃÏSÐÑÒ
õúSò
ðñSòóôõöø÷ ù õúkû¨ñaõªüYýkû¨óþý_ÿ ù
Stosowane s w sytuacji gdy specyfikacja
rozpatrywanego komponentu narzuca
ograniczenia czasu oblicze
Wi e si to z wprowadzeniem urz dze
kontroli czasu, które s ka dorazowo
ustawiane na moment w którym musi nast pi
zako czenie oblicze ; w przypadku braku
wyników przed up ywem przyznanego czasu,
urz dzenie sygnalizuje przekroczenia czasu
oblicze (ang. timeout); sytuacja taka jest
interpretowana jako awaria komponentu
Je eli komponent wyprodukuje wyniki w limicie
czasu, to nie oznacza to jednak, e s one
poprawne (mog okaza si b dne, ale nie
zostanie to wykryte)
•
l mWn
0 1 2 314 5 6 4 78+9+6 8: 6 7<;8 =7<14 7> ?3+@ABDC
•
•
Polega na utrzymywaniu trzech
identycznych kopii danego modu u
(komponentu)
Wszystkie trzy kopie odbieraj !
identyczne sygna y wej" ciowe, a ich
sygna y wyj" ciowe s ! przesy ane do
urz# dzenia g$ osuj% cego (ang. voter)
Urz & dzenie g' osuj & ce porównuje
otrzymane sygna' y i podejmuje decyzj(
na zasadzie “g' osowania
wi ( kszo) ciowego” (na wyj) ciu podawana
jest warto )+* pochodz& ca z co najmniej 2
kopii modu' u, a pozosta' a ignorowana)
¡
Do poprawnego funkcjonowania niezb o dne jest doprowadzenie do sytuacji w której
ewentualne awarie ró p nych kopii moduq u s r niezales ne (awaria w jednej kopii nie jest
w t aden sposób zwi u zana z awariu w innej)
Mot e to wymagav niezale t now ci fizycznej (oddziax ywania elektryczne, magnetyczne,
termiczne) oraz by kopie nie wspóx dzielix y defektów o wspólnych przyczynach (np.
uszkodzenie zasilania)
Kluczowe jest równiet poprawne funkcjonowanie urz u dzenia gx osuju cego oraz linii
przesyx owych sygnax ów wymienianych w ramach struktury urz. gx osuju cego (w
przypadku jego awarii nadmiarowow v komponentów traci oczywiw cie sens)
Struktura jest efektywna podczas awarii wynikaju cych z defektów fizycznych (z natury
niezalet nych w kat dej kopii), nie jest przydatna w wypadku defektów projektowania
(jet eli komponent zawiera defekt projektowania to bedzie on obecny we wszystkich
kopiach i by dzie si y objawiax jednoczew nie)
•
•
•
•
$
'
r
s
t
u
t
– testy parzysto ci (umo liwiaj wykrycie przek amania pojedynczego bitu, nie daj jednak
mo liwo ci naprawy uszkodzenego bitu ani nie potrafi wykry sytuacji, gdy przek aniu
ulegnie parzysta liczba bitów)
– kod Hemminga (jest zdolny do naprawy przek amania pojedynczego bitu oraz wykrywania
przek ama wielu bitów; wprowadza jednak wi ksz nadmiarowo )
$
#
Polegaj l na dodaniu nadmiarowych bitów kontrolnych, których wartom ci pozos-taj l w
zadanej relacji z bitami danych podlegajl cymi kodowaniu; ukierunkowane s l na
okrem lone typy uszkodze n i efektywne tylko w tych przypadkach
Je o eli na skutek defektu nast l pi zmiana niektórych bitów w taki sposób, o e relacja nie
bp dzie speq niona, wówczas uzyskiwana jest informacja o problemie
Przykq adowe techniki:
s
•
u
r
w
u
t
x
t
v
u
rv
W celu efektywnego wykrywania bq p dów powstaj l cych podczas transmisji bloków danych
stosowane mog l byy :
– cykliczne kody nadmiarowe (ang. Cyclic Redudancy Codes - CRC)
– sumy kontrolne
ç è Û é ê ëNì íLîNï
( ) * +,)- . / - 0213/ 1,4 / 06571 8 06)- 079 :;+,<>=?,@
A B 0 C D EF GEH
5
ZhbaQZ ¢¡£aZ¤¦¥¨§c¥Zh¨©MMªZ§
ÜÞÝàß áaâÝãbäZåæ áSçaá¨èáéêhëãìÝcíZâhÝMîàâQäcï]Ýãbäaåæ ä
Celem jest powrót z obecnego stanu b« ¬ dnego do poprawnego stanu systemy, od którego
mo­ na wznowi® obliczenia:
• odtwarzanie zst¯ puj° ce (ang. backward error recovery) - przywraca pewien stan
±
poprzedni, co do którego jest domniemanie, e jest poprawny; wymaga zastosowania
mechanizmu, który w reguralnych odst pach zachowuje bie cy stan systemu w celu jego ew.
pó niejszego u ycia; mo e by stosowane do defektów nieoczekiwanych w postaci niezale nej od
specyfiki systemu
´
•
µ
µ
¶
²
±6³
¹ ¶
µ
stan, aby przekszta ci go w stan poprawny; skuteczne jest jedynie wtedy, gdy mo liwe jest
dokonanie dok adnej oceny zakresu defektów (tylko w odniesieniu do defektów oczekiwanych)
Efekt domina - wyst» puje wtedy, gdy dezaktualizacja efektów pewnych akcji poci ¼ ga za
sob¼ konieczno½,¾ dezaktualizacji akcji wcze ½ niejszych; obserwowany w systemach
sk¿ adaj¼ cych si» z powi¼ zanych komponentów; w szczególnych sytuacjach moÀ e
spowodowa¾ niemo À no½¾ pe¿ nego przywrócenia stanu wcze½ niejszego
z { | },{~ ~ 2 , 6; 6{~ ; ;},
•
µ
odtwarzanie wst · puj ¸ ce (ang. forward error recovery) - wykorzystuje aktualny (b¹ º dny)
¹
•
•
– bloki odtwarzania (ang. recovery blocks)
– programowanie w N wersjach (ang. N-version programming)
•
•
Q
•
•
•
•
•
•
•
modu u pierwotnego, którego celem jest realizacja okre lonego zadania,
testu akceptacyjnego, który dokonuje oceny wyników dostarczonych przez modu pierwotny (czu y
punkt, gdy b d w tym miejscu niweczy ca konstrukcj )
modu u alternatywnego, który jest aktywowany w sytuacji, gdy test wyników jego poprzednika
b dzie negatywny (dopuszcza si wi ksz liczb modu ów alternatywnych)
Ka dy moduþ jest projektowany niezale nie (z zachowaniem zasady rozmaito ci) na
podstawie tej samej dokumentacji zewnÿ trznej
D ymy do tego, aby moduþ pierwotny stosowaþ najbardziej efektywny algorytm (jest
aktywowany zawsze), ale by mo e w zwi zku z tym bardziej skompliko-wany; kolejne
moduþ y mog opiera siÿ o wolniejsze, ale i prostsze algorytmy
Zakþ ada siÿ , e dla danego zestawu danych wej ciowych, przynajmniej jeden moduþ
bÿ dzie funkcjonowaþ poprawnie
Je eli wersja pierwotna nie zawiera defektów, narzut czasowy jest nieznaczny
Á Â Ã Ä,ÂÅ Æ Ç Å È2ÉÊÇ É,Ë Ç È6Ì;É Í È6ÂÅ È;Î Ï;ÄÐÑ,ÒÓ
Ô Õ È Ö × ØÙ ÚØÛ
/1032546087:9;25<=7?>:@ AB<DCE<FA?0HGJIH71KML
Blok odtwarzania skþ ada siÿ z trzech skþ adowych:
•
Oba podej½ cia bazuj¼ na rozmaito½ ci projektowania (ang. design diversity), a róÀ ni ¼ si»
jedynie sposobem wykorzystania modu¿ ów
W À aden sposób nie mog ¼ zast¼ pi ¾ weryfikacji i walidacji; okre½ lane s ¼ jako “ostatnia
linia obrony”
Á Â Ã Ä,ÂÅ Æ Ç Å È2ÉÊÇ É,Ë Ç È6Ì7É Í È6ÂÅ È7Î Ï;Ä,Ð>ÑÒ,Ó
ðñ òcóMôõòZö÷øbùaúûüùaýcô ù
•
•
W odróÀ nieniu od sprz » tu oprogramowanie nie ulega starzeniu i fizycznym
uszkodzeniom; program, który jest poprawny w chwili obecnej b » dzie zawsze poprawny
o ile nie ulegn ¼ zmianie warunki w jakich jest wykonywany
Zmiana w ½ rodowisku wykonania (zmiana warunków wej½ ciowych, dost» pnych
zasobów, ...) lub szczególny uk¿ ad warto½ ci danych wej½ ciowych oraz zale À no ½ ci
czasowe mog¼ prowadzi¾ do b¿ » dnego wykonania pomimo intensywnych zabiegów
weryfikacyjnych i walidacyjnych
W oprogramowaniu, które powinno charakteryzowa¾ si» szczególnie wysok ¼
niezawodno ½ ci¼ stosuje si» :
Ô Õ È Ö × ØØ ÚØÛ
Dany program (lub jego czNOP ) jest realizowana w N wersjach z zachowaniem
rozmaitoO ci projektowania (tzn. wersje tworzone s Q niezale R nie, na bazie wspólnej
specyfikacji zewnN trznej)
Wszystkie wersje dziaS aj Q równolegle, a ich wyniki poddawane sQ gS osowaniu
Wynik maj Q cy wiN kszoOP przyjmowany jest jako poprawny (podobnie jak w PNM) i
udost N pniany jest na zewnQ trz (nie s Q wymagane specjalne testy akceptacyjne)
Realizacja takiego schematu wymaga specjalnego programu steruj Q cego, który:
• synchronizuje wywoS ania wszystkich wersji (O rodowisko wykonania musi dopuszczaP
równolegS e wykonanie)
• zbiera wyniki wyprodukowane przez poszczególne wersje (wyniki muszQ byP w tym
samym formacie, aby moR na je byS o porównaP ; kwestia dopuszczenia marginesu
odchyle T przy obliczeniach numerycznych)
• wykorzystuje te wyniki w gS osowaniu
!#"%$&
' ( ) * +, -.+%,
6
YEZ[-\^] _ ` a b!c dfe^gih^j k-lnmpo%q
ÏÐÑÒ Ó ÔÕKÖר Ù
ÚÛÜKÝÞßxà á â7ãiä á åæ çè
Zatrudnienie wysokiej klasy specjalistów oraz stosowanie zaawansowanych
narzé dzi wspomagajê cych nie gwarantuje jeszcze sukcesu projektu; niezbë dne
jest wì aí ciwe zarz î dzanie przedsiï wziï ciem
Podstawowe zadania kierownictwa przedsiï wzi ï cia programistycznego:
! " #%$ &'
(*)*+-, . /102*3*4 576*890 51/*:;4 < =?>A@ B CED F*G
H IKJ-LNM%OQPSRUT1VWXIET*O
•
•
•
•
•
•
rs!tunvwxt y z|{%}~n
n^Ep!
- % p-|^ ! - ^^n !
¡ ¢ ¢ £n¤-£n¥n¦n¤9§A¨ %©¨ ©pª £n« ¬­f ¦%®¨ p« ¢ ¯K°®p¤9±|
opracowanie propozycji dotycz ð cych sposobu prowadzenia przedsiñ wziñ cia,
kosztorysowanie przedsiñ wziñ cia i jego wycena
planowanie i harmonogramowanie przedsi ñ wziñ cia,
monitorowanie i kontrolowanie realizacji przedsiñ wziñ cia,
dobór i ocena personelu,
opracowanie i prezentowanie sprawozda ò dla kierownictwa wyó szego szczebla.
Sposoby zarz ô dzania przedsiõ wziõ ciem programistycznym w wielu aspektach nie
róö ni÷ siø od zarz÷ dzania innymi przedsiø wziø ciami, ale musz ÷ braù pod uwagú
specyfikú procesu budowy oprogramowania (np. nieprzejrzystoû ù procesu)
² ³ ´ µ|¶n· ¸ ¹ · º»f¼f¹ »|½ ¹ º^¾» ¿ º^¶n· ºÀ Á;µ|Â-ÃfÄ9Å
"!#$&%'!$&#)(+*'(,#-* . /,0'1,243 1653 78
9
Kierownik
przedsiH wzi H cia
Kierownik
programu
Koordynator
przedsiH wzi H cia
ze strony klienta
Kierownik
przedsiK wziK cia
Kierownik
d/s jakoG ci
Nie powinien
podlegaJ
kierownikom
programów i
przedsiK wziKJ
Koordynator
przedsiK wziK cia
ze strony klienta
Szef zespoI u
programistycznego
ü ý þ ÿ|ý =,) =
•
•
Kierownik
programu
Szef zespoI u
programistycznego
ikj&l4mEnoqp6r&sut=vxw&y-z"n{jEo | }@~D}{""
:&7-;,<=7)1=8+3 >@?BADCE0F2 9
Dyrektor d/s
oprogramowania
^ý ;ÿ Szef zespoI u
programistycznego
•
•
•
•
•
•
À=Á Â4Ã-ÄÅÇÆ=Á ÈÊÉ,Ã)ÄFËÌÂ&ÈEÍÎ
"
&= =
Kierownik przedsi wzi cia
Analityk - osoba bezpo rednio kontaktuj ca si
z klientem, której celem jest okre lenie wymaga
W mniejszych przedsi wzi ciach jedna
osoba mo e pe ni wiele funkcji,
cz sto rozwa ane s nast puj ce
modele:
i budowa modelu systemu
Projektant - osoba odpowiedzialna za realizacj • analityk/projektant + programista:
oprogramowania; mo e posiada
funkcje analizy i projektu w jednych
wyspecjalizowane funkcje:
r kach; zak ada wysoki poziom
– projektant interfejsu u ytkownika
projektanta, natomiast nie wymaga
– projektant bazy danych
zbyt wiele od programistów (funkcje
programisty do¡¢ niskiego poziomu);
Programista (implementacja)
w warunkach polskich model nie zdaje
Tester (testowanie)
raczej egzaminu
Twórca dokumentacji u ytkownika
• analityk + projektant/programista:
Ekspert metodyczny - osoba szczególnie
model bardziej realistyczny; zak£ ada
dobrze znaj ca stosowan metodyk
znacznie wy¤ szy poziom
Ekspert techniczny - osoba szczególnie dobrze
przygotowania programisty
znaj ca sprz t i narz dzia
L M N O MP Q R P STUR T V R S WXT YS MP SXZ [ O \]^`_
a b S c d e fg h
!" $#%'&()" *
Zadaniem szefa nie jest wykonywanie pracy za podlegÏ ych mu
pracowników, lecz dbanie aby wykonywali oni swojÐ pracÑ ; zadaniem
szefa nie jest zmuszanie ludzi do pracy, ale umoÒ liwienie im tego
•
PoÓÔ dane cechy kierownika:
• Zdolno Õ Ö do przewidywania - umiej× tnoØÙ dostrzegania drobnych spraw, które
mog Ú byÙ zalÚÛ kiem powaÛ niejszych problemów, przewidywania skutków,
podejmowanie zawczasu akcji naprawczych
• Umiej Ü tnoÝ-Þ motywowania - zdolnoß`à do pobudzania poczucia przynaleá noß ci
do grupy, zainteresowania wykonywan â pracâ , utoá samiania siã z projektem,
atmosfery wspóä pracy w zespole (przywództwo i budowanie zespoä u)
• Zdolno ÝÞ do przystosowania si Ü do zmieniaj å cej si æ sytuacji - umiejç tnoèé
podjç cia niezbç dnych dziaê a ë maj ì cych na celu przystosowanie zespoí u i jego
metod pracy do zmienionych warunków
•
¥ ¦ § ¨ ¦© ª « © ¬­®« ­ ¯ « ¬ ° ­ ±¬ ¦© ¬ ² ³ ¨´µ ¶·
¸ ¹ ¬ º » ¼ ½¾¿
Æ Ç È É Ê Ë ÌÍ|Î
•
•
+ ,- .
Zdolno /10 do przekonania otoczenia do w2 asnych mo 3 liwo 4 ci i warto4 ci kierownik powinien wzbudza5 zaufanie; sukces zespo6 u zale7 y w du7 ej mierze od
cech przywódczych szefa i powa7 ania i zaufania jakim si8 cieszy w9 ród cz6 onków
grupy
Rozpoznawanie i rozwijanie potencja: u swoich wspó: pracowników naturalnym zjawiskiem jest wymiana personelu (np. dobrze wyszkoleni i
kompetentni pracownicy awansuj; lub zmieniaj; prac8 ); powstaje potrzeba
wprowadzania do zespo6 u nowych ludzi, w6 a9 ciwego ich szkolenia, pomocy w
rozwijaniu ich potencja6 u
Komunikatywno4=< - 6 atwo9 5 komunikownia si 8 z szerokim wachlarzem ludzi podw6 adni, kierownictwo, klienci, dostawcy, ...
Terminowe podejmowanie decyzji dostosowanych do bie3> cej sytuacji i
potrzeb - kierownik powinien precyzyjnie okre9 li5 co ma by 5 zrobione i w jakim
terminie; wi ; 7 e si8 to cz8 sto z podejmowaniem decyzji w sytuacji niepe6 nej
wiedzy.
î ï ð ñ ïò ó ô ò õö÷ô ö ø ô õ ùXö úõ ïò õXû ü ñ ýþÿ
õ 1
acb%de$f)g hiejNkle
hm'nop q r
¡ ¢£¤H¢¡=¥§¦¨¡%©ª¨« ¬iª­¥¤®H
Struktura sieciowa - kas dy komunikuje sit i wspóu pracuje z pozostau ymi
(nie powinna by v zbyt liczna); zespou y o podobnym dow wiadczeniu i
stopniu zaawansowania; zalety:
• dzit ki w cisu ej wspóu pracy czu onkowie zespou u wzajemnie kontroluj x
swojx pract ; szybko osix gane sx standardy jakow ci
• umo s liwia realizacj t idei wspólnego programowania
• poniewa s praca czu onków zespou u jest znana dla innych czu onków,
u atwo mog x oni przej x`v obowi x zki pracownika, który opuw ciu zespóu
Struktura gwiay dzista - szef zespoz u jest jedyn { osob { | ci| le
wspóz pracuj{ c { z pozostaz ymi osobami; przydziela zadania i kontroluje
efekty; komunikacja pomi } dzy czz onkami zespoz u poprzez szefa; jest
przydatna wtedy, gdy w skz ad zespoz u wchodzi wielu
niedo| wiadczonych pracowników; wielko| ~ zespoz u mo e by~ znacznie
wi } ksza ni w strukturze sieciowej (ogranicza j { jedynie zdolno| ~ szefa
do równoczesnego kierowania du { grup { ); najpowa niejsz { wad{ jest
trudno| ~ zast{ pienia szefa w momencie jego odej| cia
? @ A B @1C D E C FHGJIJE G K E FMLNG OPFM@1C FNQ RNBJS1TMUWV
ÝÞ ßà áâ$ãäæåäåçè
é ã ß è$ã¨é äêlâ
Struktura macierzowa
• specjali¾ ci pogrupowani w zespo¿ y kompetencyjne i przydzielani do wykonania
konkretnych zada À w ramach projektów
• ekonomiczne wykorzystanie zasobów
ludzkich
• podstawowa wada: dwupodleg¿ o¾ Á (szef
zespo¿ u i szef projektu)
Projekt
P2
P3
2
1
Zespó¸ baz danych
1
1.5
0.5
Zespó¸ internetowy
3
3
-
Testerzy
0.5
1 0.5
1 HJJZespó
M¼
PM1 N
W½ Jcego
programisty
wiod
X Y F Z [ \ ] ^`_
!#"%$'&")(+* ,.-/* ,
dokumentacj³ i komunikacj³ w zespole
Programista
wiod º cy
Bibliotekarz
/sekretarz
Zast» pca
Pula specjalistów
0.132.46587:9<;>=:?%@A2B1DC ?
•
Zorientowani na siebie (ang. self-oriented) - osoby niezgodne, dogmatyczne,
•
Zorientowani na interakcjQ (ang. interaction-oriented) - osoby nieagresywne, o
agresywne, zamkniK te, lubi L ce wspóM zawodnictwo, zazdrosne; mog L byO efektywne w
zespole pod warunkiem odpowiedniego motywowania przez kierownictwo
niewielkiej potrzebie autonomii i indywidualnych osi L gni K O , pomocne, przyjazne;
zespoM y zM oN one z tego typu osób pracuj L najefektywniej; szczególnie potrzebni we
wstK pnych fazach projektu podczas kontaktów z klientami
û ü ý þ ü1ÿ
Õ Ö É × Ø Ù Ú Û`Ü
ÿ
ü1ÿ
þ
¢#£.¤ ¥§¦.¨%¦u©/¤s£ª¥§¦B«¬£.¨/­ ®|¯u¤s°:®8±ª²³­ ´ «µ°)­ ´ ¶
Zamiast du ej hali („ameryka skie biuro”), lepsze wyniki daje umieszczenia 2-3
stanowisk pracy w wielu mniejszych pomieszczeniach
Umo liwienie personalizacji stanowiska pracy
Zdrowe stanowisko pracy (prawid owe o wietlenie - okna, ...)
Pokój zebra dla organizowania formalnych spotka pracowników; zakaz
dyskusji w pokojach pracy
Miejsce dla spo ywania posi ków, przerw relaksuj cych w pracy, spotka
nieformalnych (np. omówienie spraw przy kawie)
Poczucie pracy na nowoczesnym sprz cie (wydajno i ch ludzi do pracy
gwa townie spada, je eli odczuwaj oni, e pracuj na przestarza ym sprz cie nawet wtedy, gdy wymiana sprz tu jest merytorycznie nieuzasadniona)
Komfort psychiczny, w a ciwa atmosfera w pracy, eliminacja napi i zadra nie ,
nie dopuszczanie do rozmycia odpowiedzialno ci, sprawiedliwa ocena wyników
pracy poszczególnych cz onków zespo u, równomierny rozk ad zada .
R S T USWV X Y V Z[\Y [] Y Z ^_[ ` Z SWV Z_a b_UcWd ef
bibliotekarz/sekretarz - odpowiada za
zdolne, zamkniK te, agresywne, lubiL ce wspóM zawodnictwo, niezale N ne; sL zwykle
efektywne, o ile pracuj L w pojedynkK , natomiast zespóM zM oN ony tylko z takich osób
moN e byO jednak nieefektywny (zbyt wiele indywidualnoP ci - rywalizacja); jeP li nie s L
doceniani mog L przeorientowa O siK na siebie
p%qsrut/vBtDwyx z|{.q6zB}~
•
•
Czynniki psychologiczne maj E zasadniczy wpF yw na efektywnoGH pracy zespoF u.
WyróI nia siJ nastJ pujE ce typy osób:
• Zorientowani na zadanie (ang. task-oriented) - osoby samowystarczalne,
sió dziedzin; ocenia si ó , ö e 7-9 miesi ó cy przynosi w informatyce zmiany, które w
innych bardziej tradycyjnych dziedzinach zajmuj ô 5-7 lat; narzuca to koniecznoøWù
staõ ego doksztaõ cania sió (poznawanie nowych narzó dzi, sprzó tu,
oprogramowania, technologii, metod, sposobów pracy), gdyö stosunkowo szybko
moö na „wypaø`ù z gry o najwyö sze stawki”(uø pienie - zajmowanie sió jednym
problemem w jednym ø rodowisku przez lata moö e mieù nieprzyjemne
konsekwencje); z drugiej strony wiele osób nie wytrzymuje zawrotnego tempa
(tzw. wypalanie sió osób)
•
– na bie ´ ¶ co, biernie uczestniczy w pracy
szefa (w ka ´ dej chwili mo´ e go zast¶ pi· )
– mo ´ e przygotowywa· testy
2
• Zdolnoú ci adaptacyjne - informatyka jest jedn ô z najszybciej zmieniajô cych
•
zastµ pca (dobrze wykwalifikowana osoba)
P1
oprogramowania czó sto zdarzajô sió okresy wymagajô ce szybkiego wykonania
zõ oö onych zada ÷ ; dla wió kszoø ci osób niewielki stres dziaõ a mobilizujô co, ale po
przekroczeniu pewnego progu nastó puje spadek moö liwoø ci danej osoby (próg
ten jest bardzo róö ny dla róö nych osób); naleö y pamió taù , ö e w stresie nie
pracuje sió lepiej a jedynie szybciej.
•
•
•
•
Analitycy
• Umiejð tno ñ ò pracy w stresie - w procesie budowy i konserwacji
•
– wymy² la koncepcj³ i specyfikuje zadania
– sam realizuje najwa ´ niejsze zadania
– przydziela zadania puli specjalistów
Zespó¹ kompetencyjny
Þ¨ë$êlÞ'ì)ê%â¨í(Þ'îïâã¨é â
Â Ã Ä Å Ã1Æ Ç È Æ ÉHÊJËJÈ Ê Ì È ÉMÍNÊ ÎPÉMÃ1Æ ÉNÏ ÐNÅJÑ1ÒMÓWÔ
Zespó¯ programisty wiod ° cego:
• programista wiod± cy (wybitne kwalifikacje):
g h Z i j kk lnmo
Uk· adanie planu realizacji przedsi¸ wzi¸ cia polega na:
• ustaleniu kalendarza prac:
– daty rozpocz¹ cia przedsi¹ wzi¹ cia
– dni roboczych i wolnych w przewidywanym okresie realizacji przedsi¹ wzi ¹ cia
– czasu pracy w poszczególnych dniach
•
•
•
•
•
podziale przedsiº wziº cia na poszczególne zadania,
okre» lenie parametrów zada ¼ ,
okre» lenie zasobów niezbº dnych do realizacji poszczególnych zada ¼ ,
ustaleniu dostº pno » ci zasobów,
ustaleniu kolejno» ci i czasów wykonania poszczególnych zada ¼ .
Przedsi¸ wzi¸ cie powinno by½ podzielone na stosunkowo ma· e zadania (realizacja
do kilku dni), których parametry mo¾ na · atwo okre¿ li½ ; harmonogramowanie
mo¾ na wykonywa½ z ró¾ nym stopniem dok· adno¿ ci (najbli¾ sze zadania
szczegó· owo; póÀ niejsze bardziej
W ogólnie)
W _
¡
2
Ü#ÝuÞ ß§àªáBàuâ/ÞsÝ/ß§à8ãäÝuá/å æ
ç è6é
!"#%$'&( )
Po ustaleniu zada ê konieczne jest okreë lenie parametrów czasowych:
•
•
•
czasu wykonania,
najwczeì niejszy moí liwy termin rozpoczî cia (np. niezbî dne s ï pewne dane, które mog ï
by ð dostarczone dopiero ...),
poíï dany czas zako ñ czenia,
oraz innych ogranicze ê kolejnoë ci wykonywania prac (np. aby rozpocz òWó nowe
zadanie niezbô dne jest zako ê czenie pewnych innych zada ê ); moõ na
wykorzystaó do tego diagramy typu PERT
Pewne zadania mog ò zostaó opóö nione bez wp÷ ywu na termin zako ê czenia ca÷ ego
przedsi ô wziô cia, inne natomiast tzw. zadania krytyczne nie mog ò zostaó
opóö nione; ich ci ò g definiuj ò cy termin zako ê czenia nazywany jest ë cieõ k ò
krytycznò
Uk÷ adajò c harmonogram naleõ y braó pod uwagô dostô pnoë ó zasobów niezbô dnych
do realizacji poszczególnych zada ê (g÷ ównie zasoby ludzkie, ale moõ e byó
równieõ sprzô t i oprogramowanie)
Á Â Ã ÄÂWÅ Æ Ç Å ÈÉÊÇ ÉË Ç È Ì_É Í È ÂWÅ È_Î Ï_ÄÐWÑ ÒÓ
V%WYXZ%X[]\ ^Y_YZa`
Monitorowanie polega na * ledzeniu przebiegu realizacji przedsi+ wzi+ cia oraz
reagowaniu na pojawiaj, ce si+ problemy; nast+ puj, ce czynno* ci:
• obserwacja rzeczywistych terminów rozpocz- cia i zako . czenia zada . oraz
•
•
•
•
porównywanie ich z zaplanowanymi,
identyfikacja przyczyn niezgodno/ ci z planem,
modyfikacja harmonogramu, je0 eli ró0 nice pomi- dzy harmonogramem a
rzeczywistym przebiegiem realizacji s 1 zbyt du0 e,
obserwacja wykorzystania zasobów oraz rozstrzyganie konfliktów zasobowych,
przesuwanie zasobów pomi- dzy zadaniami oraz przedsi- wzi- ciami.
Szczególn , uwag+ nale2 y zwraca3 na zadania krytyczne i na zadania ze
stosunkowo niewielkim luzem
ø ù ú ûùWü ý þ ü ÿ þ þ ÿ
ÿ ùWü ÿ û
Ô Õ È Ö × ØÙ ÚnÙÛ
bacYda`(WYe#f
(( ¡n(r]n ¢£q s
g _h\ b i bkj ZaX l mon pEn qrts
•
•
O ile celem inu ynierii oprogramowania jest tworzenie dobrego oprogramowania,
o tyle celem firmy programistycznej jest po prostu zarabianie pieniv dzy
Jakowx produktu jest tylko jednym z czynników wpy ywajz cych na wynik
ekonomiczny firmy; inne istotne aspekty:
– reklama i promocja produktu,
– renoma i zaufanie do producenta,
– rodzaj i zakres gwarancji oraz innych us{ ug dla klientów,
– przyzwyczajenia klientów,
– sposób wyceny rozmaitych wersji produktu,
– sposób rozwoju produktu, polityka uaktualnie | ,
– efektywno}8~ sposóbu pozyskiwania klientów lub dystrybucji produktu.
•
Czynniki
wp{ ywaj« ce
na ogóln «
wydajno}~
4 5 6 785:9 ; < 9 => ? < >8@ < =BAC> DE=B5:9 =CF GC7 H:IBJ K
Warto} ~
Niezawodno } ~
Defekty
Koszt
Ilo}8~
Wielko} ~
Personel
Czas
Funkcjonalno} ~
Pieni « dze
Zasoby
Sprz¬ t
Z{ oª ono} ~
Ograniczenia
} rodowiskowe
Oprogramowanie
Trudno} ~
problemu
Myl z ce, wrv cz niebezpieczne jest zastv powanie wielu miar
jednz miarz , np. dy ugow ciz wyprodukowanego kodu
L M = N O P Q RTSU
8: 8 B EB: C8
®°¯a±³²£´µ ¶oµ³·¹¸¹ºa±Y»%¼½º%´µ º¾´aº£¶ ¿ ºaÀ(Á%¼ÃÂ(Äźo±¹Æ
ë»(À(¯ì ¯íºì kÄïÆ©ðEñ]µ ±Y¸Y´a¯ò·¹¸¹ºa±Y»o¼óº(´µ º¾´oº£¶ ¿ ºaÀ(Á%¼
• Modele algorytmiczne - opis przedsiÇ wziÇ cia za pomocÈ charakteryzuj È cych go
atrybutów (liczbowych) i na tej bazie wyliczenie (np. prosta formuÉ a matematyczna)
nakÉ adów
• Ocena przez ekspertów - bazujÈ na wÉ asnym doÊ wiadczeniu zdobytym przy
realizacji innych projektów
• Ocena przez analogi Ë - przy zaÉ oÌ eniu gromadzenia informacji o uprzednio
wykonanych projektach; wyszukuje siÇ podobne systemy poprzednio zrealizowane i
wykorzystuje nakÉ ady poniesione na ich stworzenie
• Wycena dla wygranej (ang. pricing to win) - na podstawie oceny moÌ liwoÊ ci
klienta oraz przewidywanych dziaÉ a Í konkurencji; opiera siÇ na prawie Parkinsona przedsiÇ wziÇ cia s È wykonywane przy zaÉ oÌ onych kosztach (jakie by one nie byÉ y)
• Szacowanie wstË pujÎ ce - dzieli siÇ przedsiÇ wziÇ cie na mniejsze zadania, które
É atwiej oszacowaÏ ; koszt caÉ oÊ ci jest ich sumÈ (ew. z narzutem na integracjÇ )
8: 8 BC EB: C C :B
¤¥so(¢Y¦¨§% l m©n
Wydajno} ~
Jako} ~
Czynniki te pozwalajz redukowax wpy yw niu szej jakow ci produktów danej firmy;
wydaje si v jednak, u e wiele firm zwraca zbyt wielkz uwagv na dziay alnowx
marketingow z zaniedbujz c kwestie podstawowe
ÿ
­ T
•
•
•
•
•
•
Wiô kszoõö modeli przyjmuje, ÷ e jednym z istotnych atrybutów jest rozmiar
systemu, mierzony np. liczb ø instrukcji (linii) kodu (ang. Lines Of Code - LOC),
KLOC (ang. Kilo-LOC), KDSI (ang. Kilo (thousand) of Delivered Source code
Instructions)
Specjalizacja metryk w kierunku konkretnej klasy oprogramowania powinna
dawaö lepsze i bardziej adekwatne oceny ni÷ metryki uniwersalne
Najlepiej jest stosowaö zestawy metryk, co pozwala zmniejszyö bù ô dy pomiaru
Metryki powinny byö wykorzystywane jako metody wspomagania ekspertów
(stosowane formalistycznie mogø byö groú ne)
Pomimo pochodzenia empirycznego, metryki skutecznie pomagaj ø w szybkiej i
mniej subiektywnej ocenie oprogramowania
û adna metoda przewidywania kosztów nie jest doskonaü a i jest oparta na
szeregu arbitralnych zaü oý e þ ; niemniej dla celów planowania tego rodzaju
metody stajÿ si konieczno ciÿ
Ð Ñ Ò Ó8Ñ:Ô Õ Ö Ô ×Ø Ù Ö Ø8Ú Ö ×BÛØ ÜE×BÑ:Ô ×Ý ÞCÓ8ß à áâ
ã ä × å æ ç á èéê
3
(*),+%-/./02143*5/67+ 8:9<;=+> ?,)21@3A67+A(B3C./)ED F GHIG H=JKHMLONQP
}~/%~B~//4A@B
PowstaR a w oparciu o dane z rzeczywistych projektów, realizowanych
tradycyjnie (np. bez narz S dzi CASE) w oparciu o model kaskadowy, autor
Boehm, 1981 r.
Wymaga oszacowania liczby instrukcji, z których bS dzie skR adaR siS system
(co moT e by U tak samo trudne jak oszacowanie nakR adów)
WyróT nia si S trzy klasy przedsiS wziSVU :
•
¡/¢¤£¦¥¨§ª©
•
Po \ rednie (ang. semi-detached) - czX onkowie zespoX u róY ni[ siZ stopniem
•
Trudne (osadzone, ang. embedded) - przedsiZ wziZ cia realizuj[ ce systemy o bardzo
•
•
zaawansowania; pewne aspekty dziedziny problemu lub wykorzystywane narzZ dzia nie
s [ dobrze znane
Znaj c nak! ad mo " na oszacowa# czas
(w miesi$ cach) realizacji, z czego
wynika przybli% ona wielko&(' zespo) u
Z obserwacji wiadomo, * e dla ka* dego
przedsi+ wzi+ cia istnieje optymalna
liczba cz, onków zespo, u wykonawców
Zwi+ kszenie tej liczby mo- e nawet
wyd, u- y. czas realizacji
•
•
•
Przedsi + wzi+ cie , atwe:
/10(2436587:9 ;=<6>?2?@ A BDC EGF HI
Przedsi J wziJ cie po K rednie:
L1M(N4O6P8Q:R S=T6U?N?V W NDX YGZ [\
Przedsi ] wzi] cie trudne:
^1_(`4a6b8c:d e=f6g?`?h i `Dj kGl mn
•
Otrzymane w ten sposób oszacowania powinny
by o skorygowane przy pomocy tzw.
czynników modyfikuj p cych
Atrybuty przedsiq wziq cia brane pod uwag q :
• wymagania wobec niezawodnor ci systemu
• rozmiar bazy danych w stosunku do
rozmiaru kodu
• zs o t onor(o systemu (zs ot onoruo struktur
danych i algorytmów, komunikacja z innymi
systemami, stosowanie obl. równolegs ych)
• wymagania co do wydajnor ci systemu
• ograniczenia pamiq ci
• zmiennor(o sprz q tu i oprogramowania
systemowego tworz p cego r rodowisko pracy
systemu
•
Ò·Ó Ô
PrzedsiÚ wziÚ cie trudne:
Û·Ü¹Ý Þ Ü·ß¾à
á·â ã
ÕÄÖ
×OØ ×QÙ
äÄå
æOç è é
Nak ad
trudne
po rednie
atwe
t u g v w x'y z:{|x
•
•
•
•
Liczba linii kodu jest znana dok¥ adnie dopiero wtedy, gdy system jest napisany a
szacunki mog ¦ by§ (i zwykle s ¨ ) obarczone bardzo powa© nym bª « dem
(niekiedy ponad 100%)
Okre¬ lenie “linii kodu ­ ród® owego” inaczej wygl ¯ da dla ka° dego j± zyka
programowania (np. 1 linia w Smalltalk’u jest równowa° na 10-ciu linii w C; dla
j± zyków 4GL ten stosunek mo° e by ² nawet 1000:1)
Koncepcja oparta na liniach kodu ­ ród® owego natomiast ca® kowicie nie przystaje
do wspó® czesnych narz± dzi programistycznych, np. opartych o programowanie
wizyjne
Opiera si± tylko na d® ugo³ ci kodu i nie bierze w ogóle pod uwag±
funkcjonalno³ ci ani z® o° ono³ ci produktu
Kwalifikacja przedsi ± wzi± cia do predefiniowanych klas oraz dobór czynników
modyfikuj¯ cych jest trudny, a ewentualne b® ± dy mog ¯ prowadzi² do znacznych
rozbie° no³ ci pomi± dzy oczekiwanym i rzeczywistym kosztem
þ ÿ v w x yuw{z | } z ~:((} u } ~D 4~w{z ~D ?yu(
&(' )+*-,/.10 21)
Metoda analizy punktów funkcyjnych (ang. functional points - FP), zostaæ a
opracowana przez Albrechta; æ ç czy ona wæ asnoè ci metody, badajç cej rozmiar
projektu programu z moé liwoè ciami metody badajç cej produkt programowy
(jego funkcjonalnoèê )
ëíìïîðãëíìò
óñ õô÷öóë
NP
VORQ/
WSUT
X Y[
RZ
\ ]U^
~
3(4+57698;:=<$4+5+6?>@:9A 51B
_ `Ra _
bUc
d eRf d
gUh
i j[
Rk
i lUm
n op n
gdzie wx- wagi czynników, ex- licznoq ci elementów
Wagi przypisywane elementom zale LM od ich typu
Wejú cia uû ytkownika: obiekty wejú ciowe wpü ywajý cych na dane w systemie
Wyjú cia uû ytkownika: obiekty wyjú ciowe zwiý zane z danymi w systemie
Zbiory danych wewn þ trzne: liczba wewnþ trznych plików roboczych
Zbiory danych zewnþ trzne: liczba plików zewnþ trznych zapeü nianych przez produkt
programowy
Zapytania zewn þ trzne: interfejsy z otoczeniem programu
´ µ ¶ ·uµ{¸ ¹ º ¸ »:¼(½(º ¼u¾ º »¿?¼ À4»µ{¸ »?Á Â?·(Ã{ÄÅÆ
ÅOÆ Ç È
¢¡£¡£¤£
Liczbø pierwotnù punktów funkcyjnych (UFP) wylicza siø korzystaj ù c z
nastø pujù cych danych:
•
•
•
•
ÂÄÃ
PrzedsiÉ wziÉ cie poÊ rednie:
KDSI
Î8ÏÐÑ Ò ÓÔÐÕÖ×ÏÙØ1ÚÛ=ÜÞÝ6Ö×ÏרàßÔá1â:Ïãáßåä
•
«
¿·À Á
` a b cad e f d g hif hj f gklh mgad gln ocpqr's
ê ë ì íîï ð ñ ï ò óôñ óõ ñ òöó ÷òîï òø ùíúûüý
µ·¶¹¸ º »·¼¾½
K oznacza rozmiar kodu ¬ ród­ owego
mierzony w tysi ® cach linii (KDSI); nie
obejmuje kodu, który nie zosta­
wykorzystany w systemie
Warto¯ ci sta­ ych A i b zale° ® od klasy,
do której zaliczono przedsi± wzi± cie
Dla niewielkich przedsi± wzi±'² s ® to
zale° no¯ ci bliskie liniowym; wzrost jest
szczególnie szybki dla przedsi± wzi±²
trudnych (du° y rozmiar kodu)
zX o Y onych wymaganiach; dziedzina problemu, stosowane narzZ dzia i metody mog[ by ] w
duY ej mierze nieznane; czX onkowie zespoX u nie maj[ do^ wiadczenia w realizacji
!" #%$'&
podobnych zada _
Przedsi³ wzi³ cie ´ atwe:
Ë·Ì¹Í Î Ï·Ð¾Ñ
•
W atwe (ang. organic) - wykonywane przez stosunkowo maX e zespoX y, zX oY one z osób o
podobnych wysokich kwalifikacjach; dziedzina oraz wykorzystywane metody i narzZ dzia
s [ dobrze znane
•
Podstawowy wzór dla oszacowania
nak adów w osobomiesi cach
(zale no wyk adnicza):
Ç È » É Ê Ë Ì ÍÌ Ë
I
Czynnik zC oD ono E ci
Prosty
redni
ZJ oK ony
WejF cia uG ytkownika (I)
3
4
6
WyjF cia uG ytkownika (O)
4
5
7
Zbiory danych wewn H trzne (l)
7
10
15
Zbiory danych zewnH trzne (E)
5
7
10
Zapytania zewn H trzne (F)
3
4
6
ÿ ! "$#%
4
91 ?R(7
1
TCF - liczba ustalana na podstawie
wp³ ywu 14 czynników
(0.65<=TCF<=1.35 ):
¡V¢¤£¥1¡§¦7¨7¢ ¡?©¤¨ª¥9«­¬-®°¯°±¤²
•
•
•
•
•
•
•
wyst´ powanie urz µ dze ¶ komunikacyjnych
rozproszenie przetwarzania
d· ugo ¸ ¹ czasu oczekiwania na odpowiedº
systemu
stopie » obci ¼½ enia sprz¾ tu istniej¼ cego
cz¾ stotliwo¿ À wykonywania du ½ ych
transakcji
wprowadzanie danych w trybie
bezpo ¿ rednim
wydajno¿À u½ ytkownika ko » cowego
•
•
•
•
•
•
•
ÝßÞ(à?áâ-ãäÞ1åRæ$ç(èé êUë+ì+è(à¤æîíªïñð$ì7è+à?ò@Þ9óôèVÞVò§õ
aktualizacja danych w trybie
bezpo¿ rednim
zÁ o ½ ono¿ À przetwarzania danych
mo½ liwo¿ À ponownego u½ ycia
programów w innych
zastosowaniach
Á atwo¿ À instalacji
Á atwo¿ À obsÁ ugi systemu
rozproszenie terytorialne
Á atwo¿ À wprowadzania zmian piel¾ gnowania systemu
r s t usv w x v y z { x z| x y}z ~ysv y u
1 FP ≈ 125 instrukcji w C
Ocena zö o÷ ono ø ci realizacji systemów
10 FPs - typowy maö y program
Audyt projektów
tworzony samodzielnie przez
Wybór systemów informatycznych
klienta (1 m-c)
funkcjonuj ù cych w przedsiú biorstwie do
100 FPs - wi ú kszo ø û popularnych
rein÷ ynierii (wg. koszt utrzymania/FPs)
aplikacji; warto ø û typowa dla
Szacowanie liczby testów
aplikacji tworzonych przez klienta
Ocena jakoø ci pracy i wydajnoø ci zespoö ów
samodzielnie (6 m-cy)
ludzkich
1,000 FPs - komercyjne aplikacje w
Ocena stopnia zmian, wprowadzanych przez
MS Windows, maö e aplikacje klientu÷ ytkownika na poszczególnych etapach
serwer (10 osób, ponad 12 m-cy)
budowy systemu informatycznego
10,000 FPs - systemy (100 osób,
Prognozowanie kosztów pielú gnacji
ponad 18 m-cy)
i rozwoju systemów
100,000 FPs - MS Windows’95, MVS,
Porównanie i ocena ró ÷ nych ofert dostawców
systemy militarne
oprogramowania pod kù tem merytorycznym i
kosztowym
Â Ã Ä ÅÃÆ Ç È Æ É Ê Ë È ÊÌ È ÉÍÊ ÎÉÃÆ ÉÏ ÐÅÑÒ ÓÔ
Õ Ö É × Ø ÙÚ Û$Ü%Ù
•
•
•
•
•
•
•
•
y
_a`ab cedgfihj'k/l `mconp`qhsr+f'tuj
!#"%$'&)(+*-,/.%0 12&)(3,#451
v w xzys{ |}~z x3|O)z w})u
• Alternatywna metoda w stosunku do punktów funkcyjnych
zaproponowana na pocz6 tku lat 90-tych przez Bankera i wspó7 p.
• Wykorzystywana do j 8 zyków programowania baz danych, 4GL
• Wiele zamierze zwi zanych z metrykami oprogramowania zawiod o,
gdy cele by y zwykle s abo zdefiniowane; aby temu przeciwdzia a na
Uniwersytecie Maryland (Vic Basili et al.) opracowano metod GQM
• Trzy podstawowe kroki:
– obiektowe w nazwie nie ma tutaj zwi 9 zku z programowaniem obiektowym
• Liczba punktów obiektowych jest wa: on; sum; :
– ustalenie celów w kategoriach zamiaru, perspektywy i rodowiska
– ponowne wypowiedzenie celów w terminach opowiedzi na atwe do
“skwantyfikowania” pytania
– okre lenie metryk i danych, które nale y zgromadzi , aby udzieli odpowiedzi na
postawione pytania
– liczby ró< nych formatek ekranowych (prosty ekran - 1 punkt, = redno z> o< ony - 2
punkty, bardzo z> o< ony - 3 punkty)
– liczba generowanych raportów (prosty raport - 2 punkty, = rednio skomplikowany 5 punktów, a potencjalnie najtrudniejsze do utworzenia - 8 p.)
– liczba modu> ów w j? zykach 3GL (takich jak C++; Java) , które nale < y utworzy@ w
celu uzupe> nienia kodu 4GL - ka< dy modu> 10 punktów
• Dzi ki takiemu u o eniu koncentrujemy si tylko na metrykach, które
odnosz si do interesuj cego nas celu
• Klika pomiarów, aby odpowiedzie na jedno pytanie; pojedynczy
pomiar mo e mie zastosowanie
do kilku pyta
C
• Zalet; punktów obiektowych w porównaniu z punktami fukcyjnymi jest
to, : e A atwiej je obliczyB na podstawie specyfikacji oprogramowania
wysokiego poziomu
ü ý þ ÿý ý ÿ D E F DG H I G JKLI K M I J NOK PJ DG JOQ R F STU V
¹#ºz»¼2½ ¾ ¿qÀÂÁÄÃ2ÅuÆ%ÇzÈÃ#ÉËÊz¿'Ì/Í ¿ÏÎeÐ5Ñ
CEL:
öø÷gùsúzûü ý ÷ þ ÿ
Kto uÕ ywa
narzÖ dzia ‘X’ ?
Jaka jest wydajnoר
programisty?
!
Do× wiadczenie
Odsetek
programistów programistów:
- lata pracy
- miesi Ù ce
stosowania ‘X’
Wielkoר kodu:
- KLOC
- FP
- ....
Jaka jest
jakoר kodu?
¡ ¢ £ ¤ ¢ ¥¦§¤ ¦ ¨ ¤ ¥ © ¦ ª¥ ¢ ¥ « ¬ ¡­® ¯°
NakÚ ad
pracy
Defekty
!
)'*
Proces jest wyspecyfikowany, ale
specyfikacja nie jest stosowana
(
Dora ne reagowanie w sytuacji
kryzysów
(
Harmonogram i bud et s
przekraczane
(
Zdolno do budowy
oprogramowania jest cech
organizacji a nie personelu
Proces jest obserwowany i
ulepszany
# $
!
!
Funkcjonalno
okrajana
!
Jako
%'& jest stopniowo
%'& produktu jest niska
+
Proces jest zdefiniowany, znany i
wykorzystywany
"
...
± ² ¥ ³ ´ µ ¶ ·¸ µ
Dojrza o (
Improwizacja podczas procesu
wytwórczego
!
METRYKI:
Niedojrza o OceniÒ skutecznoÓ+Ò narzÔ dzia ‘X’
!
PYTANIA:
W X J Y Z [ U \3]^[
+
Prace s planowane i monitorowane
(
(
) +
Role i odpowiedzialno ci s
zdefiniowane
)
Obiektywna, ilo ciowa ocena
Brak obiektywnych kryteriów oceny
Û Ü Ý Þ Üß à á ß âãäá ã å á â æOã çâ Üß âOè é Þ êëì í
î ï â ð ñ ò ó ô3ò^õ
5
QSRTUWVTRYX[Z\^] _ R ` ab cde fghikjlnmNjodfpqg re
•
•
•
•
•
•
st
¡Y¢[£^¤ ¥ ¦ §¨©nª¨¬«£§« ¨
Model dojrza o ci procesu wytwórczego (ang. Capability Maturity Model CMM) zosta opracowany w latach 80-tych przez ameryka ski Instytut
In ynierii Oprogramowania na zlecenie rz du USA
Wykorzystywany by w procedurach oceny (klasyfikacji) potencjalnych
wykonawców oprogramowania dla Departamentu Obrony
Opiera si w znacznym stopniu na koncepcjach TQM (ang. Total Quality
Management)
Ocenia wiele ró nych atrybutów wytwarzania oprogramowania, obejmuj cych
u ycie narz dzi i standardowych praktyk
Model ten szybko zyska szerok akceptacj jako wzorzec do usprawniania
procesu programowania
Wywar znaczny wp yw na u wiadomienie znaczenia miar i ich stosowanie,
gdy w CMM miary s uwa ane za wa ne dla osi gni cia wy szych
poziomów usprawnienia procesu
s
v
u
w
x
y
v
v
y
x
v
w
x
x
w
w
v
z
v
y
w y
, - . /0-21 3 4 1 576'8'4 609 4 5;:<6 =>5;-21 5<? @</'A2B;CED
v
F G 5 H I JLK MNJPO
v
x z
w
v
Wyró niono 5 poziomów dojrza o ci wytwórców (poczynaj c od p. najni szego):
•
•
•
•
•
­
­®
pocz tkowy (1) - proces chaotyczny, nie istniej adne standardy, decyzje podejmowane
ad hoc; mo e dotyczy nawet firm o dobrym zaawansowaniu technicznym
powtarzalny (2) - proces zindywidualizowany;przedsi wzi cia wykonywane w podobny
sposób (standardy de facto); standardy nie s udokumentowane i nie istniej cis e
procedury kontroli
zdefiniowany (3) - proces zinstytucjonalizowany; standardy post powania s
zdefiniowane, sformalizowane i ich stosowanie jest kontrolowane
zarz dzany (4) - proces nie tylko podlega kontroli ale jest równie mierzony w sposób
ilo ciowy; informacje zwrotne wykorzystywane s do sterowania procesem
optymalizuj cy (5) - standardy s ci gle uaktualniane; informacje zwrotne wp ywaj na
ulepszenie procesu; standardy zawieraj elementy pozwalaj ce na dostrojenie procesu
do aktualnych potrzeb
®
¯
° °
­
­± ²
±
°
­
­
x
­ ­
®
­
­
­
­
v w
{ | } ~0|2 7'' 0 ; >;|2 <~0E'P
²
­
Niewiele firm uzyska o poziom 3-ci, umo liwiaj cy dostarczanie oprogr. dla Dep.
Obrony; tylko IBM w zakresie oprogr. promu kosmicznego dla NASA uzyska
poziom 5-ty
x
P
6
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )