ࡱ> CE>?D`!e Ѓ6i.ie^BPp]@M3 x[ l~1.vXR16N1XR\@ITl Xi)jIQDjKOi Ԥj*'iۨmIͮw[T {;5l6)L;(M u55)(4V"=4i-6w1S`>cM Ԛ<>%p]K򐲐rHCp0"n+mxuwʳ^vԗ1W_;ڟ)WQWKݝ|_T|>-DA?AJ2ҝ\$t0 b?2'6H JDr>4 廌-*g18(bF79!>)FT/PdQAu,?(|=uHV(k=QʼPٺ*X@R~c[-X:H/ 'rdo/ƙoe=akÞĔ\2'LQ]&qU*[cԬ.MÉK{.~.@z->.1wNj .xcW>Tʼnv'q' FݵoSpd v}~ב/D~ Z?u*-zԼ=d |tb\77v;uIs>N;8uHJW *Zs`rjXc+{#Rt.)Vwi?E\Kȯ͘}C-xotd>Gg|y_ȁ'Ɗ %=uc?P,eBsJ)yi9Ҁ= zAG@/ XлA-qzs=Oge}?׊-AwZp u#f߫lk=-`8ZMrP\{CUv֣ѻ"P؁>ȸ42 4f>1Y 2z"tk%xMi碑qEzY:^6T8kn|Lj=6yO]c_Y4ZR7lzY^SȢnƍ7|QޕζMPSAґH) j"DgrfvMm]4D6+Y%P.W¿0Ӵۺ7GZIS-ZЂ c]1mmŚn8;a [R-VͰ5UQbslF-~fWEqqUfEaV+NvEX֠H#"$QLf @[`gks[W`0mA+`!k"e}/QSFǖl1AO(kl~Nx+[/J5957*y^!vQɌ)jIb'_jKScи!d w{fYve7D'U3aH&{f&3$gלu(cdMubϝ9yK1}wf &<ώa~&ُE젭]H?|g)'_fM\d wtut(wR~7>0zZKZ//kW'\̠'пAt7\tJ%c%Srz.>vyR{ĕ)_iid%B^5ɜכi=F@FeEĊ]^u5r s¶mM80uT%Yw kW<՝rFaœrW*q,wZ;?B;-QǷBz;-oȌ$ʌ/X^%?`! =\Lfp*B:* ,Bs|`V:Sw x\Ml].)'H1*VI[MaH8RNdJ܆"%&Ah.( 鵇1@F}+ H[7%Lq}y5-rXf4y}=HIry/Fڄ4Go `-Y L)89N_'hdA,R{drLq ٕҳqơ'zZLc #e?iVCkYӖN:l.Kt8ƬAfŨS^~6=ƅ"Z}-E.ZtgIY e}F_گǩ6a85-25@{YXG$g$;(}%A6rnK8s]Z<bb޺_;Ŋ߼>K#2JRԂayÿ́Rٻ#ZL,6@TTKu,:,g~Z}kU[[ŪnqknHȤ(AD2l-KYI1)'-ZAo Xqwu(O? x-%F /yoЀUJ9M3>̖PvIY`zgcYC۞eC zc G~ΖNY Xy2Z;RO:eo(ʷ o\;6#Zj',shTd&pd4eVvY`f/4 scǺQ+Xf->n UVyX]H vd"\ `` 60Kڏfɫ 5˪?T<!|2sͱZp/*kt3 {Z gX}k e,eXVp_hz>^ݽ㶉ِ -/Ӂ<²_ԕC٠^p_oTXn)ː@v@(Eª'297W4+޳h2bvUâr]K8y3ҷW8QU*xպլ) yy69ebĜ:&Kj~}Dykl3ˋTuLz2VSܐqa;Vٻ9&愘9UJ]Q+h|4@j@ X6gpsZJh>q"+Dl -k5@1E|]!bkn]ZB}tlPm_vb}1cqJ\Ok]\CRΡvHVBqT8El+Dl-kƑNJH8"+DlE-kAJ(D}K(_w0ϵcǧb׎VIEfWcV1ˌPx r?vyQ .ۏ?kpv/zq [}q3~b1? {O9V#$]”_jԤ+~2 dg k^WLܧk~o4_ޙcm#zeVw)E)XGS]=c2ZLmdeޅX6gqZJwD\Co,{$Rjee"f(?@>׎XphUd]7y߿yr뵝F^3l_xL$I<| d+<Ͻo=wN3Wt\r%l`sU%Zv4(.閿ΎcvH.ѲC En=ϴ/O:ӆ#n$CVR]?v#FTσv'?v͟yp%k!oXZ#C۟(5cze-$b;Y5-Zis%ko ol%0̵cr׎Z3\;v,Z*D8j[ 3ew)5k.1H{{+a ˶UtY>ęziaѝ; ++T 'y2-jIY@K9l&+;.W˶7,E!Rd_-F"cx+{N;㡥.W˶Q)6:÷U6!&{h{vH7Ck=cԌC>>f'N;V]}D\`O^ٌ?jhaԲO Il6&81!8(N? }8eݹ>7 $7 ?V0vǘY`! +l Cc@T R@_P x\_h[?cٖ8uMjZh u[(n[2žI)v1}fIPcʞ6㷹16KPwW_cm/b,1Zal/;01.F3Ĉ=b=[=N~~#Kbcgg-(u0.\;;z|qk/^qE?ǩƄ7(BG]2A9 #zզ_+tzUs?]rjfru.)ZvX*\(齙_au?/JaQw9ђ|_#%='=^Odr&ϔ'o ~'ə$pIs;2R*K^z_zy#ř/^uvf}\h2_G:+lEIʨfZ.O_zN{EMP;7X.,p䄨[/x]:z(\ V;nohj |q.FQĚF<ޏ:hG4E҈3hJm BG\*d_zGsq*BzGwkI̩Xpg´\g:Ą75Ņ:s@?CitI[{jM1ƚ)HƟSF}V'd|{!}+Հ~U{ל6 WF#UjXɦs1"X{xmv+11q$AQ!'DՓnIA?c0#tPw4?c:U(;[czgMv&L}>SF+mvOMx'I:HHNBgߚ&)zɇNt\j!>Q*̃ŃZ6+CVV2yUyJmV* U u 6!PdeĜ](;9P.wt݁2ܯWy.!}.y5-e33i/ӭ"}BwPbf}VyMi*v,a*t?v5QuQv;+~vp7:s/U{UFi!:s/Rg bM#62w'ƻ=3ƶ"^Q!ƣFF{Uo 񦘍"҈OJ i4 u3|CYzGuA%Й> \l}?=L;*7~dckIqGа۩ hM~Ǩp;[U];[Yq gW8eF#UVj`Q6J3m0lq ux;E/GVSlUS-`*31 0V T]skb68U]x§];oXL*&G&,(M!}VO$}~6'Fvׅ ӪUOm UXWc5&A+xժ`ƶk*ZӛUuX{7JE _vFl$";0E9"9;ᢌe:Tޕ0xSFo-+3aU8 spX MzG6U%֙.C\ }/@trdjr;ъ{Mz_W[oKm&m6Dp lXpUmVU pY0V)2ͪCߦmX˰ 7Ͱx6uU D_U9X|[ {_Gq.FQĚFD'VļB/[ޕ ˰,k=XSߦk.w lyWjcl+,jfyieB/[ޕ#h;[Z7Lo}Tqs?'vaWh/vX9G/CW`! Q ޳[UOp~`_^vMW x\Ml].-Eےfucq;)(T6ȈkDR$7ruz* j (WAEQʡz(`͡;ofZQp K|y߼yvwv,3c Civ?cU~QhA_>Zfצ^}cC,NV_vCːh# '_O,QuϪ_}n<(%pqDa}㽙hS:GKݕN  #o^H{q%/ ȆH^LR\o9RP󧂛/_/NcsPPӟK>؉kN~\̔WR?2fD68Bl/c%|T)*Uɟ<{";1F8 oe8/β38ʐƕQ==_ ۃbKM6Ԋ︈lT~.8GK1~%)נ<L-j0Өpa>nQƿy W~~ۉ b}!A~ԊQ2< w"4%Gm xzqG}Oyom1E 046!I(#t7Kl-03Jiv&>HvRWr\z#?[j#~@(;?O ߨnWp1(7 n?Nwtw"d=gE2WZׂAQ$ϗR#{GLaH3BNsZZ~4Vy`=\]z۴ڊض" Qͮi[,S+9&OvޞTo՚Iq}ElZlnEl5PQ8El^.AjՏkcz])ZUb^[ *Uם8.T#F(6Hks55u`nyoEl-gu]P[Չyz_+=0 q<փ،OM ]}6 ĸ3}nw]cd{kǝ5JDw JW:#!ʔo\[cןWXQ1$P=2ەD+bO 8EliDTLޕUJmDORoqT#`Zv꿒P`l)"팚98 MzG1 e_zGgk^jӺ/]]d{ػ$* 6]E8)EkDe?_モFWJmϑb|y&+*O&~ǘw|~7 vSȻFw'ħ4;UO-aqxL{\ _[?VӬo̼&wS+- Є +@fXS3ah Є s9 `l"Z e_zGs BzGgkQv eޣ؇݇Fk6̂mmօmX.`̐۶xtv@ۢ78'cew)ض!z^|mŃVUJmBV;0w43I;ʷͭLfGg:D2-I}hd{ОNF݇&Sɲɾ'#Of-RehUPKTزP SoqRd~\,1WG?v_SQ^|?Ţ*^^Cڷ_+KZe܎Ny,h/g/!߿?ru/hz;^x ~MW׻z^<_jW\䗯X)r+W'/ 899*49wV @ sssGGG~&6\\\\*op@SNOO~vCN#zOjΎގ5jmoojKKƢݮeeeijF Z6fyyYejmgl$}Azᱵ#|:(6F#z pSEk׳u~E sT^ST(\yL<*s=Ԓtuyh]ç>=S,DM2j+jMP9oA'&VIeF=:e*jr+ {/-Qһkt?vlbٗq ѻ$McztJ`#r/S۟vrM=աơ-1sl.< r{h҉zע-wrL/ֳIĒ'^Kĵ.kJG4In{Դ~b0er_VmznSjrzN?zu1-܍ø.W]nZWWm]wNws[ intank^_N7-wTDWr{{{WX vkD9솴7>$6Ь s_SoGuki5װvmimn{7IQ/ڀ$vrגуV\Zya[˫*7Lw+ݟƕZ{`Kk'TO[8 e/΋ vkj jՌm}BCIc8m{ݠmܮ`?z~S*S"QѢsB Z֊Ԙj{dƤeot>-(M~7׋!w*W=_۳mH4Sz|aL2LSX)zNDF܇n{7Ř~%b4}=}:߻|אַ2o 3&Ua {Ehf{hz)YmrBn@^m y! /6rBn@^m y! /6rBn@^ms{蝥td{{![O;mwV.o>˽rTm5e֬_hxj ;;zj~aA (FmKPE}c~^ʊxz̢U@Ji]5gQI/SO&ƒm3oH:EUVDeקr{{o5/ĹW9LuA{hPPkS| Wm ҇ssR=Ԕڞ /*om-VyPແЈ7v{[eV~LnmWhoV*HkCKP\j];]L kJ`q\k.rWȫkEnUmi2S\*\uSI= mjKkml(S7j-!mhr&m0rBn@^n.i0a7M8A6rBn@^m y! /6 s y! /6rBn@^m y! /6rBn@^m y! /6rBn@^m y! /6rBn@^me{{{^O#qmookdwwwiiieeetzz髫WVVӗݮk\GISXٙUɵ57 W dǵj\#JT%‚jDNNN4)WZF3nnna>+)(b7% ~y]0a5JѹUXTR:SWDYoFij+xR=\tքr >@SHi1աxZ2%=֕zrx.즳;H >[[1ޘS@#z[Yqz~aa{oOZSOs ԙpn3jciƆ]]-SO}4Z{Ļ?Z\Ԗmp#K&!NFt\7|E:4k*׳ k Mt%,%}}KKK'''Y[[;88Ј>NG^IOJzy]XX8::Z*uJiIu{rvvvMKvTu(Zuaλ˵G T<aZjkE:vz:}$]w0ގMV~5Kz/UCI{[?*qޠmnjJb}ծk_E?<=q}Q_Z{#u*uONKk jhzoY<{,!r[N[M٪7LKvte+f< 'DÎ4 sT o!V84_p|Dwh^6'o6veAٮGԫ)O#Aoe'Q9шƪd-mZ^o{G%x!Q~XϕtEW ;Xⳕ\9@tP}qv oHsRhMn[7w{蘚1&Dz;vή)w4kw{.Ga vŠ&L s9 ShJ*2)Ԅis{7QvSjI?ߢcppN^JtZRAo8؉_TPRbkDs)"݁TZj~h(s4דv43Կ218bt}V@v17ؽq7FY[>鯔 =89ZM)q7)ź;Roܨ rNoT hg8z6J&ƕT{F{>~F`=_R4{c()ݽnk9inZqr{"mK/D@L|0d:,/8Q.]oԄIB_+uzSs%*N_%hmאݏ#~bQW1NOu Թc_ev$y.Ga :]\>d:}ti^w7޴砿!{:3&LʰvzpøksN۪w¸$nڹOԺj;dr'io;,]3olV7?V.k77C|Ԁz%c\T7u\Q :>7sIsn1ܙEm|j¤\DY=:aqհvۮEsL3-pMM}ٕs?Q'Φ;ʠKv {C4p{Q(L+|.C æ ogW r܎l]g^?[ugϼ^=vz!MovQBM z߷@MzGĢ{(q[礧L+QB]1 B=il\AMI#f{rU+3z҈w{Ga POq KUp>bԓFۨqPOAn#A=iZ6jq>bԓFۨqPOAn#A=iZ6jq>bԓFۨqPOAn#A=i? Z\%L\Y6dD pn{m\YMn@.mHu<@t4# #ͺD7L?dy! /6rBn@^m y! /6rBn@^m y! /6LNT:;;;::ēO_MTnk\5KT)̷bg2W#Ztg'UI|}z%mO.Ғr[lķJcWJ7]Gֿ*2ib6'umn:#^%/~k] j63ILΐJn+5c Z~r5VVV:Z/]eI4xwn+?Ԩx۞W7|YTm`n+JZEqLC{%5Jr xY~s+dHn=͇q>C>-!̪cO')Wcp=w yln]햼;KK0*|p]6v[[Yq+:>&YgՈoSZɉZ ]W6DStgG4/K&罞JLG*moSӽ4efTSMՈZfsGZ# 2PumnN'(HZ\<,)y/x nVglǏ(õX_~sv }w*ӢT-r0˨~=tfDn;HGDnkP{T۾¡60"z1f^o0]QeYҢ^t{گTr;ziD%* fX}gFVcirYuDzRVw>n{ULѭy5=:-h=1#5ˣVWŵ"JmjD?_[p+SJnkB(͎%JmjDnn=ccƳ'yD_Jܝq?ɰmK@^m y֒ahzhn7`rBn@^m y! /6rBn@^M'L}(W9{=~'{oPԣovx]fV`!h3M/􆚯m@x 0Px[Yx[Y63xOh-ٝzFvO&#!( E0l84w1`x'&0l.deJdUV6h!opSu頻χ:ԩSUTMA}/e,},Y'o4+Q*r|I]/>5+?}ͻ>GELK_bZ`)(rmgUonjK|/_K_L}SޛeKgU{7ʽnVo߼-<ߵcH7w 菳 9@_\\hFuVp=NNN. 4=L6"a"޽pttcgӍDѮruu]fkk뿑a{{;xy'ϖ[&ZO=R3s֩D_ *UNs],5)l4aCggg=gv^:ucagg'>!t"FP)ΣSBV&tph:88eJnhA:IQm窶pR~~n]ĭUC5@Ks|+ĩ) y!PP V۠O<ȠRN:OשП^M-ZBH;*V6*%jѡʩisjԴk]ߛ'Zoĭ:==մ\ټʰ:f;RAбj;K ;2@X:}LjJj1#snqa*7YE tV*+4,և|xe#_հx>cW Ђ]W6iRzXtä`P̒X_HW{> жB> KHl- A@:.>((9Vū(C5I+Y]C~š_~58,9G5H8ձjiL;6y$رn$fcOubV'T70KfՆرjw3wձj<_+c֒\Ïֱ)F9Uq:aØE-\ӄQš %h/Mu<ɸ3^Bwl@-EJuJ͎Rڎjhq/_~8 I5Xeèsz+Y}VU~z{X1އ?Tzc}|8Cc} bNǑgF\ ~Tԋ#V:uj 6mY`UVY:V3Yqunc+,wyX+oYզPuY[4Xz8S6ΠR{*_Vcmjos/{LcA_±f9*hBHk:escT0>ccRU~7tȫ˩UU9Jjjj%Gi'-*/._*oyr;C/MuWPHMm/]f;ִ2%uձޚ)+̲Uz8\ oC= 6jS3suvAonJRzٽzP=f鮡>ٱ0]bQVՐ'`pZ~UݕnT!]L;=Rua|; #a) O*LmIɱ^謡lq$\WX'noo9]0Lx2Ҷ#̣ YqP5B꠫S-qj k=+ Ū]W>O(e68ϑKO]v;@4~6ݵ0t$y oY,8% X4 >8cQ#[ m0B{`XhV?Vc@ǚU(LJ'f TL[-3p,,8k-iG(EҎ{zXXiBY Ti ʱ|i>c78Vc} (A!V(%plW++~|OOJ'{g7{{=:G;;.]pjJ/./U>)x~~kWWۻИ=<(W77JW%q,@YT-Kf&7ƎŅ4_׾&%ڄuY{Os?;9bʙ$ګl';]:z:iq^P\3XZLuzT6ī?8=Մi^(? zC6Mɐ!F++x/X U0c-Xj\Jw:5g$ (`*ڟ2VGU\KCcŅ~n! [qb)TA v'*E?4-zHJ }?5EdiU&OMkT"U\s( 9m9h4ts`bIfV>Xȱ ,2GAh>w2Ĝ%U*ŁRW mq9PDǶ&d{M触54.Pxp&><zB{î7+qlۋ>t#L^gqfz~)w/j~zz oSzN57=??DZRT6N)E2SA &Sk)6eYvQpvvvpp@'+D_xxxʨ*v֖F#|!UʦB*^ɽʬNOO/%$0&=ڭ;fYҚGď~??͍_*ZN]5IkMuũёҝnء{!:I;VN9V&|׿Vt귚ǺL8EKyPlAci gM@MgK,~QD>DdX6\]]8Ʊ*%uh4R~B8v ֫ m}[%)VZc_=f-^ P1Rb_Rq*e ]㱪R+BVW=fj v 5ǖ[u`9%j:r~:R *^xqBKlW3o/: :=:){r."̊Mcia^z:)wlL3g虦cZ= ]qlXc`9nLSktU#tαyMrcE橶 R]ulp Ё3O) 6vm qu<:BgNw*o9Z~86H#qW?Y̯Z9;+ܕv,D?7/#+@[_{J9Y*͍ߡy||ꌟ~ eMu)=˨CpLHwP%'(ynd2QD5WY^yCY*|+55ˢlOhyĺYP.U۔NQ5}ppz"sl޵BLc6[ݝǎ2T(Tuåz▄l"ƍx{ gIhZ^:6`r6跳ٿ*FNul^yexQȣ{4.TЋ <¬D)??J0uf|ey>rOFk݄= [z}ls" POܒ`cpDqWwUc6{HMbQ=e^ fS8t-y`o{WbxpuQ~iNxp`v)G0wUc.|?7 8 3.Їw_גJt6UUs{ 3{J}d;_iŎ-1]mi]az?w'pFFIA96* 9 ͱy_֢7`N6Z:6NB`K-0kz:vr,oQ$~I j`-{RZo9pzvlڦ}M ur!5twR6,i~jPwq4͢+\1l%4IIFR?U*Qp牟Yʬz\?ޭ&;U3DUj<+֋pM-0{ؾKPirޞ|%k2'M&},M2eۂ?O3v YiV~ONU5F5Cz!˲yi~@`+/J}~rTؼx$|||GyűN"я 7*BUὢ~뇚^,ZUu@AJ@]zQ{,~znZ aS_=͒EKg/)V}H>ͱ~zg-ECNCd.s41q&Ǻ`?œ%@ nfyTnmmŏ'=< 5/Զ+UB3›JV쥡%!v_W{LF/#9JR)ʖv,w}Q{/~x AyTP'~˳'³8eւd/=q2loo`xShjvXVg7Hi)X y®` b#UdwWG}=h"]!a!6خ3uǮP]b!pr{5c*}E?P+ {S'`WӃ~-c]]a g6EdU-Xv9Yga±?'8v!g] }iNpT^o󼯟n5X'Esc[h]hV^faEV`q,<*8`V*tQϫةXy`y; 0?ccc; k,[[C߱,8v86+XsC߱,8vul¦zEist,j%߱ }rlWݸэ1m5$=<)z<>n\Sl+k%lRvl-݆F ۻ)^\l\cZ0\ևa{Հc۰N㯊`X!-źrUJqJAajR̼c/{a!dHي)l%NHNN~xvvRUJ/./?98wsxVnnAbXiS(lYlAoJRYQ_`BY!hHQ)O(u?=)QV&BHX?\屽u:I(lYl-Ɂ;m؟24j2ͮ٦,l8vQ>֤6(4 ]I7ieϚn5-cSfg _`Y%plخ+>5K1lzǮUIԌ˧6z2l }%-pl4<Twwwoooonn7۞9%ْ&K}4!7Jx~~V繚PDP4K_5R#eY9ĕ+Qaiq.Ƅ0 mn֢TJUFaGk 86Ywl`7Z\y򝞞l`J0KhB_@Qyv쨈f)|r5RޞJQ[mLH ^&sU\^U^ߕRh`Exրc$6jz*cH:VopQIzXJ9;;sjrR4 )iU6U/4ЎzplT]5_BYQ:V2O2*u+_@zRrl\ύS, _Au<4Ўzplr:5+ ɢy1KT bv<;[c%R(THBԪ8V6Sq9)6R%Cۓlmm9lȭrJȯE1n]YDЎzplws}rD$JY:ִt$y?֚ĥlrQ,)d̬ Nk'5: Zr*fiϋ0uN&שzbjYRe0AS hcӧuot6V<:ak^)cӧu񖪎* Wn36Hj886}ְM-bț 186}ֳ/ebbplmWYА7`gu_nYC:P!ǦO򦁩KYϿ!o{E M::R~6Z)XBwvv~jS* ~['{K[nnnT*Om+BPںZbc[ƤX }ZUTv}}DN?7Ǝ1 t6-B+t X`N={lL >_؟}&8Jf`ؠʼPuljڶ|c.P+=7 MplL _F#DZV`NQP3qlX\@\G8?"ƞgO /cؘOc=mզ<uC^w"186}Eccpl yݡCa3u.cg]=6Ǧϐ{l M!;t>C^w"186}Eccpl yݡCa3u.cg]=6Ǧϐ{l M!;t>C^w"186}EcK!8)EcKCa-cg]=J}cb]= M!;t*86eEcؔCaJ݂cb]=v*86YEcce]=v*86YEcgՆEcgՆEcgՆEcgjjL_?ZH549}uZ6IՀc`,4P 8!8ŠԀc۰qXH?wwwWWWϛnQZ4u|~Rm.$ؽd"nEickڰqXh)^iM<>>z|<{̊է޶`?%h@iK;~rpi 2h2Ի w/./3hw2-HƏMET؟^\SJs*ՕR~{wS'<=:hgG_':̪P$DZұPmfwhӲ Yusj hWXiXKִة*OG:V_8V[ q,@XKܴ6qd(D^ڴ w|0U W46$[|]r8*?=XN-NϡlSqnn>[7Lkm*E"Uswomq5г{@_ BZ_AX?5ZYSX3KW`jkh 8=p,@{X}|||zzNQݝA<5f+N&F3!vSM<<<:ųڨ!8Vj=??]K{K )PCp=::g٨!8Vad2QbZyF@ ܻU``p,@{7ch 8=p,@{Xch 8=p,@{Xch 8=p,@{Xc`H}}l;>Rz}`ZH@"[Af(Cp,0X8=p,@{Xch 8=p,@{XcGSݝ>x~?=M{ _5˙5l𻇇PV3 8ꎕ?h_*q|}Ӌ gg''ldwoOs <5tO(NO5WeusCU"ncP0mŜ A!u>9O+Z_^])W!csXI5XM(U,쪹Q?98WEctU6TcsXAGjyɍ~3̊cð/./q,t:#2ܨ_* +UX UR,Vnnx,tc?y[WOӠt_ۗYOJmA-";V.y~zq?2֚.T?8UY aEAY G"g] ːƦ7|`% Q"X/!X(]^G3% "5X,<ӄch  +@`W6m]vh 8 P+@`W6XȮm{{6KĮU:~4/=??Wi mX^ZzdXM˱/\^^jzssV_2, ԚlWwc= `>??Kw _5KcK/`#jRi#Wؓ9S Vrvv&*EWWWl5+/ٝ<U -i{$Lr&Dk6/Fe'') >86hgNN1zp,@{X4 (8=+h 8U?U"XUY A[gӍhdY7osKٻ7{f7هF}e_xDt}Hz(   E=Document Word.Document.80Document0>Document Word.Document.80Document0?Document Word.Document.80DocumentF/ 0|DTimes New Romanbbv 0b( 0DSymbolew Romanbbv 0b( 0 DHelveticaRomanbbv 0b( 0 "0DCourier Newmanbbv 0b( 01@DMS Minchowmanbbv 0b( 0\1 ` .  @n?" dd@  @@`` 8l`8( $ 7&'()S*T( $ 9:;<=>  ? @BCDEFGHIJ KL M!N"O#P$Q%R&'()S*T+U,V-W.X/Y0Z1[2\3]4^5_6` Ao2$Ѓ6i.ie^m 2$=\Lfp*B:* m 2$+l Cc@T 2$Q ޳[U %(2$s5TG4 52$M/􆚯m@xp3Vc $@uʚ;2Nʚ;g4PdPdv 0bppp@ <4!d!d` 0bb<4dddd` 0bb<4dddd` 0bb ( ___PPT9{b20d{ksy? %X]PfSystem Analysis III: Component Modeling and the System and Software Architecture Description II (SSAD)4g/0CS577a Fall 2000[ Brief Review ^Analysis Defined   A separation of a whole into its component parts An examination of a complex system, its elements, and their relations A statement of such an analysis A method in philosophy of resolving complex expressions into simpler or more basic ones   _Analysis Goals   MQuantify what we want to represent, not how it is done Formalize and refine the specific parts of the organizations capabilities, entities, activities, and interactions described in the domain description that are to be automated Capture the high level architectural information that will represent (I.e. model) the conceptual system6N # N  `Analysis Audience   4The Domain Description is for all constituents of the project Analysis is for Domain Experts - the high level leaders who understand the domain, know what they want, and have the authority to make decisions Not for implementers, who prefer design and implementation details ( hows )Z&      aAnalysis Deliverables    bClassifying Last   /Classification should be done after establishing Components and their behaviors need things to classify before creating classes intent is very important here This provides well named structures that will flow into the final implementation Accordingly, requirements should be delayed until later (design)6PNPN 0  d2. Architectural AnalysishMain intent is to describe precisely "what" the domain experts vision of the system without implementation details As described via ISDM Component/Object Oriented Analysis (C/OOA) - Component, Behavior, Enterprise models Defines the  high-level architecture of the system in a more precise way than the OCDNZ)ZXZ)X{2.1 Component ModelHigh-level architectural decomposition of the target system into functional partitions Should be consistent with System Capabilities(OCD 4.3) Requirements in SSRD 3.0 will be based on what is mandated to be built in order to realize these capabilities Object models in SSAD 3.0 will be derived from components in such as way as to realize the requirements in SSRD 3.0 Use ISDM Component modeling techniquesN''gComponent ModelingOutput is a collection of diagrams and specifications Provides details on important component qualities required for a faithful implementation Serves as the overall view of the system  parts and their relationships (a system partition)\_Ac hComponent Modeling8Why model components? A language is needed to explain why a component exists or not, and to get a handle on the  things which comprise the system Systems are not often built entirely from scratch anymore, identification needed for integration How the components can or will be implemented is a design issue (will discuss in OOD) All components should be faithful as determined by Domain Experts (i.e. ask them!)>sEnd of Brief Review k%Building the SSAD 2.1 Component Model&&.List possible components Start with the Entity Model (OCD 4.5.2) Look for "things (e.g. nouns) in System capabilities (SC s) OCD 4.3 Search for less obvious possible components from SC s Accept/reject possible components Accepted components should have a Component Specification4PlComponent SpecificationComponent 1: Identity - Defining Quality - Name - Attributes - Enumerate and use Attribute Specification template Behaviors - Enumerate and use Behavior Specification template and/or UML Use Cases Relationships - Use Relationship Specification template and/or UML Object/Relationship diagram Roles - Describes how one component views another component through a relationship a) role name, relationship or role diagram b) role name, relationship or role diagram Y 0S[m#Component Specification (continued)$#State Groups - Use State transition diagram(s) Constraints - Dependencies - Candidate Key - combination of attributes uniquely identifying a component or an object Cardinality - Others -,.nRelationship Specification1Relationship 1: Identity - Defining Quality - Name - Accessibility - {readable, settable, modifiable, fixed} Scope - {shared, unique} Constraints - Required: Initial Value: Cardinality: Dependencies - Derived from: Role names - group 1: {..., ..., ...} group 2: {..., ..., ...} ...2ZJ* ; =oAttribute SpecificationAttribute 1: Identity - Defining Quality - Name - Accessibility - {readable, settable, modifiable, fixed} Scope - {shared, unique} Constraints - Required: Initial Value: Cardinality: Dependencies - Derived from: Attribute 2: & pZG* KpWhat is a Component?bAn abstraction that represents both memory and functionality within memory: resolution of a component s static qualities such as attributes and relationships. Functionality: a set of methods (qualities) that embody operations Represents a major highly cohesive  block of the system The components partition the system Many ways to do this, you want an  elegant one MBASE: A refinement of an Entity within the Domain Description E0i0i10i@0i$  U ~  1>    qComponent Qualities~ Identity - Defining Quality - Name - Attributes - Behaviors - Relationships - Roles - State Groups Constraints - ,Z`rTesting for ComponentsAnalysis components always have direct counterparts in the domain Important test: Components have form which allow them to transition from one state to another and take on roles j0}A)(s&Advice for Finding Possible ComponentsJ Start with a single fundamental component you know must be part of the system and fill out a specification template for it. Take a component it has a relationship to, and do the same. Repeat until no more components are found You will often need to draw upon the "possible components" list when detailing components relationships:JItFinding Possible ComponentsFrom system capabilities and domain description look for  things and  actors that carry out some action. Start with Entities from Domain Description. Underline nouns, but not all nouns are guaranteed to be components u$Components as Owners of Capabilities%$0All capabilities must be eventually mapped to components some components may be identified by looking for entities to address specific capabilities Many participants will also become owners, e.g., owner of store is probably person working in the store Caution: May translate into large blobs. e.g., Be careful of things like  Account Manager or  Employee Tracker as they may contain too many capabilities. *vComponents as Actors notify users when appointments expire must have a component doing the notification (be careful of  schedulers - usually a design object).wComponents vs. ObjectsHObjects are the smallest (most refined) entity we consider in our models prior to implementation Components are compositions (membership relationships) of objects with a high degree of cohesion within the domain Components are what you need to describe the system to domain experts at a higher level of abstraction (less detail)PI0Z NxObjectsThe Design phase may decompose components into objects. Objects are used to represent the system in software. An object is a specialization of a component. An object is an atomic unit for systems analysis purposes. N0Z7-oyComponent PitfallszEvery component has to have at least one state group: if you have difficulty specifying states or roles for a component, then it is probably not a component Do not include Components that do not reference Entities A component though may participate in more than one role at a given time: some roles may be assigned to multiple components, but the relationships must be specified{{z/Design Preview: Java Composites and ComponentsDesign Composites: collection: Vectors aggregation: HashTable grouping: Array Java Components:  Component Canvas WindowL==5 =|Component ModelSimple Example}Example System Capabilities/Statement of purpose for the system: The Columbia Library Reference-Librarian Management System (CLRMS) enables the Library system to locate and allocate appropriate library staff to serve Library Patrons in locating and borrowing Library reserve materials. System capabilities: 1) Assign Reference Librarians to Library areas 2) Track consulting Reference Librarians 3) Manage Reference Librarian services to Patrons (including other Libraries) for particular reference collections 4) Assess need for consulting Reference Librarians (where, when, who) t&ZF,Z$  ~Identify possible componentsPossible entities Library Library Staff Library Patrons Reserve Materials Library Area Consulting Librarian Reference Collection*ZoZoExample: Component Definition-Component 3 Identity: Defining Quality.: Scheduling and tracking information for permanent and temporary staff for the Columbia Libraries. Name: Library_Staff Attributes: 1) name 7) contract_info 2) address 8) service_requests 3) skills 4) schedule 5) availability 6) area_assignment".  f   Example: Component DefinitionBehaviors: 1) manage Reference_Material (organize, locate) 2) service Patrons Relationships: <> Roles: 1) reference librarian:{services , manages , service area assignment } 2) consulting librarian:{services , organize and maintains , contracted }  /Example: Component DefinitionState groups: 1) employment_status:{contracted, permanent} 2) service_status:{serving_patron_request, managing_material, waiting_for_request, off_duty} 3) area_assignment:{assigned_to_area, available_for_area, unavailable} Constraints: 1) can not be consulting librarian and reference librarian for same Reference_Material 2) dependency: service_status is off_duty when area_assignment is unavailable Derived from Library_People_Info   ,\F VM View C3: (SSAD 2.1)  SSAD Architectural Analysis-Course Evaluation System Example (best guess)SSAD Architectural Analysis HDA Example"Example #1 Component Specification*# $ Rejecting ComponentsKWhy is this important? After listing potential components, need to filter those which are not components Even more important than finding components - we need to make sure components are not attributes, states, behaviors, or roles. When in doubt, leave as a component. Easier to go from component to attribute, etc. than vice versaLLAttribute SpecificationAttribute 1: Identity - Defining L.O.S. - Name - Accessibility - {readable, settable, modifiable, fixed} Scope - {shared, unique} Constraints - Required: Initial Value: Cardinality: Dependencies - Derived from: Attribute 2: & pZF* KExample #1 Component Attributes  $Rejecting AttributesAttributes are the  memory part of a component Attributes  do nothing i.e. have no behavior e.g., AddressRelationship Specification0Relationship 1: Identity - Defining L.O.S. - Name - Accessibility - {readable, settable, modifiable, fixed} Scope - {shared, unique} Constraints - Required: Initial Value: Cardinality: Dependencies - Derived from: Role names - group 1: {..., ..., ...} group 2: {..., ..., ...} ...1ZI* ; =#Example #1 Component Relationships ($ $Example #1 relationship diagram  $Rejecting RolesRoles: occur frequently and cause lots of confusion. Identified by how something is used, as opposed to what it actually is Example: In a company payroll program,  Manager and  Subordinate are  Person Example #1 State Diagram  $Rejecting States0State: attributes and relationships that affect the behavior of an object. Has well-defined transitions to or from other states. Example:  Solvent account and  Closed account should be combined into a single  Account component with states {open, closed}, {solvent, insolvent}8y Rejecting BehaviorsBehavior: Maps to objects Operations or Behaviors:  Withdraw ,  Deposit ,  Access may not be components.j 5$ Design goalsHDo not clutter up analysis with information relevant to design only. Ask,  Is this something the domain expert will understand? Filter out: System Requirements Runtime requirements (e.g. file access and memory allocation), UI, Network, Implementation objects (e.g. strings, pointers, etc.).ZZ/|'()*+,-0123456789:;<=>?@ABCDEFG H I J K LMNOPQ ` ` ̙33` 333MMM` ff3333f` f` f` 3>?" dd@,|?" dd@   " @ ` n?" dd@   @@``PR    @ ` ` p>> $(    6 P  T Click to edit Master title style! !  0   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  0p ``  X*  0 `   Z*  0\ `   Z*H  0޽h ? ̙33 Default Design0 zr  (     0 y$ P   $ P*    0H}$    $ R*  d  c $ ?  $  0z$  @ $ RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  6ԃ$ `P  $ P*    6Љ$ `  $ R*  H  0޽h ? ̙33'  <(     0d>@   x  c $2`   H  0޽h ? ̙33( <40(    3 r%gֳgֳ ?p    3 rgֳgֳ ?    H  0޽h ? ̙33 ) @0(  x  c $P   x  c $hP  H  0޽h ? ̙33 * P0(  x  c $\`   x  c $`  H  0޽h ? ̙33 + % <4`(    3 r gֳgֳ ?P     3 r gֳgֳ ?   H  0޽h ? ̙33v , &p(  x  c $, P     6` 1111?h {   bBehavior Model$      6< 1111?n |  cComponent Model$      0 1111?  gSystem capabilities$       0d 1111?^  jStatement of Purpose&       6t 1111?   dEnterprise model$    ^B @ 68c? x ^B   68c?  x XB   08c?2  XB  @ 08c?2 V | XB   08c?  2    0 1111? 0 c Project Goals&        6 1111?8 T1."       6 1111?V X T2."       64 1111?0 T3."       6P 1111?d  T5."       6$!1111? h  T6."       6!1111?v f  T7."       0!1111?P  b L.O.S. Goals&         6 1111?P  T4."     ^B  6D ^B @ 6D `  <!p  7OCD 3.0  <!   8SSAD 2.0 H  0޽h ? ̙33 - 0(  x  c $!`0  ! x  c $! ! H  0޽h ? ̙33  0(  x  c $t!P  ! x  c $ ! ! H  0޽h ? ̙33    P[ (  Px P c $%!0[  ! x P c $t&!   !  P <'! 0  ESystem Capabilities P <+! 0  ICapability Requirements P 6/! 2 < Components  P 61! P  9Objects P 6;!`M ; Behaviors   P 6xA!` M < Operations L  P@ c $z 0 z L  P@ c $*2P *L  P@ c $   P <F! p  9realize P < J! 0 T ; implement  P <O!0  ; carry out db P <G3HrI-6z dr P@ <GH :I *^b P 6GckH`IWlz 0db P <G)H I y   P 3 BCDE0F:> @ 0ppp@@` p P <P! `t  3LCO P <tS!0 3LCAH P 0޽h ?PP PPP P PP PPPPPPP PPPPPP ̙33. 0 V(  d  <1?``d  <1?`   `4]!xaxa1?0 >      `pd!xaxa1?N 820    C xf!xaxa1 ?P  !   C xf!xaxa1 ? ! H  0޽h ? ̙33 1 0(  x  c $|t!`0  ! x  c $v! ! H  0޽h ? ̙33Q <4(    3 r|!gֳgֳ ?p !   3 rP}!gֳgֳ ?   ! H  0޽h ? ̙33  0(  x  c $lo!  ! x  c $p!Pp ! H  0޽h ? ̙33  0(  x  c $d!0  ! x  c $ ! ! H  0޽h ? ̙33  0(  x  c $l!  ! x  c $! ! H  0޽h ? ̙33  0(  x  c $!0  ! x  c $d!pP ! H  0޽h ? ̙33   0(  x  c $!  ! x  c $̮!  ! H  0޽h ? ̙33. 2 0V(  d  <1?``d  <1?`   `!xaxa1?0 >      `!xaxa1?N 822    C xX!xaxa1 ?0  !   C x!xaxa1 ? ! H  0޽h ? ̙33 3 @0(  x  c $h!P  ! x  c $!  ! H  0޽h ? ̙33  P0(  x  c $!P  ! x  c $@! ! H  0޽h ? ̙33. 4 `V(  d  <1?``d  <1?`   `!xaxa1?0 >      `T!xaxa1?N 829    C x!xaxa1 ?P  !   C x!xaxa1 ?  ! H  0޽h ? ̙33. 5 pV(  d  <1?``d  <1?`   `(xaxa1?0 >      `ܔxaxa1?N 829    C x`xaxa1 ?P      C x xaxa1 ?   H  0޽h ? ̙33 6 $0(  $x $ c $#P  # x $ c $# # H $ 0޽h ? ̙33 7 C;,(  ,x , c $ #P  # x , c $ #@ #  , 6 #   HOther Components , 0<#    UAnything else that has component characteristics - (identity, memory, and operations)VVH , 0޽h ? ̙33. 8 4V(  4d 4 <1?``d 4 <1?` 4  `0!#xaxa1?0 >    4  `##xaxa1?N 828   4 C x%#xaxa1 ?P  #  4 C x&#xaxa1 ?  # H 4 0޽h ? ̙33  <0(  <x < c $\+#P  # x < c $l-# # H < 0޽h ? ̙33. 9 @V(  @d @ <1?``d @ <1?` @  `5#xaxa1?0 >    @  `>#xaxa1?N 829   @ C xD#xaxa1 ?P  #  @ C x88#xaxa1 ?  # H @ 0޽h ? ̙33 : H0(  Hx H c $N#P  # x H c $O#0` # H H 0޽h ? ̙33; <4T(  T T 3 r S#gֳgֳ ?p #  T 3 rS#gֳgֳ ?   # H T 0޽h ? ̙33 < % <4\(  \ \ 3 r(4#gֳgֳ ?  #  \ 3 r#gֳgֳ ? # H \ 0޽h ? ̙33 = % <4d(  d d 3 rPd#gֳgֳ ?  #  d 3 r e#gֳgֳ ?o  # H d 0޽h ? ̙33 > % <4l(  l l 3 r@u#gֳgֳ ?  #  l 3 ru#gֳgֳ ?`P # H l 0޽h ? ̙33 ? % <4 t(  t t 3 rDp#gֳgֳ ?  #  t 3 rq#gֳgֳ ?`P # H t 0޽h ? ̙33 @ % <40|(  | | 3 rT#gֳgֳ ?  #  | 3 r#gֳgֳ ?`P # H | 0޽h ? ̙33 A % @@(    3 r#gֳgֳ ?@  # :  3 A p<H  0޽h ? ̙33B <4P(    3 r #gֳgֳ ?p #   3 rȠ#gֳgֳ ? `   # H  0޽h ? ̙33 `_(  '  6@#00 ]> WCES_Student_Login > WCES_Student_Login_Response_Parser > WCES_Registrar_Class_List > WCES_Student_Class_List > WCES_Student_Class_Selector > WCES_Evaluation_Questions > WCES_Evaluation_Form > WCES_Evaluation_Processor > WCES_Evaluation_Response_Repository > WCES_SEAS_Class_Structure > WCES_Administrator_Login > WCES_Administrator&^]#(H  0޽h ? ̙33 pO(    6#0 > WCES_Student_Login * likely in interface for a Student entity, so might be a decent * component > WCES_Student_Login_Response_Parser * Parsing is usually "how" an input is interpreted in the * software, hence an object > WCES_Registrar_Class_List * Seems like a bone fide "what" needs to be represented from the * domain within the system they need to build - component > WCES_Student_Class_List * This seems like the above in a different role or state > WCES_Student_Class_Selector * Something that "selects" a group of items is actually a * relationship. Generally in design you will introduce a * "container" such as a hash table, list, tree structure to * hold the items and allow selection of them in the * appropriate way. > WCES_Evaluation_Questions * Seems like a "what" with no behaviors (in the domain that is) * so it's likely an attribute of some other component - me thinks * WCES_Class or WCES_Course or the possible component below#O#&#W# #}##:#####$H  0޽h ? ̙33K (  S  6 #0  > WCES_Evaluation_Form * Forms are general "how" you get data into your system, but in * this case he may be referring to a physical evaluation form * in which case this is a component, but care should be taken to * see if it really needs to be separate from any type of * "class" or "course" component as from the systems perspective * the evaluation form for a class is the same as the class * itself as it never uses anything else about the class (such * as its location, room size, cost, etc. > WCES_Evaluation_Processor * Anything that is an "action" or verb is generally a behavior or * an object. Why wouldn't the parser be in here? > WCES_Evaluation_Response_Repository * Since there is likely an entity existing in the domain for this * (even if it's a simple folder or notebook with evaluation * forms), and the system conceptually needs a place to collect the * evaluations, this is a likely component. Note that no mention * of "how" the evaluations will be stored as software is * indicated (i.e. database, file, etc.). > WCES_SEAS_Class_Structure * Seems like an attribute of another component, but it's vague. > WCES_Administrator_Login * Like the WCES_Student_Login this may be a component that * represents the Admin for the system (i.e. lets the Admin * interface with the system). Care must be taken to ensure * that this truly has a different set of relationships to * the other components of the system, otherwise the Student * and Admin components should be combined into a more general * component "WCES_User_Login" that uses two roles "student" * and "admin" > WCES_Administrator * This is an entity in the domain likely take care of by the above.&# H  0޽h ? ̙33C <4(    3 r0#gֳgֳ ?p #   3 r#gֳgֳ ? `   # H  0޽h ? ̙334 D t(    3 r`#gֳgֳ ?p@  #   N#gֳgֳ?   ^*From Hispanic Digital Archive LCA SSAD 2.2+ 2+  NA =??s| =H  0޽h ? ̙33 E <4(    3 r#gֳgֳ ?P  #   3 r#gֳgֳ ? # H  0޽h ? ̙33 F <4(    3 r#gֳgֳ ?  #   3 r#gֳgֳ ?  # H  0޽h ? ̙334 G t(    3 r$gֳgֳ ?  $   NA >??@ >  N$gֳgֳ?   ^*From Hispanic Digital Archive LCA SSAD 2.2+ 2+H  0޽h ? ̙33 H <4(    3 r$gֳgֳ ?P  $   3 rD$gֳgֳ ? $ H  0޽h ? ̙33 I <4(    3 r#gֳgֳ ?0  #   3 rd#gֳgֳ ?pP # H  0޽h ? ̙334 J t(    3 r$gֳgֳ ?  $   NA ???p~ ?  N$gֳgֳ?   ^*From Hispanic Digital Archive LCA SSAD 2.2+ 2+H  0޽h ? ̙33 K T(    3 rP%$gֳgֳ ?  $ j  BA? h  N&$gֳgֳ?   ^*From Hispanic Digital Archive LCA SSAD 2.2+ 2+H  0޽h ? ̙33 L <4 (    3 r-$gֳgֳ ?P  $   3 r $gֳgֳ ? $ H  0޽h ? ̙33 M 0T(  j  BA?P0  3 r1$gֳgֳ ?p  $   N3$gֳgֳ?   ^*From Hispanic Digital Archive LCA SSAD 2.2+ 2+H  0޽h ? ̙33 N <4@(    3 r@9$gֳgֳ ?P  $   3 r9$gֳgֳ ? 0 $ H  0޽h ? ̙33 O <4P(    3 rD>$gֳgֳ ?P  $   3 r?$gֳgֳ ? $ H  0޽h ? ̙33 P <4`(    3 rA$gֳgֳ ?P  $   3 rB$gֳgֳ ?`  $ H  0޽h ? ̙33 P0 pp(  ^ S     $ # lt$9_9_ @  $  H  0޽h ? ̙33b[0 "(    Z1 ?    ; 3 rL=;gհgհ ? @  ;  H  0޽h ? ̙33^0 B:(  ^ S    ;4 # l,D;(e(e @  ; VThis is the Webster s dictionary definition,  H  0޽h ? ̙33$_0 t(  ^ S    ; # lI;(e(e @  ; "  H  0޽h ? ̙33$`0 t(  ^ S    ; # lN;(e(e @  ; "  H  0޽h ? ̙33$a0 t(  ^ S    ; # l)l(I:T ʕuS<ݰZ6{h+Y@ !uBKPfꂧ!e"|Y|Z2֎)c2\%,&`-yn%$*F~w9ZCuЋpyo BR;duxu;ι).6N'4φgO|4|Z~yk)%Zѧ Ԉ bفP]hC7jm#"w n;AǭJȠֹfIq- W\ōey r^mݐU8Z1\H6 w:(h5U\lQ͈cMybQ44nuhnNŇkk,;\exCHy'qv 7]',Ƿ]_ćzU<= FSd~`u4>N!]QU|^!&A/NO L#c.@14Trr!r!$Z?xr焖:eYCX|iV{V>y<q\(06Àx\ ,Rί|eS猪O>Shj)ޤ=$,%$KƘֆXj,-S&N87"14t,=!Gw]<"Uebo^WTE3MRg1"_]docmDn/Ql=Ti1ߧ,\yRcv2Ҵ|E)Xj ZZ֮'D;Ӎ^P ZTtڰ8582=,#x#6򸕀B>-;]CX>D ݊QwKQok RI6@r*dd+]K{ VqMrV-SG'ѿjm/lM\`m9kDN&73}gR>=Xxo9o]НGCx5Fuw>~'nVs~gH~,t/J$?#uoI~ƫ(ri9g U%,G \02yoن& m"l߮Vq'Y|]1A7]9,9C9C9C9@qwk߀cA6*(WIvl6/6MpFy8Xg['H)~SY3o{wJKjc""l.Ϫ_2滋,2˝Wln1Ϭ$'a^55f֚am#1hc0W:S^ԋz9-*V*@NcC9C9C9Cf_ Vx\}lUgtJvm%--6@[Nܸ{ZLhƒmDGtc1: 02c$3 ,Bt)ewy}ޏs禎3:` siDe1888DCpjCf:0<]v3Ylwx`?w@/Y .U>7h>6b%a;<M {;l_9c%WnS@s'xYIm a90Dr%u.F=Ӯq_4s~nvاT̗};yobT&aRQtI[蔦Vv \W|dr#Aл5W0+ͣfOiPQ̑D6L %m+ C' d'4JQ^Vȣue1J [Ȩ2R6VEMA:"x*dU !#(eXG "J?$Hd T[!!zPwc79  _ּ^DU"J̏7B,ڱT+H<jsN:"G[鷡h5mmԀ֮&چ᳎T6ق81"nbgPpw=BwKUIAm195{Ͳ") `("g3҆3@3̯lj5LZ@a]E+t_(RpJtEwע*,5< i0cXfna pq4-AА\> MIY/^ '+"{ѵOt>^qSo16&XTcL;#E}@B,(>|Ç^KluxGۀ;NTO ]1MwISiԾ}^:RΔPZMpc>;ޯ l,M-2Psx5w'j%W52, {sܗQ͈Z\hQ2Hk)Cn8kna*ٍ:;NCz Vǩ= !Yđi[|XmoBNRu\S6fE`184`| >?__'79||'x B`N+jp5 ib.CJOρ/G߃'S`?x ^a=[֌Eف8|<|qŸLxC@dSc4yR7EQ6tY81BQ{|Fn,^W#LmX8o2 Ts'}co|Ç>||m.3o9X>_vz=n+ǽLrN{ng|=?AB s$|V{#$?7$=d{vk6Fѐ}Cg?^crvDV9YZmJU,;agPQv~泍77?|ֆluⳖ*h\r*ؖS%>x^UV\+`OU7hc>|Ç>|y8r Tx\kl>3lC8pD.j6&cױuv*4Q%iK"6BE"$m*4-H59"~;amRr?>q{fw;οy$֐2EtDre2;§LCfvy E`18ge;x'X*<=`x/h0bJk|vh:=(@v|,2;2x3l|һ' x8OID1>^ӕ)R'uM ?ρ~s4W 7hE;'d 9)qń!)@˾$cEq V R<>д6o 7LByB)eshUl-wBƚ2V >)Ì 5A:/"$ @@Y|.g^kcz kڎ؇aO!z/nb'VcG/eؒ~Xf!S!ǹ3,wrrQ;J22%Vm(Vm!eAFڐnvRP~vYgf7bkSCՈB+f*NA\vȒYJ y \McBBEa hmb9D!VAIadQU]|bd̽MѧEKAgvCiK#rJ ErZ&q]B5g. K~\3.7 vɍԗz]IHq:AYr6RD&( yȧ4N| urlyg8qJ̓CW{_tm Ώ^1L}4%`Eęx@ydی{7i\8UUd|"lovOr qy[zu0vvL/M/^N\cy!X6!=ƣyWt e 6&65+ϢrO2(Zū9RKg<gw@{Nn9nwWDzwc<駊.W}uo=D5~̒^؆E:ڄj0cP+bsRJ#򪑂OHt}kIc Q#DNI3g|JK.Z0 nw`{{A$+( \G`%׀ko`?"Kx<Ox;J>=w9N0]<ڌٹ~l1|6LfҬ-޽gr2wGKozKNk"/ 111!hx籾PuG+jG\cAjl?<_Ut$,صOƮs"lw5"FdnA>/(2}3%Fi*[P,2߄49N{ E+x'?u:~#ʏq{X<ܔߞ0e8ekEV2홌|u3 htb^v=jtGSNLjAiO-RX8p+2>>yr7 t R7{s-{ :v  T,XX]+IW70-}w O/=GC$R|s$L#ɷ? ^ߋUf|s: )\eȇU~ Cw/C"gg;5쯎%Pu!i\.W8o~ 746),4444444444444n:yOg^_(.:qGHK>D$ K>#߆xy03>8ߏ|"i%==_xj5vsM_bbfNXE*|fEMf7PڗgE 4~烪|k(-Gqz9-}#VIZ' Z)>Sµj}9BVQ}~k܍VzMc d!r zst?@~wP !  RH@ ?7sk/ T$ L#&)+.247L:<ADFHJM0@OhQSUWZ0\X^`bdfbik6np stuwHz|ZĈ.l֔@JP  Oh+'0 `h  %Introduction to Software EngineeringrosMer Hwan Dongon17nMicrosoft PowerPointare@p2o@ J@2i3Gg  Z0& &&#TNPPp2OMil & TNPP &&TNPP    - "-- !-- "-&G& - &Gy& --HP-- @Times New Roman- .%2 System Analysis III:!0+ . ..2 ~Component Modeling and the+0 !!8 !! !. .%2 )System and Software !0! !+. .02 pArchitecture Description II+!!+ !. .2 (SSAD)! *+.--q-- @Times New Roman- .2 >CS577a. .2 { Fall 2000 .--"System-&TNPP & ՜.+,0<    On-screen ShowYouJQ5) <Times New RomanSymbol Helvetica Courier New MS MinchoDefault Design DocumentgSystem Analysis III: Component Modeling and the System and Software Architecture Description II (SSAD)Brief ReviewAnalysis DefinedAnalysis GoalsAnalysis AudienceAnalysis DeliverablesClassifying Last2. Architectural Analysis2.1 Component ModelComponent ModelingComponent ModelingEnd of Brief Review&Building the SSAD 2.1 Component ModelComponent Specification$Component Specification (continued)Relationship SpecificationAttribute SpecificationWhat is a Component?Component QualitiesTesting for Components'Advice for Finding Possible ComponentsFinding Possible Components%Components as Owners of CapabilitiesComponents as ActorsComponents vs. ObjectsObjectsComponent Pitfalls0Design Preview: Java Composites and ComponentsComponent ModelExample System CapabilitiesIdentify possible componentsExample: Component DefinitionExample: Component DefinitionExample: Component DefinitionView C3: (SSAD 2.1) SSAD Architectural AnalysisPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationSSAD Architectural Analysis#Example #1 Component SpecificationRejecting ComponentsAttribute Specification Example #1 Component AttributesRejecting AttributesRelationship Specification$Example #1 Component Relationships Example #1 relationship diagramRejecting RolesExample #1 State DiagramRejecting StatesRejecting Behaviors Design goals  Fonts UsedDesign TemplateEmbedded OLE Servers Slide Titles5!_ eHwan DongHwan Dong  !"#$%&'()*+,-./0123456789:;<=>?@ABCDFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%'()*+,-/012345789:;<=BRoot EntrydO)PicturesCurrent User6SummaryInformation(&PowerPoint Document(EDocumentSummaryInformation8.Root EntrydO)cF@PicturesCurrent User8SummaryInformation(&      !"#$%'()*+,-/012345B _snkrishnsnkrishn