* : "/! / "/0 1- "! "2-3 ! 45 6- ' "#+, -.-. "$) * ( '! "! #! "$% & #+/ = '/, -/ /<= >/?! 6"/ , / #+ #! "; 6: , ' 78#9 '! /! G/ . -/ '/ /! C ! "E % ; D 7 3 -C #+ &AB C @# 'C-/C / /, '8 K "- "! >?! G . ; "! -? ! ' A= H-I- -! J- 8 /. */ ./! 6 7 3 -? 3 : , ' '8 K "- & C ! = NL83 M+ "-3 7 3 .. P9Q OL# 2 "- [email protected] , [email protected] UVWXYWZW R -SQ T * ه ر م اار &# 6 - OL3 JE[ -sA "! 63 '02 r) k "% -1 /L E/! :/Ac /C = "/! N \ = 3 @# 1- k /-C$ L# 6 "! "#E! '[\ O]9Q '^ / a-C$ & E! .G :#E ' '[`)_ :#E [\ "c 'CA ) $-3 $ '\ a /`c '/+! ! M+ ' #+ @-_ d / &/ /3 f/9! &/ (/ P9Q3 .. ' g '! - Q/ !9# 'A< h i 6 j .! ' C - "! GE - k 19# G2 '+! .G :-+ @-g "c '!- .G //2 "//K- S -//AK "//! M//+ :#E// k// // &/ / G\3 'L_-3 ! Ac' '%83 : ! '3? /A3K (/ "/L$-) x/2 ' /$z .(y/ A o3) x2 ' /$z . / /C , 6/ "/ ( 6#8 6 6 GA `c event ) m /g Q/# 6 { " -+ A3K A o3 .(pipes) "$-$ 6data base *^3, 6(broadcast - -2 ' #E/ &/A -/+) 6/ p -/ k/ 64, .G/ . E! 'A '[\ - -C$ L# ./Ac '/ 7/ 3 "##+/ '/ -/ k "K- S :/0`K '/^ '/[\ @# l#Q : k 6mg "/L$| H- Op$ }A k - k 63 r?_ O-]! '/[\ O[`)_ "! o-! l#Q Op$ .G n$! 'A k /< 'C-/C -/ K-g "K- S A o3 / & 3 'A '# !#c (q - = L# &-g k/ G &^ 6 - E! ! &AB . ' "0 = . /c P9Q/ G/2 (Semantic model) "' A @" A r)// .G// '// // -// &//AB // // "//! "//2-3 //! :#E// k// '//8c O_-]//+ P9Q//3 'C-//C» G`c :#E k s A#E o3 ! D8< = 6 . -2 «= 2 O_-]+ 'h/! . " ( k Pipe- filter '[\ k 6 – "/! / O(-v/ "/! /, ! :-3 ' '!- &A &# ! A#E/ o/3 '/[\ u. (#) ! (q - = :: - k M+ - ! -C$ .w 2 . 'v ' s o/3 / "/L$- H-/) GE '[\ Op$ }A . '#A/ ' s A#E o3 :#E '_+ `c ( A .. 'v '[\ G2 @# -C$ OSI @ 68 5c k A#E c S #+ "L$| .Y GE ' '3? @ .Z / O[`)_ . A! "%\ k -A "c '$[ .G/ / , @[ A! "%\ &A '8c i\ 6:#E A#E ' " - & I G! . GE = L# @# - 'h! .V GE - & L# D . A#E c @# P]93 'h! .W '/ Q/ '/ "$-% '+! '02 GE$ k 1-1 *^ . data flow 2 Connectors 3 Procedure call 4 Y ه ر م اار (1-2)* :: . ' s ; 7_-3 ! @# - GL : * d & D/33" "/! / -$-,-3 "c (Pipe lines) "$-$ o-)+ (Pipes & Filters) #8 "$-$( 2-1 . "/K- S "/L$- / Pipe- and- filter -/ k/ .Ac ' ? "#8 ')+ / "/c (bounded pipe) c "$-$ ' 2 6"L$- k .G2+ "K- S .Y '2+ N \ ' 2 -+ ' f N \ '/ /? /. /g "$-$ k ! A-3 ' "c * /3 k/ &#E/! /c "/! ! (q - c & ) .Ac ' $-3 f .Ac ' / "c (typed pipes) A! "%\ "$-$ /S "/! 6/A -/\ "/! '3/? / 2 "! '8? .Z (-/ j]/) */8?3 "/^A */g & !/A! (/' "#/ ']/9Q H-/ "/c / ' -K #8 '/ "/#L. /#8 / "L$- "! & !A! .Ac ' c "! H '2+ (A! 7 3 d-+ H- k ) A! 6/ 2 /! ' /$c -AK "! d & A o3 .- ' - 'CA pipe line k o)? "! G$[ k . ' c "! C "! #8 k 2+ @%# k// -//AK "/! d // '/ 3 //#8 / "//c /Ac .A -. ' « "$-$» A o3 "! & !A! k/ "/! * /3 / G$[ & .Ac d, S G -2- / ! /#8 "/c -/2 ') 6- & : G! */ K /A-3 '/ "$-$ 6 #E & .- ' batch :#E / /! '3(/[ = M-]+ "! :A! '8%#E # -2- /! & !/A! /A /S « ' 2 = :» /#8 "/c G & C : G! k .uC! l# "! #8 "/- & /#! (batch) ' :#E &A & !A! .: /= / '/. .A ' -+ 'A , ' (! #8 G - .A#E S - k / Ac ? ' "$-$ "B= G &^ A#E/ ' "! pipe-and-filter $z & #! -/2-! -/ '/ '2+ "$-$ "B= - '33 k// = :// //! unix .// // "#//- unix "#E// "//c ./AAc '/ P9Q/ / "$-$ = ' # "L$- = '$ = "/c) '\3 "L$- ! (notation – u. Q) /#8 "c '33 "! «#8 "$-$» "^ k '2+ G?_ 6`! /^ &AB (- ' "#+A unix A -AK "! k/ "/.) / 'C#E/! /A '/ *^/ -+ A A = d &/ 6/ "/$-$ / /, G/2 (run-time) /2 -/ & 1-2 *^ (- -3 ' 1-+ q #E A!@2 -/AK "/! '#A 8 5c 6C '$z -AK "! .Ac' '#Q, .Ac ' ! D/8< / "/.) - ' "#. s pipe line #E 6(lexical) -/p$ $/= */ pipe line *[ .(A#E A /C /$z ./! ' c $-3 ' A $= 6c J, Pipe 5 Z ه ر م اار D/A interactive c ! - K filter 'E/ - "/! 6 -/ 'E/ - "/! 6@AC d, "A /CA "! "c G -Q ' #Q! *^Q & .A#E .- ' Q ' -3 #E '!3 "/^A G/8K "/! 6G - A f :A#E '!-+ '. pipe-and- filter #E ! q #E A CA "! ! '2+ -C$ '/2+ / '8c # 3 A ' 2 i\ "! = . . OL3 #8 '2+ -C$ /# / D/c3 k/ -/AK "/! :#E k O/\3 C "! -S "^A G8K "! G &^ = .Y .- "2-# (S) "!]?A #8 .- *#9 6A! S ! "#E! 2 :E/%3 & /# c /= G/ &/^ 6/ , "! "#E! : AAc ' G [ (reuse) «S L#» = .Y .Z /% "/c '\ "! - #. C ^ ! A-3 ' #8 >/K! */ K & "c AAc @ K @3 ! @- N/-3 -/' @3 Q "c ! = - '/ f / /c J/, #8 ! 'I c . c ' /c G/ >/K! /-3 '/ /c &/ .- ' 2 #8 :G :#E x%3 C .Z .- #8 -+ &#- '.B, '/ ' g #8 - "I '8 :#E "! A-3 .- & C 2 i`_ H- ! A-3 -/3 $= s ']]93 $= 'h! 2 = . :. 'v ' H# (2-2 .A ' GE! &! '38 K f / 6/. 'v ' H# J ! - (/ ) /%# /2 '/\ O-_ "! = q # .V "# x' 'K# H- k = "! o-! "$ O8 K task k/ O-/_ "! -3 ' #8 .AAc ' 'Q, / /. / A#E/ / -/ &/ / "L$| .- ' A! /#8 O- "! q # - , ".2 ' "- x .A#E 'K# H- ' "- 6-9! .- 2 "8vE/ / :/ '/ " /" = "/c A#E/ "/L$| H- k : -+ D 6 #E & '$ . ! ' mA k O -#? C k// -// "//! D//8< pipe-and- filter #E// . A#E/ o/3 :/ ! @ m!3 -+ N \ '/ G d, (batch) « "# '» : A3K - & : "A2 /! (q -/ ) G/ f3 -#? GL[ @-vE x ' k A O-_ "! A-3 ' #8 ". .- . & !/A! .A#E *%#E '3 O-_ "! = 6AAc d, (= ! G! 'h! C & aZ *^ .G 'L9 x ' O -#? . *c * 3 k S -AK "! #8 "! ! i\ .Y "/! 6"/_`+ O-/_ "/! .Ac C 6'2+ "! Ac ' ! - pipe-and- #E/ 6/= '8 /3 O_-]/+ G8K distributed 8 encapsulate 9 parallel programming 6 functional programming 7 ه ر م اار Ac L# B x' A . :! "# -2 '2 *^Q A "#/-+ '/2 O >K! B ! C O 6Ac L# B C (4^K ! ) - ' A ! Event Base 6 r _ '-+ (2-3 :/ m!-3 $ "K- S "L$|y ! "c ' #E (1-3)* /-3 C /^ /! / "/L$| 6/. x'/ :#E/ k s 6=' / E! 6. ' #E L# `! ADT L# '_+ "g`K 6q+ .AAc ' g! o3 A3 = r _ '-+ x/ "! #E 'h! @z ! . -2 'L8#9 H- .G D/c3 6'A /I '-/+ = "! "c «1A# Dc3» kA^3 k "! :-/ 2 ( ) %# task O-_ "! "c A ' 2 "Q/ 6k/ &/ . -/2 A -. ' '!9# Q# '$L .A! interface & A x "c A ' 2 C 'h! / r/ {? I 6 actor " , ! #E '9 3 E/! "/c A#E '$2 O_-]+ . x' #E . ("#E! -3 'A . ) "^ f /#A `c f3/ -#? x '/ k - .A! ' j = k :%#E '-+ 2 "! "c G & 'A I '-+ GQ, / /! /p3 = / /, -/3 '/ 6Ac ' 'L9 / ./Ac `/K / /A k -3 ' "L$- k 6@ (/c m/ 2) /A! "#/ 6`/K "/! ./#`c = ! 3 k/ (/A "/g`K) insert k/ /A-3 '/ :#E "L$- //= "/c /! ('!#//) '/# /A3 "/K- S @ k (c "#E!) &#-, N \ AAc G ( ) event "/! *0E/ /3 / '/ /2 /[\ "! ! ' c "! " G/ /$ 3 :#E -+ - `K event "c 'CA .= ! .AAc "!S3 : ! 3 '8K "K- S event k/ `K & !A! .Ac ' '-+ event = ! :D .- ' $ $ '-+ >K! 'A I O-_ "! = (@ '-/+ N/ \ ) /C /! x ' k o3 -sA "! /-# CQ/ /s /! 6 8 :#E @z ! pipe-and-filter d '$ .! C x' G - ! x' debugger's ) @^// @]//L "//)% // //! //p# /#8 " A! #8 "c G '$) - c & "! k debugger k "c 'CA .AAc' G (breakpoint 4/, (/= /! o/3 /g! G/2 A#E/ :#E C (event) / /c & (- ' 7g-#) #E ' @]L ")% /! = / ! Ac p3 x' k G - Gg . x' :#E k/3-3 O-/_ "/! 3 ' 2 :#E "! "c Ac ' `K .AAc '-+ = '# "! 3 :Ac P9Q x G &^ $ & .Ac '-+ G ! = $ / /AAc G / DA (source line) ]% + "! CQ k w "'/3 " GE/$ ! c & G2 . @ ! k G/ &/^ .: p3 G "# p3 @ * "c '$ ./A f / q? ( ) -# p# % interacting agent 10 module-oriented 11 import list 12 interface 13 constraint satisfaction 14 V ه ر م اار "/L$| / ! G &^ "L$| .:#E *^3 '#[ "L$| 16 .Y '/$ /Ac '/ `K k '. "! debugger 6sA & ! ! 3 ! - & C 2 C o3 (event) = ! '$ K ! " "c ' .:#E .c A-+ c " `K event = "c 'CA = ' /$ / "L$| 6'A I '-+ - k 6 . :D :#E/ /-3 S O? ! @#Ac "L$| "K- S $ "K- S = (interface) ")! "c A#E . '$-/ O-_ "! G &^ $ .= ' : event / 6"/L$| k/ "c 'CA AAc ' '-, :Q /! f /$ 'h/! /-3 ' "L$| k '$ - '-+ = "! "L$| "c Ac -3 ' Ac ' `K /$ &/ "/c -/ '/ >K! c & .Ac G :#E "/L$| "/ "/c ! . '#[ 6@[ "! .A ' , .- '-+ 6- ' `K 2 = "c 'CA /A "/g`K d-/+ -3 `K "! ' '/ AAc `K "c G & d & G! & # -/ '/ '-/+ = "c '33 "! A-3 ' 6A#E & !/A! ./ /A-+ /# / = ! ' "L$| " "c A .Ac #K O/g 'h/! .G @3 "! o-! C *^ '/#[ / d/, D33 ! 'I A-3 ' "L$- .Y /-+ /= / "/S# -AK "! ', " "^A - '//$ (//Ac -//K) -// event k// //! //-3 '// 'A /I '-/+ #E/ q/zc 6*/$ & "! . 6 l#Q/ k "! ! :#E C ') -/AK "/! A#E/ / (/ @ '$-/ '-+) r _ '-+ .Ac #K @L * G2 .A#E/ / r /_ '-+ #E $z .Q8 K * ^ /A-3 ' m!A G ' =c 6') &A 6/! /c '/^ D/c3 G/2 'E - "! ? = .A! '3[ *0E 6'#2 G ? A \ G2 C , G /3 6 /! / "$E/ /-3 ' '# ! c @(# q # "/c '3/8 K f c 2 G2 !c O/ -#? "/! (/Ac '/ @ K "c) @ -L "c ' . !c 6AAc ' G d &/ . 'C#E/! - ' '-+ = "c ' binding /% "/c G/ @ '-+ ! '#A @(# ! *!%3 :G "/c '/CA G/ @ k ! *g &#. s "! ( / ./S L#/ G2 -g '#Q, :: G k .- ' @(# = '-+ '!3 # ! - ' :#E k "! '. "! -3 ' "L$| . .:#E = ! = G N \ : " ( #E (2-4 broadcast 15 6G/ / ' '3 "8E8 O-_ "! " ( :#E k interface 16 ه ر م اار 6/ ADT /A ./AAc ' '#Q, S L# .Z k/ -/AK "/! /Ac '/ S -+ (! " ( ! 4 " ( "/ ( k 78#9 , L# 2 = 'h//! . '// //c "//! // "// ( //! (client) #Q// /= "/^A "/! oQ/ /A '/ -3 *!g O-_ "! A#E/ 'L9 " ( 3 C '8+ " ( 6 " ( #E .AAc '#Q, S " ( ! 'E^ /! G/g "/! "c m!-3 'h! ! 2 "! 6S '2+ " ( 2 "! Layer ) " "/ ( / /" 7/ 3 /^ /c &/ &/ & !/A! ./ 19# (Export – O_) ! ! /c "c ' : ! # (interface ) /AAc '/ / /, /S & k "L$| 6 #E .-/ "#+/ /A-3 ' 'L8#9 , -3 &^ " ( #E ] .(D3 "8E8 " ( 'h! X //8^3, 'h//! – OSI @// :1-//+ /$z) /-3 6/ /A o3 .[A! : '02 O-_ "! " ( G (Window System "/-C / "/ ( /AAc ' P9Q "c - ' 7 3 ' *^3, .AAc ' g! o3 (1-4)* :D / /, "/ ( -/ "! A-3 ' #E 3 . / " ( "! O\3 c ? * '^ -$-,-3 G ? "/ ( '/%)A O-_ "! -#! ' #E . '#[ .- 6/ H-/ &/ -Q/ /$z (a *^/) A/! ' S &/^ ' /c "! o-! Os[` - ' ' k " ( ' !c &A .A#E " ( o3 *^3, m/!-3 / /3 k/ / GL2 @]3 "! G i-)/ ./Ac' S H# i-) 'h! o3 G2 " ( . /= & /, r)/ / , '%)A (! r) /AAc '/ 7/ 3 */!%# o/3 3 & , i-) 63 & , E/! H/# r?/_ i-) c , G &^ `! / .-/ ' 7 3 G9 O\3 -3 r) & 3& , / ( $/ /! M-]/+ "/! / & .! *^Q Data Base #E/ * - & ! !c ? O/\3 &/ S 6@/z ! .G r?_ # .! ' 8K :#E ISO 1-/ 6-/2- /8^3, /c G/C G2 .A#E A -+ '. " ( #E /8^3, = E/! -/ / "#/ O`^Q '/ '#Q/, H/# i-) f " ,! '[\ .A ' @]3 " ( E! "$E/ k "c ' 2 , "! c & .AAc . .AAc A! f9! A *[ "$ "! B, '#Q/, (enhancement !(/! f ) %3 = .Y 9 (2-5 /! *g/[ "/ ( - 6 pipe line A .AAc ' k/ : -/2 / "/L$| # ` q c H- Y 9 - k Op3 S 6G o3 -+ (! & , " ( "/K- S Ac ' ! '8 G$[ "c c #+ /C " ( Y *g[ " ( k ( '. ) m!-3 ! '/ */ K /c / -2- ! "c *%#E "L$| .c -+ # W ه ر م اار .G Q Q @#Ac "L$| '? _ f 6. -3 ' = '2+ "L$| 9 *!%# O\3 . AAc '/A /^ .-/ '/ '-+ "#93 G$[ "! "2-3 ! KS .AAc OL3 C Q O-_ "! #E "#93 6 KS *+ -3 ' 6= , &AB @#Ac Ng "K- S 6 2 k (Transaction) fAc3 H- . .! = 'c3 S @ k /C , k/ /-3 ' 9 .! 62 G2 A = "/c application ! '#A O-_ "! "#93 #E /c #+/ '8 G$[ . 6C j\ .! '#A G/ / '/ L#/ @AC d, B, i "! k/ /-3'/ /9 6/! 2 G2 A = 19# '8_ *K .-C$ (j[) &9 P9Q3 s 1aV *^ .! (black book) "#93 . -//2 '//9 #E// //C // //$z 6"//#$ '/ x2 Z ! (q - "#93 @ . ' Q "#93 / / /C , ! ( batch) "# D33 #E :- ' : O-/_ "/! D/8< 'E/ - "! ? .A#E M+ G$[ k l#Q/ /9 k/ /! :/ /Ac /! / 3 "K- S / "/! '/#[ -/ '/ '/[\ / "/! O)g "! pipe ) "/$-$ + -AK "! "c (Application) !c -/AK "/! /3 N/g O-/_ "/! G/ &^ 6- ' (line (1-5)* 3-82/ "/c -/\ 6@z ! .- EL3 '9 #E -/AK "/! '#A O-_ "! 68 5c "c '$[ :-+ "#E! f *%#E S "#E! :(KS) f m!A . /! /8 5c #Q/! 6-' "#. s pipe line k ' /A3 "/! f/ m!/A / o/3 application "! 6 :/0`K @/2) /AAc '/ */ K l#Q/ OK`\ " , .- ' g! "#93 N \ (q]?A) (.. -? G+ k "c ""$E *[" "8[ : "#93 #+ .Y :EL (2-6 6f// m!//A 6application "//! "#E//! D//3 "8E//8 '/ /S / / /-3 S & k EL ' O-/_ "/! "/c /AAc '/ S "#93 '3p3 "/c (pseudo program) "/! "/ . */ E/L k/ .- '/ G / "$E/ /! *[ k G "! A .G EL3 (engine) -3- -+ .Y G EL3 .- .-/ '/ G / / "/#93 G$[ -3 ` q c :@#Ac .Z -/c) EL ' 2 G$[ (") s "! -+ * "! " .G (G$ '/ >/K! "#93 '3p3 "c 'CA f m!A .G/ = '/ 2 '/8 G/$[ E/L 7/ 3 */ EL3 -3- "/8\ G/_ O-/_ "/! 6- !c = "c - E/L3 -/3- k/ :G/ "/L$- * EL '8c -\ "! & !A! .A ' Q fAc / E/L3 G/2 c " * "c "s[ k 6c S G2 U ه ر م اار '/ (fSA/) /. / '2+ - "c A = p# f / k 6EL3 -3- @#Ac G$[ (@z 3) f k 6G -/ O_-]+ .- ' A = @#Ac p# AAc .G " "c "! '8 G$[ @z 3 "#. A = p# O8 K ' O(-]? 6 .- ' "/c G o3 ' ! 6 ^# p# 6M-]+ "! /p3 /A = /c :/sA3 G/2 @#Ac :#E -3 A-3 ' .(- "#. # "! p# ! A = p#) .AAc (@2) (1-6)* A = p# / A-3 ' "c A = O_-]+ /3 - ' L# S & G+ G2 (q - EL M/+ H-/ E/! .-/ /. "/! (semantic) 'A 'A "c '3? -3- "8_ - ' 3 D8< .Ac :c G9 -2- '3? -3- ' s# @#Ac p# = d //3 GE//=! :#E// "//c Ac @#Ac A = @#Ac (2-7 p# :#E k "c A = p# /A = @/#Ac (loop) / "%8[ J ! C - k Ac ' . "/!) / / "2 # c :#E ' & .G -# ^# p# /-3 '/ d/% "/c A = p# s "! " & "! (- ' P9Q3 / - ' "#+A G - p3 $#Ac -3 / / /S $/ ! "c ' '[\ # c "c ' Set ")% //p3 k/ /! / =/! d H-/ /-3 "c '!3 . x' '[\ j`+ ! .- @#Ac "/%8[ '[\ 6. ' 7_-3 - ' "c ' "L$| ! "%8[ :#E //! O//K`\ = "//c ' #E// "/c '_+ O\3 &AB . "L$| H- -3 '$#Ac (open loop) /c :/sA3 G2 A = p# ..' 7_-3 - g! = ! .- ' L# :#E :A = @#Ac "- (2-7-1 "#E! "%8[ :#E //! O//K`\ = "//c ' #E// (Feed –back) /! '3(-]/? "/! -/ 6 "/ A H- '8+ ^#// G//2 //A = //p# /! '3/8 K @/ K N/ \ AAc ' * 3 M+ '. /2 /! /A = p# k c */!g (/ '. ) O]9Q .' O(-]? (//'3// '//! a//-..) j`#//+ /p# (... OS3 O sA3 6-) :#E G$[ . '3//8 K // //A //p# .- ' A = .- ' L# ه ر م اار closed- "#E/! "/%8[ #E/ ' #E/ &A6( &c) @///////#Ac :#E/////// - ' . @#Ac p# :G/ '$-/ '$/z 'C+ O#-3 k .- ' loop (Feedback)-+! G/2 "/S# (- ' SA) }/ /$ O-/_ .-/ ' . O#-3 - /p# /A / k/ /c ^# '/ &/ / d-+ (set point) s - "C G2 .-' L# A "/! 1a8 *^/ * /3 G/2 O#-3 k -1- *^ .- fAc ! @#Ac :#E ' fSA A = p# 'h! . ' Q closed –loop :#E k (Feed forward) -82 "! // '//A! f//, O(`#//+ -// /! c _ ! - ' :3 / @#Ac p# Op3 "^A .- // &//3 // '//. "//C 6@//#Ac :#E// k// j// (1-8)* set o/% = "! "c) "m2 %" A = 2+ @/#Ac . -2 (closed-loop) "#E! "%8[ @#Ac H- /. 6A/! P$+ 6 - . .! ' (: -. ' point set *^ f 6(feed back D%K "! fAc) -+! /^3 */!g ` q c O8 K . ! 7 3 *c -\ "! A '/ N)3 @#Ac p# fSA J ! A = 6YaX &/A .- 2 '. "! ! -3 ' A = 6A! : /A3K -+/! /AAc @/#Ac k/ : "L$| . *^ .- ' (open –loop) ! "%8[ :#E k A = // &// // */) //A //p# 6//A 7/ 3 "/! "/c /. -/ } k 6 ' Q ' #E &A 1a8 = G/! G/2 (sensor) CE/[ k/ ( @#Ac p# G/! &^/. k u. ' = "c ' - ! (! -sA j/ %) set ")% 6 '^ '2+ N \ @#Ac p# d-+ -sA "! 6 3 k "c " } k .Ac ' L# "/! "/ 1a9 *^/ .@#Ac :# -C$ k ( @#Ac p# ! :#E/ k Ac ' L# O *_- &^. c & : O-]! G 1a10 *^ .G open-loop (1-7)* (1-9)* '/g / '/^ A = # c open loop I G AAc @#Ac 6O#-3 A#E A = (2) &^. ! } @#Ac 2 Q 6 s '3_-]+ 6D8< .A#E -2- @#Ac p#6. - G p# AAc "2 - N \ .- ' L# A = @#Ac G2 = % - ' /8 6 &^. 6( "B ) ,- s '-$ GIp3 X ه ر م اار "/# u, '2/+ O/? /! @/ @/ & . " , ! CE[ A CE[ G set ")% 6 O#-3 :sA3 G "/! A#E/ O/? k/ x2 "c ' % . GE .G / G9/ /)+ -/AK "/! / &/ /AAc p3 -+ -+ / / @/ @ .- ' "#. s (Hardware error) ` q /c 6O(/[ E/! G/ /! "+ :#E k "!Q :#E k '38 K "c 'CA 6@[ "! .G DA (1-10)* "c 'CA "!) GE 'A! f, *!g *c O-_ "! O/3» (/! *^/ / Q 6-82 "! fAc ! @#Ac ' # -/C$ @/ (/Ac '/ / '^ :#E k fSA/ N \ .Ac ' =! @#Ac p# ! «A = / / :#E k 2 "c 'CA .-+ ' GE^ ? G/ &/^ /= /% "/c A = p# (. ) ' /g / Q/) . ' g 3 G?3 '2+ O(`#+ -3 N/)3 p# & J! A = 6- & ! CA "! #Q! @/#Ac */!g / / -3 A#E Q *!g q %#E "c q -82 "! fAc ! AAc @#Ac k : "L$| . ' "#. s '$#Ac @ k :#E ! (q #[ 6(A#E CE/[ "^A 2 "! G '^ -+! AAc @#Ac k ! .- ' & .= ' G! ' p# % 6= ' @#Ac '$-# A = "c ! - k / +/3 >/K! /A ' / './ D%K "c G d ! '3/[ # E/g D/c3 ! A = @#Ac @ " , ! -3 ' Ac .- ' '$#Ac Op3 u. :! A = @#Ac "%8[ k O_-]/+ /s '3`^Q/ /! /= .A#E/ $ A G// //A "//g`K //A = :'3//? // $ . /= .A#E o3 A! "2 *0E @%# O+3 6CE[ .Ac ' 2 @#Ac "? G2 G ' ^ * A = 7 3 D/%K 6-/! s AAc ' '-,:Q :#E , O]9Q • "/-C "/c /A'/ Q/ / "! = . 4, (+3) '. .A = p# 'h! 'C-C - . : ]3 ! :'$#Ac :# -C$ "/-C / :/Ac D/c3 :/ /! -/82 "/! fA/c -+! • /p# c) :Ac 19# c ^# G2 A = p# "/c @ k * G A = p# "? f/, G/2 '!-+ ' c $ ' 'A (:Ac 19# r?/_ G$[ A = p# "-C ' Q -./-. '/$#Ac / :# -C$ *!% "-C A "^A 'A! .AAc ' 4^A 3# 3 mg = ' : A ' Q * $ 4^K ' CA "! q 0 "c A = p# : $ .Y . -2 # .AAc ' = m 2 = "c ' CE[ - :A = @#Ac "- k (2-7-2 open loop 17 /2+ ::Ac ' C ' # -C$ O-_ "! "! (q - q]/?A (:Ac ' 2 '$-# #E ) :Ac' "? ه ر م اار '/ :=/ Client ! ' 4 "c A = .= -2-! 6= ' Client 3 G - "c ' *g Server D8< . ' c A-+ , '# 2 = "! "c /A-3 ' A ' Server G - "c A#E Client '-+ -3 = G! C Server k N \ = .! ' '# = "! @ 6/ '/[\ */ :A = p# • f/ / "? @#Ac p# .- 4[ -3 ' kc "^A @#Ac p# ! m2 % set ")% • /p# /% = G/! G2 CE[ • @#Ac "! o-! A = @ / '8_ "! '(3 a2 :# -/C$ "/c Ac ' g! '\3 :@#Ac "%8[ "- .Z "/! / /A Q/ / :#E E! "$ ' ' / /! ! .G "#- :#E = -3 "c G 'E - '/ ' #E "! SA D8< & cModular '#Q, ! / @ / "/K- S k/ '8/_ "/! k j\ "c - .G ' (q - Ac ' * K @ AAc @#Ac -AK "! '8_ "! M/+ :s k @ c D3 ! '$///#Ac "%8[ k .Ac ' L# 'g O([ - '3K`\ .Ac ' @ # @#Ac /p# /Ac '/ = m/ 2 /A = 1-8) O([ - "! 'g O([ "c Ac ' :sA3 -\ A = .AAc G 1-8) O([ *0E/ "#-+ G!3 "! o-! *0E '3? $ :#E/ k/ ! .Ac ' 2 '2+ O(`#+ "! , "! o-! /. O-/_ "! A = p# A :-3 ' /p# / "/! /A = 7 3 :-3 ' 'A : ! .: /C! s [ :#E -AK "! CE[ A = Q/ */!g :#E/ !/c / = / @/#Ac p# k -AK "! set ")% '$#Ac :# -C$ :-3 ' 45 .A#E .: ! . O-]! :#E :"A M+ (3-3 /= '/ -2-! ' #+ k & .// // i`//_ !/c //A = "//K- S "//! "/c k/ G / / ,- c-+ C# :#Es 'Q/ /^ "/A k/ "/! c P#9 ! -+ . -2 #+ 'L_-3 Og k/ "/c G/ /% & O([ E! mg "/ / k/3-3 "/ O-/_ "/! -3 ' 2 *!g :#E .- S -3 ' 7_-3 -+ L# ! k3-3 : (3 .A#E "A M+ C 'h! #E. 'h! :G$[ @%# :#E (3-4 : m -3 A = (3a1 G$[ @%# :#E 6'QAc :#E ! ' k "/K- S / G$[ "K- S "8-! :#E & G "! G$[ k :#E k "c u. @%# ////// '////// G//////c[ //////C G//////$[ k////// G/L; "/ ( @/# #+/ /3 / m/ -3 :#E G2 'h/! / c S , A :#E G//2 Q/ -$-,-3 / '/. J/ /! q3/ K /A-3 ' = '/ / k/ / m -3 @# k .- 7_-3 k/ Server k/ #E & G Client – Server 7/ : /A3K /! "/ &/ .,' .' #E ! " (3-5 -/ 1 G/?3 '/ / / /! $< d & / G/L; /! = /;3 /.'/ g L# .!' ' x2 A O+ "/#. /s / / /! ' 1- & / :/ "/A2 / '/! "/! = /! / "/; -' / '/ /7/ O-/_ "! 3-5; 6@ ! = "; A!' '%)A Tier 18 Systemic quality 19 Y ه دز '/^ c O`E3 6-A ! 'E[ *A, "?L_ k * "c ' "0 .G 'C f "?L_ '8+ "! O(-]? G [ ! '#E ! "c ' Gc #Q! A .-! "2- '3`^Q !Tektronix 6AAc "^3 : A3K 7 V & .-' AQ, 'L V @# -C$ ww@]/3 7/ 6OS3 7 6w"0 7 6 w#Q 7 . mA 7 "/ ( "/ "/; A!' ' " ( O-_ "! 6 ! / G9/ -/ 'A /, -/ 6' (! - '8_ ..' *Q3 S - " ( &AB .-/! :/c E/! / - 78#9 O(-]? S !c :(q 78#9 - 78#9 - 78#9 $-3 f9! /! 6/ 6'#Q, -C$ c 6A#+ ' `/K .A#/ -/+ "/! M-]/9 "-3 ! "! / 2 / /- 6k/-c /$-3 f/9! k/ '#[ & ! G9 G8!g p3 3 - '[\ qS '#E ! '/ Q/3 *_ & ! *^Q & .Ac }A !c ! 2 /! `/K .c ' p3 GK "! ! "c & /! / ' JE[ « ']]93 !» i) "! & / "/K- S /! '/8c j/ /! "8 k c }A "c A '#E/ ! k/3-3 / P9Q/3 / G%# @#Ac A !c . ' &^ -/? h/ ")% ! - GL; ! "! 6- ! r) GL; . -+ "; ,' = = : r)/ / G/L; 6O/+ r)/ 6!; r) 6 3# ..' * :#E :-C "c '$[ : c G?_ P$+ ' - ! @[ 3 E! .G : - c "! ]?A G\ &#E '/ "c 6A#E - E! 'c3 * :#E & k/ D/3 "8E/8 N/ \ 6-/ NL83 'L8#9 "! A-3 / ' - k "8-! "c :#E k "L$| -/ k/ "/! "/c A! '8+ #+ k G &^ 6 G .G S OL# ` q c *+ -! f @[ ^8 K O`^Q : q -/! &/^ / G f O`^Q & .- '[\ *!g "8 G$ "! 'C#E! "c - '[\ 78#9 G$[ - "c "8 "! S '[\ ' g - . !c '/8c / / . ' G 2 GI @#Ac ! 78#9 ! !c G-+ &! +3 "! SA "c G ' f . ' '[\ ! 2 GI : , '8 K "- (4 *K (4-1 // // '//[\ '#A//_ GQ//, N//%?3 &// k/ -/AK "/! G/$ &/ . ' rI-3 Tektronix, Inc. Computer Tektronix /$-3 / G Eg &! '. d`3 }/// ///S @/// "/// O/// Research Laboratory .{DG90,GDgo /! L#/ */!g '/[\ :#E/ k d#E. , j @AC/ "/c G/ */K :#E k -/// .-! - "?L/_ /! /= ]/3 /c . "- '^ #^$ /S / @AC/ fSA/ / /- . ' f / ¡-$/= /! /A "/ /. ./ ' Q "?L_ ! -/ '/ / / - 6k-c * "c A#E . /B, / / /c "/^3 @#S -$-A^3 ! G- K - - #Q! fSA S "^/ /3 '/)! 6/c :/ '/8+ + G ! -8 /B, !/c ! k Ac ' G -%3 ! C C#E "/c G/ - ! '[\ #+ d#E. , j / / '/[\ G/$ & "S# .Ac ' i) O`^Q & . *^/ Tektronix - ! *E " , "c -! :#E/ #E/. A! "%\ c , d#E. #+ "^ S= '#/ "/! *K "^$[ c }A d#E/. "/! o-/! */[ f/9! &/ " -! }A .:Ac ' A! "# '[\ j '_]#+ @ @/ k S "! !c i\ k d#E. ! d`3 &$ L# H- "c c "2-3 ? j '_]#+ : rI-3 - "/ . . < *K GI 6Og 6 @AC 6¢- / /s - s - # "! '!# 6-! A- * K & -/2 '/8c @/ P9Q H- " . .G *^Q / SA rI-3 @ 'CA 'C-C 3 Client Presentation Integration Z 20 21 22 ه دز j/ k c ! !c ! . o3 "0 "0 A^ * 3 ^#/ " ( ¢- S . " ( #, . ¢- #8 "$-$ @ - ^8 K = "c "0 '$ N%?3 &- A @%# . '! A = A @%# O-_ "! ./ '/ /c "/! '2/+ / @AC :sA3 ! '$AC @/%# .AAc ' N#Q @AC ' g ¢- A @%# .AAc ' * 3 ]! "! ¢- 'Q A j '_]#+ @ 'Q-, @ r?]/3 O`^Q/ - " ( @ k "0 ! Q/ @AC/ ^# ^8 K c " ( = "c Ac ' .Ac ' #8 - "! ? "! @AC "c G/ /! "/ ( .-/ '/ /S G9 G$ & d/, /! / ' g " ( @AC . Q ¢-/// 6fSA/ 6 ¢-/ ^#/ * - " ( .- ' + ! */ " ( .G < Fourie 6@%# 6¢- "I fSA/ '/ g ¢-/ '[\ @-vE "c G f ^8 K @-vE " ( & .-!!c ! '2+ " ( .G ]! f / k c "c G - & . : ]3 !c ! *3 .- Q "?L_ ! '#E ! #8 "$-$ @ : - k/ " ( @ "! Gz K GQ, k '[\ @ "/! ./Ac ' S ^8 K ' 1-E? K GQ, '$AC " up3 m @ & ///// @z -AK d/, "/ s /! @/ &/ `/! . ' 'Q #8 N!/)3 ` q /c / / 2 *^Q k -AK "! A @AC G9 "L$| N//g 'A C 2 Dc3 G .c ' S :#E '[\ = /! !/c */3 'C-/C "c -! & @ & K *^Q D/c3 @/ &/ -/! :#E ]! ")% !c . .- rI . ' Q " ( :#E "! GE '# #8 "$-$ '[`_ @ !/c ! #8 ! o3 S ! *[ & /! /^8 K #, :sA3 -sA "! "c G '$#Ac ! k '#/ /#8 @z -AK "! . ' S '2+ G #8 & .Ac ' P9Q ¢- O "- "c ' #, ./AAc '/ */ K - ! '[\ #, -AK "! &/ « '$#Ac *A, » ! &# O-_ #8 & ^8 K k / / / 2 /! /^8 K H-/ /S "/c G /cc O-_ "! #8 & .Ac ' P9Q '$- '2+ AAc ' P9Q '[\ #, "c "#. *^ « D3 E! » k/ '/ ./c /-+ S ' @%# H- " #8 "c .Ac ' *[ !c ! O`^Q K f9! '$#Ac ! / /. / /- /^8 K / D$[ 'Q-, @ !/c /? /! @/ &/ "L/# .Ac ' :E%3 P9Q / /! h/# " ( "c -! & K *^Q .G DA G/ -%3 /2 G ? 678#9 ^8 K &! *3 k ! !c *3 "c ' Q @ & @z -AK "! .Ac ' .! ]! f O-_ "! '#E ! - "/ ( ' 3 ^8 K ! 'g - !c @[ "! G/I 1/9# @AC/ ^#/ "/ ( D]/3 S A ه دز "/S# -/ &/ .- =! ? & 3 - 'C#E! #8 "$-$ i\ '. "! ' "/K- S /^8 K / -3 ' & !A! Ac ' 93 '8c .Ac ' I O(-]? :C '$z (4-2 !/c "/c /Ac ' : ' Gg- "K- S : (q . p3 @ -\ "! -3 ' ' - H- " /3 A O sA3 ! "-C !c "c ' Q H-I- & . ' p3 - cc !/c /! - @AC d, cc : q S 'C-C - @AC d, :Ac ' 2 '8_ ' "0 "I '$#Ac #, 3 !c -3 Op3 "/! @AC/ d/, /^8 K /-3 ' 'g !c ! . /A-3 '/ /[\ . S ' A3 "! '$#Ac #, O-_ * K ! 3 ! @AC d, G9 * K 'g/! /p3 ! '$#Ac ! "^A o "! )A p3 !c ! .( ! "8% "8 k "c G ' #E 6l?# '^3! :#E k "AL k ' k 6& k *z Ac' @#Ac 'E 78#9 "A L# ' :#E &A .' h 6-// '//! O(-]//? 1=// OQ//#c ' h// OQ//#c */z .AAc ' , l)+ *^/ k/ l/?# / O/! @#Ac ! &#+ / /AAc @/ /! '#E/ ! / :#E/ &/ G C! @SA2 'K/g / '#E ! = A! o3 '! -EA / = ' 1E[ "! ¡! GQ, k #8 "$-$ @ "$-$ "? @ "c -! & = K @^ .G : '3`^ '.! f9! ¢- "^A *$ "! .G 'LI ^8 K #8 ¢- 3 GE '8 K #8 ! AAc ' @p '8+ + GK/ ! 78#9 #8 & ! `K .Ac z^3 d, @-/g *!g < #8 k GK fc :AAc ' * K 'L8#9 @/#Ac -/sA "! .G d, @[ ! #8 G 6 "/$-$ H-/ k/ L#/ 2 "! . ']]93 @ O`^Q & / d/, "$-$ 'h! .: dL "$-$ } & A GK/ /#8 "/! : "$-$ "%! . ' S z^3 ! "c '3-_ AAc ju[ 3 ' 2 & , /. :/ "/I / "/$-$ ./-! "%! d, /3 /#8 / "/$-$ O? "c ' 2 f '^ .- + (c cc [ .A , -+ ? 6:#E G$ ! DA# '#K ! */ q / l/?# O/! k/ ^8 K M-]+ "! @/#Ac 6-/ '/ : -EA -3 "c G ' DEc '/3= / '/[\ = l/?# G Eg C + Gc[ m/- ./ G/$( /c &/ -#c .! ' O! G/ &/^ -E/A / 6AAc O! G &^ "/! C#/ "/c '#g 6- 3 O! ! G &^ 6! Pg '^/^ / G /? /! G/ &^ Ac ' Gc[ = k c /Ac ^#/ l/)+ -/ G/ &/^ O/! .- "2- i/\ $/ A! m , A G &^ "g#< OgL3 '/[\ - k "-3 "! o-! OK-I- "$) & "_`+ &/ "/$) & . ' r//I-3 'g !c ? ! '/L8#9 O/3 7/8#9 '/[\ - "c Ac ' c3 *_ . O`^Q "K- S *[ ! ! i\ "c ' rI-3 & ! `K .- L# B, -C$ 3 @^ '#E ! '#A_ . AQ, k3! : ! E! "/c ' /c3 '2 "E % 2 "A & -! 'A< . ' - ' 19# 78#9 %%? -3 .:Ac ' '! .! i\ f9! & V ه دز '/ O! "c ' -A "#^ & .Ac ' c "! H C [\ '! .GE '3[ G : ! C O 3 c k "! -3 ./ "E/ % /! '!- N8[ "! c k c -sA "! ::Ac ' ?# l?# O! ! i\ @[ Oinar @#Ac V -$ . Effeles Layearal .Y Immons c @#Ac .Z ! E! O! '[\ ! '8_ O$ 'h! 6 .: ' N)3 K 'QAc # ! C# '[\ : . Shefer "#93 !c . "/! * -sA "! = S K "c '$ K '#E ! O! & '! G ! GE$ (! "c /-3 "/c ' / */ $ 4/^K "! ! ' d &3 j .:Ac ' L# .Ac }A - ' @ K = ! ? AAc @#Ac -$ :@ *[ ? . C! s A \ K '#E ! :Y "/! /A3 '#A/_ / /! #Q! 6l?# O! j`+ ! / .A#E 'A! f, *!g ` q c "Q O! k ^8 K /c / 3 ./ "/g#< m g "! '. ! 'c G [ O/K`\ "/c ' '#[ G! = "c Ac "3 '!- '#E ! /? /! "/)! '#$-vE O! 'A! f, ` q c .Ac * K -#! - ' "! A \ *!g < Pg /c ! "c G @-vE "c G ? & q #E) K ! -+ O/! /^8 K k/LA ( O)+ 1E[ '#E ! :Z (A^ , *+3 O! .-/ '/ Gg- & '\ -\ "! @#Ac -$ "- 6/^8 K G/A 6/)+ */ ?3 &#/. s ! .A^! = ? = /# D/g-K "/^A /! O8 K k * K O! /? /-3, 6O! G[`_ GLc £L[ "! '#E ! .Ac ' <= Ac k 6l/)+ /9! 6 / + fc *z '3`^Q .Ac k c .- "2 "! SA '#E '. ! /! /c "/I 8#E/ l?# O! "- & x%3 ./! '/ "#E/! / -/$ $-3 & !A! '3K`\ -+ !c d#E. .! u, j) i\ "! ! : / = /# /Ac '/ /<= O! O8 K AAc @#Ac `/K "/! G/ '/! f /= A q^ l?# O! ! = '/3= "/! / Q/ O/K`\ J/ ! . f .! @- O[`_ A G &^ c Op3 /2 .Ac ' r Q3 -$ @#Ac "- *^ . ' N)3 './B, "/! 'C#E/! / Gg- & &3 (! c @ & "-C "c :Ac '! -! 'A! f, *!g "! = S ! O! "c c .Ac ' '/ 1-E/? '3/[ -#c/ k )+ * ?3 @z ! . ? / ' h/ G/ - k/ '# E/g O/! "c ' .- ه دز -/$ /! A c }A ! '!- & '/ "/0 "/.2 / G E/g "! = M]#+ ! '8_ . G/ [ / "#E! -$ "- -3 GA + * ?3 :Z /Ac '/ /= /! "9E/ = '. "^A \9! - ' . ' fc :#E "! )+ 4 &/ G = '. "#E! -$ "- & '^ : -E/A – AAc Os) O! k '8_ 2 : / ./Ac '/ DE/c O/! ? &! '8_ l# "2 d & C /2 *%#E -\ "! = -3 ' C ^ 2 -3- – 'AQ/ D%K k 'A! f, *!g< ? d & '. Q/ "c '302 r) '#E ! 3 Ng O sA3 .c Feed -/$ k/ "/c /c Q\+ [LP90] P]9# k .G . u, S O)g *+ '#E ! =. ' -/\ "/! /? Op3 "c Ac ' -]3 (OK`\ -+!) back & /3 DA "c ' s "! "#E! -$ "- 6"_`+ -\ "! -/AK "/!) G/ * $ 4^K A -! -+ /3 /A3 '#E ! "c k3! :#E ! "- / O! ("B 'S 3 c "#E! ! N \ Q @#Ac @z "/ S3 /A /= /c /AAc @/#Ac '! m g 'c "/c -/ '/ /! O/L# /2 ` q /c ' g ! (q - ". .! 6GE B, G$[ p3 C G$[ # G$[ k O! "c G & A /c }/A "/^ O/c[ @/#Ac &/! @z !) Layered :Y *[ p3 % "^A @ & .(@3 % m -sA "! '8_ Gg- .Ac ' AQ, u, S ! G$[ "!S3 ! Q @#Ac -$ B, c ! 6/c 4/[ */[ /. .Ac ' @ K AAc ^ 2 "! / / i`_ 1-+ '#E ! ' c * K 6c "! /g @/#Ac -/$ @ "c '302 '#E ! C "- .! .Ac : G = -/$ "/- 6'3/ '/! (k/^L3 "/ S3) k^L3 ! :Y / "#+A/ fc 6- ' - # k G "! .@#Ac / "/, ./! - 3 JE[ *[ . .! ^3 N \ ' Q Layered L$ -3$= 7_-3 (! *^ '/ ju[ G!- O( #[ * $ 4^K * K ! )+ /3 /AAc G / :#E/ Sonar, Dolphin i/\ ! "c .Ac .Gu. W ه دز '/K# A! "%\ "c ! ' & @ & C *^Q %#E/ O/! @/#Ac / &/3 r) & 3 & , : r) .! -2- ` q K "c -2 ".2 (k/ r)/) -E/A + ! A! "%\ (... O(]3 6-3-) A#E /p3 /= / c/ 'g ! :Z Y r) '2 @ k G ' S3 # EL3 *]#) -EA 'CA (-EA k *8?3) -EA r)/) '/#c[ @/#Ac / "/! A! "%\ @#Ac .AAc ' 2 (-EA 78#9 *8?3 c !c r) @#Ac '[\ "! 6 '! 6(k .G '2 O! @ C ! ")! : r) */ K NASREM /A " ( E!) . ' S O! G :V r) -/ & '+! "! "c .A ' O-_ s# N\ #! c/ ./AAc '/ / "/! O/! O8 K :W r) (c :-+ A = f9! G$-vE '02 ! i\ O`^Q ! &# .! ' '/#$( '/K# / "/ ( -2 : (Y G-+) Req2 '/8c Os O8 K !c l#Q "2 r) & 3(! >/K! r)/ & 3 & , " .Ng< G "! ! G .Ac ' "3 -/AK "! .- ' 3(! " ( '# *!g f ! Ec, - ' "2- @#Ac -$ ! "c O`^Q 'h! 4 @ ' "# "# k '2 @ k G! :@z c "c #Q! 2 7_-3 N \ c & ' L\ .Ac ' : 3 @[ -EA ! ^= ./ '/ /S M]/#+ /= "/! -/3 ' G-+ - "c 'CA) )+ 483 *%#A GA :Z G-+ "/2-3 - '#E ! "c '80E *%#E O! -! P]9# O-_ 'K# :E^ O-_ "! "c (' = S ! d`3 "/! `K "! (-EA 'CA *z) Ac ' P9Q . g - ' $= 78#9 :Q O-# .. ' .- ' 7 3 'K# i-) i\ G -sA "#/-, :#E O(3 '! E! G &^ "c O]/#9 /! / - 2 'A -\ "! = "c 'CA .Ac '8 K 6 " ( Ac ' ' O! O8 K "c 'CA) @ GA ' =c 6 "c -\ . ' g! '$#Ac @ @ "/! ( ' O-_ * K "C ! "! GE c @/! /S 2 &! "c ' #-+ O+ 6 " ( '/ 3-c O-]! "$E & "c ! ' 3-c '\3 @ k 6 Elfes fA/c '/= "/! G%%[ .Ac ' AQ, 6G .! 6@z -AK "! G -! :%#E O-_ "! # c OK`\ "$ :%#E -)! G &^ 6! ' - fAc * "c ' /! m/ k/ '/8+ " ( O`%#E : G-+ -/ #/ W r) *^Q (@#Ac) [ -EA /B, "/)! -/\ & ! ' x2 = ' S!2 '!# ! i-) &! f2 "! SA G &^ 6 DA# .! ' 3 *^Q Op3 ' Q. ! " ( &! .- (-3-) Gc[ "! U ه دز / O! p3 G$[ "! fAc 2 7 G+ "/ ( "8 "! "c 'K# i-) 6"_`+ -AK "! .! ' ')? "0 N- 2 ' ! G+ k G 7 3 '/ N/g 7/8#9 / "/ ( f% "$E & ' -/'/ @`#/+ >/K! "/c ! ' & @ & '8_ DK .! /2 N/ \ 3(! i-) O02 G-+ - "! "c 'CA N!/) ` q c O! @]3 '\3 @ .- ' - '8 K .! ' -3 :sA '$ K i\ ! / /3 /Ac ' L# ? G d TCA 7 o3 q _-]+ . u, O-_ ) fAc 7 k ')g ? *-3 :Z *[ "/! ' p, &A 6 p, N \ Multicasting p, ! "/ , /? / G/ k *^Q3 " , ! - *[ .Ac ' ' G2 G = 2 ! "c 'L (TCA) "L @#Ac ^= A G -h/? '!/ G/ :E^ 6 p, &! o3 ! `K .Ac ' " up3 (m!3) !c " TCA D/ P9Q :('%)A . * K) O]? . /. */ K .-/ '/ '! "! o-! O]? 2 '/ N0/ '8_ G+ 7 # 2 ! '%)A ' '30Az# &A f , "! SA -+ & "c = /p3 O/! A = G$[ ' -\ "! = .- ! "c .Ac ' : '8c '[\ (! *^ /! D/A / O/gL3 G ! 3 A ' O/! @/z -/ '/ "/#. /c "/! '/$#Ac l/?# / O! / 1/3! "/%8[ 45 (")g l)+ Op3 A) [Sin 90] Ambler '/ '! E P$+ " ( '(-\ '\3 "/! o-/! f = '%)A . * K AAc 2 .- G+ "$ 7 A! "%\ J ! TCA ' 7 G+ S ! O8 K ' 3 -+ / "/L G/+ k/ / *^/ G " , 7 /2 ! -p$ 7 A-3 ' = @z ! .! ' "! "$ 7 6'#, 7 "c ' f .AAc ' 7 3 7 2 &! '#g- "#E! i\ k .Ac "8/-! / /p, (' / /. 1Q/) m # .Y GE !' A "c ! ' "$E & 2 m k 6@z ! .Ac /C 6-2- 7 G+ 7 * ?3 O_-]+ '+! '. & .- H B "^= *g . *c &A A-3' GA @#Ac 2 6@z -A! - ' TCA /2 (-/ '/ /SA) ' O-_ ']3 '!9# k/A / /A!^, /A = O/8 K E! * ه دز ./ i/ (/! / @/z "8-! "c -\ :Req 3 AQ/, / -p$ "! Q9! #K ! '. @/#Ac) CQ/ / '. m # 6TCA O0Az# .. c "! '/ "#/u. )+ 483 GA 6' =c "! 1E[ "! ('! O/K`\ CQ ( AAc :sA3 @#Ac) CQ .Z .- ']/9Q . @ K '+! -+ ! ".A '! "c 'CA 0 f9! "8 "! )+ 483 '#/ TCA @/z k/ ./AAc ' 2 6AAc , . = ' G! - ' Gz "!Q @AC r) # c \! r) . ! ' 3! '! /-3 '/ TCA 6/! '# *!g< - & '^ . "/! = /c ! ! I O8 K 6! .Ac : C "! G-+ N \ O+ c/ -/ k/ '. & .- ' "#. c "/.A / / , "/c 'CA G A- L ' c */K :/sA3 "8-! Q#A )+ 4-83 ! &# / -/\ "/! ".A '! "8 "! "!Q G-+ .! ' :#E '#, -sA "! .- : (:Ac ' ) : . ' ! OS3 "! -Ac : f / "/-3 >K! ? '!# L# :Req 4 '/%)A /C8 K /C ' -/ 7 G+ : Req1 '! G ! D8< "$E & .- ' :%#E 2 'A C 2 m/)g /2 "/! /C '% \ AQ m # / /! Q/C -A/ 6O0Az# 6 2 ( AAc ) (7 / G/+ #) A ' 2 () * K .. ' g 3 G?3 I[ x2 ! ' 'c c -! o-! '2+ OgL3 "8-! "#^ #) * $ 4^K /! ' / '/. . :sA3 k TCA 6"_`+ -\ "! "#/-, ^/= */-K "8 "! "c ' -C$ "c TCA = "-3 GLc ! OS3 "c 'CA O! 7 ) "/c ! ' ^= E! 6TCA .. ' # @ % "#E/ \ "! 'A< i\ k .Ac ' AQ, 6G s# *!g ./! '/ "/ *%#E f! :c 6 '!Q ".A @ K .! ' DA B, O! , ! .A! ' ^= %3 "Q @ "%! G/8!g "8/-! TCA */ :#E/ ! N-3 % 6* K "#93 : *[ */!g /c @#Ac "#^ q - K .! ' ? c l/?# / O/! ! "#93 k ! *^ .! TCA 7I o% G &^ = A \ "/! - ' L# NAVLAB , -C$ & 6 ' i ^/=< \ "! TCA "Q E "-C :Req 2 [SST86] ' c "! CODGER :#E k -AK /! G/ / '/ [SST86] "/c L/ "#93 /C= /! -8/ . *!g< . .A!' rI # c '/ /c '/K# / O-]! "2- " ( '/I /A! /. -/ "#+/ -3' 'Q = 7 G+ :G i "! CODGER x2 .Ac "/A! i`_ O0Az# '! "8-! C! O-_ '# O-]! '8c G, k :(. G ) . .- ' YX ه دز (@/L */) fA/c :/ ! ') &A G?3 .. r?]3 (! r) E i\ k :"Q% 1 .c -+ -82 '\ 2 &! :#E / "Q/ /! /? "c @ k :@#Ac Gg . ' f / */[ ! &AB (black board) "#93 :Req 2 @/#Ac & /, r)/ E i\ k :(! G ) ' "#. c "! O! '2 . O! OI3 ! -3- AAc :#E/ k/ ' A Gg - "Q 6@z -A! .- /+ "c ' $ :'\A# '8_ :#E '/ :/ (@/<) l/# & 93 N \ & 93 ! '! O-/_ "/! = /AAc '/ @-/g ".A -EA .-/' + C , OK`\ "# ' 3 "c = .Ac ' "5^ '3 EL3 / /C , N/ \ -8/ G *[ >K! "c '$-vE @ /g '/! "/s[` -/ O/S3 3 ! 2 -Ac 6G/$ &/ DA @z) .- ' I OK`\ DEc N \ .: -/sA "/! '\A#/ '8_ :#E "8-! "c A! ' ' CE[ ( u, ' O-_ J-^ CE[ c . N/ \ o/3 /! "!Q C , N \ o3 :Req 3 . 1Q 6]? :E^ .! ' TCA c p, :#E/ GK AAc & h3 Os f (m #) "/c 7 3 ".2 $ "8-! u, A \ GA AAc H ]?< : "Q ! C , R 2 CODGER "8 "! "c & = *^Q Gg- ('\A#/ '8/_ :#E *+ @ *) 2 : eq. 1 .G ./AAc '/ /g! o/3 / "#93 :#E 'c# 9 N \ O//^ N// \ 6// "//#93 // TCA //! // :Req4 /A ' f -+ "! o-! OK`\ P9Q 'K- @ AAc G Ac ' '#Q, " up3 '%-3 O-_ "! -2- / / '/+! "c ' . ' ! = C , .Ac' 2 AAc @ "/! ./ /g = C , "#. g $ '/_+ ' /p2 / :#E/ 6G/g :#E/ 6@/z -AK : . "S# '/CA Ac ' ' H`\ = C , Ac ' Q / S ! "! 3 "#u. "; "! "2-3 ! / "/! ' -/. /, G2 -.-. 'C-/C "/ , ! ' A= G "# -2 -2- / 2 / 7 3 '#[ p3 S ! = NL83 . ' s "! ( /+ / }/A iQ ]3 '\A# '8_ :#E "c .Ac ' "/c ! ' "$E & CODGER ! O`^Q '^ / /C , /^ N/)3 / DA ! '$#Ac 2 Y ه دز @ 19# "$% & S '! "! "2-3 ! ' / j/ "/! / G/2 M+ , ! DA "; " , "! "2-3 & I "; ! ' : E! *0E "/! "/2-3 /! /AA; P9Q/ / ! '8; #+ A-3 ' / 2 GE ! ' "A 78#9 Op3 .; L# S - 'K-A# "!6 YY ﻣﺘﺪﻫﺎي ﻃﺮاﺣﻲ ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار * ﺳﻤﺎﻧﻪ ﻋﺒﺎﺳﻲ ﻣﻘﺪم اﺳﺘﺎد :دﻛﺘﺮ ﺣﺒﻴﺒﻲ ﭼﻜﻴﺪه ﻣﺘﺪﻫﺎي ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار ﻧﻘﺶ اﺳﺎﺳﻲ در اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﻫﺎي ﻛﺎﻣﭙﻴﻮﺗﺮي اﻳﻔﺎ ﻣﻲ ﻛﻨﻨﺪ .ﻣﺘﺪ ﻫﺎ ﻣﻜﺎﻧﻴﺰﻣﻲ ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ و ﻗﺎﺑﻞ ﺗﻜـﺮار ﺑﺮاي ﺗﻮﺳﻌﻪ ﻣﻌﻤﺎري ﻫﺎي ﻧﺮم اﻓﺰار و ﻧﻴﺰ زﺑﺎن ﻣﺸﺘﺮﻛﻲ ﺑﺮاي ﺗﺒﺎدل اﻃﻼﻋﺎت و اﻳﺪه ﻫﺎي ﻣﺘﺨﺼﺼﺎن ﻓﺮاﻫﻢ ﻣـﻲ آورﻧـﺪ .از ﻣﻬﻤﺘـﺮﻳﻦ ﻣﺰاﻳﺎي اﺳﺘﻔﺎده از ﻣﺘﺪﻫﺎي ﻣﻌﻤﺎري ،ﻛﺎﻫﺶ رﻳﺴﻚ ﺧﻄﺎي ﭘﺮوژه ،ﻫﺰﻳﻨﻪ ﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ آن و ﺗﺎﺛﻴﺮات آن ﺑـﺮ ﻛـﻞ ﺳـﺎﺧﺘﺎر اﺳـﺖ .در ﺗﻮﺳﻌﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺮم اﻓﺰاري زﻣﺎن و ﻫﺰﻳﻨﻪ ﺑﻪ ﻃﻮر ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪ اي ﺑﺎﻻﺳﺖ ،ﻟﺬا ﺑﻪ ﻣﻨﻈﻮر دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻛﻴﻔﻴـﺖ ﻣﻄﻠـﻮب ﺑـﺎ وﺟـﻮد ﻧﻴﺎزﻫﺎي ﻣﺸﺘﺮﻳﺎن ،ﻣﻌﻤﺎران و ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن ﺳﻴﺴﺘﻢ ﻧﻴﺎز ﺑﻪ ﻣﺘﺪ ﻫﺎ و اﺑﺰارﻫﺎي ﻣﻨﺎﺳﺐ دارﻧﺪ. ﻛﻠﻤﺎت ﻛﻠﻴﺪي ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار -ﻣﺘﺪﻫﺎي ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار * ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ 85204681 : Email: [email protected] - -1ﻣﻘﺪﻣﻪ ﻛﻴﻔﻴﺖ ﻳﻜﻲ از ﻣﺴﺎﺋﻞ اﺳﺎﺳﻲ در ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢ ﻫﺎي ﻧـﺮم اﻓـﺰاري ﺑـﻪ ﺷﻤﺎر ﻣﻲ آﻳﺪ .ﺗﻌﻴـﻴﻦ و اﻧـﺪازه ﮔﻴـﺮي دﻗﻴـﻖ ﺻـﻔﺎت ﻛﻴﻔـﻲ در ﺳـﻄﺢ ﻣﻌﻤﺎري اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﻤﻲ ﺑﺎﺷﺪ ،اﻣﺎ ﭘﻴﺶ ﺑﻴﻨﻲ آﻧﻬﺎ ﺗﺎ ﺣﺪي اﻣﻜﺎن ﭘـﺬﻳﺮ اﺳﺖ .ﻫﺪف از ﺗﺤﻠﻴﻞ و ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺗﺨﻤﻴﻦ ﺻﻔﺎت ﻛﻴﻔﻲ ﺑﻪ ﻣﻨﻈﻮر ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ رﻳﺴﻚ ﻫﺎي اﺣﺘﻤﺎﻟﻲ و ﺣﺼﻮل اﻃﻤﻴﻨﺎن از ﺑﺮآورده ﺷﺪن ﻧﻴﺎزﻫﺎي ﻛﻴﻔﻲ در ﻃﺮاﺣﻲ ﻣﻲ ﺑﺎﺷﺪ .ﺑﺮاي ﻣﻘﺎﻳﺴﻪ روش ﻫﺎي ﻣﺨﺘﻠﻒ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻧـﺮم اﻓـﺰار ﻣﻌﻴﺎرﻫـﺎي ﻣﺘﻨـﻮﻋﻲ از ﺟﻤﻠـﻪ ﻋﻤﻮﻣﻴﺖ ،ﺳﻄﺢ ﺟﺰﺋﻴﺎت و ﺗﻜﻨﻴﻚ ارزﻳـﺎﺑﻲ وﺟـﻮد دارد .ﺗﻘـﺴﻴﻢ ﺑﻨـﺪي روﺷﻬﺎي ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﺑﺮاﺳﺎس ﺗﻜﻨﻴﻚ ارزﻳﺎﺑﻲ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ: -1-1روش ﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ در اﻳﻦ ﻧﻮع ﻣﺘﺪﻫﺎ ﺗﺤﻠﻴﻞ ﺑﺮ اﺳﺎس ﺳـﻨﺎرﻳﻮ اﻧﺠـﺎم ﻣـﻲ ﺷـﻮد .ﺳـﻨﺎرﻳﻮ، دﻧﺒﺎﻟﻪ اي از اﻋﻤﺎل اﺳﺖ ﻛﻪ در ﻧﺘﻴﺠﻪ ﺗﻌﺎﻣﻞ ﺑﺎ ﺳﻴﺴﺘﻢ رخ ﻣﻲ دﻫﺪ .در واﻗﻊ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﺳﻨﺎرﻳﻮ ،ﻳﻚ روﻳﺪاد اﺳﺖ ﻛﻪ ﻣـﻲ ﺗﻮاﻧـﺪ در ﭼﺮﺧـﻪ ﺣﻴﺎت ﺳﻴﺴﺘﻢ رخ دﻫﺪ .اﮔﺮ روﻳﺪاد رخ دﻫﺪ ،ﺳﻴﺴﺘﻢ ﺑﺎﻳﺪ ﺑﺎ آن ﺳـﺎزﮔﺎر ﺷﻮد .ﺳﻨﺎرﻳﻮ ﻫﺎ ﺑﻪ دو دﺳﺘﻪ ﺳﻨﺎرﻳﻮ ﻫﺎي ﻣﺴﺘﻘﻴﻢ )ﺑﻪ اﺻـﻼح ﻣﻌﻤـﺎري ﻧﻴﺎزي ﻧﺪارﻧﺪ( و ﺳﻨﺎرﻳﻮ ﻫﺎي ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ )ﺑـﻪ اﺻـﻼح ﻣﻌﻤـﺎري ﻧﻴـﺎزي دارﻧﺪ( ﺗﻘﺴﻴﻢ ﺑﻨﺪي ﻣﻲ ﺷﻮﻧﺪ .ﻣﺘـﺪﻫﺎي SAAM, ALMA, ARID, ALPSMﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ ﻣﻲ ﺑﺎﺷﻨﺪ. -2-1روش ﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ و ﻣﺪل ﺻﻔﺖ در اﻳﻦ روش ﺗﻜﻨﻴﻚ ارزﻳﺎﺑﻲ ،ﻋﻼوه ﺑﺮ ﺳﻨﺎرﻳﻮ ،ﻣﺪل ﺻﻔﺖ ﻧﻴﺰ ﻣﻲ ﺑﺎﺷﺪ. ATAMو CBAMدو ﻣﺘﺪ ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ و ﻣﺪل ﺻﻔﺖ ﻣﻲ ﺑﺎﺷـﻨﺪ ﻛﻪ در اﻳﻦ ﻣﻘﺎﻟﻪ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد. -3-1روش ﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﻧﻮع ﺻﻔﺖ ﻛﻴﻔﻲ ﻣﺘﺪﻫﺎي اﻳﻦ روش ﺑﺮ اﺳﺎس ﻧﻮع ﺻﻔﺖ ﻛﻴﻔﻲ ﻣﻮرد ﺗﺤﻠﻴـﻞ ،از ﺗﻜﻨﻴـﻚ ﻫﺎي ﻣﺨﺘﻠﻔﻲ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ .ﻣﺘﺪ SBARﻧﻤﻮﻧﻪ اي از اﻳﻦ روش ﻣﻲ ﺑﺎﺷﺪ. -4-1روش ﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺠﺶ روش ﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺠﺶ ،ﻣﻌﻤﺎري را ﻣﻮرد ﺳﻨﺠﺶ ﻛﻤﻲ ﻗـﺮار ﻣـﻲ دﻫﻨﺪ ،و ﺷﺎﻣﻞ ﻣﻌﻴﺎر ﻫﺎ ،ﺷﺒﻴﻪ ﺳﺎزي ﻫﺎ ،ﻧﻤﻮﻧﻪ ﺳﺎزي ﻫـﺎ و آزﻣﺎﻳـﺸﺎت ﻣﻲ ﺑﺎﺷﻨﺪ .ﻣﺘﺪﻫﺎي SAEM, FAAMﻧﻤﻮﻧﻪ ﻫـﺎﻳﻲ از اﻳـﻦ روش ﻣـﻲ ﺑﺎﺷﻨﺪ. -2ﻣﺘﺪﻫﺎي ﻣﻮرد ﺑﺮرﺳﻲ در اﻳﻦ ﻣﻘﺎﻟﻪ ﺳﻌﻲ ﻣﻲ ﺷﻮد ،ﻣﺘﺪﻫﺎي ﭘﺮ ﻛﺎرﺑﺮد ﻫﺮ ﻛﺪام از روش ﻫـﺎي ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري را ﻣﻄﺮح و ﺑﺮرﺳﻲ ﻧﻤﺎﻳﻴﻢ .در ﭘﺎﻳﺎن ﻧﻴﺰ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﻴﺎر ﻫﺎي ﻣﻮﺟﻮد ﺑﻪ ﻣﻘﺎﻳﺴﻪ آن ﻫﺎ ﻣﻲ ﭘﺮدازﻳﻢ .ﻣﺘﺪﻫﺎي ﻣﻮرد ﺑﺮرﺳﻲ ﺷـﺎﻣﻞ ﻣﻮارد زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: 1- SAAM, Software Architecture Analysis Method 2- ARID, Active Reviews for Intermediate Designs 3- ADD, Attribute-Driven Design Method 4- FAAM, Family–Architecture Analysis Method 5- ATAM, Architecture Trade-off Analysis Method 6- ALMA, Architecture Level Modifiability Analysis 7- CBAM, Cost Benefit Analysis Method 8- SBAR, Scenario-Based Architecture Reengineering -3ﻣﺘﺪ SAAM -1-3ﻣﻔﺎﻫﻴﻢ و اﻫﺪاف ﻣﺘﺪ اﻳﻦ روش ﺑﺎ ﻫﺪف ﻓﻬﻢ ﺑﻬﺘﺮ ﻧﻴﺎز ﻫﺎي ﻣﻌﻤﺎري ،ﺧﺼﻮﺻﺎ ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ ﻣﻄﺮح ﺷﺪ .ﻣﻲ ﺗﻮان ﮔﻔﺖ SAAMاوﻟﻴﻦ ﻣﺘـﺪ ﻣﺒﺘﻨـﻲ ﺑـﺮ ﺳـﻨﺎرﻳﻮ ،ﺑـﺎ ﻫﺪف ارزﻳﺎﺑﻲ ﻗﺎﺑﻠﻴﺖ اﺻﻼح ﭘﺬﻳﺮي 1آن از ﺟﻨﺒﻪ ﻫﺎي ﻣﺨﺘﻠﻒ اﺳـﺖ .در ﻋﻤﻞ ﺑﻪ اﺛﺒﺎت رﺳﻴﺪه ﻛﻪ اﻳﻦ ﻣﺘﺪ روش ﻣﻨﺎﺳـﺒﻲ ﺑـﺮاي ارزﻳـﺎﺑﻲ ﺳـﺮﻳﻊ ﺑــﺴﻴﺎري از ﺻــﻔﺎت ﻛﻴﻔــﻲ ﻣﺎﻧﻨــﺪmodifiability, probability, : extensibilityﻣﻲ ﺑﺎﺷﺪ] .[1ﻫﻤﭽﻨﻴﻦ ﻣﻲ ﺗﻮان ﺑﺮاي ارزﻳﺎﺑﻲ ﻛـﺎراﻳﻲ و ﻗﺎﺑﻠﻴﺖ اﻋﺘﻤﺎد ﻣﻌﻤﺎري ﻧﻴﺰ از آن اﺳﺘﻔﺎده ﻛﺮد .ﻣﻬﻤﺘﺮﻳﻦ ﻫﺪف اﻳﻦ ﻣﺘـﺪ ﺣﺼﻮل اﻃﻤﻴﻨﺎن از اﻧﻄﺒﺎق ﻓﺮﺿﻴﺎت ﻣﻌﻤﺎري ﺑﺎ ﺻﻔﺎت ﻣﻄﻠﻮب ﺳﻴﺴﺘﻢ و ﺷﻨﺎﺧﺖ رﻳﺴﻚ ﻫﺎي ﻣﻌﻤﺎري ﻣﻲ ﺑﺎﺷﺪ .از ﺟﻤﻠﻪ ﻧﻮاﻗﺺ اﻳـﻦ ﻣﺘـﺪ ﻧﻴـﺰ، ﻋﺪم وﺟﻮد ﻣﻌﻴﺎر ﻛﻴﻔﻲ واﺿﺢ در ﻃﺮاﺣﻲ اﺳﺖ. -2-3ﮔﺎم ﻫﺎي ﻃﺮاﺣﻲ -1-2-3ﺗﻮﺳﻌﻪ ﺳﻨﺎرﻳﻮ ﻫﺎ ﺳﻨﺎرﻳﻮ ﻫﺎ ﻧﺸﺎن دﻫﻨﺪه ﻓﻌﺎﻟﻴﺖ ﻫﺎي اﺻﻠﻲ ﺳﻴﺴﺘﻢ و ﻣﺒﻨﺎي اراﺋﻪ وﻳﮋﮔﻲ ﻫﺎي ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار اﺳﺖ .ﺑﻪ ﻋﻼوه ﺗﻐﻴﻴﺮاﺗﻲ را ﻛـﻪ ﻣﻤﻜـﻦ اﺳـﺖ در ﺳﻴﺴﺘﻢ اﻳﺠﺎد ﺷﻮد ،را ﺑﻴﺎن ﻣﻲ ﻛﻨﺪ .ﻣﻨﻈﻮر از ﺗﻮﺳﻌﻪ ﺳﻨﺎرﻳﻮ ﻫﺎ ﺗﻌﻴـﻴﻦ ﻛﻠﻴﻪ ﻣﺼﺎرف و ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢ ،ﺻﻔﺎت ﻛﻴﻔﻲ ،ﺳﻄﺢ ﻣﻮرد اﻧﺘﻈﺎر ﺑـﺮاي ﻫﺮ ﻛﺪام ،و از ﻫﻤﻪ ﻣﻬﻤﺘﺮ ﺗﻐﻴﻴـﺮات ﻗﺎﺑـﻞ ﭘـﻴﺶ ﺑﻴﻨـﻲ ﺳﻴـﺴﺘﻢ اﺳـﺖ )ﺷﻜﻞ.(2،1 -2-2-3ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎري در اﻳﻦ ﻣﺮﺣﻠﻪ ﻣﻌﻤﺎري ﻫﺎي ﻛﺎﻧﺪﻳـﺪ ﺑـﺮاي ﺳﻴـﺴﺘﻢ اراﺋـﻪ ﻣـﻲ ﺷـﻮﻧﺪ. ﻣﻌﻤﺎري ﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺑﺎﻳﺪ ﻗﺎﺑـﻞ ﻓﻬـﻢ ﺑﺎﺷـﻨﺪ ،و ﻫﻤﭽﻨـﻴﻦ ﺟﻨﺒـﻪ ﻫـﺎي اﺳﺘﺎﺗﻴﻚ ﺳﻴﺴﺘﻢ )ﻣﺎﻧﻨﺪ :ﻣﺆﻟﻔﻪ ﻫﺎ و ارﺗﺒﺎط آﻧﻬﺎ( را ﻫﻤﺮاه ﺑﺎ رﻓﺘﺎر ﻫـﺎي دﻳﻨﺎﻣﻴﻚ ﻧﻤﺎﻳﺶ دﻫﺪ ﺷﻜﻞ2 ﺷﻜﻞ1 -3-2-3ارزﻳﺎﺑﻲ ﺳﻨﺎرﻳﻮ ﻫﺎ ﺑﻪ ﺗﻔﻜﻴﻚ در اﻳﻦ ﻣﺮﺣﻠﻪ از ﺗﺤﻠﻴﻞ ﺳﻨﺎرﻳﻮ ﻫﺎ ﺑﻪ دو ﻗﺴﻤﺖ ﺗﻘﺴﻴﻢ ﺑﻨﺪي ﻣﻲ ﺷﻮﻧﺪ: ﺳﻨﺎرﻳﻮ ﻫﺎي ﻣﺴﺘﻘﻴﻢ و ﺳﻨﺎرﻳﻮ ﻫﺎي ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ .ﺳﻨﺎرﻳﻮ ﻫﺎي ﻣﺴﺘﻘﻴﻢ ﺗﻮﺳﻂ ﻣﻌﻤﺎري ﻛﺎﻧﺪﻳﺪ ﺣﻤﺎﻳﺖ ﻣﻲ ﺷﻮﻧﺪ ،ﭼﺮا ﻛﻪ اﻳﻦ ﺳﻨﺎرﻳﻮ ﻫﺎ ﺑﺮ ﭘﺎﻳﻪ ﻧﻴﺎز ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺳﻴﺴﺘﻢ از آن اﺳﺘﺨﺮاج ﺷﺪه اﺳﺖ .در واﻗﻊ ﻣﻲ ﺗﻮان ﺑﻪ ﻋﻨﻮان ﻣﺘﺮﻳﻚ ﻫﺎﻳﻲ ﺑﺮاي ﻛﺎراﻳﻲ و ﻳﺎ ﻗﺎﺑﻠﻴﺖ اﻋﺘﻤﺎد از آﻧﻬﺎ اﺳﺘﻔﺎده ﻛﺮد .ﺳﻨﺎرﻳﻮ ﻫﺎي ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ﺑﻪ ﺻﻮرت ﻳﻚ رﺷﺘﻪ ﺣﻮادث 2اﺳﺖ ﻛﻪ ﺑﺮاي ﻓﻬﻢ و ﺗﻜﻤﻴﻞ آن ﺑﺎﻳﺪ ﻣﻌﻤﺎري ﺑﻪ ﺻﻮرت ﺟﺰﺋﻲ ﻳﺎ ﻛﻠﻲ ﺗﻐﻴﻴﺮ ﻛﻨﺪ. -4-2-3ارزﻳﺎﺑﻲ ﺟﺪاﮔﺎﻧﻪ ﺳﻨﺎرﻳﻮ ﻫﺎي ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ﻣﺘﺨﺼﺺ ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار ﭼﮕﻮﻧﮕﻲ ﺗﻐﻴﻴﺮ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ،ﺑﻪ ﻣﻨﻈـﻮر اﻳﺠﺎد ﺳﺎزﮔﺎري ﺑﺎ ﺳﻨﺎرﻳﻮ ﻫﺎي ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ را ﻣﺸﺨﺺ ﻣﻲ ﻧﻤﺎﻳﺪ .ﺑـﺮاي ﻫﺮ ﺳﻨﺎرﻳﻮي ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ﺑﺎﻳﺪ اﺻﻼﺣﺎت ﻣﻮرد ﻧﻴﺎز و ﺗﺨﻤﻴﻨﻲ از ﻫﺰﻳﻨـﻪ و ﺗﻼش ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﭘﻴﺎده ﺳﺎزي آﻧﻬﺎ ﻣﻌﻴﻦ ﺷﻮد. -5-2-3ارزﻳﺎﺑﻲ ﺗﻘﺎﺑﻞ ﺳﻨﺎرﻳﻮ ﻫﺎ ﻫﻨﮕﺎﻣﻲ ﻛﻪ دو ﻳﺎ ﭼﻨﺪ ﺳﻨﺎرﻳﻮ ﺧﻮاﺳـﺘﺎر اﻳﺠـﺎد ﺗﻐﻴﻴـﺮات ﺑـﺮ روي ﻳـﻚ ﻣﺆﻟﻔﻪ ﺑﺎﺷﻨﺪ ،ﺗﻘﺎﺑﻞ ﺳﻨﺎرﻳﻮ ﻫﺎ ﭘﻴﺶ ﻣﻲ آﻳﺪ .در اﻳﻦ ﺣﺎﻟـﺖ ﺑﺎﻳـﺪ ﻣﺆﻟﻔـﻪ اﺻﻼح ﺷﻮد ،ﻳﺎ ﺑﻪ دو ﻣﺆﻟﻔﻪ ﻛﻮﭼﻜﺘﺮ ﺗﻘﺴﻴﻢ ﮔﺮدد. -6-2-3ارزﻳﺎﺑﻲ ﻛﻠﻲ در ﻧﻬﺎﻳﺖ ﺑﻪ ﻫﺮ ﺳﻨﺎرﻳﻮ ارزﺷﻲ ﻣﻌـﺎدل درﺟـﻪ اﻫﻤﻴـﺖ آن در ﻣﻮﻓﻘﻴـﺖ ﺳﻴﺴﺘﻢ داده ﻣﻲ ﺷﻮد .اﻳﻦ ارزش ﺑﺮ اﺳﺎس اﻫﺪاف ﺗﺠﺎري ﻗﺎﺑﻞ ﺣـﺼﻮل از ﻃﺮﻳﻖ ﺳﻨﺎرﻳﻮ و ﻣﻼك ﻫﺎي دﻳﮕﺮي ﻣﺎﻧﻨـﺪ :ﻫﺰﻳﻨـﻪ ،رﻳـﺴﻚ ،زﻣـﺎن...، ﺗﻌﻴﻴﻦ ﻣﻲ ﺷﻮد .ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ ﻣﻘﻴﺎس ﻣﻲ ﺗـﻮان ﺑـﻪ ارزﻳـﺎﺑﻲ ﻛﻠـﻲ و ﻣﻘﺎﻳﺴﻪ ﻣﻌﻤﺎري ﻫﺎي ﻣﺨﺘﻠﻒ ﭘﺮداﺧﺖ. از ﺗﺤﻮﻳﻞ ﻣﻲ ﺗﻮاﻧﺪ ﻧﺎﺳﺎزﮔﺎري ﻫﺎ و اﺷﺘﺒﺎﻫﺎت ﻣﻮﺟﻮد را ﺗـﺎ ﺣـﺪ زﻳـﺎدي ﺑﺮﻃﺮف ﻧﻤﺎﻳﺪ ARID .ﻣﺘﺪي اﺳﺖ ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ،ﻛﻢ ﻫﺰﻳﻨﻪ و ﺑﺴﻴﺎر ﺳﻮدﻣﻨﺪ ﺑﺮاي ﺑﺮرﺳﻲ ﻣﺠﺪد و اﺻﻼح ﻃﺮح ﻫﺎي اوﻟﻴﻪ ﻧﺮم اﻓﺰاري ﻣﺎﻧﻨـﺪ زﻳﺮ ﺳﻴﺴﺘﻢ ﻫﺎ و ﻣﺆﻟﻔﻪ ﻫﺎ] .[2در واﻗﻊ ﺗﻤﺮﻛﺰ اﺻﻠﻲ اﻳﻦ ﻣﺘﺪ ﺑﺮ ﻃﺮاﺣـﻲ ﻫﺎي ﺟﺰﺋﻲ ﺑﺨﺶ ﻫﺎي ﻣﺨﺘﻠﻒ اﺳﺖ .ﺑﺎ اﻳﻦ اﺳﺘﺪﻻل ﻛﻪ اﮔﺮ ﻃﺮح ﻫـﺎي ﺟﺰﺋﻲ درﺳﺖ اﻧﺠﺎم ﻧﺸﺪه ﺑﺎﺷﺪ ،ﻛﻞ ﻣﻌﻤﺎري ﻧﺎدرﺳﺖ ﺧﻮاﻫﺪ ﺑـﻮد .اﻳـﻦ ﻣﺘﺪ از ﻃﺮﻳﻖ ﻣﺬاﻛﺮه ﺑـﺎ stakeholderﻫـﺎ ،ﻛـﺎرﺑﺮد ﻫـﺎ و اﻫـﺪاف ﻣﻬـﻢ ﻣﻌﻤﺎري ﻓﻌﻠﻲ را ﺟﻤﻊ آوري ﻣﻲ ﻛﻨﺪ ،ﺳﭙﺲ ﺑﺎ ﺑﺮرﺳﻲ ﻃﺮاﺣﻲ ﺳﻴـﺴﺘﻢ ﺗﻌﻴﻴﻦ ﻣﻲ ﻛﻨﺪ ﻛﻪ آﻳﺎ اﻫﺪاف ﻣﻮرد ﻧﻈﺮ ﺗﺎﻣﻴﻦ ﺷﺪه اﺳﺖ ﻳﺎ ﺧﻴﺮ. از ﻣﺰاﻳﺎي اﻳﻦ ﻣﺘﺪ ﻣﻲ ﺗﻮان ﺑﺮﻗﺮاري ارﺗﺒﺎط ﻣﻮﺛﺮ ﻣﻴﺎن stakeholderو ﻣﻌﻤﺎر ﻧﺮم اﻓﺰار ،آﺷﻨﺎﻳﻲ آﻧﻬﺎ ﺑﺎ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ و اﻳﺠﺎد اﺻـﻮل ﻣﻨﺎﺳـﺐ ﺑﺮاي ﻃﺮاﺣﻲ ﻧﺮم اﻓﺰار را ﻧﺎم ﺑﺮد. -2-4ﮔﺎﻣﻬﺎي ﻃﺮاﺣﻲ -1-2-4ﺗﻌﻴﻴﻦ ﺑﺎزﺑﻴﻦ ﻫﺎ 3 ﻣﻌﻤﻮﻻ ﺑﺎزﺑﻴﻦ ﻫﺎ از ﻣﻴﺎن ﻣﻬﻨﺪﺳﻴﻦ ﻧﺮم اﻓﺰاري ﻛﻪ اﻧﺘﻈـﺎر ﻣـﻲ رود در آﻳﻨﺪه از ﺳﻴﺴﺘﻢ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ اﻧﺘﺨﺎب ﻣﻲ ﺷﻮﻧﺪ ،ﭼﺮا ﻛﻪ در ﻣﻜـﺎن ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﻗﻀﺎوت در ﻣﻮرد ﻛﻴﻔﻴﺖ ﺳﻴﺴﺘﻢ ﻣﻲ ﺑﺎﺷﻨﺪ. -2-2-4ﺗﻬﻴﻪ ﺧﻼﺻﻪ اي از ﻃﺮح ﻫﺪف اﻳﻦ ﻣﺮﺣﻠﻪ اراﺋﻪ ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢ ﺑﺎ ﺟﺰﺋﻴـﺎت ﻣﻨﺎﺳـﺐ ،ﻫﻤـﺮاه ﺑـﺎ ﻣﺜﺎل ﻫﺎﻳﻲ از اﺳﺘﻔﺎده آن ﻣﻲ ﺑﺎﺷﺪ .در اﺑﺘﺪا ﻣﺠﻤﻮﻋﻪ اي از ﻃـﺮح ﻫـﺎي ﭘﺎﻳﻪ ﺗﻬﻴﻪ ﻣﻲ ﺷﻮد و ﺳﭙﺲ اﻳﻦ ﻃﺮح ﻫﺎ ﺑﻪ ﻋﻨﻮان راﻫﻨﻤﺎﻳﻲ ﺑﺮاي ﻃـﺮح اﺻﻠﻲ ﺑﻪ ﻛﺎر ﻣﻲ رود. -3-2-4ﺗﻌﻴﻴﻦ ﺳﻨﺎرﻳﻮ ﻫﺎ -4ﻣﺘﺪ ARID -1-4ﻣﻔﺎﻫﻴﻢ و اﻫﺪاف ﻣﺘﺪ ﺑﺴﻴﺎري از ﻃﺮاﺣﻲ ﻫﺎي ﺳﻴﺴﺘﻢ ﻫﺎي اﻣﺮوزي از ﻧﻈـﺮ ﻣـﺴﺘﻨﺪ ﺳـﺎزي و ﺷﺮح ﺟﺰﺋﻴﺎت ﺑﺴﻴﺎر ﺿﻌﻴﻒ ﻫﺴﺘﻨﺪ .ﺑﺎزﺑﻴﻨﻲ ﻳﻚ ﻃﺮاﺣﻲ در ﻣﺮاﺣﻞ ﻗﺒﻞ در اﻳﻦ ﻣﺮﺣﻠﻪ ﺳﻨﺎرﻳﻮ ﻫﺎﻳﻲ ﺑﺮاي اﺳﺘﻔﺎده از ﻃﺮاﺣـﻲ ،ﺑـﻪ ﻣﻨﻈـﻮر ﺣـﻞ ﻣﺸﻜﻼت ﻣﻮﺟﻮد اراﺋﻪ ﻣـﻲ ﺷـﻮد .ﻣـﺸﺎﺑﻪ ﺳـﺎﻳﺮ روش ﻫـﺎي ﻣﺒﺘﻨـﻲ ﺑـﺮ ﺳﻨﺎرﻳﻮ ،ﭘﺲ از آﻣﺎده ﺷﺪن ﻣﺠﻤﻮﻋﻪ ﺳﻨﺎرﻳﻮ ﻫﺎ ،آﻧﻬﺎ را اوﻟﻮﻳﺖ ﺑﻨﺪي ﻣﻲ ﻛﻨﻨﺪ و ﺑﺮ اﺳﺎس اوﻟﻮﻳﺖ ،در ﺟﻠﺴﺎت ﻣﺮور ﻣﻌﻤﺎري ﻣﻮرد اﺳـﺘﻔﺎده ﻗـﺮار ﻣﻲ ﮔﻴﺮﻧﺪ. -6-2-5ﺗﺼﺤﻴﺢ ﻣﻮارد اﺳﺘﻔﺎده -4-2-4اﺟﺮاي ﺳﻨﺎرﻳﻮ 4 در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺎزﺑﻴﻦ ﻫﺎ ﺷﺒﻪ ﻛﺪ ﻫﺎﻳﻲ ﺑﺎ اﺳﺘﻔﺎده از اﻣﻜﺎﻧﺎت ﻃﺮاﺣـﻲ ﻣﻮﺟﻮد اراﺋﻪ ﻣﻲ ﻛﻨﻨﺪ ،ﺗﺎ ﺑﺘﻮاﻧﺪ ﺳﻨﺎرﻳﻮ ﻫﺎي ﭘﺮ اوﻟﻮﻳـﺖ ﻣﺮﺣﻠـﻪ ﻗﺒـﻞ را ﺣﻞ ﻧﻤﺎﻳﺪ. ﺑﺮ روي ﻣﻮارد اﺳﺘﻔﺎده و ﺳﻨﺎرﻳﻮ ﻫﺎي ﻛﻴﻔﻲ ﺑﻪ ﻋﻠﺖ ﻣﺤـﺪودﻳﺖ ﻋﻨﺎﺻـﺮ ﻃﺮاﺣﻲ 8ﺗﻐﻴﻴﺮات و اﺻﻼﺣﺎت ﺟﺰﺋﻲ ﺻﻮرت ﻣﻲ ﮔﻴﺮد. -5ﻣﺘﺪ ADD -1-5ﻣﻔﺎﻫﻴﻢ و اﻫﺪاف ﻣﺘﺪ ﻣﺘﺪ ADDﻳﻚ روش ﺳﻴﺴﺘﻤﺎﺗﻴﻚ ﺑﻪ ﻣﻨﻈـﻮر ﻃﺮاﺣـﻲ ﻣﻌﻤـﺎري ﺑـﺮاي ﺧﺎﻧﻮاده اي از ﺳﻴﺴﺘﻢ ﻫﺎ اراﺋﻪ ﻣﻲ دﻫﺪ .اﻳﻦ ﻣﺘﺪ ﺑﺮ ﭘﺎﻳـﻪ اﻃـﻼع از ﻧﻴـﺎز ﻫﺎي ﺗﺎﺑﻌﻲ و ﻛﻴﻔﻲ ﺳﻴﺴﺘﻢ و اﻟﮕﻮﻫﺎي ﻣﻌﻤﺎري ﻣﻮﺟﻮد اﺳﺘﻮار اﺳﺖ].[3 اﻟﮕﻮﻫﺎي ﻣﻌﻤﺎري ،روﺷﻬﺎي ﻣﻌﻤﺎري اﺳﺖ ﻛﻪ رﺳﻴﺪن ﺑـﻪ اﻳـﻦ ﺳـﻄﺢ از ﻛﻴﻔﻴﺖ را در ﺳﻴﺴﺘﻢ ﻫﺎي دﻳﮕﺮ ﺑﻪ اﺛﺒﺎت رﺳﺎﻧﺪه اﻧـﺪ .در واﻗـﻊ در اﻳـﻦ روش رﺳﻴﺪن ﺑﻪ اﻫﺪاف ﻛﻴﻔﻲ از ﻃﺮﻳﻖ اﻟﮕﻮ ﻫﺎي ﻣﻌﻤﺎري ﺗـﻀﻤﻴﻦ ﻣـﻲ ﺷﻮد. از ﻣﺰاﻳﺎي اﻳﻦ ﻣﺘﺪ اﻣﻜﺎن ﺑﺮرﺳﻲ ﻛﻴﻔﻴﺖ در اﺑﺘﺪاي ﭘﺮوﺳﻪ ﻃﺮاﺣﻲ و ﻫﻤﭽﻨﻴﻦ ﺗﻌﺮﻳﻒ ﺧﻂ ﺗﻮﻟﻴﺪ ﻣﻲ ﺑﺎﺷﺪ .ﻣﺎﻧﻨﺪ ﺳـﺎﻳﺮ روﺷـﻬﺎي ﻃﺮاﺣـﻲ ﻣﻌﻤﺎري ADD ،ﻣﺘﺪي ﮔﺎم ﺑﻪ ﮔﺎم و ﺑﺎزﮔﺸﺘﻲ اﺳﺖ ﻛـﻪ در ﻫـﺮ ﻣﺮﺣﻠـﻪ ورودي ﻣﺮﺣﻠﻪ ﺑﻌﺪ از ﻧﻈﺮ ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ و ﺗﺎﺑﻌﻲ ﺗﻀﻤﻴﻦ ﺷﺪه اﺳﺖ .ﺑﻪ ﻫﻤﻴﻦ ﻋﻠﺖ در داﻣﻨﻪ وﺳﻴﻌﻲ از ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي )از ﺳﻴـﺴﺘﻢ ﻫـﺎي اﻃﻼﻋﺎﺗﻲ ﺗﺎ ﺳﻴﺴﺘﻢ ﻫﺎي ﺗﻮﻛﺎر (5ﻛﺎرﺑﺮد دارد. -2-5ﮔﺎﻣﻬﺎي ﻃﺮاﺣﻲ -1-2-5اﻧﺘﺨﺎب ﻧﻴﺎز ﻫﺎي ﻣﻬﻢ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ در اﻳﻦ ﻣﺮﺣﻠﻪ ﻧﻴﺎز ﻫﺎي ﻣﻬﻢ از دﻳﺪ ﻣﻌﻤﺎري ﻧـﺮم اﻓـﺰار ﻣﺎﻧﻨـﺪ ﻛﻴﻔﻴـﺖ، اﻫﺪاف ﺗﺠﺎري و ﻧﻴﺎز ﻫﺎي ﺗﺎﺑﻌﻲ ،ﻛﻪ ﻣﻌﻤـﺎري ﺳﻴـﺴﺘﻢ را ﺗـﺸﻜﻴﻞ ﻣـﻲ دﻫﻨﺪ ،ﺗﻌﻴﻴﻦ ﻣﻲ ﺷﻮد )ﺷﻜﻞ.(3 -2-2-5اﻧﺘﺨﺎب اﻟﮕﻮ و ﻧﻮع ﻣﺆﻟﻔﻪ ﻫﺎ ﻫﻤﺎن ﻃﻮر ﻛﻪ ذﻛﺮ ﺷﺪ ،اﻟﮕﻮ ﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﻧﻴـﺎز ﻫـﺎي ﻛﻴﻔﻲ ﻣﺘﻔﺎوت وﺟﻮد دارد .در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اوﻟﻮﻳـﺖ ﻧﻴـﺎز ﻫـﺎي ﻛﻴﻔﻲ ﻣﻄﺮح ﺷﺪه ،اﻟﮕﻮي ﻣﻌﻤﺎري ﻣﻨﺎﺳﺐ ﺑﺮاي ﺗﻀﻤﻴﻦ آﻧﻬﺎ اﻧﺘﺨﺎب ﻣﻲ ﺷﻮد. -3-2-5ﺗﻌﻴﻴﻦ functionalityﺑﺮاي ﻫﺮ ﻣﻮرد اﺳﺘﻔﺎده 6 در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺎ اﺳﺘﻔﺎده از دﻳﺪﻫﺎي ﭼﻨﺪﮔﺎﻧﻪ وﻇﺎﻳﻒ ﻫﺮ ﻳـﻚ از ﻣـﻮارد اﺳﺘﻔﺎده ﺗﻌﻴﻴﻦ و ﺳﭙﺲ ﺑﻪ ﻣﺆﻟﻔﻪ ﻣﺮﺑﻮﻃﻪ اﺧﺘﺼﺎص داده ﻣﻲ ﺷﻮد. -4-2-5ﺗﻌﻴﻴﻦ وﻳﮋﮔﻲ ﻫﺎي ﻣﺸﺘﺮك ﻣﺆﻟﻔﻪ ﻫﺎ ﺑﺎ ﺗﻌﻴﻴﻦ وﻳﮋﮔﻲ ﻫﺎي ﻣﺸﺘﺮك ﻣﻴﺎن ﻣﺆﻟﻔﻪ ﻫﺎ ،ﻣﻲ ﺗﻮان ﺑﻪ ﺟﺎي اﻳﺠـﺎد ﻣﺤﺼﻮﻻت ﺗﻜﻲ ،ﻳﻚ ﺧﻂ ﺗﻮﻟﻴﺪ 7ﺗﻌﺮﻳﻒ ﻛﺮد .ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻣﻲ ﺗﻮان اﻳﻦ ﻣﺘﺪ را ﺑﺮاي ﻃﺮاﺣﻲ ﻣﻌﻤﺎري در ﺧﺎﻧﻮاده اي از ﺳﻴﺴﺘﻢ ﻫﺎ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار داد. -5-2-5ﺗﺎﻳﻴﺪ ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ و ﺗﺎﺑﻌﻲ ﻧﻴﺎزﻫﺎي ﻛﻴﻔﻲ و ﺗﺎﺑﻌﻲ ﺳﻴﺴﺘﻢ ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد ،ﺗـﺎ ﻣﻴـﺰان ﺗﺎﻣﻴﻦ آﻧﻬﺎ ﻣﺸﺨﺺ ﺷﻮد. ﺷﻜﻞ3 -6ﻣﺘﺪ FAAM -1-6ﻣﻔﺎﻫﻴﻢ و اﻫﺪاف ﻣﺘﺪ اﻳﻦ ﻣﺘﺪ ﻋﻤﺪﺗﺎ ﺑﺮاي ﺧﺎﻧﻮاده ﺳﻴﺴﺘﻢ ﻫﺎي اﻃﻼﻋﺎﺗﻲ ﻛﺎرﺑﺮد دارد و ﻋﻤﺪه ﺗﻮﺟﻪ آن ﺑﺮ دو ﺻﻔﺖ ﺗﻌﺎﻣﻞ و ﻗﺎﺑﻠﻴﺖ ﮔﺴﺘﺮش اﺳـﺖ FAAM .ﻣﺘـﺪي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺠﺶ ﻣﻲ ﺑﺎﺷﺪ. اﻳﻦ ﻣﺘﺪ ﺑﺎ اﺿﺎﻓﻪ ﻛﺮدن ﺗﻜﻨﻴﻚ ﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ارزﻳﺎﺑﻲ ﺑﻪ ﻣﺘـﺪ SAAM اﻳﺠﺎد ﺷﺪه اﺳﺖ و ﺗﻔﺎوت آن ﺑﺎ ATAMﻣﺤﺪوده ارزﻳﺎﺑﻲ آن ﻣﻲ ﺑﺎﺷﺪ. از ﺟﻤﻠﻪ ﻣﺰاﻳﺎي اﻳﻦ ﻣﺘﺪ ﻣﻲ ﺗﻮان ﺑﻪ اﻳﻦ ﻣﻮاد اﺷﺎره ﻧﻤﻮد :در ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﺳﺎﻳﺮ ﻣﺘﺪﻫﺎ ﺗﻼش ﻛﻤﺘﺮي ﻧﻴﺎز دارد ،ﺑﺎ اراﺋﻪ ﻣﺠﻤﻮﻋـﻪ اي از راﻫﻜﺎرﻫـﺎ و ﻓﻨﻮن ﻋﻤﻠﻲ ﺑﻪ ﺗﻴﻢ ،ﭘﻴﺎده ﺳﺎزي ﻣﺘﺪ را ﺗﺴﺮﻳﻊ ﻣﻲ ﺑﺨﺸﺪ. -2-6ﮔﺎم ﻫﺎي ﻃﺮاﺣﻲ -1-2-6ﺗﻌﺮﻳﻒ ﻫﺪف ارزﻳﺎﺑﻲ در اﻳﻦ ﻣﺮﺣﻠﻪ ﻫﺪف ارزﻳﺎﺑﻲ ،ﺣﻮزه و ﻣﺤﺘـﻮاي ﺧـﺎﻧﻮاده ﺳﻴـﺴﺘﻢ ﻫـﺎي ﻣﻮرد ﻧﻈﺮ ﻣﺸﺨﺺ ﻣﻲ ﺷﻮد .اﻫﺪاف ﻣﺨﺘﻠﻔﻲ ﺑﺮاي ارزﻳـﺎﺑﻲ وﺟـﻮد دارد، ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل :ارزﻳﺎﺑﻲ رﻳﺴﻚ ،ﭘﻴﺶ ﺑﻴﻨﻲ ﻫﺰﻳﻨﻪ ﻫﺎ. -2-2-6ﻣﻬﻴﺎ ﺳﺎزي ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ ﺳﻴﺴﺘﻢ ﺑﺮاي ﺗﻬﻴﻪ ﻧﻴﺎز ﻫـﺎي ﻛﻴﻔـﻲ ،در اﺑﺘـﺪا ﺟﻠـﺴﻪ اي ﺑـﺎ stakeholderﻫـﺎ ﺗﺸﻜﻴﻞ ﻣﻲ ﺷﻮد .ﭘﺲ از ﺗﻌﻴﻴﻦ ﻧﻴﺎز ﻫﺎي آﻧﻬﺎ ،ﺑﺎ ﺑﺮرﺳﻲ درﺟـﻪ اﻫﻤﻴـﺖ ﻫﺮ ﻛﺪام ،ﭘﺮ اوﻟﻮﻳﺖ ﺗﺮﻳﻦ ﻧﻴﺎز ﻫﺎ ﻣﺸﺨﺺ ﻣﻲ ﺷﻮد. -3-2-6آﻣﺎده ﺳﺎزي ﻣﻌﻤﺎري در اﻳﻦ ﻣﺮﺣﻠﻪ ﻣﻌﻤﺎري ﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺑﺮاي ﺳﻴﺴﺘﻢ ﺗﻮﺳﻂ ﻣﻌﻤﺎر ﻧﺮم اﻓﺰار اراﺋﻪ ﻣﻲ ﺷﻮﻧﺪ .ﻣﻌﻤﺎري ﻫﺎي ﻛﺎﻧﺪﻳﺪ ﻛﻪ ﺟﻬﺖ اراﺋﻪ ﺑﻪ ﺟﻤﻊ ،ارزﻳـﺎﺑﻲ و ﺗﺤﻠﻴﻞ آﻣﺎده ﻣﻲ ﺷﻮﻧﺪ ،ﺑﺎﻳﺪ ﻛﺎﻣﻼ ﻗﺎﺑﻞ ﻓﻬﻢ ﺑﺎﺷﻨﺪ. -4-2-6ﻣﺮور و ﭘﺎﻻﻳﺶ دﺳﺘﺎورد ﻫﺎ ﮔﺮوه ارزﻳﺎﺑﻲ ﺳﻴﺴﺘﻢ و stakeholderﻫﺎ روي دﻳﺪﮔﺎه ﻫـﺎي ﻣﻌﻤـﺎري و ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ ﺟﻤـﻊ آوري ﺷـﺪه ﺗﻮاﻓـﻖ ﻣـﻲ ﻛﻨﻨـﺪ و ﺳـﭙﺲ ﺗﻤـﺎﻣﻲ ﻣﺤﺪودﻳﺖ ﻫﺎي اﻗﺘﺼﺎدي ﻳﺎ ﻣﻨﻄﻘﻲ ﻣﻮﺛﺮ در ﻣﻌﻤﺎري ﻳﺎ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻣﺸﺨﺺ ﻣﻲ ﮔﺮدد. -5-2-6ﺑﺮرﺳﻲ ﻣﻌﻤﺎري و اﻋﻼم ﻧﺘﺎﻳﺞ ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎري ﺑﺮ اﺳﺎس ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ ﻣﻮرد ﺑﺮرﺳﻲ و ارزﻳـﺎﺑﻲ ﻗـﺮار ﻣﻲ ﮔﻴﺮد .ﻋﻤﺪه ﺗﻮﺟﻪ در اﻳﻦ ﻣﺮﺣﻠﻪ اﻣﻜﺎن ﺗﺮﻛﻴﺐ اﺟﺰا ﺑﺎ ﻫﻢ و اﻣﻜـﺎن اﻋﻤﺎل ﺗﻐﻴﻴﺮات آﺗﻲ ﻣﻲ ﺑﺎﺷﺪ .ﺳﭙﺲ ﻧﺘﺎﻳﺞ ﺑﺮرﺳﻲ ﺑﻪ stakeholderﻫـﺎ اﻋﻼم و ﺗﺠﺮﺑﻴﺎت ﺑﺪﺳﺖ آﻣﺪه ﻣﺴﺘﻨﺪ ﺳﺎزي ﻣﻲ ﺷﻮد. -2-2-7ﺗﺤﻘﻴﻖ و ﺑﺮرﺳﻲ اﻳﻦ ﻣﺮﺣﻠﻪ ﺷﺎﻣﻞ ارزﻳﺎﺑﻲ ﻧﻴﺎز ﻫـﺎي ﻛﻴﻔـﻲ ﻛﻠﻴـﺪي در راﺑﻄـﻪ ﺑـﺎ روش ﻣﻌﻤﺎري اﺳﺖ .ﻣﺤﻘﻖ ﺳﺎزي ﺳﻨﺎرﻳﻮ ﻫﺎ و ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎري ﺑﺎ اﺳـﺘﻔﺎده از دﻳﺪ ﻫﺎ ،ﻣﺪﻟﺴﺎزي و ﺗﺤﻠﻴﻞ ،و ﺗﻌﺎدل ﻣﺎ ﺑـﻴﻦ ﺻـﻔﺎت اﻣﻜـﺎن ﭘـﺬﻳﺮ ﻣـﻲ ﺑﺎﺷﺪ .ﺗﺤﻠﻴﻞ ﺣﺴﺎﺳﻴﺖ ﻳﻜﻲ از روﺷﻬﺎي اﻳﺠﺎد ﺗﻌﺎدل ﻣﻴﺎن ﺻﻔﺎت ﻛﻴﻔﻲ اﺳﺖ. -7ﻣﺘﺪ ATAM -1-7ﻣﻔﺎﻫﻴﻢ و اﻫﺪاف ﻣﺘﺪ ﻣﺘﺪي اﺳﺖ ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ و ﻣﺪل ﺻﻔﺖ ،ﺑﺮاي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻫـﺎي ﻧﺮم اﻓﺰار از ﻟﺤـﺎظ ﺻـﻔﺎت ﻛﻴﻔـﻲ ATAM .ﺑـﺮ ﻣﺒﻨـﺎي SAAMﺑـﺮاي ﺗﺤﻠﻴﻞ ﻗﺎﺑﻠﻴﺖ اﺻﻼح ،ﻛﺎراﻳﻲ ،در دﺳﺘﺮس ﺑﻮدن و اﻣﻨﻴﺖ ﻣﻄـﺮح ﺷـﺪه اﺳﺖ] .[4اﻳﻦ روش ﺑﻪ ﺿﺮورت ﺑﺮﻗﺮاري ﺗﻌﺎدل ﻣﻴﺎن ﺻﻔﺎت ﻛﻴﻔـﻲ ﻧـﺮم اﻓﺰار ﺗﻮﺟﻪ دارد ،ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻛﻪ ﻣﺠﻤﻮﻋﻪ اي از ﻧﻴﺎز ﻫـﺎي ﻛﻴﻔـﻲ را از اﺑﻌﺎد ﻣﺨﺘﻠﻒ ﺗﻌﻴﻴﻦ ﻣﻲ ﻛﻨﺪ ،اﺛﺮ ﻫﺮ ﻛﺪام از آﻧﻬﺎ را ﺑـﻪ ﺗﻨﻬـﺎﻳﻲ ﺑﺮرﺳـﻲ ﻛﺮده و ﺳﭙﺲ اﺛﺮ ﻣﺘﻘﺎﺑـﻞ اﻳـﻦ ﻧﻴـﺎز ﻫـﺎ را ﻣـﺸﺨﺺ ﻣـﻲ ﺳـﺎزد .ﻋﻠـﺖ ﻧﺎﻣﮕﺬاري ATAMﻫﻢ اﻳﻦ اﺳﺖ ﻛﻪ ،ﻧﻪ ﺗﻨﻬﺎ ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﻫﺪاف ﻛﻴﻔﻲ ﺗﻮﺳﻂ ﻣﻌﻤﺎري را ﺗﻌﻴﻴﻦ ﻣﻲ ﻛﻨﺪ ،ﺑﻠﻜﻪ ﺗﻘﺎﺑﻞ اﻳﻦ اﻫﺪاف را ﺑﺮرﺳﻲ ﻣـﻲ ﻧﻤﺎﻳﺪ. در اﻳﻦ روش از دﻳﺪ ﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺮاي ﺗﻮﺻﻴﻒ ﻣﻌﻤـﺎري اﺳـﺘﻔﺎده ﻣـﻲ ﺷﻮد :دﻳﺪ ﭘﻮﻳﺎ ،دﻳﺪ ﺳﻴﺴﺘﻤﻲ و دﻳﺪ ﻣﻨﺒﻊ .دﻳﺪ ﭘﻮﻳـﺎ ،ارﺗﺒﺎﻃـﺎت داﺧﻠـﻲ ﺳﻴﺴﺘﻢ را ﻧﺸﺎن ﻣﻲ دﻫﺪ .دﻳـﺪ ﺳﻴـﺴﺘﻤﻲ ،ﻧﺤـﻮه اﺳـﺘﻘﺮار و ﺗﺨـﺼﻴﺺ ﺳﺨﺖ اﻓﺰار ﺑﻪ ﻧﺮم اﻓﺰار را ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﺪ .دﻳـﺪ ﻣﻨﺒـﻊ ،ﻧﺤـﻮه ﺗـﺸﻜﻴﻞ ﺳﻴﺴﺘﻢ از اﺷﻴﺎ را ﺑﻴﺎن ﻣﻲ ﻛﻨﺪ .از ﺟﻤﻠﻪ ﻣﺰاﻳﺎي اﻳﻦ ﻣﺘﺪ ،ﻣﻲ ﺗـﻮان ﺑـﻪ ﻣﻮارد ذﻳﻞ اﺷﺎره ﻧﻤﻮد :ﺷﻔﺎف ﺳﺎزي ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ ،ارﺗﻘﺎ ﻣﺴﺘﻨﺪ ﺳﺎزي ﻣﻌﻤﺎري ،ﺗﻌﻴﻴﻦ اﺻﻮل و ﻣﺒﺎﻧﻲ ﺑـﺮاي ﺗـﺼﻤﻴﻢ ﮔﻴـﺮي ﻫـﺎي واﺑـﺴﺘﻪ ﺑـﻪ ﻣﻌﻤﺎري ،ﺗﻌﻴﻴﻦ زود ﻫﻨﮕﺎم رﻳﺴﻚ در ﭼﺮﺧﻪ ﺣﻴﺎت و اﻓﺰاﻳﺶ ارﺗﺒﺎﻃـﺎت stakeholderﻫﺎ] .[5از ﺟﻤﻠﻪ ﻣﻌﺎﻳـﺐ اﻳـﻦ روش ﻧﻴـﺰ ،ﻧﻴـﺎز ﺑـﻪ داﻧـﺶ ﺗﻜﻨﻴﻜﻲ ﻣﻔﺼﻞ ،ﻓﻘﺪان ﭼﺎرﭼﻮب ﻣﺸﺨﺺ ﺑﺮاي ﺗﺸﺨﻴﺺ و ﺗﻌﻴﻴﻦ ﻫﺰﻳﻨﻪ ﻫﺎ ،و ﺗﻠﻔﻴﻖ ﻓﻌﺎﻟﻴﺖ ﻫﺎي ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﻣـﻲ ﺑﺎﺷـﺪ ATAM .اﻣﻜـﺎن اﺳﺘﻔﺎده ﻣﺠﺪد از ﻣﺠﻤﻮﻋﻪ ﺗﺤﻠﻴﻞ ﻫـﺎ و ﺳـﻮاﻻت ﻫﻤـﺮاه ﺑـﺎ راه ﺣﻠﻬـﺎي ﺗﻌﻴﻴﻦ ﺷﺪه را ﻓﺮاﻫﻢ ﻣﻲ آورد. -2-7ﮔﺎم ﻫﺎي ﻃﺮاﺣﻲ -1-2-7ﻣﻌﺮﻓﻲ و اراﺋﻪ ﻣﻔﺎﻫﻴﻢ ﻣﻌﺮﻓﻲ ﺷﺎﻣﻞ ﺟﻤﻊ آوري ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ و ﺳـﻨﺎرﻳﻮ ﻫـﺎ ،اراﺋـﻪ آﻧﻬـﺎ ﺑـﻪ stakeholderﻫﺎ ،و ﺗﺒﺎدل اﻃﻼﻋﺎت ﻣﺎ ﺑﻴﻦ آﻧﻬﺎ ﻣـﻲ ﺑﺎﺷـﺪ )ﮔـﺎم ﻫـﺎي ﻃﺮاﺣﻲ ATAMدر ﺷﻜﻞ 4ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ.(. ﺷﻜﻞ4 -3-2-7ﺗﺴﺖ ﻣﺮﺣﻠـﻪ ﺗــﺴﺖ ،ﺷـﺎﻣﻞ آزﻣــﺎﻳﺶ ﻧﺘـﺎﻳﺞ ﺣﺎﺻــﻞ در راﺳـﺘﺎي ﻧﻴـﺎز ﻫــﺎي stakeholderﻫﺎ ﻣﻲ ﺑﺎﺷﺪ .ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﻪ ﭘﺲ ﺗﻌﻴﻴﻦ ﺳﻨﺎرﻳﻮ ﻫﺎي ﭘﺮ اوﻟﻮﻳﺖ ،از آﻧﻬﺎ ﺑﻪ ﻋﻨﻮان ﻣﻌﻴﺎري 9ﺑﺮاي ﺑﺮرﺳـﻲ ﻃﺮاﺣـﻲ اﺳـﺘﻔﺎده ﻣـﻲ ﺷﻮد. -4-2-7ﮔﺰارش ﮔﻴﺮي ﻛﻪ ﺷﺎﻣﻞ اراﺋﻪ ﻧﺘـﺎﻳﺞ ATAMﻣﻴﺒﺎﺷـﺪ .ﺧﺮوﺟـﻲ ﻣﺘـﺪ ﺷـﺎﻣﻞ ﻣـﻮرد ﻣﺘﻌﺪدي اﺳﺖ ،از ﺟﻤﻠﻪ :ﺗﻌﻴﻴﻦ Styleﻫـﺎي ﻣﻌﻤـﺎري ،اﻳﺠـﺎد Utility ) treeﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ از ﻧﻴﺎز ﻫﺎي ﻣﻌﻤﺎري( ،ﻣﺠﻤﻮﻋﻪ اي از ﺳﻨﺎرﻳﻮ ﻫﺎي ﺗﻮﻟﻴﺪ ﺷﺪه و زﻳﺮ ﻣﺠﻤﻮﻋﻪ اي از آﻧﻬﺎ ﻛﻪ در ﻣﻌﻤﺎري ﻧﮕﺎﺷﺖ ﺷـﺪه، ﻣﺠﻤﻮﻋﻪ اي از queryﻫﺎي ﻛﻴﻔﻲ و ﻧﺘـﺎﻳﺞ آن و ﻣﺠﻤﻮﻋـﻪ اي از riskو non-riskﻫﺎ. -8ﻣﺘﺪ ALMA -1-8ﻣﻔﺎﻫﻴﻢ و اﻫﺪاف ﻣﺘﺪ اﻳﻦ ﻣﺘﺪ ﺑﺮ ﻣﺒﻨﺎي SAAMﺑﻨﺎ ﺷﺪه اﺳﺖ ،و در اﺑﺘﺪا ﺑﺮاي ﺳﻴﺴﺘﻢ ﻫﺎي اﻃﻼﻋﺎت ﺗﺠﺎري ) (BISﺗﻮﺳﻌﻪ ﻳﺎﻓـﺖ] .[6روﺷـﻲ ﻣﺒﺘﻨـﻲ ﺑـﺮ ﺳـﻨﺎرﻳﻮ، ﻣﺘﻤﺮﻛﺰ ﺑﺮ ﺻﻔﺎت ﻛﻴﻔﻲ ﻣﺎﻧﻨﺪ ﻗﺎﺑﻠﻴﺖ اﺻﻼح ﭘﺬﻳﺮي ﻣﻲ ﺑﺎﺷـﺪ .ارزﻳـﺎﺑﻲ ﻗﺎﺑﻠﻴﺖ اﺻﻼح ﺷﺎﻣﻞ ﻳﻜﻲ از اﻫﺪاف زﻳﺮ اﺳﺖ :ﭘﻴﺶ ﺑﻴﻨـﻲ ﻫﺰﻳﻨـﻪ ﻫـﺎي اﺻﻼح و ﺗﻐﻴﻴﺮ در آﻳﻨـﺪه ،ﺷﻨﺎﺳـﺎﻳﻲ ﻋـﺪم اﻧﻌﻄـﺎف ﭘـﺬﻳﺮي ﺳﻴـﺴﺘﻢ ،و ﻣﻘﺎﻳﺴﻪ دو ﻳﺎ ﭼﻨﺪ ﻣﻌﻤﺎري ﻣﺨﺘﻠﻒ. -2-8ﮔﺎم ﻫﺎي ﻃﺮاﺣﻲ : -1-2-8ﺗﻌﻴﻴﻦ ﻫﺪف ﺗﺤﻠﻴﻞ ALMAﻣﻤﻜﻦ اﺳﺖ اﻫﺪاف ﻣﺨﺘﻠﻔـﻲ را دﻧﺒـﺎل ﻛﻨـﺪ ﻣﺎﻧﻨـﺪ :ارزﻳـﺎﺑﻲ رﻳﺴﻚ ،ﭘﻴﺶ ﺑﻴﻨﻲ ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﻳﺎ اﻧﺘﺨﺎب ﻳـﻚ ﻣﻌﻤـﺎري از ﻣﻴـﺎن ﭼﻨﺪ ﻣﻌﻤﺎري .در اﻳﻦ ﻣﺮﺣﻠﻪ ﻫﺪف ﺗﺤﻠﻴﻞ ﺑﻪ ﺻﻮرت ﺻﺮﻳﺢ ﻣﺸﺨﺺ ﻣﻲ ﺷﻮد .ﭘﻴﺶ ﺑﻴﻨﻲ ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري ،ﻣﻴﺰان ﺗﻼش ﻣﻮرد ﻧﻴـﺎز ﺑـﺮاي ﺗﻄـﺎﺑﻖ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ در ﺻﻮرت اﻳﺠﺎد ﺗﻐﻴﻴﺮات در آﻳﻨﺪه را ﺗﺨﻤﻴﻦ ﻣﻲ زﻧـﺪ. ارزﻳﺎﺑﻲ رﻳﺴﻚ ،ﺑﺮرﺳﻲ ﻛﻠﻲ ﺗﻐﻴﻴﺮاﺗﻲ اﺳﺖ ﻛﻪ اﻳﺠـﺎد آﻧﻬـﺎ در ﺳﻴـﺴﺘﻢ ﺑﺎﻋﺚ ﺑﺮوز ﻣﺸﻜﻼت ﻣﺘﻌﺪد ﺷﺪه و ﺳﻴﺴﺘﻢ ﻗﺎﺑﻠﻴﺖ اﻳﺠﺎد ﺗﻄﺎﺑﻖ ﺑﺎ آﻧﻬﺎ را ﻧﺪارد. (Availability, S: Security, M: Modifiabilityﻧﻤـﺎﻳﺶ دﻫﻨـﺪه ﺻﻔﺎت ﻛﻴﻔﻲ ﻣﻲ ﺑﺎﺷﻨﺪ .ﻫﻤﺎن ﻃﻮر ﻛﻪ در ﺷﻜﻞ ﻧﺸﺎن داده ﺷﺪه اﺳـﺖ، ﻫﺪف ﺗﻌﻴﻴﻦ ﻫﺰﻳﻨﻪ ﻫﺎ و ﻣﺰاﻳﺎ ،و ﺑﻪ ﺣﺪاﻛﺜﺮ رﺳﺎﻧﺪن اﺧﺘﻼف آﻧﻬﺎﺳﺖ. -2-2-8ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎري ﺷﺎﻣﻞ ﺗﻌﺪادي از دﻳـﺪﮔﺎه ﻫـﺎي ﻣﻌﻤـﺎري اﺳـﺖ ،ﻛـﻪ ﺗﺠﺰﻳﻪ ﺳﻴﺴﺘﻢ ﺑﻪ ﻣﺆﻟﻔﻪ ﻫﺎ ،راﺑﻄﻪ ﻣﻴﺎن ﻣﺆﻟﻔﻪ ﻫﺎ و راﺑﻄﻪ ﻣﻴﺎن ﺳﻴـﺴﺘﻢ و ﻣﺤﻴﻂ را ﺗﻮﺻﻴﻒ ﻣﻲ ﻛﻨﺪ. -3-2-8اﺳﺘﺨﺮاج و ارزﻳﺎﺑﻲ ﺳﻨﺎرﻳﻮ ﻫﺎي ﺗﻐﻴﻴﺮ دﻫﻨﺪه ﺷﻜﻞ5 10 ﺳﻨﺎرﻳﻮ ﻫﺎي ﺗﻐﻴﻴﺮ دﻫﻨﺪه ﺑﻪ ﻣﻌﻨﺎي ﺳﻨﺎرﻳﻮ ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﻣﻤﻜﻦ اﺳـﺖ در اﺻﻼح )ﺗﻐﻴﻴﺮ( ﻣﻌﻤﺎري ﻧﻘﺶ داﺷﺘﻪ ﺑﺎﺷﻨﺪ .اﻳﻦ ﻧﻮع از ﺳﻨﺎرﻳﻮ ﻫـﺎ در ﻃﻮل ﺟﻠﺴﻪ ارزﻳﺎﺑﻲ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣـﻲ ﮔﻴﺮﻧـﺪ .ﺳـﭙﺲ ﺗﺤﻠﻴﻠﮕـﺮان ﻣﻌﻤﺎري اﺛﺮات و ﻫﺰﻳﻨﻪ ﻫﺎي ﻫﺮ ﻳﻚ از اﻳﻦ ﺳﻨﺎرﻳﻮ ﻫﺎ را ﺗﻌﻴﻴﻦ ،و ﻧﺘـﺎﻳﺞ را ﺑﻪ ﻓﺮم ﻣﻨﺎﺳﺐ و ﻗﺎﺑﻞ اﻧﺪازه ﮔﻴﺮي ﺗﻮﺳﻂ اﻫﺪاف ﺗﺤﻠﻴـﻞ ،ﺑﻴـﺎن ﻣـﻲ ﻛﻨﻨﺪ. -4-2-8ﺗﻔﺴﻴﺮ ﻧﺘﺎﻳﺞ ﭘﺲ از ارزﻳﺎﺑﻲ ﺳﻨﺎرﻳﻮ ﻫﺎي ﺗﻐﻴﻴﺮ دﻫﻨﺪه ،ﻧﺘﺎﻳﺞ ﺑﺪﺳﺖ آﻣﺪه ﻣﻄـﺎﺑﻖ ﺑـﺎ اﻫﺪاف ﺗﺤﻠﻴﻞ و ﺗﺎﻳﻴﺪ ﻧﻴﺎز ﻫﺎي ﺳﻴﺴﺘﻢ ﺗﻔﺴﻴﺮ ﻣﻲ ﺷﻮد .ﻧﺘـﺎﻳﺞ ﺣﺎﺻـﻞ ﺑﺮاي ﭘﻴﺶ ﺑﻴﻨﻲ ﻣﻴﺰان ﻓﻌﺎﻟﻴﺖ ﻫﺎي ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﻧﮕﻬـﺪاري ﺳﻴـﺴﺘﻢ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲ ﮔﻴﺮد. -9ﻣﺘﺪ CBAM -2-9ﮔﺎم ﻫﺎي ﻃﺮاﺣﻲ -1-2-9اﻧﺘﺨﺎب ﺳﻨﺎرﻳﻮ و اﺳﺘﺮاﺗﮋي ﻣﻌﻤﺎري ﺳﻨﺎرﻳﻮ ﻫﺎي ﻣﻮرد ﺗﻮﺟـﻪ اﻏﻠـﺐ stakeholderﻫـﺎ )ﺳـﻨﺎرﻳﻮ ﻫـﺎي ﭘـﺮ اوﻟﻮﻳﺖ( ﺷﻨﺎﺳﺎﻳﻲ و ﺑـﺮاي ﻫـﺮ ﻳـﻚ از ان ﻫـﺎ اﺳـﺘﺮاﺗﮋي ﻫـﺎي ﻣـﺮﺗﺒﻂ ﻣﻌﻤﺎري ﺗﻌﻴﻴﻦ ﻣﻲ ﮔﺮدد. -2-2-9ارزﻳﺎﺑﻲ ﻣﺰاﻳﺎي ﺻﻔﺎت ﻛﻴﻔﻲ )(QA در اﻳﻦ ﻣﺮﺣﻠﻪ ،ﺑﺮ اﺳﺎس ﺑﺮ اﺳﺎس ﻧﻈـﺮات ﻣـﺪﻳﺮان آﺷـﻨﺎ ﺑـﺎ ﻋﻤﻠﻜـﺮد و ارزش ﺗﺠــﺎري ﺳﻴـﺴﺘﻢ و ﻫﻤﭽﻨـﻴﻦ stakeholderﻫــﺎ ،ﺻــﻔﺎت ﻛﻴﻔ ـﻲ ارزﻳﺎﺑﻲ ﺷﺪه و ﻣﻴﺰان ﺳﻮدﻣﻨﺪي ﻫﺮ ﻛﺪام ﻣﺸﺨﺺ ﻣﻲ ﺷﻮد. -3-2-9ﺗﻌﻴﻴﻦ ﻣﺰاﻳﺎي اﺳﺘﺮاﺗﮋي ﻫﺎي ﻣﻌﻤﺎري ﭘﺲ از ﺗﻌﻴﻴﻦ اﺳﺘﺮاﺗﮋي ﻫﺎي ﻣﻌﻤﺎري ،اﻓﺮاد ﻣﺘﺨﺼﺺ در زﻣﻴﻨﻪ ﻣﻌﻤﺎري راﺟﻊ ﺑﻪ اﻳﻦ ﻛﻪ ﻫﺮ اﺳﺘﺮاﺗﮋي ﺗﺎ ﭼﻪ اﻧﺪازه در ﺗﺎﻣﻴﻦ ﻳـﻚ ﺻـﻔﺖ ﻛﻴﻔـﻲ ﻣﻮﺛﺮ اﺳﺖ ،ﻧﻈﺮ ﻣﻲ دﻫﻨﺪ. -1-9ﻣﻔﺎﻫﻴﻢ و اﻫﺪاف ﻣﺘﺪ -4-2-9ﺗﻌﻴﻴﻦ ﻫﺰﻳﻨﻪ ﻫﺎ و ﻣﻔﺎﻫﻴﻢ زﻣﺎن ﺑﻨﺪي ﻣﺘﺪي اﺳﺖ ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ و ﻣﺪل ﺻﻔﺖ ،ﻛﻪ روﺷـﻲ ﻣﻨﺎﺳـﺐ ﺑـﺮاي ﺗﺤﻠﻴﻞ ﻫﺰﻳﻨﻪ ﻫﺎ ،ﻣﺰاﻳﺎ و زﻣﺎن ﺑﻨﺪي ﭘﺮوژه ﻧﺮم اﻓﺰاري اراﺋﻪ ﻣﻲ دﻫﺪ .در اﻳﻦ ﻣﺘﺪ اﺣﻜﺎم ﻏﻴﺮ ﻗﻄﻌﻲ در ﻣﻮرد ﻫﺰﻳﻨﻪ ﻫﺎ و ﻣﺰاﻳﺎ ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد ،ﺗﺎ از ﻃﺮﻳﻖ آن ﻣﺒﻨﺎﻳﻲ ﺑﺮاي ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﻃﺮاﺣﻲ ﻣﻌﻤﺎري اﻳﺠﺎد ﻛﻨﺪ .در واﻗﻊ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻫﺰﻳﻨﻪ را ﺑﻪ ﺻـﻮرت ﻳـﻚ ﺻـﻔﺖ ﻛﻴﻔـﻲ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮد] .[7اﻳﻦ ﻣﺘﺪ روي ATAMﺳﺎﺧﺖ ﻣﻲ ﺷﻮد و ﺑﻪ ﻋﻨـﻮان ﻣﻜﻤﻞ آن ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ،ﻫﺮ ﭼﻨـﺪ ATAMﺑـﻪ ﻋﻨـﻮان ﭘـﻴﺶ ﻧﻴـﺎز آن ﻣﻄﺮح ﻧﻤﻲ ﺷﻮد ATAM .ﺗﺼﻤﻴﻤﺎت ﻣﻌﻤﺎري اﺟﺮا ﺷﺪه روي ﺳﻴـﺴﺘﻢ را ﺷﻨﺎﺳﺎﻳﻲ و آﻧﻬﺎ را ﺑﻪ اﻫﺪاف ﺗﺠﺎري و ﺻﻔﺎت ﻛﻴﻔﻲ ﻣﺮﺗﺒﻂ ﻣﻲ ﺳـﺎزد. CBAMﻧﻴﺰ ﺑﺮ اﻳﻦ اﺳﺎس اﻳﺠﺎد ﻣﻲ ﺷﻮد )ﺷـﻜﻞ .(5ورودي اﻳـﻦ روش ﺷﺎﻣﻞ ورودي ﻫﺎي ، ATAMاﻫﺪاف ﺗﺠﺎري ،ﺻﻔﺎت ﻛﻴﻔﻲ ﻣﻮرد ﻧﻈـﺮ و ﻣﺤﺪودﻳﺘﻬﺎي اﻗﺘﺼﺎدي ﻣﻲ ﺑﺎﺷﺪ .ﻣﻜﻌـﺐ ﻫـﺎ ) P: Performance, A: ﺑﺎ ﻫﻤﻜﺎري ﻣﺪﻳﺮان و ﻣﺘﺨﺼﺼﻴﻦ ﻣﻌﻤﺎري ،و ﺑﺮ اﺳﺎس داﻧـﺶ و ﺗﺠﺮﺑـﻪ، ﻫﺰﻳﻨﻪ و زﻣﺎن ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﻫﺮ ﻳﻚ از اﺳﺘﺮاﺗﮋي ﻫﺎي ﻣﻌﻤﺎري ﺗﻌﻴـﻴﻦ ﻣﻲ ﺷﻮد. -5-2-9ﺑﺮآورد ﺷﺮاﻳﻂ ﻣﻄﻠﻮب ﺗﻴﻢ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺑﺮ اﺳﺎس ﻧﺘﺎﻳﺞ ﮔﺎم ﻫﺎي ﻗﺒﻞ و ﺑـﺮ اﺳـﺎس ﻣﻌﻴـﺎر، ﺗﻘﺴﻴﻢ ﻓﺎﻳﺪه ﻫﺮ اﺳـﺘﺮاﺗﮋي ﻣﻌﻤـﺎري ﺑـﺮ ﻫﺰﻳﻨـﻪ آن ،ﻣﻄﻠﻮﺑﻴـﺖ ﻧـﺴﺒﻲ اﺳﺘﺮاﺗﮋي ﻫﺎي ﻣﻌﻤﺎري را ﺗﻌﻴﻴﻦ ﻣﻲ ﻛﻨﺪ. -6-2-9ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻳﻦ ﻣﺮﺣﻠﻪ ،ﺑﺮ اﺳﺎس ﻧﺘﺎﻳﺞ ﻣﺮاﺣﻞ ﻗﺒﻞ ،و اﺣﺘﻤﺎل ﺑﻪ وﻗﻮع ﭘﻴﻮﺳـﺘﻦ ﻫﺮ ﻳﻚ از ﺣﺎﻻت و اﺣﺘﻤﺎﻻت ﺑﺮ اﺳﺎس ﺑـﺮآورد ﻫﺰﻳﻨـﻪ-ﻓﺎﻳـﺪه ،ﺑﻬﺘـﺮﻳﻦ اﺳﺘﺮاﺗﮋي ﻫﺎي ﻣﻌﻤﺎري ﻛﻪ ﺳﻨﺎرﻳﻮ ﻫﺎي ﻣﻮرد ﻧﻈﺮ را ﺑﺮآورده ﻣﻲ ﺳﺎزﻧﺪ، اﻧﺘﺨﺎب ﻣﻲ ﺷﻮﻧﺪ. -10ﻣﺘﺪ SBAR -2-2-10ارزﻳﺎﺑﻲ ﺳﻨﺎرﻳﻮ ﻫﺎ :ﻫﺮ ﺳﻨﺎرﻳﻮ ﺑﻪ ﺻـﻮرت دﺳـﺘﻲ روي -1-10ﻣﻔﺎﻫﻴﻢ و اﻫﺪاف ﻣﺘﺪ ﻣﻌﻤﺎري اﺟﺮا و ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد. ﻫﺪف اﺻﻠﻲ اﻳﻦ ﻣﺘﺪ ﺗﺨﻤﻴﻦ ﭘﺘﺎﻧﺴﻴﻞ ﻣﻌﻤﺎري ﻃﺮاﺣﻲ ﺷﺪه ،ﺑﻪ ﻣﻨﻈـﻮر دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻧﻴﺎز ﻫﺎي ﻛﻴﻔﻲ ﻧﺮم اﻓﺰار ﻣـﻲ ﺑﺎﺷـﺪ .ﻣﺘـﺪ SBARاز روش ﻃﺮاﺣﻲ ﺟﺰﺋﻲ ﻣﻌﻤﺎري اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ .ﺑﻪ اﻳﻦ ﺗﺮﺗﻴـﺐ ﻛـﻪ ﺑـﺮاي ﻫـﺮ ﺻﻔﺖ ﻛﻴﻔﻲ ،از روﺷﻲ ﻣﺘﻨﺎﺳﺐ ﺑﺎ آن ﺑﺮاي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ .اﻳﻦ روش ﻫﺎ ﺷـﺎﻣﻞ ﺳـﻨﺎرﻳﻮ ،ﺷـﺒﻴﻪ ﺳـﺎزي ،ﻣﺪﻟـﺴﺎزي رﻳﺎﺿـﻲ و اﺳﺘﺪﻻل ﻣﺒﺘﻨﻲ ﺑﺮ ﺗﺠﺰﻳﻪ ﻣﻲ ﺑﺎﺷﻨﺪ .ﺑـﻪ ﻋﻨـﻮان ﻣﺜـﺎل ﺑـﺮاي ﻛـﺎراﻳﻲ و ﺗﺤﻤﻞ ﭘﺬﻳﺮي ﺧﻄﺎ از روش ﻫﺎي ﺷﺒﻴﻪ ﺳﺎزي و ﻳـﺎ ﻣﺪﻟـﺴﺎزي رﻳﺎﺿـﻲ، ﺑﺮاي ﻗﺎﺑﻠﻴﺖ ﭘﺸﺘﻴﺒﺎﻧﻲ و اﺳﺘﻔﺎده ﻣﺠﺪد از روش ﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳـﻨﺎرﻳﻮ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد .در اﻳﻦ ﻣﺘﺪ ،ﻧﺴﺒﺖ ﺳﻨﺎرﻳﻮ ﻫﺎي ﭘﻮﺷﺶ داده ﺷﺪه ﺑـﻪ ﭘﻮﺷﺶ داده ﻧﺸﺪه ﺗﻮﺳﻂ ﻣﻌﻤﺎري ،ﺑﻪ ﻋﻨﻮان ﺷﺎﺧـﺼﻲ ﺑـﺮاي ﻣﻄﻠﻮﺑﻴـﺖ ﻣﻌﻤﺎري ﺑﻪ ﺷﻤﺎر ﻣﻲ آﻳﺪ. -3-2-10ﺗﺤﻠﻴﻞ ﻧﺘﺎﻳﺞ :ﻧﺘﺎﻳﺞ ﺑﺪﺳﺖ آﻣﺪه از ﻣﺮاﺣـﻞ ﻗﺒـﻞ ﻣـﻮرد ﺗﺤﻠﻴﻞ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ. -11ﻧﺘﻴﺠﻪ ﮔﻴﺮي در اﻳﻦ ﻣﻘﺎﻟﻪ ﺑﻪ ﺑﺮرﺳـﻲ ﻣﺘـﺪﻫﺎي ﻃﺮاﺣـﻲ ﻣﻌﻤـﺎري ﭘـﺮداﺧﺘﻴﻢ .ﺑـﺮاي ﻣﻘﺎﻳﺴﻪ و ارزﻳﺎﺑﻲ روﺷﻬﺎي ﻣﺨﺘﻠﻒ ﻣﻌﻴﺎر ﻫـﺎي ﻣﺘﻨـﻮﻋﻲ وﺟـﻮد دارد ،از ﺟﻤﻠﻪ: -1اﺳﺘﻔﺎده ﻣﺠﺪد :آﻳﺎ روش اﻣﻜﺎن اﺳﺘﻔﺎده ﻣﺠﺪد از ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري را ﻓﺮاﻫﻢ ﻣﻲ ﻛﻨﺪ؟ -2اﻋﺘﺒﺎر روش :آﻳﺎ روش ﻣﻌﺘﺒﺮ ﺳﺎزي ﺷﺪه اﺳﺖ؟ -3ﺻﻔﺎت ﻛﻴﻔﻲ :ﭼﻪ ﺗﻌﺪاد و ﻛﺪام ﺻـﻔﺎت ﻛﻴﻔـﻲ ﺗﻮﺳـﻂ روش ﻣـﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد؟ -4ﺗﻜﻨﻴﻚ ارزﻳﺎﺑﻲ :از ﭼـﻪ ﻧـﻮع روﺷـﻬﺎي ارزﻳـﺎﺑﻲ در ﻓﺮآﻳﻨـﺪ ﺗﺤﻠﻴـﻞ ﻣﻌﻤﺎري اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد؟ -5ﺣﻮزه ﻛﺎرﺑﺮد :روش ﺑﺮاي ﭼﻪ ﻧﻮع ﺳﻴﺴﺘﻢ ﻫﺎﻳﻲ ﻗﺎﺑﻞ اﺳﺘﻔﺎده اﺳﺖ؟ ﺟﺪول 1ﻧﺘﻴﺠﻪ ﻣﻘﺎﻳﺴﻪ ﻣﺘﺪﻫﺎي ﻣﺨﺘﻠﻒ ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار را ﺑـﺮ اﺳـﺎس ﻣﻌﻴﺎر ﻫﺎي ﻓﻮق ﻧﺸﺎن ﻣﻲ دﻫﺪ. ﺷﻜﻞ6 -2-10ﮔﺎم ﻫﺎي ﻃﺮاﺣﻲ -1-2-10ﺗﻌﻴﻴﻦ ﺳﻨﺎرﻳﻮ ﻫﺎ :ﻣﺠﻤﻮﻋﻪ اي از ﺳﻨﺎرﻳﻮ ﻫـﺎ در ارﺗﺒـﺎط ﺑﺎ ﻫﺮ ﺻﻔﺖ ﻛﻴﻔﻲ ﺗﻬﻴﻪ ﻣﻲ ﺷﻮد. ﺟﺪول1 ﻣﺮاﺟﻊ ﺷﻜﻠﻬﺎ ﻣﺮاﺟﻊ [1]Fig1,2,6: Liliana Dobrica and Elima Niemela, "A Survey on Software Architecture Analysis Methods ,IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL.28, NO.7, JULY 2002, pp.638. [2]Fig3: Len Bass, Mark Klein, Felix Bachmann, "Quality Attribute Design Primitives and the Attribute Driven Design Method", CMU/SEI-2000-TN-017 Pittsburgh, USA [3]Fig4: R. Kazman, M. Klein, M. Barbacci, T.Longstaff, H. Lipson, J. Carriere, "The Architecture Tradeoff Analysis Method", Proceedings of ICECCS 98. [4]Fig5: http://www.sei.cmu.edu/architecture/cbam.html ، ﻋﻠـﻲ ﻛﻤﻨـﺪي، ﻏﻼﻣﺮﺿـﺎ ﺷـﺎه ﻣﺤﻤـﺪي، ﺳﻌﻴﺪ ﺟﻠﻴﻠـﻲ:1[ ﺟﺪول5] [1] Liliana Dobrica and Elima Niemela, "A Survey on Software Architecture Analysis Methods ,IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL.28, NO.7, JULY 2002, pp.638. [2] "Active Reviews for Intermediate Designs (ARID)", http://www.sei.cmu.edu/architecture/arid.html [3] Len Bass, Mark Klein, Felix Bachmann, "Quality Attribute Design Primitives and the Attribute Driven Design Method", CMU/SEI-2000-TN-017 Pittsburgh, USA [4] Bass L., Klein M., Moreno G., "Applicability of General Scenario to the Architecture Tradeoff Analysis Method", CMU/SEI-2001-TR-014 [5] R. Kazman, M. Klein, M. Barbacci, T.Longstaff, H. Lipson, J. Carriere, "The Architecture Tradeoff Analysis Method" ,Proceedings of ICECCS 98. [6] P. Bengtsson, N. Lassing, J. Bosch, H. Valiet, "Architecture-Level Modifiability Analysis (ALMA)", the Journal of System and Software 69 (2004) 129-147, http://www.cs.vu.nl/ [7] Bachmann, F.; Bass, L.; Chastek, G.; Donohoe, P.& Peruzzi, F. "The Architecture Based Design Method", CMU/SEI-2000-TR-001 ADA375851. Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2000. [8] Bosch, J. Design & Use of Software Architectures, Addison Wesley, 2000. [9] Hofmeister, Nord, Soni, "Applied Software Architecture", Addison Wesley, 2000. [10] Paul Clements, Rick Kazman and Mark Klein, Evaluating Software Architectures: Methods and Case Studies, Addison Wesley, 2002. .IKT2005 ،""ارزﻳﺎﺑﯽ روش هﺎﯼ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎرﯼ ﻧﺮم اﻓﺰار 1 Modifiability Sequence of events 3 Reviewer 4 Pseudo-code 5 Embedded system 6 Use case 7 Product line 2 8 Design elements 9 Test case Change-scenario 10 ﺍﺭﺯﻳﺎﺑﯽ ﻣﻌﻤﺎﺭﯼ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﻣﺒﺘﻨﯽ ﺑﺮ ﺳﻨﺎﺭﻳﻮ ﻧﺮﮔﺲ ﺁﻗﺎﮐﺎﻇﻢ ﺟﻮﺭﺍﺑﺒﺎﻑ * ﭼﻜﻴﺪﻩ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡﺍﻓﺰﺍﺭ ﻳﻜﻲ ﺍﺯ ﻣﻬﻤﺘﺮﻳﻦ ﺍﺑﺰﺍﺭﻫﺎ ﺑﺮﺍﻱ ﻃﺮﺍﺣﻲ ﻭ ﻓﻬﻤﻴﺪﻥ ﺳﻴﺴﺘﻢ ﺍﺳﺖ ﭼﻪ ﺳﻴﺴﺘﻢ ﺩﺭ ﻃﺮﺍﺣﻲ ﺍﻭﻟﻴﻪ ﺑﺎﺷﺪ ،ﺑﻜﺎﺭﮔﻴﺮﻱ ﻓﻌﺎﻝ ،ﻳﺎ ﻧﮕﻬﺪﺍﺭﻱ .ﺳﻨﺎﺭﻳﻮﻫﺎ ﺍﺑﺰﺍﺭﻫﺎﻱ ﻣﻬﻤﻲ ﺑﺮﺍﻱ ﺁﺯﻣﺎﻳﺶ ﻣﻌﻤﺎﺭﻱ ﺑﻪ ﻣﻨﻈﻮﺭ ﺑﺪﺳﺖ ﺁﻭﺭﺩﻥ ﺍﻃﻼﻋﺎﺗﻲ ﺩﺭﺑﺎﺭﻩ ﺳﺎﺯﮔﺎﺭﻱ ﺳﻴﺴﺘﻢ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺠﻤﻮﻋﻪﺍﻱ ﺍﺯ ﺻﻔﺎﺕ ﻛﻴﻔﻴﺘﻲ ﻣﻄﻠﻮﺏ ﺍﺳﺖ .ﺍﻳﻦ ﻣﻘﺎﻟﻪ ﻣﺠﻤﻮﻋﻪﺍﻱ ﺍﺯ ﻣﻄﺎﻟﻌﺎﺕ ﺗﺠﺮﺑﻲ ﺭﺍ ﻧﺸﺎﻥ ﻣﻲﺩﻫﺪ ﻛﻪ ﺍﺯ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺑﺮﺍﻱ ﺑﺪﺳﺖ ﺁﻭﺭﺩﻥ ﻓﻬﻢ ﻣﻌﻤﺎﺭﻱ ﻭ ﺑﻴﻨﺶ ﭘﻴﺸﮕﻮﻳﺎﻧﻪ ﺩﺭ ﻣﻮﺭﺩ ﺳﻴﺴﺘﻢﻫﺎﻱ ﻭﺍﻗﻌﻲ ﺩﺭ ﺩﺍﻣﻨﻪﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﮐﻨﺪ .ﺩﻭ ﺭﻭﺵ ﺳﺎﺧﺖﻳﺎﻓﺘﻪ ﺑﺮﺍﻱ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎﺭﻳﻮ ﻧﺸﺎﻥ ﺩﺍﺩﻩ ﻣﻲﺷﻮﺩ ﮐﻪ ﺍﺯ ﺳﻨﺎﺭﻳﻮ ﺑﺮﺍﻱ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﺑﺮﺍﻱ ﺭﺳﻴﺪﻥ ﺑﻪ ﺻﻔﺎﺕ ﻛﻴﻔﻴﺘﻲ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ- ﻛﻨﻨﺪ. ﻛﻠﻤﺎﺕ ﻛﻠﻴﺪﻱ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡﺍﻓﺰﺍﺭ ،ﺭﻭﺵﻫﺎﻱ ﺗﺤﻠﻴﻞ ﻧﺮﻡﺍﻓﺰﺍﺭ ،ﻛﻴﻔﻴﺖ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ،ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ،ﻛﺎﺭﺑﺮﺩﻫﺎﻱ ﺳﻨﺎﺭﻳﻮ. * [email protected] ﺷﻤﺎﺭﻩ ﺩﺍﻧﺸﺠﻮﻳﯽ۸۵۷۰۰۱۵۸ : ‐۱ﻣﻌﺮﻓﻲ ﺗﺤﻠﻴﻞ ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺮﻡ ﺍﻓﺰﺍﺭﻱ ﺑـﺮﺍﻱ ﻣﺸـﺨﺺ ﻛـﺮﺩﻥ ﺣـﻮﺯﻩﺍﻱ ﻛـﻪ ﺍﺯ ﻣﻌﻴﺎﺭﻫﺎﻱ ﻛﻴﻔﻴﺘﻲ ﺩﺭﺑﺮﻣﻲﮔﻴﺮﺩ ﻣﻄﻠﻮﺏ ﻣﻲﺑﺎﺷﺪ .ﻳﻜﻲ ﺍﺯ ﺩﻻﻳﻠﻲ ﻛﻪ ﭼﺮﺍ ﺍﻳﻨﮕﻮﻧﻪ ﺗﺤﻠﻴﻞ ﻣﺸﻜﻞ ﺍﺳﺖ ﺷﺎﻣﻞ ﻓﻘﺪﺍﻥ ﻓﻬﻤﻲ ﺍﺯ ﻃﺮﺍﺣﻲ ﺳـﻄﺢ ﺑـﺎﻻ ﻭ ﻛﻤﺒﻮﺩ ﻓﻬﻢ ﺑﻨﻴﺎﺩﻱ ﺍﺯ ﺻﻔﺎﺕ ﻛﻴﻔﻴﺘﻲ ﻣﻲﺑﺎﺷﺪ .ﺑﺎ ﻣﻮﺝ ﺗﻤﺎﻳﻼﺕ ﺯﻳـﺎﺩ ﺩﺭ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓـﺰﺍﺭ ﺑﻌﻀـﻲ ﺍﺯ ﻣﺴـﺎﻳﻞ ﺩﺭﮔﻴـﺮ ﺩﺭ ﻃﺮﺍﺣـﻲ ﺳـﻄﺢ ﺑـﺎﻻ ﺍﺯ ﺳﻴﺴﺘﻢ ﻧﺮﻡ ﺍﻓﺰﺍﺭﻱ ﺭﻭﺷﻦ ﺷﺪﻩ ﺍﺳﺖ .ﻫﺪﻑ ﻣﺎ ﺩﺭ ﺍﻳﻦ ﻣﻘﺎﻟﻪ ﺍﻳـﻦ ﺍﺳـﺖ ﻛﻪ ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮﺍﻥ ﺍﺯ ﻣﻔﺎﻫﻴﻢ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﺑـﺮﺍﻱ ﺗﺤﻠﻴـﻞ ﺳﻴﺴـﺘﻢ ﻧﺮﻡ ﺍﻓﺰﺍﺭﻱ ﭘﻴﭽﻴﺪﻩ ﺑﻪ ﻣﻨﻈﻮﺭ ﺻﻔﺎﺕ ﻛﻴﻔﻴﺘﻲ ﺍﺳـﺘﻔﺎﺩﻩ ﻛـﺮﺩ .ﻣـﺎ ﻛﻤﺒـﻮﺩ ﺩﺭﻙ ﺑﻨﻴﺎﺩﻱ ﺩﺭ ﻣﻮﺭﺩ ﭼﮕﻮﻧﮕﻲ ﺑﻴﺎﻥ ﻛﺮﺩﻥ ﺍﻳﻦ ﺻﻔﺎﺕ ﺭﺍ ﺑـﺎ ﺍﺳـﺘﻔﺎﺩﻩ ﺍﺯ ﺳﻨﺎﺭﻳﻮ ﺟﺒﺮﺍﻥ ﻣﻲﻛﻨﻴﻢ ﺗﺎ ﺑﺘﻮﺍﻧﻴﻢ ﻓﻌﺎﻟﻴﺘﻬﺎﻱ ﺣﻴـﺎﺗﻲ ﻛـﻪ ﻳـﻚ ﺳﻴﺴـﺘﻢ ﺗﺤﺖ ﺗﺤﻠﻴﻞ ﺑﺎ ﺁﻥ ﺩﺭﮔﻴﺮ ﻣﻲﺑﺎﺷﺪ ﺭﺍ ﭘﻲﮔﻴﺮﻱ ﻛﻨﻴﻢ. ﻣﺎ ﺗﺠﺮﺑﻴﺎﺕ ﺧﻮﺩ ﺭﺍ ﺑﺎ ﺗﺤﻠﻴﻞ ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎﺭﻳﻮ ﺍﺯ ﻣﻌﻤﺎﺭﻱ ﺳﻴﺴـﺘﻢ ﻧـﺮﻡ ﺍﻓﺰﺍﺭﻱ ﻣﺮﻭﺭ ﻣﻲﻛﻨﻴﻢ .ﺳﻨﺎﺭﻳﻮﻫﺎ ﺷﺮﺡ ﻣﺨﺘﺼﺮﻱ ﺍﺯ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻮﺭﺩ ﺍﻧﺘﻈـﺎﺭ ﻳﺎ ﻗﺎﺑﻞ ﭘﻴﺶﺑﻴﻨﻲ ﺍﺯ ﻳﻚ ﺳﻴﺴﺘﻢ ﺭﺍ ﻫﻢ ﺍﺯ ﺩﻳﺪ ﺗﻮﺳـﻌﻪ ﺩﻫﻨـﺪﻩ ﻭ ﻫـﻢ ﺍﺯ ﺩﻳﺪ ﻛﺎﺭﺑﺮ ﻧﻬﺎﻳﻲ ﺑﻴﺎﻥ ﻣﻲﻛﻨﻨﺪ .ﻳﻚ ﺭﻭﺵ ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ ﻛﻪ ﺍﺯ ﺳـﻨﺎﺭﻳﻮﻫﺎ ﺑﺮﺍﻱ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲﻛﻨﺪ ،ﺭﻭﺵ ﺗﺤﻠﻴﻞ ﻣﻌﻤـﺎﺭﻱ ﻧـﺮﻡ ﺍﻓـﺰﺍﺭ ) (software Architecture Analysis methodﻣــﻲﺑﺎﺷــﺪ .ﺭﻭﺵ ﺩﻳﮕــﺮ ،ﺗﺤﻠﻴــﻞ ﺗﻮﺍﺯﻧﻬــﺎﻱ ﻣﻌﻤــﺎﺭﻱ (Architecture Trade-off ) Analysis Methodﻣﯽﺑﺎﺷﺪ. ۱‐۱ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﺳﻴﺴﺘﻢ ﻣﻤﻜﻦ ﺍﺳﺖ ﺍﺯ ﻣﺠﻤﻮﻋﻪﺍﻱ ﺍﺯ ﭘﻴﻤﺎﻧـﻪﻫـﺎ ﺗﺸـﻜﻴﻞ ﺷـﺪﻩ ﺑﺎﺷـﺪ ﻭ ﻫﻤﭽﻨﻴﻦ ﻣﺠﻤﻮﻋﻪﺍﻱ ﺍﺯ ﻓﺮﺁﻳﻨﺪﻫﺎﻱ ﺗﺮﺗﻴﺒﻲ ﻫﻤﺎﻫﻨﮓﻛﻨﻨﺪﻩ ﻛﻪ ﻫﺮﻛـﺪﺍﻡ ﺍﺯ ﺁﻧﻬﺎ ﺩﺭ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﺎﮊﻭﻝ ﻗﺮﺍﺭ ﺧﻮﺍﻫﻨﺪ ﮔﺮﻓﺖ .ﻫـﺮ ﺩﻭ ﺩﻳـﺪﮔﺎﻩ ﻣﻌﺘﺒـﺮ ﺍﺳﺖ ﻭ ﻣﺎﻫﻴﺖ ﻫﺮ ﺩﻭ ﻭﺍﺑﺴﺘﻪ ﺑﻪ ﻣﻌﻤـﺎﺭﻱ ﺍﺳـﺖ ﺍﻣـﺎ ﻫـﺮ ﻳـﻚ ﺍﻃﻼﻋـﺎﺕ ﻣﺘﻔﺎﻭﺗﻲ ﺭﺍ ﺑﻪ ﻫﻤﺮﺍﻩ ﺩﺍﺭﻧﺪ. ﺍﺯ ﺩﻳﺪﮔﺎﻩ ﻓﺮﺁﻳﻨﺪﻱ ﻣﻲﺗﻮﺍﻧﻴﻢ ﺗﻌﺎﻣﻞ ﺳﻴﺴـﺘﻢ ﺭﺍ ﺩﺭ ﺣـﻴﻦ ﺍﺟـﺮﺍ ﺗﻮﺻـﻴﻒ ﻛﻨﻴﻢ .ﺑﺮ ﺍﺳﺎﺱ ﺍﻳﻨﮑﻪ ﭼﮕﻮﻧﻪ ﻭ ﭼﻪ ﻭﻗﺖ ﻓﺮﺁﻳﻨﺪﻫﺎ ﻓﻌﺎﻝ ﻳﺎ ﻏﻴﺮ ﻓﻌﺎﻝ ﻣﻲ- ﺷﻮﻧﺪ ،ﺩﺍﺩﻩﻫﺎ ﺭﺍ ﻣﻨﺘﻘﻞ ﻣﻲﻛﻨﻨﺪ ﻳﺎ ﺑـﻪ ﺍﺷـﺘﺮﺍﻙ ﻣـﻲﮔﺬﺍﺭﻧـﺪ .ﺍﺯ ﺩﻳـﺪﮔﺎﻩ ﭘﻴﻤﺎﻧﻪﺍﻱ ﻣﻲﺗﻮﺍﻧﻴﻢ ﺗﻌﺎﻣﻞ ﺗﻴﻢﻫﺎﻱ ﻣﺴﺌﻮﻝ ﺳﺎﺧﺘﻦ ﭘﻴﻤﺎﻧﻪﻫﺎ ﺭﺍ ﺑﺮ ﺍﺳﺎﺱ ﺍﻃﻼﻋﺎﺗﻲ ﻛﻪ ﻫﺮ ﻳﻚ ﺍﺯ ﺗﻴﻢﻫﺎ ﺩﺍﺭﻧﺪ :ﺍﺟﺎﺯﻩ ﺍﺷﺘﺮﺍﻙ ،ﺩﺭﺧﻮﺍﺳﺖ ﺍﺷﺘﺮﺍﻙ، ﻳﺎ ﻣﻨﻊ ﺍﺯ ﺍﺷﺘﺮﺍﻙ ﺗﻮﺻﻴﻒ ﻛﻨﻴﻢ .ﺩﻳﺪﮔﺎﻩ ﻓﺮﺁﻳﻨـﺪﻱ ﺩﻻﻟـﺖ ﺑـﺮ ﻋﻤﻠﻜـﺮﺩ ﺩﺍﺭﺩ ﺩﺭ ﺣﺎﻟﻴﻜﻪ ﺩﻳﺪﮔﺎﻩ ﭘﻴﻤﺎﻧﻪﺍﻱ ﺩﻻﻟﺖ ﺑـﺮ ﻧﮕﻬـﺪﺍﺭﻱ ﺩﺍﺭﺩ .ﺗﻤـﺎﻳﺰ ﺑـﻴﻦ ﺯﻣﺎﻥ ﺍﺟﺮﺍ ﻭ ﺯﻣﺎﻥ ﺗﻮﺳﻌﻪ ﻳﻚ ﻣﻮﺿﻮﻉ ﻣﻬﻢ ﺩﺭ ﻛﺎﺭ ﻣﺎ ﻣﻲﺑﺎﺷﺪ. ﻣﺴﺎﻳﻞ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﺟﺪﻳﺪ ﻧﻤـﻲﺑﺎﺷـﺪ .ﻣﺮﺩﻣـﻲ ﻛـﻪ ﺳﻴﺴـﺘﻢﻫـﺎﻱ ﻣﺒﺘﻨﻲ ﺑﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺳﺎﺧﺘﻨﺪ ﺍﺧﺘﺼﺎﺹ ﺗﺨﺼﻴﺺ ﺗﻮﺍﺑـﻊ ﺭﺍ ﺩﺭ ﭘﻴﻜﺮﺑﻨـﺪﻱ ﺩﺭ ﻧﻈﺮ ﮔﻔﺘﻨﺪ .ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﻛﺘﺎﺑﻬﺎﻱ ﻣﻬﻨﺪﺳﻲ ﻧـﺮﻡ ﺍﻓـﺰﺍﺭ ﻣﺮﺍﺣـﻞ ﺗﻮﺳـﻌﻪ ﺑﻴﻦ ﻧﻴﺎﺯﻣﻨﺪﻱﻫﺎ ﻭ ﻃﺮﺍﺣﻲ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﻃﺮﺍﺣﻲ ﻣﻌﻤﺎﺭﻱ ﺗﻮﺻﻴﻒ ﻛﺮﺩﻩﺍﻧﺪ ﻭ ﺍﻳﻦ ﺑﺎ ﺗﺼﻮﺭ ﻣﺎ ﺍﺯ ﺍﻳﻨﻜﻪ ﻛﺠﺎ ﺗﻌﺮﻳﻒ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﺍﺗﻔﺎﻕ ﻣـﻲﺍﻓﺘـﺪ، ﺩﺭ ﮔﺬﺭ ﺍﺯ ﺗﻌﺮﻳﻒ ﻣﺴﺌﻠﻪ ﺑﻪ ﻓﻀﺎﻱ ﺣﻞ ﻣﺴﺌﻠﻪ ﻣﻄﺎﺑﻘﺖ ﺩﺍﺭﺩ ،ﺩﺭ ﺣﺎﻟﻴﻜـﻪ ﺍﻳﺪﻩﻫﺎ ﻭ ﺍﻧﮕﻴﺰﻩﻫﺎﻱ ﺍﺻﻮﻟﻲ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﺟﺪﻳﺪ ﻧﻤـﻲﺑﺎﺷـﺪ .ﺍﻣـﺎ ﺩﺭ ﭼﻨـﺪﻳﻦ ﺳﺎﻝ ﺍﺧﻴﺮ ﻣﺤﻘﻘﺎﻥ ﻭ ﺷـﺎﻏﻠﻴﻦ ﻣﺴـﺎﻳﻞ ﻣﻌﻤـﺎﺭﻱ ﺭﺍ ﺩﺭ ﻛﺎﺭﺷـﺎﻥ ﺭﻭﺷـﻦ ﻛﺮﺩﻩﺍﻧﺪ؛ ﻭ ﻧﮕﺮﺍﻥ ﻧﻤﺎﻳﺶ ﻣﻌﻤﺎﺭﻱ ﺑﻪ ﻋﻨﻮﺍﻥ ﻳﻚ ﻣﺤﺼﻮﻝ ﻣﺼﻨﻮﻋﻲ ﻣﻬـﻢ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡﺍﻓﺰﺍﺭ ﻳﻚ ﭘﻴﻜﺮﺑﻨﺪﻱ ﺳﻄﺢ ﺑﺎﻻ ﺍﺯ ﻣﻮﻟﻔﻪﻫﺎﻳﻲ ﻛـﻪ ﺳﻴﺴـﺘﻢ ﺭﺍ ﺗﺸﻜﻴﻞ ﻣﻲﺩﻫﺪ ﻭ ﺍﺭﺗﺒﺎﻃﺎﺗﻲ ﻛﻪ ﻓﻌﺎﻟﻴﺘﻬﺎﻱ ﺁﻥ ﻣﻮﻟﻔﻪﻫﺎ ﺭﺍ ﻫﻤﺎﻫﻨﮓ ﻣﻲ- ﻛﻨﺪ ﺗﻮﺻﻴﻒ ﺧﻮﺍﻫﺪ ﻛﺮﺩ .ﻣﺎ ﺍﻳﻨﺠﺎ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﻣﻲﮔـﻮﻳﻴﻢ ﺍﻣـﺎ ﺍﻳـﻦ ﭘﻴﻜﺮﺑﻨﺪﻱ ﺳﻄﺢ ﺑﺎﻻ ﻋﻮﺍﻣﻠﻲ ﺭﺍ ﺗﻮﺻﻴﻒ ﻣـﻲﻛﻨـﺪ ﻛـﻪ ﺩﺭ ﻧﻬﺎﻳـﺖ ﺗﻮﺳـﻂ ﻣﻮﻟﻔﻪﻫﺎﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﻳﺎ ﺳﺨﺖ ﺍﻓـﺰﺍﺭ ﺍﺟـﺮﺍ ﺧﻮﺍﻫﻨـﺪ ﺷـﺪ .ﻫﻤﭽﻨـﻴﻦ ﻳـﻚ ﺳﻴﺴﺘﻢ ﻣﻲﺗﻮﺍﻧﺪ ﺍﺯ ﺑﻴﺸﺘﺮ ﺍﺯ ﻳﻚ ﻧﻮﻉ ﻣﻮﻟﻔﻪ ﺗﺸﻜﻴﻞ ﺷﺪﻩ ﺑﺎﺷﺪ؛ ﺑﻨـﺎﺑﺮﺍﻳﻦ ﻫﺮ ﺗﺠﺰﻳﻪ ﭘﻴﻜﺮﺑﻨﺪﻱ ﺧﺎﺹ ﺧﻮﺩ ﺭﺍ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ .ﺑﻪ ﻋﻨـﻮﺍﻥ ﻣﺜـﺎﻝ ﻳـﻚ ﺩﺭ ﭼﺮﺧﻪ ﺣﻴﺎﺕ ﻣﺤﺼﻮﻝ ﺧﻮﺩ ﻣﻲ ﺑﺎﺷﻨﺪ. ﺳﻮﺩﻣﻨﺪﻱ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﺩﺭ ﭼﺮﺧﻪ ﺣﻴﺎﺕ ﺑﻪ ﺭﻭﺵ ﻫﺎﻱ ﺯﻳﺮ ﺧـﻮﺩ ﺭﺍ ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ: • ﻣﻌﻤﺎﺭﻱ ﻣﻌﻤﻮﻻ ﺍﻭﻟﻴﻦ ﻣﺤﺼﻮﻝ ﻣﺼﻨﻮﻋﻲ ﺩﺭ ﻃﺮﺍﺣﻲ ﺍﺳﺖ ﻛﻪ ﻧﺸﺎﻥ ﺩﻫﻨﺪﻩ ﺗﺼﻤﻴﻤﺎﺗﻲ ﺑﺮﺍﻱ ﺭﺳﻴﺪﻥ ﺑﻪ ﻣﻠﺰﻭﻣﺎﺕ ﻣـﻲﺑﺎﺷـﺪ. ﺑﻪ ﻋﻨﻮﺍﻥ ﺟﻠﻮﻩﺍﻱ ﺍﺯ ﺗﺼﻤﻴﻤﺎﺕ ﻃﺮﺍﺣﻲ ﺍﻭﻟﻴﻪ ﻣﻌﻤـﺎﺭﻱ ﻧﺸـﺎﻥ • • ﺩﻫﻨﺪﻩ ﺁﻥ ﺩﺳﺘﻪ ﺍﺯ ﺗﺼﻤﻴﻤﺎﺕ ﻃﺮﺍﺣﻲ ﺍﺳﺖ ﻛـﻪ ﺗﻐﻴﻴـﺮ ﺁﻧﻬـﺎ ﺗﻮﺻﻴﻒ ﺍﺳﺖ ﻛﻪ ﺷﺎﻣﻞ ﺭﺍﺣﺘﻲ ﺍﺳﺘﻔﺎﺩﻩ ،ﻗﺎﺑﻠﻴﺖ ﭘﻴﺶ ﺑﻴﻨـﻲ ﻣﺸﻜﻞ ﺍﺳﺖ ﻭ ﺩﺭ ﻧﺘﻴﺠﻪ ﺑﻪ ﺗﻮﺟﻪ ﺯﻳﺎﺩﻱ ﻧﻴﺎﺯ ﺩﺍﺭﻧﺪ. ﻭ ﻗﺎﺑﻠﻴﺖ ﻳﺎﺩﮔﻴﺮﻱ ﻣﻲﺑﺎﺷﺪ. ٤ ﻣﻌﻤﺎﺭﻱ ﻳﻚ ﻣﺤﺼﻮﻝ ﻣﺼﻨﻮﻋﻲ ﻛﻠﻴﺪﻱ ﺩﺭ ﺭﺳـﻴﺪﻥ ﺑـﻪ ﺧـﻂ ﺑﺎ ﻭﺟﻮﺩ ﻣﻔﻴﺪ ﺑﻮﺩﻥ ﺍﻳﻦ ﻃﺒﻘﻪﺑﻨﺪﻱ ﺍﻣﺎ ﺗﺤﻠﻴﻞ ﻣﻌﻤـﺎﺭﻱ ﺑـﺮ ﺍﺳـﺎﺱ ﺍﻳـﻦ ﺗﻮﻟﻴﺪ ﻣﺤﺼﻮﻝ ﻣﻮﻓﻖ ﻣﻲﺑﺎﺷـﺪ ،ﻳـﻚ ﺗﻮﺳـﻌﻪ ﺳـﺎﺧﺖ ﻳﺎﻓﺘـﻪ ﻛﻴﻔﻴﺖﻫﺎﻱ ﺍﻧﺘﺰﺍﻋﻲ ﺑﺴﻴﺎﺭ ﻣﺸﻜﻞ ﻣﻲﺑﺎﺷـﺪ .ﻛﻴﻔﻴﺘﻬـﺎ ﺑـﻪ ﺧـﻮﺩﻱ ﺧـﻮﺩ ﻣﻨﻈﻢ ﺍﺯ ﺧﺎﻧﻮﺍﺩﻩﺍﻱ ﺍﺯ ﺳﻴﺴﺘﻢﻫـﺎﻱ ﻣﺸـﺎﺑﻪ ﺑـﺎ ﺗـﻼﺵ ﻛﻤﺘـﺮ ﺧﻴﻠﻲ ﻣﻬﻢ ﻣﻲﺑﺎﺷﻨﺪ ﻭ ﭘﺸﺘﻮﺍﻧﻪ ﻛﻴﻔﻴﺘـﻲ ﻛﻤـﻲ ﺑـﺮﺍﻱ ﺍﺭﺯﻳـﺎﺑﻲ ﻣﻌﻤـﺎﺭﻱ ﻫﺰﻳﻨﻪ ﻛﻤﺘﺮ ﻭ ﺭﻳﺴﻚ ﻛﻤﺘﺮ ﺍﺯ ﺗﻮﺳﻌﻪ ﻫـﺮ ﺳﻴﺴـﺘﻢ ﺑـﻪ ﻃـﻮﺭ ﻓﺮﺍﻫﻢ ﻣﻲﻛﻨﻨﺪ. ﻣﺴﺘﻘﻞ ﺍﺳﺖ. ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻟﯽ ﺍﺯ ﺍﺑﻬﺎﻡ ﻓﺮﺽ ﻛﻨﻴﺪ ﻣﻲﺗﻮﺍﻧﻴﻢ ﺭﻧﮕﻬﺎﻱ ﻭﺍﺳﻂ ﻛـﺎﺭﺑﺮ ﺭﺍ ﺑـﺎ ﻣﻌﻤﺎﺭﻱ ﻣﻌﻤﻮﻻ ﺍﻭﻟﻴﻦ ﻣﺤﺼـﻮﻝ ﻣﺼـﻨﻮﻋﻲ ﺍﺳـﺖ ﻛـﻪ ﻭﻗﺘـﻲ ﺗﻐﻴﻴﺮ ﻓﺎﻳﻞ ﻣﻨﺒﻌﻲ ﻛﻪ ﺩﺭ ﺯﻣﺎﻥ ﺍﺟﺮﺍ ﺧﻮﺍﻧﺪﻩ ﻣﻲﺷـﻮﺩ ﺗﻐﻴﻴـﺮ ﺩﻫـﻴﻢ .ﺍﻣـﺎ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ )ﺑﻪ ﻃﻮﺭ ﺧﺎﺹ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﻧﮕﻬﺪﺍﺭﻱ( ﻏﻴـﺮ ﺗﻐﻴﻴﺮ ﻗﻠﻢ ﺍﺳﺘﻔﺎﺩﻩ ﺷﺪﻩ ﺩﺭ ﻭﺍﺳﻂ ﻛﺎﺭﺑﺮ ﻧﻴﺎﺯ ﺑﻪ ﻛﺎﻣﭙﺎﻳﻞ ﻣﺠﺪﺩ ﺩﺍﺭﺩ .ﺁﻳـﺎ ﺁﺷﻨﺎ ﺑﺎ ﺳﻴﺴﺘﻢ ﺷﺮﻭﻉ ﺑﻪ ﻛـﺎﺭ ﻛـﺮﺩﻥ ﺑـﺎ ﺁﻥ ﻣـﻲﻛﻨـﺪ ﻣـﻮﺭﺩ ﺍﻳﻦ ﺳﻴﺴﺘﻢ ﺗﻐﻴﻴﺮ ﭘﺬﻳﺮ ﻣﻲ ﺑﺎﺷﺪ؟ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻐﻴﻴﺮ ﺭﻧﮕﻬﺎ ﺟﻮﺍﺏ ﺍﺣﺘﻤﺎﻻ ﺁﺯﻣﺎﻳﺶ ﻗﺮﺍﺭ ﻣﻲﮔﻴﺮﺩ. ﺑﻠﻪ ﺍﺳﺖ .ﺍﻣﺎ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻐﻴﻴﺮ ﻗﻠﻢ ﺟﻮﺍﺏ ﺧﻴﺮ ﻣﻲﺑﺎﺷﺪ .ﻭ ﺍﻳﻨﻜﻪ ﻃﺮﺍﺣﻲ ﺗﺎﻳﻴﺪ ﻣﺎ ﺑﺮ ﺗﺤﻠﻴﻞ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﺑﺎ ﺍﻳﻦ ﺍﻋﺘﻘﺎﺩ ﻛﻪ ﺩﺭﻙ ﻣﻔﺎﻫﻴﻢ ﻃﺮﺍﺣﻲ ﻣﻨﺠﺮ ﻗﺎﺑﻞ ﻗﺒﻮﻝ ﻣﻲﺑﺎﺷﺪ ﻳﺎ ﺧﻴﺮ ﺑﺴﺘﮕﻲ ﺑﻪ ﭘـﻴﺶ ﺑﻴﻨـﻲ ﺍﺳـﺘﻔﺎﺩﻩ ﻭﺍﻗﻌـﻲ ﺁﻥ ﺑﻪ ﻛﺸﻒ ﺳﺮﻳﻊ ﺧﻄﺎﻫﺎ ﻣﻲﺷﻮﺩ ﻣﻄﺎﺑﻘﺖ ﺩﺍﺭﺩ. ﺩﺍﺭﺩ؛ ﺍﮔﺮ ﻭﺍﺳﻂ ﻛﺎﺭﺑﺮ ﺑﻪ ﺭﻭﺷﻲ ﻛﻪ ﺑﺮﺍﻱ ﻣﺎﻟﻚ ﺁﻥ ﻣﻬﻢ ﻣﻲﺑﺎﺷـﺪ ﺗﻐﻴﻴـﺮ ‐۲‐۱ﺻﻔﺎﺕ ﻛﻴﻔﻴﺘﻲ ﭘﺬﻳﺮ ﺍﺳﺖ ﺩﺭﺍﻳﻦ ﺻﻮﺭﺕ ﻣﻲﺗﻮﺍﻥ ﮔﻔﺖ ﻛـﻪ ﺳﻴﺴـﺘﻢ ﺑـﻪ ﻃـﻮﺭ ﻣﻨﺎﺳـﺒﻲ ﻫﺪﻑ ﻣﺎ ﺍﺯ ﺍﺭﺯﻳﺎﺑﻲ ﻣﻌﻤﺎﺭﻱ ﻣﺸﺨﺺ ﻛـﺮﺩﻥ ﺳـﺎﺯﮔﺎﺭﻱ ﺁﻥ ﺑـﺎ ﺗﻮﺟـﻪ ﺑـﻪ ﻛﻴﻔﻴﺖ ﺳﻴﺴﺘﻢ ﻧﺘﻴﺠﻪ ﺍﺳﺖ .ﻛﻴﻔﻴﺖﻫﺎ ﺭﺍ ﻣﻲﺗﻮﺍﻥ ﺑﻪ ﺳـﻪ ﺩﺳـﺘﻪ ﻃﺒﻘـﻪ ﻛﻴﻔﻴﺖﻫﺎﻳﻲ ﻛﻪ ﺑﺎ ﻣﺸﺎﻫﺪﻩ ﺧﺮﻭﺟﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﺍﺟﺮﺍﻳـﻲ ﺩﺭ ﻗﺒﺎﻝ ﻭﺭﻭﺩﻱﻫﺎ ﻗﺎﺑﻞ ﺗﻮﺻـﻴﻒ ﺍﺳـﺖ ﻋـﻼﻭﻩ ﺑـﺮ ﺩﺭﺳـﺘﻲ ﺍﻳـﻦ ﻛﻴﻔﻴﺖﻫﺎ ﺷﺎﻣﻞ ﺍﻣﻨﻴﺖ ﻗﺎﺑﻠﻴﺖ ﺍﻃﻤﻴﻨـﺎﻥ ﻭ ﻗﺎﺑﻠﻴـﺖ ﺍﺳـﺘﻔﺎﺩﻩ ﻣﻲ ﺑﺎﺷﻨﺪ .ﺑﻌﻀﻲﻫﺎ ﻣﺎﻧﻨﺪ ﻋﻤﻠﻜﺮﺩ ﻳﺎ ﺗﻮﺍﻥ ﻋﻤﻠﻴﺎﺗﻲ ﻭﺍﺑﺴﺘﻪ ﺑﻪ ﺯﻣﺎﻥ ﻣﻲ ﺑﺎﺷﻨﺪ؛ ﺩﺭ ﺣﺎﻟﻴﻜﻪ ﺑﻘﻴﻪ ﻭﺍﺑﺴﺘﻪ ﺑﻪ ﺯﻣﺎﻥ ﻧﻤﻲ ﺑﺎﺷﻨﺪ. .۲ ﻛﻴﻔﻴﺘﻬﺎﻳﻲ ﻛﻪ ﺑﺎ ﺍﻧﺪﺍﺯﻩﮔﻴﺮﻱ ﻓﻌﺎﻟﻴﺖﻫﺎﻱ ﺗﻴﻢ ﺗﻮﺳﻌﻪ ﺩﻫﻨـﺪﻩ ﻳﺎ ﻧﮕﻬﺪﺍﺭﻧﺪﻩ ﻗﺎﺑﻞ ﺗﻮﺻﻴﻒ ﺍﺳﺖ ﻛﻪ ﺷﺎﻣﻞ ﻗﺎﺑﻠﻴﺖ ﻧﮕﻬـﺪﺍﺭﻱ،١ .۳ ﺑﻜﺎﺭ ﺑﺮﺩ. ﺩﺭ ﺣﺎﻝ ﺣﺎﺿﺮ ﻭ ﺩﺭ ﺁﻳﻨﺪﻩ ﻗﺎﺑﻞ ﭘﻴﺶ ﺑﻴﻨﻲ ﻳﻚ ﺳـﻨﺠﺶ ﻋﻤـﻮﻣﻲ ﺑـﺮﺍﻱ ﺑﻨﺪﻱ ﻛﺮﺩ: .۱ ﺗﻐﻴﻴﺮ ﭘﺬﻳﺮ ﻣﻲﺑﺎﺷﺪ .ﻣﻔﻬﻮﻡ ﺗﻨﺎﺳﺐ ﺭﺍ ﻣﻲﺗﻮﺍﻥ ﺑﺮﺍﻱ ﻫﻤﻪ ﻋﻮﺍﻣﻞ ﻛﻴﻔﻴﺘﻲ ﺻﻔﺎﺗﻲ ﻣﺎﻧﻨﺪ ﻗﺎﺑﻠﻴﺖ ﺣﻤﻞ ﻳﺎ ﺍﻳﻤﻨﻲ ﻭﺟﻮﺩ ﻧﺪﺍﺭﺩ .ﺗـﺎ ﺣـﺪﻱ ﺍﻳـﻦ ﺻـﻔﺎﺕ ﻓﻘﻂ ﺳﻨﺠﺶﻫﺎﻱ ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺘﻦ ﻣﻲﺑﺎﺷﻨﺪ ﻛﻪ ﺩﺭ ﺷﺮﺍﻳﻂ ﺧﺎﺻﻲ ﺍﺯ ﺍﺟـﺮﺍ ﻳﺎ ﺗﻮﺳﻌﻪ ﻣﻌﻨﻲﺩﺍﺭ ﻫﺴﺘﻨﺪ .ﻣﺤﻜﻬﺎﻱ ﺍﻳﻤﻨﻲ ﻣﺜﺎﻝ ﺧﻮﺑﻲ ﻣـﻲﺑﺎﺷـﺪ .ﺍﮔـﺮ ﻳﻚ ﺳﻨﺠﺶ ﻋﻤﻮﻣﻲ ﺍﺯ ﺍﻳﻤﻨﻲ ﻭﺟﻮﺩ ﺩﺍﺷﺖ ﻣﺤﻜﻬﺎ ﻻﺯﻡ ﻧﺒﻮﺩ .ﺯﻳﺮﺍ ﻣﺤﻚ ﻧﺸﺎﻥ ﺩﻫﻨﺪﻩ ﺩﺍﺩﻩﻫﺎﻳﻲ ﺩﺭﺑﺎﺭﻩ ﻳﻚ ﺳﻴﺴﺘﻢ ﺍﺟﺮﺍﻳﻲ ﺑﺎ ﻳﻚ ﻭﺭﻭﺩﻱ ﺧـﺎﺹ ﺩﺭ ﻳﻚ ﻣﺤﻴﻂ ﺧﺎﺹ ﻣﻲ‐ﺑﺎﺷﺪ ﻛﻪ ﻣﺎ ﺁﻧﻬﺎ ﺭﺍ ﺑﻪ ﻋﻨـﻮﺍﻥ ﻣﺤـﻚ ﺍﺳـﺘﻔﺎﺩﻩ ﻣﻲﻛﻨﻴﻢ. ﻗﺎﺑﻠﻴﺖ ﺣﻤﻞ ،٢ﻭﻓﻖ ﭘﺬﻳﺮﻱ ،٣ﻭ ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮﻱ ﻣﻲﺑﺎﺷﺪ. ‐۳‐۱ﺳﻨﺎﺭﻳﻮﻫﺎ ﻛﻴﻔﻴﺖﻫﺎﻳﻲ ﻛﻪ ﺑﺎ ﺍﻧﺪﺍﺯﻩﮔﻴﺮﻱ ﻓﻌﺎﻟﻴﺖ ﻫﺎﻱ ﻳﻚ ﻛﺎﺭﺑﺮ ﺧـﺎﺹ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺑﻪ ﻋﻨﻮﺍﻥ ﺗﻜﻨﻴﻜﻲ ﺩﺭ ﻃﻲ ﺍﺳﺘﺨﺮﺍﺝ ﻣﻠﺰﻭﻣﺎﺕ ،ﺑﻪ ﻃﻮﺭ ﮔﺴﺘﺮﺩﻩ- )ﺍﺣﺘﻤﺎﻻ ﺳﻴﺴﺘﻢ ﺩﻳﮕﺮ( ﺩﺭ ﺗﻮﺍﻓﻖ ﺑـﺎ ﺳﻴﺴـﺘﻢ ﺍﺟﺮﺍﻳـﻲ ﻗﺎﺑـﻞ ﺍﻱ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻗـﺮﺍﺭ ﮔﺮﻓﺘـﻪ ﻭ ﻣﺴـﺘﻨﺪ ﺷـﺪﻩﺍﻧـﺪ .ﻫﻤﭽﻨـﻴﻦ ﺑـﻪ ﻃـﻮﺭ ﮔﺴﺘﺮﺩﻩﺍﻱ ﺣﻴﻦ ﻃﺮﺍﺣـﻲ ﺑـﻪ ﻋﻨـﻮﺍﻥ ﺭﻭﺷـﻲ ﺑـﺮﺍﻱ ﻣﻘﺎﻳﺴـﻪ ﺭﻭﺵﻫـﺎﻱ ﻃﺮﺍﺣﻲ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻗﺮﺍﺭ ﮔﺮﻓﺘﻪﺍﻧﺪ .ﺗﺠﺮﺑﻪ ﻧﺸـﺎﻥ ﻣـﻲﺩﻫـﺪ ﻛـﻪ ﺑﺮﻧﺎﻣـﻪ ﺗﻤﺎﻳﺰﻱ ﺑﻴﻦ ﺍﻧﻮﺍﻉ ﺳﻨﺎﺭﻳﻮ ﻛﻪ ﺩﺭ ﻛﺎﺭ ﻣﺎ ﻣﻬـﻢ ﺍﺳـﺖ ﻭﺟـﻮﺩ ﺩﺍﺭﺩ .ﺩﻭﺑـﺎﺭﻩ ﻧﻮﻳﺴﺎﻥ ﺍﺯ ﺳﻨﺎﺭﻳﻮ ﺑﺮﺍﻱ ﺩﺭﻙ ﺳﻴﺴﺘﻢ ﺳﺎﺧﺘﻪ ﺷﺪﻩ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲﻛﻨﻨـﺪ ،ﺑـﺎ ﺑﻴﺎﻥ ﻣﻲﻛﻨﻴﻢ ﻛﻪ ﺳﻨﺎﺭﻳﻮ ﺗﻮﺻﻴﻒ ﻣﺨﺘﺼﺮﻱ ﺍﺯ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻄﻠﻮﺏ ﺳﻴﺴـﺘﻢ ﺳﻮﺍﻝ ﺩﺭﺑﺎﺭﻩ ﺍﻳﻨﻜﻪ ﭼﮕﻮﻧـﻪ ﺳﻴﺴـﺘﻢ ﺑـﻪ ﻳـﻚ ﻭﺭﻭﺩﻱ ﺧـﺎﺹ ﻳـﺎ ﺷـﺮﺍﻳﻂ ﺍﺳﺖ .ﻣﻤﻜﻦ ﺍﺳﺖ ﺣﺎﻟﺘﻲ ﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﺳﻴﺴﺘﻢ ﺑﻪ ﻃﻮﺭ ﻣﺴﺘﻘﻴﻢ ﻋﻤﻠﻴﺎﺗﻲ ﭘﺎﺳﺦ ﻣﻲﺩﻫﺪ .ﻫﺮﭼﻨﺪﻛـﻪ ﺳـﻨﺎﺭﻳﻮﻫﺎ ﺑـﻪ ﻋﻨـﻮﺍﻥ ﺍﺑـﺰﺍﺭﻱ ﺑـﺮﺍﻱ ﺁﻥ ﺳﻨﺎﺭﻳﻮ ﺭﺍ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻛﻨﺪ ﻳﻌﻨﻲ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻮﺭﺩ ﺍﻧﺘﻈـﺎﺭ ﺑـﻪ ﺗﻐﻴﻴـﺮﻱ ﺩﺭ ﺗﺤﻠﻴﻞ ﻛﻴﻔﻴﺖ ﺍﺳﺘﻔﺎﺩﻩ ﻧﺸﺪﻩﺍﻧﺪ .ﻣﺎ ﺍﺯ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺑـﺮﺍﻱ ﺑﻴـﺎﻥ ﻳـﻚ ﻧﻤﻮﻧـﻪ ﺳﻴﺴﺘﻢ ﺑﺮﺍﻱ ﺍﻧﺠﺎﻡ ﺷﺪﻥ ﺍﺣﺘﻴﺎﺝ ﻧﺪﺍﺷﺘﻪ ﺑﺎﺷﺪ .ﺍﮔﺮ ﻳﻚ ﺳﻨﺎﺭﻳﻮ ﺑـﻪ ﻃـﻮﺭ ﺧﺎﺹ ﺍﺯ ﻫﺮ ﺻﺤﺖ ﻛﻴﻔﻴﺘﻲ ﻛﻪ ﺑﺮﺍﻱ ﻣﺸﺘﺮﻱ ﺳﻴﺴﺘﻢ ﻣﻬﻢ ﺍﺳﺖ ﺍﺳﺘﻔﺎﺩﻩ ﻣﺴﺘﻘﻴﻢ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻧﺸـﻮﺩ ﺑـﻪ ﺍﻳـﻦ ﻣﻌﻨـﻲ ﺍﺳـﺖ ﻛـﻪ ﺑﺎﻳـﺪ ﺗﻐﻴﻴﺮﺍﺗـﻲ ﺩﺭ ﻣﻲﻛﻨﻴﻢ ﺳﭙﺲ ﻣﻌﻤﺎﺭﻱ ﺭﺍ ﺑﺎ ﺗﻮﺟـﻪ ﺑـﻪ ﺍﻳﻨﻜـﻪ ﭼﮕﻮﻧـﻪ ﻣﺤـﺪﻭﺩﻳﺖﻫـﺎﻱ ﺳﻴﺴﺘﻢ ﺩﺍﺩﻩ ﺷﻮﺩ ﻛﻪ ﺑﺘﻮﺍﻧﻴﻢ ﻣﻌﻤﺎﺭﻱ ﺭﺍ ﻧﺸﺎﻥ ﺩﻫﻴﻢ .ﺍﻳﻦ ﺗﻐﻴﻴﺮ ﻣﻲﺗﻮﺍﻧﺪ ﺗﺤﻤﻴﻞ ﺷﺪﻩ ﺑﺎ ﻫﺮ ﺳﻨﺎﺭﻳﻮ ﺭﺍ ﺑﺮﺁﻭﺭﺩﻩ ﻣﻲﻛﻨﺪ ﺗﺤﻠﻴﻞ ﺧﻮﺍﻫﻴﻢ ﻛﺮﺩ. ﺗﻐﻴﻴﺮﻱ ﺑﺎﺷﺪ ﻛﻪ ﭼﮕﻮﻧﻪ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﻮﻟﻔﻪ ﻓﻌﺎﻟﻴﺖ ﺗﺨﺼـﻴﺺ ﺩﺍﺩﻩ ﺷـﺪﻩ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺍﺯ ﻧﻈﺮ ﻭﺳﻌﺖ ﺑﻜﺎﺭﮔﻴﺮﻱ ﻭ ﻫﺪﻑ ﺑﻜـﺎﺭﮔﻴﺮﻱ ﻣﺘﻔـﺎﻭﺕ ﻫﺴـﺘﻨﺪ. ﺭﺍ ﺍﺟﺮﺍ ﻣﻲﻛﻨﻨﺪ ،ﺍﺿﺎﻓﻪ ﻛﺮﺩﻥ ﻳﻚ ﻣﻮﻟﻔﻪ ﺑﺮﺍﻱ ﺍﺟﺮﺍ ﻛﺮﺩﻥ ﭼﻨﺪ ﻓﻌﺎﻟﻴـﺖ، ﺍﺳﺘﻔﺎﺩﻩ ﻣﺎ ﺍﺯ ﺳﻨﺎﺭﻳﻮﻫﺎ ﻳﻚ ﺗﻮﺻـﻴﻒ ﺧﻼﺻـﻪ ﺍﺯ ﺍﺳـﺘﻔﺎﺩﻩ ﻣﻄﻠـﻮﺏ ﻳـﻚ ﺍﺿﺎﻓﻪ ﻛﺮﺩﻥ ﻳﻚ ﺍﺭﺗﺒﺎﻁ ﺑﻴﻦ ﻣﻮﻟﻔﻪﻫﺎﻱ ﻣﻮﺟﻮﺩ ،ﻳﺎ ﺗﺮﻛﻴﺐ ﻛـﺮﺩﻥ ﻣـﻮﺍﺭﺩ ﺳﻴﺴﺘﻢ ﺍﺳﺖ. ﺑﺎﻻ .ﻣﺎ ﺑﻪ ﺩﺳﺘﻪ ﺍﻭﻝ ﺳـﻨﺎﺭﻳﻮﻫﺎ ،ﺳـﻨﺎﺭﻳﻮﻫﺎﻱ ﻣﺴـﺘﻘﻴﻢ ﻭ ﺑـﻪ ﺩﺳـﺘﻪ ﺩﻭﻡ ﺗﺎﻛﻴﺪ ﻣﻲﻛﻨﻴﻢ ﻛـﻪ ﺍﺳـﺘﻔﺎﺩﻩ ﺍﺯ ﺳـﻨﺎﺭﻳﻮﻫﺎ ﺩﺭ ﻫﻤـﻪ ﻧﻘﺸـﻬﺎﻱ ﺩﺭﮔﻴـﺮ ﺩﺭ ﺳﻨﺎﺭﻳﻮﻫﺎﻱ ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ﻣﻲﮔﻮﻳﻴﻢ .ﻣـﺎ ﺍﺯ ﺳـﻨﺎﺭﻳﻮﻫﺎﻱ ﻣﺴـﺘﻘﻴﻢ ﻭ ﻏﻴـﺮ ﺳﻴﺴﺘﻢ ﻣﻨﺎﺳﺐ ﺍﺳﺖ .ﻧﻘﺶ ﻋﻤﻠﮕﺮ ﺑﻪ ﻃﻮﺭ ﮔﺴﺘﺮﺩﻩﺍﻱ ﻣﻮﺭﺩ ﺑﺮﺭﺳﻲ ﻗﺮﺍﺭ ﻣﺴﺘﻘﻴﻢ ﺩﺭ ﻓﺎﺯﻫﺎﻱ ﻣﺨﺘﻠﻔﻲ ﺍﺯ ﺭﻭﺵ ﺗﺤﻠﻴﻞ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲﻛﻨﻴﻢ. ﮔﺮﻓﺘﻪ ﺍﺳﺖ ﺍﻣﺎ ﻧﻘﺸﻬﺎﻱ ﺩﻳﮕﺮﻱ ﻧﻴﺰ ﺩﺭ ﺳﻴﺴﺘﻢ ﻭﺟﻮﺩ ﺩﺍﺭﻧﺪ ،ﻣﺎﻧﻨﺪ ﻃﺮﺍﺡ ﻧﻜﺘﻪ ﺁﺧﺮ :ﻫﻤﻪ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺩﺭ ﺗﻤﺎﺱ ﺑﺎ ﺗﺼﻤﻴﻤﺎﺕ ﺳـﻄﺢ ﻃﺮﺍﺣـﻲ ﻧﻤـﻲ- ﺳﻴﺴﺘﻢ ،ﺗﻐﻴﻴﺮ ﺩﻫﻨﺪﻩ ،٥ﻣـﺪﻳﺮ ﺳﻴﺴـﺘﻢ ﻭ ﺑﻘﻴـﻪ ﻛـﻪ ﺑﺴـﺘﮕﻲ ﺑـﻪ ﺩﺍﻣﻨـﻪ ﺑﺎﺷﻨﺪ .ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ ،ﻳﻚ ﺳﻨﺎﺭﻳﻮ ﻗﺎﺑﻞ ﺣﻤﻞ ﺑﺎﻳﺪ ﺩﻻﻟﺖﻫـﺎﻱ ﻣﻌﻤـﺎﺭﻱ ﺳﻴﺴﺘﻢ ﺩﺍﺭﺩ .ﺩﺭ ﺗﺤﻠﻴﻞ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻬـﻢ ﺍﺳـﺖ ﻛـﻪ ﻫﻤـﻪ ﻧﻘـﺶﻫـﺎﻱ ﻧﻴﺰ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ )ﻣﺎﻧﻨﺪ ﻣﺸﺨﺺ ﻛﺮﺩﻥ ﺍﻳﻨﻜﻪ ﭼﮕﻮﻧﻪ ﻋﻮﺍﻣﻞ ﺍﺟﺮﺍﻳﻲ ﺑﺎﻳـﺪ ﻣﺮﺗﺒﻂ ﺑﺎ ﺳﻴﺴﺘﻢ ﺑﺮﺭﺳﻲ ﺷﻮﻧﺪ ﺯﻳﺮﺍ ﺗﺼﻤﻴﻤﺎﺕ ﻃﺮﺍﺣﻲ ﺑﺮ ﺍﺳﺎﺱ ﺗﻄﺒﻴـﻖ ﺗﻘﺴﻴﻢ ﺷﻮﺩ( ﺍﻣﺎ ﻣﻤﻜﻦ ﺍﺳﺖ ﺑﻪ ﻓﺎﻛﺘﻮﺭﻫـﺎﻳﻲ ﻣﺜـﻞ ﻛـﺪ ﻭ ﺳـﺨﺖ ﺍﻓـﺰﺍﺭ ﺩﺍﺩﻥ ﻫﺮﻳﻚ ﺍﺯ ﻧﻘﺸﻬﺎ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﺩ .ﺗﻮﺟﻪ ﺑﻪ ﻧﻘﺸﻬﺎ ﻣﻨﺠﺮ ﺑﻪ ﺗﻤﺎﻳﺰ ﺑﻴﻦ ﺑﺴﺘﮕﻲ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ،ﻣﺎﻧﻨﺪ ﺗﺮﺗﻴﺐ ﺑﺎﻳﺖ .ﻋﻼﻭﻩ ﺑﺮﺍﻳﻦ ﺑﻌﻀﻲ ﺍﺯ ﺳـﻨﺎﺭﻳﻮﻫﺎ ﺯﻣﺎﻥ ﺍﺟﺮﺍ )ﻣﺜﻼ ﻳﻚ ﺳﻨﺎﺭﻳﻮ ﺑﺮﺍﻱ ﻧﻘﺶ ﻋﻤﻠﮕﺮ( ﻭ ﺯﻣﺎﻥ ﺗﻮﺳﻌﻪ )ﻣﺜﻼ ﻳﻚ ﺭﺍ ﻧﻤﻲﺗﻮﺍﻥ ﺑﻪ ﺭﺍﺣﺘﻲ ﺗﻮﺳﻂ ﺍﻃﻼﻋﺎﺕ ﻣﻌﻤﺎﺭﻱ ﺍﺭﺯﻳﺎﺑﻲ ﻛـﺮﺩ .ﺑـﻪ ﻋﻨـﻮﺍﻥ ﺳﻨﺎﺭﻳﻮ ﺑﺮﺍﻱ ﻣﻬﻨﺪﺱ ﻧﮕﻬﺪﺍﺭﻱ( ﻣﻲﺷﻮﺩ. ﻣﺜﺎﻝ ﺍﮔﺮ ﻳﻚ ﺳﻨﺎﺭﻳﻮ ﺗﻮﺳﻌﻪ ﺩﻫﻨﺪﻩ ﺍﻳﻦ ﺍﻃﻤﻴﻨﺎﻥ ﺭﺍ ﺑﺪﻫﺪ ﻛﻪ ﻫﻴﭻ ﮔﻮﻧـﻪ ﻓﺮﺁﻳﻨﺪ ﺍﻧﺘﺨﺎﺏ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺑـﺮﺍﻱ ﺗﺤﻠﻴـﻞ ،ﻃـﺮﺍﺡ ﺭﺍ ﻣﺠﺒـﻮﺭ ﻣـﻲﻛﻨـﺪ ﻛـﻪ ﭘﻴﻤﺎﻧﻪﺍﻱ ﺑﻴﺸﺘﺮ ﺍﺯ ۲۵۰ﺧﻂ ﻛﺪ ﻧﺪﺍﺭﺩ ﺍﻳﻦ ﻣﺤـﺪﻭﺩﻳﺖ ﺭﺍ ﻧﻤـﻲﺗـﻮﺍﻥ ﺑـﺎ ﺍﺳﺘﻔﺎﺩﻩﻫﺎﻱ ﺁﺗﻲ ﻭ ﺗﻐﻴﻴﺮﺍﺕ ﺳﻴﺴﺘﻢ ﺭﺍ ﻧﻴﺰ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﺩ. ﺗﺤﻠﻴﻞ ﺩﺭ ﺳﻄﺢ ﻣﻌﻤﺎﺭﻱ ﺑﺮﺭﺳﻲ ﻛﺮﺩ. ﺑﻨﺎﺑﺮﺍﻳﻦ ﻣﺎ ﻣﻌﺘﻘﺪﻳﻢ ﻛﻪ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻧﻤﻲﺗﻮﺍﻧﺪ ﻳﻚ ﺳﻨﺠﺶ ﺩﻗﻴـﻖ ﺍﺯ ۴‐۱ﭼﮕﻮﻧﻪ ﺗﺤﻠﻴﻞ ﺑﺮ ﻃﺮﺍﺣﻲ ﺗﺎﺛﻴﺮ ﻣﻲﮔﺬﺍﺭﺩ ﺳﺎﺯﮔﺎﺭﻱ ﺑﺎﺷﺪ .ﺍﻳﻦ ﺳﻨﺠﺶﻫﺎ ﺑﺎﻳﺪ ﺩﺭ ﻗﺎﻟﺐ ﻛﻴﻔﻴﺖ ﺑﻴـﺎﻥ ﺷـﻮﻧﺪ )ﻣـﺜﻼ "ﭼﮕﻮﻧﻪ ﺍﻳﻦ ﻣﻌﻤﺎﺭﻱ ﺗﻐﻴﻴﺮ ﭘـﺬﻳﺮ ﺍﺳـﺖ ؟"( ﻭ ﺍﻳـﻦ ﺳـﻮﺍﻟﻬﺎ ﺍﺭﺯﺵ ﻛﻤـﻲ ﺩﺍﺭﻧﺪ .ﭼﻴﺰﻱﻛﻪ ﻣﺎ ﻭﺍﻗﻌﺎ ﻣﻲﺧﻮﺍﻫﻴﻢ ﺍﻳﻦ ﺍﺳﺖ ﻛﻪ" :ﭼﮕﻮﻧﻪ ﺍﻳـﻦ ﻣﻌﻤـﺎﺭﻱ ﺗﻐﻴﻴﺮﺍﺕ ﺑﻌﺪﻱ ﺭﺍ ﺩﺭ ﺑﺮﺧﻮﺍﻫﺪ ﮔﺮﻓﺖ؟" ﻳﺎ "ﭼﮕﻮﻧﻪ ﺍﻳﻦ ﻣﻌﻤﺎﺭﻱ ﺗﻐﻴﻴـﺮﺍﺕ ﺩﺭ ﻛﻼﺳﻬﺎ ﺭﺍ ﺩﺭﺑﺮ ﺧﻮﺍﻫﺪ ﮔﺮﻓﺖ؟". ﻓﺮﺁﻳﻨﺪﻫﺎﻱ ﺗﺤﻠﻴﻞ ﻭ ﻃﺮﺍﺣﻲ ﺑﺸﺪﺕ ﺩﺭ ﻫﻢ ﭘﻴﭽﻴﺪﻩﺍﻧﺪ ﻳﻌﻨﻲ ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﻃﺮﺍﺡ ﺍﺳﺎﺱ ﻣﺮﻭﺭ ﻃﺮﺍﺣﻲ ﺭﺍ ﻣﻲﺩﺍﻧﺪ ،ﺧﻮﺩ ﻃﺮﺍﺣﻲ ﻧﻴﺰ ﻗﻄﻌﺎ ﺗﺤﺖ ﺗـﺎﺛﻴﺮ ﻗﺮﺍﺭ ﺧﻮﺍﻫﺪ ﮔﺮﻓﺖ .ﺑﻨﺎﺑﺮﺍﻳﻦ ﻧﺒﺎﻳﺪ ﺗﻌﺠﺐ ﺑﺮﺍﻧﮕﻴـﺰ ﺑﺎﺷـﺪ ﻛـﻪ ﻭﻗﺘـﻲ ﻳـﻚ ﺭﻭﺵ ﺗﺤﻠﻴﻞ ﺭﺍ ﺑﻪ ﻛﺎﺭ ﻣﻲﺑﺮﻳﻢ ﺗﺎﺛﻴﺮﺍﺗﻲ ﺑﺮ ﺭﻭﻱ ﻃﺮﺍﺣﺎﻥ ﻣـﻲﮔـﺬﺍﺭﺩ ﻛـﻪ ﻣﺴﺘﻘﻞ ﺍﺯ ﺗﺤﻠﻴﻞ ﺍﺳﺖ .ﺩﺭ ﺍﻧﺠﺎﻡ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻣﺒﺘﻨـﻲ ﺑـﺮ ﻧـﺮﻡ ﺍﻓـﺰﺍﺭ ﺍﻧﺠﺎﻡ ﺷﻮﺩ .ﺷﻜﻞ ۱‐۲ﻧﺸﺎﻥ ﺩﻫﻨﺪﻩ ﻣﺮﺍﺣﻞ SAAMﻭ ﺭﻭﺍﺑﻂ ﻭﺍﺑﺴـﺘﮕﻲ ﻣﺰﺍﻳﺎﻱ ﺯﻳﺮ ﺭﺍ ﻣﺸﺎﻫﺪﻩ ﻛﺮﺩﻩﺍﻳﻢ: ﺑﻴﻦ ﺁﻥ ﻣﺮﺍﺣﻞ ﺍﺳﺖ .ﻣﺮﺍﺣﻞ SAAMﻭ ﻣﺤﺼﻮﻻﺕ ﻫﺮﻳﻚ ﻋﺒﺎﺭﺗﻨﺪ ﺍﺯ: .۱ .۲ .۳ ﺗﻮﺍﻧﺎﻳﻲ ﻣﻘﺎﻳﺴﻪ ﻃﺮﺍﺣﻲﻫﺎﻱ ﺳﻄﺢ ﺑﺎﻻﻱ ﺳﻴﺴﺘﻢ ﻭ ﻣﺴﺘﻨﺪﺍﺕ .۱ ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎﺭﻱ ﻛﺎﻧﺪﻳﺪ :ﻣﻌﻤﺎﺭﻱ ﻳﺎ ﻣﻌﻤﺎﺭﻱﻫـﺎﻱ ﻛﺎﻧﺪﻳـﺪ ﺁﻥ ﻣﻘﺎﻳﺴﻪﻫﺎ، ﺑﺎﻳﺪ ﺑﺎ ﻳﻚ ﻧﻤﺎﺩ ﻣﻌﻤﺎﺭﻱ ﺑﻪ ﻧﺤﻮﻱ ﺗﻮﺻﻴﻒ ﺷﻮﺩ ﻛﻪ ﺑﻪ ﺧـﻮﺑﻲ ﺗﻤﺮﻛﺰ ﺑﺮ ﻓﻌﺎﻟﻴﺖ ﻃﺮﺍﺣﻲ ﺟﺎﻳﻲ ﻛﻪ ﺑﺴﻴﺎﺭ ﻻﺯﻡ ﺍﺳـﺖ ﻭ ﻣـﻲ- ﺗﻮﺳﻂ ﺑﺨـﺶﻫـﺎﻱ ﻣﺨﺘﻠـﻒ ﺩﺭﮔﻴـﺮ ﺩﺭ ﺗﺤﻠﻴـﻞ ﺩﺭﻙ ﺷـﻮﺩ. ﺗﻮﺍﻧﺪ ﺑﺴﻴﺎﺭ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻣﺠﺪﺩ ﻗﺮﺍﺭ ﮔﻴﺮﺩ، ﺗﻮﺻﻴﻒﻫﺎﯼ ﻣﻌﻤﺎﺭﻱ ﺑﺎﻳﺪ ﻧﺸﺎﻥ ﺩﻫﻨـﺪﻩ ﻣﺤﺎﺳـﺒﻪ ﺳﻴﺴـﺘﻢ ﻭ ﺍﻓﺰﺍﻳﺶ ﺍﺭﺗﺒﺎﻃﺎﺕ ﺳﻄﺢ ﺑﺎﻻ ﺩﺭ ﻳﻚ ﺗﻴﻢ ﺗﻮﺳﻌﻪ ﺩﻫﻨﺪﻩ ﻭ ﺑـﻴﻦ ﻣﻮﻟﻔﻪﻫﺎﻱ ﺩﺍﺩﻩ ﻭ ﺍﺭﺗﺒﺎﻃﺎﺕ ﺑﻴﻦ ﻫﻤﻪ ﻣﻮﻟﻔﻪﻫﺎ ﺑﺎﺷﺪ. ﺗﻮﺳﻌﻪ ﺩﻫﻨﺪﻩﻫﺎ ﻭ ﻣﺸﺘﺮﻳﺎﻥ ﻳﻚ ﺳﻴﺴﺘﻢ. .۲ ﺗﻮﺳﻌﻪ ﻣﻌﻤﺎﺭﻱ :ﺗﻮﺳﻌﻪ ﺳﻨﺎﺭﻳﻮﻫﺎ ﻧﺸﺎﻥ ﺩﻫﻨﺪﻩ ﻓﻌﺎﻟﻴﺖﻫﺎﻳﻲ ﺑﺎﻳﺪ ﻣﺘﺬﻛﺮ ﺷﻮﻳﻢ ﻛﻪ ﺑﺎ ﺳﻄﺢ ﺟﺎﺭﻱ ﺑﻠـﻮﻍ ﺍﺻـﻮﻝ ﻣﻬﻨﺪﺳـﻲ ﻧـﺮﻡ ﺍﻓـﺰﺍﺭ، ﻣﻲﺑﺎﺷﺪ ﻛﻪ ﺳﻴﺴﺘﻢ ﭘﺸـﺘﻴﺒﺎﻧﻲ ﻣـﻲﻛﻨـﺪ ﻭ ﻫﻤﭽﻨـﻴﻦ ﻧﺸـﺎﻥ ﻣﺰﺍﻳﺎﻳﻲ ﻛﻪ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﺑﺮﺍﻱ ﻳﻚ ﭘﺮﻭﮊﻩ ﺑﻪ ﻫﻤﺮﺍﻩ ﺩﺍﺭﺩ ﺍﺳﺎﺳﺎ "ﻣﺒﺘﻨﻲ ﺩﻫﻨﺪﻩ ﺗﻐﻴﻴﺮﺍﺗﻲ ﺍﺳﺖ ﻛﻪ ﭘﻴﺶ ﺑﻴﻨـﻲ ﺷـﺪﻩ ﺍﺳـﺖ ﺑـﻪ ﻣـﺮﻭﺭ ﺑﺮ ﻓﺮﺁﻳﻨﺪ ﻭ ﻣﺒﺘﻨﻲ ﺑﺮ ﺍﻓﺮﺍﺩ ﺍﺳﺖ .ﻳﻌﻨﻲ ،ﺧﺮﻭﺟﻲ ﻓﺮﺁﻳﻨﺪ ﺗﺤﻠﻴﻞ ﺗﻮﺟﻪ ﺑـﻪ ﺯﻣﺎﻥ ﺩﺭ ﺳﻴﺴﺘﻢ ﺍﻳﺠﺎﺩ ﺧﻮﺍﻫﺪ ﺷﺪ .ﺑﺎ ﺗﻮﺳـﻌﻪ ﺍﻳـﻦ ﺳـﻨﺎﺭﻳﻮﻫﺎ ﻣﺴﺌﻠﻪ ﺧﺎﺹ ﺩﺭ ﻃﺮﺍﺣﻲ ﺍﺳﺖ ،ﻧـﻪ ﺭﺍﻩ ﺣـﻞﻫـﺎﻱ ﭘﻴﺸـﻨﻬﺎﺩ ﺷـﺪﻩ ﺑـﺮﺍﻱ ﻻﺯﻡ ﺍﺳﺖ ﮐﻪ ﺍﺳﺘﻔﺎﺩﻩﻫﺎﻱ ﻣﻬﻢ ﺳﻴﺴﺘﻢ ﺿﺒﻂ ﺷﻮﺩ ﺑﻨـﺎﺑﺮﺍﻳﻦ ﻣﺴﺎﻳﻞ ﻣﺸﺨﺺ ﺷﺪﻩ ﺍﺳﺖ. ﺳﻨﺎﺭﻳﻮﻫﺎ ﻧﺸـﺎﻥ ﺩﻫﻨـﺪﻩ ﻭﻇـﺎﻳﻔﻲ ﻫﺴـﺘﻨﺪ ﻛـﻪ ﺑـﻪ ﻧﻘﺸـﻬﺎﻱ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻛﻤﻚ ﻣﻲﮐﻨﺪ ﻛﻪ ﺍﺭﺗﺒﺎﻁ ﺑﻴﻦ ﺍﻋﻀﺎﻱ ﺗﻴﻢ ﺗﻮﺳﻌﻪ ﺩﻫﻨﺪﻩ ﻣﺨﺘﻠﻔﻲ ﺩﺭ ﺳﻴﺴﺘﻢ ﻣﺮﺑﻮﻁ ﺍﺳﺖ ﻣﺎﻧﻨﺪ :ﻛﺎﺭﺑﺮﻧﻬﺎﻳﻲ/ﻣﺸـﺘﺮﻱ، ﺑﻬﺘﺮ ﺷﻮﺩ ﻭ ﺑﻴﻦ ﺍﻋﻀﺎﻱ ﺗﻴﻢ ﻭ "ﺑﻴﮕﺎﻧﻪﻫﺎ :"٦ﻣﺪﻳﺮﺍﻥ ﺳﻄﺢ ﺑـﺎﻻ ،ﻣﺸـﺘﺮﻱ، ﺑﺎﺯﺍﺭﻳﺎﺏ ،ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ ،ﻧﮕﻬﺪﺍﺭﻧﺪﻩ ،ﻭ ﺗﻮﺳﻌﻪ ﺩﻫﻨﺪﻩ. ﻛﺎﺭﺑﺮﻫﺎ .ﺑﺨﺸﻲ ﺍﺯ ﻣﺰﺍﻳﺎ ﺑﺎ ﺍﻧﺘﺨﺎﺏ ﻳﻚ ﻧﻤـﺎﺩ ﻣﻌﻨـﺎﻳﻲ ﻭ ﻧﺤـﻮﻱ ﻣﺸـﺘﺮﻙ ﺑﺮﺍﻱ ﻧﻤﺎﻳﺶ ﻣﻌﻤـﺎﺭﻱ ﺑـﻪ ﺭﺍﺣﺘـﻲ ﺍﺗﻔـﺎﻕ ﻣـﻲﺍﻓﺘـﺪ .ﻫﺮﭼﻨﺪﮐـﻪ ،ﺑﺨـﺶ ﺑﻴﺸﺘﺮﻱ ﺍﺯ ﺳﻮﺩ ﻃﻐﻴﺎﻥ ﻣﻲﻛﻨﺪ ﺯﻳﺮﺍ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﻣﺒﺘﻨﻲ ﺑـﺮ ﺳﻨﺎﺭﻳﻮ ﻛﻤﻚ ﻣﻲﻛﻨﺪ ﻛﻪ ﺑﺮ ﺗﺼﻤﻴﻤﺎﺕ ﻃﺮﺍﺣﻲ ﻧﺮﻡ ﺍﻓـﺰﺍﺭ ﺳـﻄﺢ ﺑـﺎﻻ ﺩﺭ ﻳﻚ ﻣﺴﺌﻠﻪ ﺧﺎﺹ ﺗﻤﺮﻛﺰ ﻛﻨﻴﻢ؛ ﻛﻪ ﺑﺎﻋـﺚ ﻣـﻲﺷـﻮﺩ ﺗـﻴﻢ ﻫـﺎﻱ ﺗﻮﺳـﻌﻪ ﺩﻫﻨﺪﻩ ﺑﻪ ﺍﺭﺯﻳﺎﺑﻲ ﻭ ﺑﺤﺚ ﺩﺭ ﻣﻮﺭﺩ ﺭﻭﺵﻫﺎﻱ ﻣﻌﻤـﺎﺭﻱ ﺳﻴﺴـﺘﻢ ﺧـﻮﺩ ﺩﺭ ﺷﻜﻞ :۱‐۲ﻓﻌﺎﻟﻴﺖﻫﺎ ﻭ ﻭﺍﺑﺴﺘﮕﻲﻫﺎ ﺩﺭ ﺗﺤﻠﻴﻞ ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎﺭﻳﻮ ﭼﺮﺧﻪ ﺣﻴﺎﺕ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ﺑﭙﺮﺩﺍﺯﻧﺪ .ﺍﺑﺰﺍﺭﻱ ﻛﻪ ﻣﺎ ﺭﺍ ﺑﻪ ﺍﻳﻦ ﺗﻤﺮﻛﺰ ﻣﻲﺭﺳـﺎﻧﺪ .۳ ﺍﻧﺠﺎﻡ ﺍﺭﺯﻳﺎﺑﻲ ﻣﻌﻤـﺎﺭﻱ :ﺩﺭ ﻫـﺮ ﻳـﻚ ﺍﺯ ﺳـﻨﺎﺭﻳﻮﻫﺎﻱ ﻏﻴـﺮ ‐ﺍﺯ ﻃﺮﻳﻖ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻮﺛﺮ ﺍﺯ ﺳﻨﺎﺭﻳﻮﻫﺎ‐ ﻣﻮﺿﻮﻉ ﺑﺤﺚ ﺑﻘﻴﻪ ﺍﻳﻦ ﻣﻘﺎﻟﻪ ﺍﺳﺖ. ﻣﺴﺘﻘﻴﻢ ﺗﻐﻴﻴﺮﺍﺕ ﺩﺍﺩﻩ ﺷﺪﻩ ﺩﺭ ﻣﻌﻤﺎﺭﻱ ﻛﻪ ﻻﺯﻡ ﺍﺳﺖ ﺳﻨﺎﺭﻳﻮ ‐۲ﺭﻭﺵ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ )(SAAM ﭘﺸﺘﻴﺒﺎﻧﻲ ﻛﻨﺪ ﺭﺍ ﻟﻴﺴﺖ ﻛﻦ ﻭ ﻫﺰﻳﻨﻪ ﺍﻧﺠﺎﻡ ﺗﻐﻴﻴـﺮ ﺭﺍ ﺗﺨﻤـﻴﻦ ﻳﻚ ﺭﻭﺵ ﺧﺎﺹ ﺑﺮﺍﻱ ﺍﻧﺠﺎﻡ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻣﺒﺘﻨﻲ ﺑـﺮ ﻧـﺮﻡ ﺍﻓـﺰﺍﺭ ،ﺭﻭﺵ ﺑﺰﻥ .ﺗﻐﻴﻴﺮ ﺩﺭ ﻣﻌﻤﺎﺭﻱ ﺑﻪ ﺍﻳﻦ ﻣﻌﻨﻲ ﺍﺳﺖﻛﻪ ،ﻣﻮﻟﻔﻪ ﺟﺪﻳﺪ ﻳـﺎ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﻱ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ] [۲ﻣـﻲﺑﺎﺷـﺪ SAAM .ﻳـﮏ ﺭﻭﺵ ﺍﺳـﺘﺎﻧﺪﺍﺭﺩ ﺍﺭﺗﺒﺎﻁ ﺟﺪﻳﺪﻱ ﻣﻌﺮﻓﻲ ﺷﺪﻩ ﺍﺳﺖ ،ﻳﺎ ﻣﻮﻟﻔﻪ ﻳﺎ ﺍﺭﺗﺒﺎﻁ ﻣﻮﺟـﻮﺩ ﺑﺮﺍﯼ ﺗﺤﻠﻴﻞ ﻣﺒﺘﻨﯽ ﺑﺮ ﺳﻨﺎﺭﻳﻮ ﺍﺯ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺒﺘﻨﻲ ﺑﺮ ﻛـﺎﻣﭙﻴﻮﺗﺮ ﺍﺳـﺖ؛ ﻧﻴﺎﺯ ﺑﻪ ﺗﻐﻴﻴﺮ ﺩﺭ ﺧﺼﻮﺻـﻴﺎﺗﺶ ﺩﺍﺭﺩ .ﺩﺭ ﺍﻧﺘﻬـﺎﻱ ﺍﻳـﻦ ﻣﺮﺣﻠـﻪ ﺗﺤﻠﻴﻞﻫﺎﻱ ﺧﺎﺻﻲ ﻣﻤﻜﻦ ﺍﺳﺖ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺯﻳﺮ ﻣﺠﻤﻮﻋﻪﺍﻱ ﺍﺯ SAAM ﺑﺎﻳﺪ ﻳﻚ ﺟﺪﻭﻝ ﺧﻼﺻﻪ ﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﻫﻤﻪ ﺳﻨﺎﺭﻳﻮﻫﺎ )ﻣﺴﺘﻘﻴﻢ ﻭ ﻏﻴﺮ ﻣﺴـﺘﻘﻴﻢ( ﺭﺍ ﺫﻛـﺮ ﺧﻮﺍﻫـﺪ ﻛـﺮﺩ .ﺑـﺮﺍﻱ ﻫـﺮ .۱ ﺳﻨﺎﺭﻳﻮ ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ﺗﻐﻴﻴـﺮ ﻳـﺎ ﻣﺠﻤﻮﻋـﻪﺍﻱ ﺍﺯ ﺗﻐﻴﻴـﺮﺍﺕ ﻛـﻪ ﺟﻤﻊ ﺁﻭﺭﻱ ﺳﻨﺎﺭﻳﻮﻫﺎ :ﻣﺠﻤﻮﻋﻪ ﺍﺯ ﻣﻮﺍﺭﺩ ﻛﺎﺭﺑﺮﺩ ﺑﺮﺍﻱ ﻧﺸﺎﻥ ﺩﺍﺩﻥ ﺳﻴﺴﺘﻢ ﺍﺯ ﺩﻳﺪﮔﺎﻩ ﻛﺎﺭﺑﺮﺗﻬﻴﻪ ﻣﻲﺷﻮﺩ. ﺳﻨﺎﺭﻳﻮ ﺑﺮ ﻣﻌﻤﺎﺭﻱ ﻣﻲﮔﺬﺍﺭﺩ ﺑﺎﻳﺪ ﺗﻮﺻﻴﻒ ﺷﻮﺩ ﺩﺭ ﺗﺠﺮﺑـﻪ ﻣـﺎ ﻛﺎﻓﻲ ﺍﺳﺖ ﻣﻮﻟﻔﻪﻫﺎ ﻭ ﺍﺭﺗﺒﺎﻃﺎﺕ ﻣﻮﺟﻮﺩ ﻛﻪ ﺑﺎﻳﺪ ﺗﻐﻴﻴﺮ ﻛﻨـﺪ ﻭ ﻣﻮﻟﻔﻪﻫﺎ ﻭ ﺍﺭﺗﺒﺎﻃﺎﺕ ﺟﺪﻳﺪﻱ ﻛﻪ ﺑﺎﻳﺪ ﻣﻌﺮﻓﻲ ﺷﻮﻧﺪ ﺫﻛﺮ ﺷﻮﺩ. ﻳﻚ ﺧﻼﺻﻪ ﺟﺪﻭﻟﻲ ﺍﺳﺎﺳﺎ ﻫﻨﮕـﺎﻣﻲ ﻣﻔﻴـﺪ ﺧﻮﺍﻫـﺪ ﺑـﻮﺩ ﻛـﻪ ﻛﺎﻧﺪﻳﺪﻫﺎﻱ ﻣﻌﻤﺎﺭﻱ ﺑﺎ ﻫﻢ ﻣﻘﺎﻳﺴﻪ ﻣﻲﺷﻮﻧﺪ ﺯﻳـﺮﺍ ﻳـﻚ ﺭﻭﺵ ﺳــﺎﺩﻩ ﺑــﺮﺍﻱ ﻣﺸــﺨﺺ ﻛــﺮﺩﻥ ﺍﻳﻨﻜــﻪ ﻛــﺪﺍﻡ ﻣﻌﻤــﺎﺭﻱ ﺑﻬﺘــﺮ ﻣﺠﻤﻮﻋﻪﺍﻱ ﺍﺯ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺭﺍ ﭘﺸﺘﻴﺒﺎﻧﻲ ﺧﻮﺍﻫﺪ ﻛﺮﺩ. .۴ ﺷﮑﻞ :۱‐۳ﻣﺮﺍﺣﻞ ﺭﻭﺵ ﺗﺤﻠﻴﻞ ﺗﻮﺍﺯﻧﻬﺎﯼ ﻣﻌﻤﺎﺭﯼ ﺍﺷﻜﺎﺭ ﻛﺮﺩﻥ ﺗﻌﺎﻣﻞ ﺳـﻨﺎﺭﻳﻮ :ﺳـﻨﺎﺭﻳﻮﻫﺎﻱ ﻏﻴـﺮ ﻣﺴـﺘﻘﻴﻢ .۲ ﺭﻭﺷﻦ ﻛﺮﺩﻥ ﺧﻮﺍﺳﺘﻪﻫـﺎ ،ﺷـﺮﺍﻳﻂ ﺣـﺪﻱ ﻭ ﺗﻮﺻـﻴﻒ ﻣﺘﻔﺎﻭﺗﻲ ﻣﻤﻜﻦ ﺍﺳﺖ ﺍﻳﺠﺎﺏ ﻛﻨﻨﺪ ﻛﻪ ﺗﻐﻴﻴﺮﺍﺕ ﺑﻪ ﻳﻚ ﻣﻮﻟﻔـﻪ ﻣﺤﻴﻂ :ﺍﻳﻦ ﺍﻃﻼﻋﺎﺕ ﺑﻪ ﻋﻨﻮﺍﻥ ﺑﺨﺸﻲ ﺍﺯ ﻣﻬﻨﺪﺳﻲ ﺧﻮﺍﺳﺘﻪﻫﺎ ﻳﺎ ﺍﺭﺗﺒﺎﻁ ﺍﻋﻤـﺎﻝ ﺷـﻮﺩ .ﺩﺭ ﺍﻳـﻦ ﺣﺎﻟـﺖ ﮔﻔﺘـﻪ ﻣـﻲﺷـﻮﺩ ﮐـﻪ ﻣﻮﺭﺩ ﻧﻴﺎﺯ ﺍﺳﺖ ﻭ ﺑﺪﻳﻦ ﻣﻨﻈﻮﺭ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻗﺮﺍﺭ ﻣـﻲﮔﻴﺮﻧـﺪ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺩﺭ ﺁﻥ ﻣﻮﻟﻔﻪ ﻳﺎ ﺍﺭﺗﺒﺎﻁ ﺑﺎ ﻫﻢ ﺗﻌﺎﻣﻞ ﺩﺍﺭﻧﺪ .ﻣﺸـﺨﺺ ﻛﻪ ﺍﻃﻤﻴﻨﺎﻥ ﺣﺎﺻﻞ ﺷﻮﺩ ﻛـﻪ ﻣﺸـﺘﺮﻱ ،ﻛـﺎﺭﺑﺮ ﻭ ﻛﻠﻴـﻪ ﺍﻓـﺮﺍﺩ ﻛﺮﺩﻥ ﺗﻌﺎﻣﻞ ﺳﻨﺎﺭﻳﻮ ،ﻓﺮﺁﻳﻨـﺪ ﻣﺸـﺨﺺ ﻛـﺮﺩﻥ ﺳـﻨﺎﺭﻳﻮﻫﺎﻳﻲ ﺫﻱﻧﻔﻊ ﺩﺭ ﻧﻈﺮﮔﺮﻓﺘﻪ ﺷﺪﻩﺍﻧﺪ. ﺍﺳﺖ ﻛﻪ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺍﺯ ﻣﻮﻟﻔﻪﻫﺎ ﺭﺍ ﺗﺤـﺖ ﺗـﺎﺛﻴﺮ ﻗـﺮﺍﺭ ﻣـﻲ- ﺩﻫﻨﺪ. .۵ .۳ ﺗﻮﺻﻴﻒ ﺳﺒﻜﻬﺎ /ﺍﻟﮕﻮﻫﺎﻱ ﻣﻌﻤﺎﺭﻱ ﻛﻪ ﺑﺮﺍﻱ ﭘـﺮﺩﺍﺧﺘﻦ ﺑﻪ ﺳﻨﺎﺭﻳﻮﻫﺎ ﻭ ﺧﻮﺍﺳﺘﻪﻫﺎ ﺍﻧﺘﺨﺎﺏ ﺷﺪﻩﺍﻧﺪ :ﺳـﺒﻚ )ﻫـﺎ( ﺍﺭﺯﻳﺎﺑﻲ ﻛﻠـﻲ :ﺩﺭ ﻧﻬﺎﻳـﺖ ﺳـﻨﺎﺭﻳﻮﻫﺎ ﻭ ﺗﻌﺎﻣـﻞ ﺑـﻴﻦ ﺁﻧﻬـﺎ ﺭﺍ ﺑﺎﻳﺪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﻤﺎﻫﺎﻱ ﻣﻌﻤﺎﺭﻱ ﺯﻳﺮ ﺗﻮﺻﻴﻒ ﺷﻮﻧﺪ: ﺑﺮﺍﺳﺎﺱ ﺍﻫﻤﻴﺖ ﺁﻧﻬﺎ ﺍﺭﺯﺵ ﺑﺪﻫﻴﺪ ﻭ ﺍﺯ ﺁﻥ ﺍﺭﺯﺵ ﺩﻫـﻲ ﺑـﺮﺍﻱ • ﻣﺸﺨﺺ ﻛﺮﺩﻥ ﺭﺗﺒﻪ ﺑﻨـﺪﻱ ﻛﻠـﻲ ﺍﺳـﺘﻔﺎﺩﻩ ﻛﻨﻴـﺪ .ﺍﻳـﻦ ﻳـﻚ ﻣﻮﻟﻔﻪﻫﺎ ﻭ ﻣﻴﺰﺍﻥ ﭘﻨﻬﺎﻥ ﻛﺮﺩﻥ ﺍﻃﻼﻋﺎﺕ. ﻓﺮﺁﻳﻨﺪ ﻣﻌﻘﻮﻝ ﺍﺳـﺖ ﻛـﻪ ﺷـﺎﻣﻞ ﻫﻤـﻪ stakeholderﻫـﺎﻱ ﺳﻴﺴﺘﻢ ﻣﻲﺷﻮﺩ .ﺍﺭﺯﺵ ﺍﻧﺘﺨﺎﺏ ﺷﺪﻩ ﻣﻨﻌﻜﺲ ﻛﻨﻨﺪﻩ ﺍﻫﻤﻴﺖ ﻧﺴﺒﻲ ﻓﺎﻛﺘﻮﺭﻫﺎﻱ ﻛﻴﻔﻴﺘﻲ ﺍﺳﺖ ﻛﻪ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺍﺷﻜﺎﺭ ﻣﻲﻛﻨﻨﺪ. • ﻧﻤﺎﻱ ﭘﺮﺩﺍﺯﺵ :ﺑﺮﺍﻱ ﺗﺤﻠﻴﻞ ﻛﺎﺭﺍﻳﻲ ﺳﻴﺴﺘﻢ. • ﻧﻤﺎﻱ ﺟﺮﻳﺎﻥ ﺩﺍﺩﻩﻫﺎ :ﺑﺮﺍﻱ ﺗﺤﻠﻴﻞ ﻣﻴـﺰﺍﻥ ﺑـﺮﺁﻭﺭﺩﻩ ﺷﺪﻥ ﺧﻮﺍﺳﺘﻪﻫﺎﻱ ﻋﻤﻠﻴﺎﺗﻲ ﺩﺭ ﻣﻌﻤﺎﺭﻱ. ‐۳ﺭﻭﺵ ﺗﺤﻠﻴﻞ ﺗﻮﺍﺯﻧﻬﺎﻱ ﻣﻌﻤﺎﺭﻱ .۴ ﻣﻮﺳﺴﻪ ﻣﻬﻨﺪﺳﻲ ﻧﺮﻡ ﺍﻓﺰﺍﺭ ) (SEIﻳﻚ ﺭﻭﺵ ﺗﺤﻠﻴﻞ ﺗﻮﺍﺯﻧﻬـﺎﻱ ﻣﻌﻤـﺎﺭﻱ ﻧﻤﺎﻱ ﭘﻴﻤﺎﻧﻪ :ﺑـﺮﺍﻱ ﺗﺤﻠﻴـﻞ ﺗﺨﺼـﻴﺺ ﻛﺎﺭﻫـﺎ ﺑـﻪ ﺍﺭﺯﻳﺎﺑﻲ ﺻﻔﺎﺕ ﻛﻴﻔﻴﺘﻲ ﺑﺎ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﻫﺮ ﺻـﻔﺖ ﺑـﻪ ﻃﻮﺭ ﻣﺠﺰﺍ :ﺗﻌﺪﺍﺩ ﺻﻔﺎﺕ ﻛﻴﻔﻴﺘﻲ ﻛﻪ ﺑـﺮﺍﻱ ﺗﺤﻠﻴـﻞ ﺍﻧﺘﺨـﺎﺏ ﺗﻮﺳﻌﻪ ﺩﺍﺩﻩ ﺍﺳﺖ ] [۴ﻭ ] [۵ﻛﻪ ﺑﺮﺍﻱ ﻣﻌﻤﺎﺭﻱﻫﺎﻱ ﻧﺮﻡﺍﻓﺰﺍﺭ ،ﻳﻚ ﻓﺮﺁﻳﻨـﺪ ﺷﺪ ،ﺗﺎﺑﻌﻲ ﺍﺯ ﺯﻣﺎﻥ ﻻﺯﻡ ﺑﺮﺍﻱ ﺑﺎﺯﺑﻴﻨﻲ ﻭ ﻣﻴﺰﺍﻥ ﺍﺭﺗﺒﺎﻁ ﺻـﻔﺎﺕ ﺍﺭﺯﻳﺎﺑﻲ ﺗﻜﺮﺍﺭﻱ ﺗﺪﺍﺭﻙ ﻣﻲﺑﻴﻨﺪ .ﺷﮑﻞ ۱‐۳ﻣﺮﺍﺣـﻞ ﺍﻳـﻦ ﺭﻭﺵ ﺭﺍ ﻧﺸـﺎﻥ ﻛﻴﻔﻴﺘﻲ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﻮﺭﺩ ﻧﻈـﺮ ﺍﺳـﺖ .ﺻـﻔﺎﺕ ﻛﻴﻔﻴﺘـﻲ ﺑـﺮﺍﻱ ﻣﻲﺩﻫﺪ .ﻓﻌﺎﻟﻴﺖﻫﺎﻱ ﺗﺤﻠﻴﻞ ﻃﺮﺍﺣﻲ ﻛﻪ ﺩﺭ ﺯﻳﺮ ﺫﻛﺮ ﻣﻲﺷﻮﻧﺪ ﺑﻪ ﺻـﻮﺭﺕ ﺍﺭﺯﻳﺎﺑﻲ ﻃﺮﺍﺣﻲ ﻣﻌﻤﺎﺭﻱ ﻋﺒﺎﺭﺗﻨﺪ ﺍﺯ :ﻗﺎﺑﻠﻴﺖ ﺍﻃﻤﻴﻨﺎﻥ ،ﻛﺎﺭﺍﻳﻲ، ﺗﻜﺮﺍﺭﻱ ﺑﻪ ﺍﺟﺮﺍ ﺩﺭ ﻣﻲﺁﻳﻨﺪ: .۵ ﺍﻣﻨﻴﺖ ،ﻗﺎﺑﻠﻴﺖ ﻧﮕﻬﺪﺍﺭﻱ ،ﺍﻧﻌﻄـﺎﻑ ﭘـﺬﻳﺮﻱ ،ﺁﺯﻣـﻮﻥ ﭘـﺬﻳﺮﻱ، ﺷﺶ ﻣﺮﺣﻠﻪ ﺍﻱ ﻛﻪ ﺩﺭ ﺑﺎﻻ ﺫﻛﺮ ﺷﺪ ،ﺍﻭﻟـﻴﻦ ﺩﻭﺭ ﺗﻜـﺮﺍﺭ ATAMﺭﺍ ﻗﺎﺑﻠﻴﺖ ﺣﻤﻞ ،ﻗﺎﺑﻠﻴﺖ ﺍﺳﺘﻔﺎﺩﻩ ﻣﺠﺪﺩ ﻭ ﻗﺎﺑﻠﻴﺖ ﻛﺎﺭ ﻣﺘﻘﺎﺑﻞ. ﺗﺸﻜﻴﻞ ﻣﻲﺩﻫﻨﺪ .ﺑﺮ ﺍﺳﺎﺱ ﻧﺘﺎﻳﺞ ﻣﺮﺍﺣﻞ ۵ﻭ ۶ﻣﻤﻜﻦ ﺍﺳـﺖ ﭼﻨـﺪ ﺷﻨﺎﺳﺎﻳﻲ ﺣﺴﺎﺳﻴﺖ ﺻﻔﺎﺕ ﻛﻴﻔﻴﺘﻲ ﺩﺭ ﻣﻘﺎﺑـﻞ ﺻـﻔﺎﺕ ﻣﻮﺭﺩ ﺍﺯ ﻣﻌﻤﺎﺭﻳﻬﺎ ﺣﺬﻑ ﺷﻮﺩ ﻭ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﻌﻤـﺎﺭﻱ ﺑﺎﻗﻴﻤﺎﻧـﺪﻩ ﺭﺍ ﻣﻌﻤﺎﺭﻱ ﮔﻮﻧﺎﮔﻮﻥ ﺑﺮﺍﻱ ﻳﻚ ﺳﺒﻚ ﻣﻌﻤـﺎﺭﻱ ﻣﺸـﺨﺺ: ﺑﺎ ﺟﺰﺋﻴﺎﺕ ﺑﻴﺸـﺘﺮﻱ ﺍﺻـﻼﺡ ﻛـﺮﺩ ﻭ ﺑـﻪ ﻧﻤـﺎﻳﺶ ﺩﺭﺁﻭﺭﺩ ﻭ ﺳـﭙﺲ ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﻣﻲﺗﻮﺍﻥ ﺗﻐﻴﻴﺮ ﻛـﻮﭼﻜﻲ ﺩﺭ ﻣﻌﻤـﺎﺭﻱ ﺍﻋﻤـﺎﻝ ﻛﺮﺩ ﻭ ﺗﻌﻴﻴﻦ ﻛﺮﺩ ﻛﻪ ﻳﻚ ﺻﻔﺖ ﻛﻴﻔﻴﺘﻲ ،ﻣﺜﻼ ﻛﺎﺭﺍﻳﻲ ﺗﺎ ﭼـﻪ ﻣﺮﺍﺣﻞ ATAMﺭﺍ ﺩﻭﺑﺎﺭﻩ ﺑﻪ ﺍﺟﺮﺍ ﮔﺬﺍﺷﺖ. ‐۴ﻧﺘﻴﺠﻪ ﺣﺪ ﻧﺴﺒﺖ ﺑﻪ ﺍﻳﻦ ﺗﻐﻴﻴﺮ ﺣﺴﺎﺳﻴﺖ ﺩﺍﺭﺩ .ﻫﺮ ﺻﻔﺘﻲ ﻛﻪ ﺍﺯ ﺍﻳﻦ ﺗﻐﻴﻴﺮ ﺗﺎﺛﻴﺮ ﺯﻳﺎﺩﻱ ﺑﭙﺬﻳﺮﺩ ،ﺑﻪ ﻋﻨﻮﺍﻥ ﻧﻘﻄﻪ ﺣﺴﺎﺳﻴﺖ ﺩﺭ ﻧﻈـﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﺩ. .۶ ﻧﻘﺪ ﻣﻌﻤﺎﺭﻳﻬﺎﻱ ﻛﺎﻧﺪﻳﺪﺍ )ﻛﻪ ﺩﺭ ﻣﺮﺣﻠﻪ ۳ﺗﻮﺳـﻌﻪ ﺩﺍﺩﻩ ﺷﺪﻩﺍﻧﺪ( ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺤﻠﻴﻞ ﺣﺴﺎﺳﻴﺖ ﻛﻪ ﺩﺭ ﻣﺮﺣﻠـﻪ ﺩﺭ ﺍﻳﻦ ﻣﻘﺎﻟﻪ ﺩﻭ ﺭﻭﺵ ﻣﻮﺟﻮﺩ ﺑﺮﺍﯼ ﺍﺭﺯﻳﺎﺑﯽ ﺻﻔﺎﺕ ﮐﻴﻔﻴﺘﯽ ﻣﻌﻤﺎﺭﯼ ﻧﺮﻡ- ﺍﻓﺰﺍﺭ ﻧﺸﺎﻥ ﺩﺍﺩﻩ ﺷﺪ .ﺑﺮﺍﯼ ﻫـﺮ ﺭﻭﺵ ﻧﺸـﺎﻥ ﺩﺍﺩﻩ ﺷـﺪﻩ ﻧﻘـﺎﻁ ﻣﺸـﺘﺮﮎ، ﺿﻌﻒ ﻭ ﻗﻮﺗﯽ ﻭﺟﻮﺩ ﺩﺍﺭﺩ .ﺩﺭ ﺟﺪﻭﻝ ،۱‐۴ﺟﻨﺒـﻪﻫـﺎﯼ ﻣـﺮﺗﺒﻂ ﺩﻭ ﺭﻭﺵ ﺧﻼﺻﻪ ﺷﺪﻩ ﺍﺳﺖ. ﺗﺎ ﺣﺎﻻ SAAM ،ﺗﻨﻬﺎ ﺭﻭﺷﯽ ﺍﺳﺖ ﮐﻪ ﺑﻪ ﺑﻠـﻮﻍ ﺭﺳـﻴﺪﻩ ﺍﺳـﺖSAAM . ۵ﺍﺟﺮﺍ ﻣﻲﺷﻮﺩ SEI :ﺍﻳﻦ ﺭﻭﺵ ﺭﺍ ﺑـﻪ ﺷـﻴﻮﻩ ﺯﻳـﺮ ﺗﻮﺻـﻴﻒ ﺑﺮﺍﯼ ﺻﻔﺎﺕ ﮐﻴﻔﻴﺘﯽ ﻣﺘﻔﺎﻭﺗﯽ ﻣﺎﻧﻨـﺪ ﻗﺎﺑﻠﻴـﺖ ﺗﻐﻴﻴـﺮ ،ﻣﻴـﺰﺍﻥ ﮐـﺎﺭﺍﻳﯽ ،ﺩﺭ ﻣﻲﻛﻨﺪ ]:[۵ ﺩﺳﺘﺮﺱ ﺑﻮﺩﻥ ،ﻭ ﺍﻣﻨﻴﺖ ﺍﺳـﺘﻔﺎﺩﻩ ﻣـﻲﺷـﻮﺩ .ﺍﻳـﻦ ﺭﻭﺵ ﺩﺭ ﺩﺍﻣﻨـﻪﻫـﺎﯼ ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﻧﻘﺎﻁ ﺣﺴﺎﺳﻴﺖ ﻣﻌﻤﺎﺭﻱ ﺗﻌﻴﻴﻦ ﺷﺪ ﻳـﺎﻓﺘﻦ ﻣﺨﺘﻠﻔﯽ ﺑﮑﺎﺭ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﺩ ،ﮐﻪ ﺍﻋﺘﺒﺎﺭ ﺩﻳﮕـﺮﯼ ﺑـﺮﺍﯼ ﮐﺎﻣـﻞ ﺑـﻮﺩﻥ ﺁﻥ ﻧﻘــﺎﻁ ﺗــﻮﺍﺯﻥ ﺻــﺮﻓﺎ ﻋﺒــﺎﺭﺕ ﺍﺯ ﺷﻨﺎﺳــﺎﻳﻲ ﻋﻨﺎﺻــﺮﻱ ﺍﺯ ﻣﯽﺑﺎﺷﺪ ATAM .ﺍﺯ ﺭﻭﯼ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎﺭﯼ ﺻﻔﺎﺕ ﮐﻴﻔﻴﺘـﯽ ﻣﺠـﺰﺍ ﺭﺷـﺪ ﻣﻌﻤﺎﺭﻱ ﺍﺳﺖﻛﻪ ﭼﻨﺪ ﺻﻔﺖ ﻧﺴﺒﺖ ﺑﻪ ﺁﻧﻬـﺎ ﺣﺴﺎﺳـﻴﺖ ﭘﻴﺪﺍ ﮐﺮﺩ ،ﮐﻪ ﺍﺯ ﻳﮏ ﻣﺪﻝ ﺣﻠﺰﻭﻧﯽ ﺑﺮﺍﯼ ﺗﺤﻠﻴﻞ ﻭ ﻃﺮﺍﺣﻲ ﺍﺳـﺘﻔﺎﺩﻩ ﻣـﯽ- ﺩﺍﺭﻧــﺪ .ﺑــﺮﺍﻱ ﻣﺜــﺎﻝ ،ﻛــﺎﺭﺍﻳﻲ ﻳــﻚ ﻣﻌﻤــﺎﺭﻱ ﻣﺸــﺘﺮﻱ / ﮐﻨﺪ. ﻛﺎﺭﮔﺰﺍﺭ ﻣﻤﻜﻦ ﺍﺳﺖ ﻧﺴﺒﺖ ﺑﻪ ﺗﻌـﺪﺍﺩ ﻛﺎﺭﮔﺰﺍﺭﻫـﺎ ﺑﺴـﻴﺎﺭ ﺭﻭﺵ ﺣﺴﺎﺱ ﺑﺎﺷﺪ )ﺩﺭ ﻳﻚ ﮔﺴﺘﺮﻩ ﻣﻌﻴﻦ ،ﻛﺎﺭﺍﻳﻲ ﺑﺎ ﺍﻓـﺰﺍﻳﺶ ﺳﻨﺠﺶ ﻣﺘﺮﻳﮏﻫﺎ ﻭ ﮐﻴﻔﻴﺘﯽ ﺍﺑﺰﺍﺭﻫﺎﯼ ﻧﻘﺎﻁ ﻗﻮﺕ ﻧﻘﺎﻁ ﺿﻌﻒ ﻣﻮﺭﺩ ﺗﻌﺪﺍﺩ ﻛﺎﺭﮔﺰﺍﺭﻫﺎ ﺍﻓﺰﺍﻳﺶ ﻣـﻲ ﻳﺎﺑـﺪ( .ﻗﺎﺑﻠﻴـﺖ ﺩﺳـﺘﻴﺎﺑﻲ ﭘﺸﺘﻴﺒﺎﻧﯽ ﭼﻨﻴﻦ ﻣﻌﻤﺎﺭﻱ ﻧﻴـﺰ ﻣﻤﻜـﻦ ﺍﺳـﺖ ﻣﺴـﺘﻘﻴﻤﺎ ﺑـﺎ ﺗﻌـﺪﺍﺩ SAAM ﻛﺎﺭﮔﺰﺍﺭﻫﺎ ﺗﻐﻴﻴﺮ ﻛﻨﺪ .ﻭﻟﻲ ﺍﻣﻨﻴﺖ ﺳﻴﺴﺘﻢ ﻣﻤﻜﻦ ﺍﺳـﺖ ﻗﺎﺑﻠﻴﺖ ﺳﻨﺎﺭﻳﻮﻫﺎﯼ ﺩﺍﻣﻨﻪ ﻭﺳﻴﻌﯽ ﺍﺯ ﭘﻴﭽﻴﺪﮔﯽ- ﻳﮏ ﻣﺘﺮﻳﮏ ﺗﻐﻴﻴﺮ ﻣﺴﺘﻘﻴﻢ ﻭ ﻏﻴﺮ ﻫﺎﯼ ﺑﺎﻟﻘﻮﻩ ﺭﺍ ﻣﺸﺨﺺ ﻣﯽ- ﮐﻴﻔﻴﺘﯽ ﻭﺍﺿﺢ ﻣﺴﺘﻘﻴﻢ ﮐﻨﺪ ﻧﻤﯽﺑﺎﺷﺪ ﺑﺎ ﺗﻌﺪﺍﺩ ﻛﺎﺭﮔﺰﺍﺭﺍﻥ ﺑﻪ ﻃﻮﺭ ﻣﻌﻜـﻮﺱ ﺗﻐﻴﻴـﺮ ﻛﻨـﺪ )ﺯﻳـﺮﺍ ﺑﺮﺍﯼ ﻫﺮ ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎﺭﯼ ﺑﺎﺯ ﺗﻌﺪﺍﺩ ﻧﻘﺎﻁ ﺣﻤﻠﻪ ﺑﺎﻟﻘﻮﻩ ﺳﻴﺴﺘﻢ ﺑﻴﺸﺘﺮ ﻣﻲﺷﻮﺩ( ﺩﺭ ﺍﻳﻦ ﻣﻲﺑﺎﺷﺪ ﺻﻮﺭﺕ ،ﺗﻌﺪﺍﺩ ﻛﺎﺭﮔﺰﺍﺭﻫﺎ ﻳـﻚ ﻧﻘﻄـﻪ ﺗـﻮﺍﺯﻥ ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻌﻤﺎﺭﻱ ﺑـﻪ ﺷـﻤﺎﺭ ﻣـﻲﺭﻭﺩ .ﺍﻳـﻦ ﻳﻜـﻲ ﺍﺯ ﭼﻨـﺪ ﻋﻨﺼـﺮ ﺑﺎﻟﻘﻮﻩﺍﻱ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺁﻧﺠﺎ ﺗﻮﺍﺯﻥ ﻣﻌﻤﺎﺭﻱ ﭼﻪ ﺑﻪ ﺻﻮﺭﺕ ﺧﻮﺩﺁﮔﺎﻩ ﻭ ﭼﻪ ﻧﺎﺧﻮﺩﺁﮔﺎﻩ ،ﺻﻮﺭﺕ ﻣﻲﭘﺬﻳﺮﺩ. ATAM ﻗﺎﺑﻠﻴﺖ ﻧﻘﺎﻁ ﺗﻮﻟﻴﺪ ﺳﻨﺎﺭﻳﻮﻫﺎ ﺑﺮ ﺍﺳﺎﺱ ﺑﻪ ﺩﺍﻧﺶ ﺗﻐﻴﻴﺮ ﺣﺴﺎﺳﻴﺖ، ﻧﻴﺎﺯﻣﻨﺪﻱﻫﺎ ﻣﯽﺑﺎﺷﺪ. ﺗﮑﻨﻴﮑﯽ ﺧﻴﻠﯽ ﻧﻘﺎﻁ ﺗﻮﺍﺯﻥ ﺑﺮﺍﯼ ﻣﺸﺨﺼﺎﺕ ﺍﻳﺴﺘﺎ ﻭ ﭘﻮﻳﺎ ﺟﺰﻳﻲ ﺍﺣﺘﻴﺎﺝ ﻗﺎﺑﻞ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲﺑﺎﺷﺪ ﺩﺍﺭﺩ. ﺟﺪﻭﻝ :۱‐۴ﻣﻘﺎﻳﺴﻪ ﺩﻭ ﺭﻭﺵ SAAMﻭ ATAM ﻣﺮﺍﺟﻊ [1] L. Dobrica and E. Niemela, “A Survey on Software Architecture Analysis Methods,” IEEE Transaction On Software Engineering, Vol. 28, No. 7, July 2002. [2] R. Kazman, G. Abowd, L. Bass, and P. Clements, “Scenario-Based Analysis of Software Architecture,” IEEE Software, pp. 47-55, Nov. 1996. [3] M. T. Ionita, D. K. Hammer, H. Obbink, “Scenario-Based SWA Evaluation Methods”. [4] Paul Clements, Rick Kazman and Mark Klein, Evaluating Software Architectures: Methods and Case Studies, Addison Wesley, 2002. [5] “ATAM: Method for architecture evaluation”: ATAM - Architecture Trade-off Analysis Method report: http://www.sei.cmu.edu/ata/ata_method.html ﺯﻳﺮﻧﻮﻳﺲﻫﺎ maintainability portability adaptability predictability modifier outsiders 1 2 3 4 5 6 1 : ( ( )* +, - # #. , . !" #$% & # 9:" . .* « » #6 !+4,5 3/+ 0 1 2 * /5 . * ! " < ; <, . 3!= # >*, . # #. ( ( ( ( !(@* 9:" . *1 -" 0 ? #6 ! < 3 >*, !E /5 . A5B 3 .* C1 #6 ! D, # #. 3 (& #( 3(G ( ,B -HIJ * )C KH # ACME F . ! #$% & # .-" L,5 46 ) 46 ACME 1 Architecture Description Language (ADL) [email protected] :'(' )* & !"#$%"% : 2 Garlen * Shaw NONO /, 1,K- A,B >* 9M /2? = >* H /-» «.G - 43 1K- 9M 9- +@3 ( 3b9 &>* /i3 ( 0 9G PQ- 6 (< /( ), 10 >* /2 ( /-. 9- j3 EF, ., ,- 9, ,@ +D3 [F- +5 ;6 &),?j N,k- 3,5 N-, V,- >*, EF NT*- /component compatibility ( consistency &throughput 1K- 9- - ( /0 / +(3 /- / ]- .) .G - ;( +-3 ( Kazman * Clements 3Bass NPNO , 0, &3,b- >*, , 1,-6 H, 2,? =, /-» - N6B ^0 &2? = / 1K- 1G ) >* /0 «. - N- LM 9- I6( ( c0 . LM Kruchten NQNO / l8 . 1G - . 6 2? = /- Kruchten 9, ],- ;, $ N', .,G ,- 453 N'3 4ZQ. - #J NM +,,,'- . /0,,, /,,, 1,,,23 4,,,53 /,,,6 1,,,78 module /, 9,6. ( * 1-6 / 96. modularization , notation ; . 6 . - interconnection import/export +@3 AB /2? = >* 0 -< ;C - . - 453 1-6 / ( ;6 definition/use 4,53 5D,0 .)* A- 2? = /- /6 453 H, I,J? *, *, 1,-6 /, module EF 1G 1,G ,G - >? 1K- 9- +@3 . ; EF 8 I,3 1,G * 96 N6B J*- 1K- 9- F6( L3 LM ,@ 1,6 3 1' ;O .6 >? * 1-6 96. >R SQ 6 I3- NT*- ( /- EF NT*- 9- PQ96. ( =(2 ;66 [1] . NTB /23 90 ( 6. ;C . - U 16 /(O -G /- 453 /6 , =.V ,W +T2 &/- 6 I3- NT*- X ;< 6 .G Y7 X . 90 ( >R - /. NO PQ,- ,@ 16 G - ) 1 ( 1 2? = /( 1,2 ;,Q3 /- / concept Z5 - .) 96 /,6 ZQ- 43 .) - /6 . ( M? ), , ,LM . ,06 1,6 . 1G ( 2? = /[2] :) Wolf * Perry NMNO Q+M > : 1 K N-, ,M? 8, .), n@ m ]- JF- 8 ,'2? 8, .), ,@ /., =R ( -2 / 1 , o.3 1 ( G - 453 2? )Q 16 2? = )R 2? = /* 0 13 8 ( &G - p'- 9M .G - 453 q 13 Ib1,6 2? = /- /6 Wolf ( Perry 43 . Kruchten & 1K-) 2 &8 .G - 8 NJ*- @ ,B ( [,F- ( &,R ( , AB &( ]D3 ( container I3,- , /,-. d,6 1,6 /,- 1,G ,0 ^0 &2 :) N'3 1K- 1 . 2? = /- 43 ; [@ , ]D,3 , &/ &,. /2, &2, . [F- ( &\AB (2 `B ) 2 9- +@3 ( ^0 1Z( 16 AB .* /, )(,b- A,B /,- 1, [,F- ., - 43 (, ,- cQ, >*, /, /-. . V- 1G) >* .G - >? major H, 9,< 1,6 /,- . ,U ,- /2- d6 /,6 SC,C H, 9,< 1,6 /,- .$ :. 3< discipline ( ,''3 1, 9,< 1,6 /,- ." ., /-. 9 (M6 9< 16 /- .e .M? )- ( 12 ;Q3 /6 /,6 / 1, 9,< 1,6 /- .% .- /6 /fK- 1 .consistency ( dependency NZb3 1 4 View/Perspective 5 Object model of the design Format Rationale 3 Constraints 2 1,6 ;6,6 . - B f3 )b3 >* NG ]3 ( 'Z< ](- / 96. . /- 453 / 96. +(- +U- N /, 9,6. .) +(- 2 LM N'3 /2 &* 1-6 [1] : - N'3 . /2 . 2? = /- 453 ,3 - 1K- t .module EF /2 : 1K« ,B , ,- ,ZQ- /, q( 16 ( characterize .8 >* 6 .\\( z3 / =2'- :RZ< « shared data V,, ( procedure call . ,,L3 ,,O ],, .G - 1,6 ^0 ( 16 G /2 LM 1G 3G3 :\ R « .client-server z3 H k- . ND- R' ,3 ,- +,G3 ,LM ),b3 1,G F :/*6 « 1,?8 ,U >*, . H 9< 16 &826 / >* 13 . > 1'Z6 &functionality 9 PQ- L3 1 :1DQ« ,- ( &fault tolerance &performance 9 PQ- ;C .9M 1,6 ,LM AG3 /6 H'3 ( /- / 1K- /,6 , 9,6. ,@ /,6 / 1 & >* ( >* . 9,- +VD,3 4,3 ,6. ;,C .G - >? /- 453 ,. \`/,6' ( , >* . ;C > ( / module 3,G3 ;C /6 {- \l> ( >* 16 >* .G - ;'- ? < NQ & ( /- 453 / 96. . 3(- +U 1G C ,U 1,6 1J6 . 3 EO( 96. ; /6 . / /-. 1<[3] : 1, 9,- /- 6 U ]3 /6 6 ADL H N-, &/,- /0, 1, .,6 A,- o,| / (8 N,6B ADL [,@ . ,6 &*, ( , /0, . / (b, ,6 ,LM t, ( , ]D3 ( 1K- .6 . 43 0 ( &refinement &, /, ),? . ,6 ADL H N,-G ( /8. /6 B ( G /- validation .6 1 /- 96 ,,W +,,5 1,,6 ,,) X,, ),,Z6B ,,6 ADL H,, .6 1 /- ](- / H 6 (>J*11 Interconnection Mechanisms Patterns 13 Configuration 14 Paradigm 12 4,ZQ- /,- /, H 3 - 4ZQ- / 8 .G H, 4,ZQ- /, H ( 9'- +5 ; 16 .6 1 . ( >* UML < #" NTNO :6 >L- +D3 1<- . )*3< //2? = >* H 0 « ,LM . >*, 1,G I( ( /0 /2 SQ « N'3 2, 9M 9,- /, /,' 1G @ 9 &LM ? « PQ,, /,,6 /0,, ( /,,? /2,, ;,, A,,G3 « 826 / >*. /2, :,G ,- ) 9-. ; 1G /- H « LM AG3 ( LM / /' &LM / I( ( ( * 1,'Z6 &, , (b- ? ( 0 16 L3 2? = /&performance &functionality &\, +,U- ;,C > trade- ( B &comprehensibility &- &resilience N-, 2, ,. +,U- ( /i,'3 ( /D,B / off . - ? . NP ; /6 . /2 &$rs# 1 * 1-6 / 96. @ [1] : 96. « &int N,k-) ,LM ,J- ( 1,( ,- /2 :` 1K(...( &float l .G - AG3 1K- 1G 63 : RZ< « n ( , 1,K- +F,5 /7,R- /,6 ,B : t2 « RZ< ,L<2 1,C ,G ,- ;,3 1,G ,B :u/*6 « . 1?O 1K- ( RZ< 1( / vG 16 3 9 /b 16 x- / AB 9 I3- :w1DQ« G(, , 1,K- 1,6 o63 PDQ3 6 2? = / /;,C >, ( , \y@,3 ( / ]D,3 R,' 6 1G 1 Usage Aesthetic 3 Components 4 Operators 5 Abstraction 6 Closure 7 Specification 8 Semantic 9 Syntactic 10 Data and Communication Connectivity 2 NT*- 96 6 .e . { &8 - B - 9M NT*,- . (, 90, ( , >,R S,Q Nk-) /. .G /- 0 ,G t2, /V6 F }26 / >* 6 ) =.V 9C /2, >6 f ( 6 modular /- 453 V( 6 &>G Modularity .>,G , - /2 AG3 6 >* =.V ,3 HCG G / ( 16 453 H >*J3 /6 /, )- 1G . 6 96. /*6 9B ;C > .) ; EF ( 1( +5 16 453 EF H /- 453 . AG- 0 +5 16 453 3 >, ( , 1,K- >,– /,- /2, X, 1,6 . N 16 /,- /2, ), =.V &1*,6( ,W 43 +5 16– +VD3 ]V, 9,'- 1,G ;, ,6 (< 1Z~*- ; .6 1 ]J >,,? 9M ,, N',,3 /2,, [, @ . /,,- H,, ,,6 ,R /, 1,-. /*,6 , )*B ; . &G .G - ;'/, idiom . , abstract A,G3 ;,B /6 . 1,6 pipeline /,- H k- .) PQ- -G /- ](, &, - modularize filter ( pipe 3 +5 13 6 1G 1V . / 1<- +5 16 / 1V /- H 1G 6 (< . - modularize &G - N-3 oO( ;B 16 1,6 N0 0 3 - pipeline /- H filter H ; H, . instance H, , R pipeline >* H +5 1,6 ,3 ,- 1,G pipe H . X +(- -G /& 1?8 U pipeline /- H ]D3 H +5 N,'3( H, k,- , /- H +5 16 N0 3 - . filter ( pipe ]J . X / 1V { 2 functional AG3 AB instance H 1G 2, 1,6 , 1,-. 1,G , - . ;C > ]J . .>G filter ( pipe . P0 pipeline / /,6 9, N,3 H, ,-. 1,G *, , k,-. 1,G , , 16- @ 16 .>G filter . >3 command ( console H,, ;,,6 k,,-– >,,6 ],, H, . >,3 -– user-interface >* H interpreter .>G pipe X W, NONT 18 16 2? = /- LM 9- +-3 ( 1K- 96 6 ,@ 1,6 >*, ,LM ,<2 /, X,J 1G G 453 / . ;3 PQ2 3 Data Stream Transformation Abstraction 1,G ,G ;-,3 0, 6 6 ADL H 9, =.V ,W +,T2 &/,- . - +<@ X ;< . >? /6 / /. /6 / 1 6 ADL H ,3 ,G 1?,O 3,<@ ADL /, 1D,Q- 1,6 9,6 6 .G . [- ADL . 6 >* L 1DQ1, /., EF +<@ 96 )Z6B 96. 8 1,6 /. H . X6 9G [F- /6 )Z6B 6 &6 . ,6 , .,6 1, 2 >* /- EF /0 /,- H, R 1G /. . / 0 / 1DQ.G G - /. EF, +,<@ v,6 NZb3 )Z6B . 6 ADL H prototype /,, /., ,, o, ,3 ),,Z6B , ( /,.G ADL ? !@* NT PQ,- J3 /- / @ . >* H 4j( ,6 * ;C . 96 LM . d6 2 NB XQ6 ( ) ( /,- /, 1,K- 453 /6 /26 ( notation & ] V6 EF ( }26 / @ . 6 .G 1T LM +-3 [6,F3 PQ,- /, /., ( @ ; ;6 6 ( G [,F- PQ,- /, /., , 6 @ ;) .G application-specific ( user-defined /,L<2 . ,6 (G ,5 ,@ 1,6 /,- /, >, , . ( G . SQ ( 9,6. ;,6 Z6,J- z,3 E,O( ,@ 16 * ;C &) =.V [B / 453 ; /6 96. H : ( Ib, 4,53 ;, . - ( /6 Fb- 1G ,. ,- 6 453 96. H &6. ^0 6 2G3 6.) . [1] :G ;-3 V U6 NMNT ( NJ*,- /, 1,K- . ,G3 +5 16 >* H 96 6 .G 43 +VD3 1,6 NJ*,- /,- /2, AG3 9'- AG3 / )Z6B .$ : 1, 1, 1Z~*,- ; .G - >? 3 }26 / >* 1,6 , >*, H, 1,G 9'- @ 16 6 ADL H H, N6J- ( G >*J3 manageable ( 3 HCG / )*B 6 2 ." .(M ) 16 9M N'3 /2 . }26 >* ,L 1G * . 6 1G 6 NJ*- ?G . 16 1 Composition t, . /6 /B 8 16 ( ]D3 ( 1KX LM ]D3 RRC 43 9(6 &/- /2 . DQ {,- +5D,0 ;, , 9,'- 6 ADL H . .G >? Z <F NQNT 2 . NJ*- >* 0 453 6 /- / 453 /6'.6 . 6 ;C > .G uZb- & - N'3 9M 1G .G w /,- 0, >,6 3 - 9'- /6' +5D0 / 1K- . =G 1F- 16 . 9(6 ( >G { >* H 4,53 ,6 ADL H, , .>, ,3 9M >*, 1,G /,@ 1,6 G AG3 9M /2 . AG- / 0 .G ]V K6 H +5 16 AG3 6 96 /, ;, , /- 9G N'3 /6 /6'.6 I3 3 - / 1K- +5 ;6 .) =.V >* H , 1,K- 9,- 3 - +-3 ( 1K- R /, >,6 ), =.V ,8 m, /- H k- . .WM .>G 3 \ 4,53 ,6 ,0 /, )6 @ 1G - 9'- t2 . 1G ; EF / =2'- ;-3 .G [F- @ /2 / .)* ?G G 13 0 / @ 6 9@ LM [@ N,-3 , / AB ( /- / R 96 6 5D0 . X first-class / t2 9< 16 /- /2 9,W +T2 Y7 /6 t2 . /2? = / >* 1 /,R t -. /- @ EF - .) =.V XJ 1G X /@ V6 EF /0 1G ) t2 . /,6 ,53 ;,C .,6 E,O( 0 m2 4ZQ- / ( , 1,?8 B - 1G /- /2 t 9G PQ+,5 16 >* H 453 k- .) /(O 2 9M 9- I6( . / 1,,<- ,,LM /,, I,,( 1,,G ,, module . / 1,,</0, I,6( 1,G C .)* ?G * procedure call ( procedure /,- ;, EF, +,T2 1,6 module 9. - 13 definition/use / R*6( 1,G ,G PQ- JB 6 B 6 k- /- / t2 1,G , .*, I3- client/server z3 H 6 1K](- / module +5 16 3 - server > ( client > ,R 6 8 16 /- 96 "client/server" & /. . PQ- LM procedure call / I( 16 !,%< [ NTNT . AG3 /- )0' W /- / 453 96 6 ),Z6B 1, ;( . ( 0' W . 2- 1 ( ,U ,( >*, H, 4,ZQ- /,- /R AG3 1K- C 6 1G 43 ( 1K- H 96 6 k- .8 H, 1,6 ,6 ], ;< ( G B6 z3 pipe H [@ . A- query N'3( H . 6 {- R 6 6 /- 453 4ZQ- F 16- @ 16 .6 1 /,- H, k,- .G /- 4ZQ- / idiom . 4,ZQ- /- /0 6 ) ;'- 4ZQ- / 1V &/ 1V .6 /. ), , 1K- AG3 )6ZF- 0'W . 1 ;-( /,- 4,53 9,C ., , 1 4ZQ- / 96. 16 1G , / 90 ( >R 453 . /3V6 t2 EF . ; EF / 453 ; & B +b- G /. module /,, >*,, .,,G ,, *,,' notation , +(,- vM /d,? 9,- N-3 . 1G connection V 453 /- /R ( ]D3 & 1K- . 96 6 1-. . c0 LM 8 & - /- 4ZQ- / .6 1? 13 /- >* / /, 1K- . - 9'- 96. . /*6 1G C . -,< /R 453 G / 96. &G - >? , ,R ;,C .., ,- ;,'- , ]D3 ( 1K16 >* / /- . / 0 6 . 6 SCC ,6 /l,B ,G &/,- /2, . `.6 L / 1<- 9< , ,6 - t ; . 453 LM /- ( 0 0 8 . +(3 B 1Q6G 1G 1K- . /, 1,Q6G &>,R6 ,U >* H is-composed-of /- /R 1G * 9M / }6 G ;-3 1K.* Z0 / 8 1? )0 1<- G ;-3 V,- .,8 - B 13 - L3 16 + 16 >* ), 16,- / >* . / 0 . instance H >* +5D,,0 ;,, .,, /*,6 {,,- /,,- +5D,,0 1,G . PQ,- /i,3 H, N,k-) 6 /0 3 - {- 5 1 6 2 Configuration Localize 7 Dynamic Reconfiguration 8 Heterogeneity Y +," NPNT Reusability Connector 3 Open ended 4 Constraint N] /, /,- , X, /6 /26 /- 453 / 96. ,LM +(,3 1,G ( /- / ADL .* >* .,G - >? 1G ) ZZb3 / )Z6B ( t2 EF 6 )*,B ( ?- - / ADL 6 )*B ; [2] .) 6 150 @ 16 ACME 6 RAPIDE NMN] 1,6 1G )8m ( l9-2 &event-based 96. H RAPIDE @ >* / /- 9G prototype /6 ^0 @ G - >? /- / @ /. 1 9'- 96. ; .) 1,( /- . /. 1 ; NZb3 /6 26 ( . 1G /- nB ;-3 .$ :. 3< RAPIDE /6 @ 9,6 /. 1 /6 N6B Z' >* /- H, |,Q3 ." ., |,Q3 /. +D3 1' . NB & ;'- )B ;6 6 o.3 ? ( timing 1G ]. , /,6 , B ( u)R ;-3 .e .(M ) 16 >*, X,-.M ( o- / /- constraint-based 43 NT*- d6 9 9 .% ./- / 6 )J6F- /6 .}26 / >* / /- 9 ]- 8 scalability N',3 1,8 X,Q6 ( . >* 1K- H &RAPIDE ,R 6 LM [@ . 1G 1 G 43 I( H : , prototype H, 1,G module H ( & N-3 1K 1K- R A3- 1Z*Z . 1K- G - /6 1*6 1K.G - 43 9,6. .$ :), N'3 sublanguage . RAPIDE 1,G /,- 96. ." .G - 43 1K- / I( 1G type 9,,6. .e .,,G ,,- 4,,53 ,, 1,,K- 9,,- o,,B( 9,, ,- 4,3 , 1K- ? /6 <2 B 1G specification PQ,- , N6B / module 1G executable 96. .% .G .G - 453 oB( /R 1G R 96. .! .G - DARWIN NON] ,6 $rr$ ], . 1,G ), 2,? = /0 453 /6 6. . , ,6 9,6. ;, .) 1 ( /b 4ZQ- / N' 1-6 0 component-based object-based /'( 16 I( H ) 0 ? (1K-) 0 ( .G - * /, instance 6 1-6 .G - 9L w 43 60 . - 10 LM / I( x; > 16 ( 1K- t . UNIX shell k,-) .,G ,- >,? ),Z6B ;, ,G ,(multiprocessing = ]3 >* &scripts K4^ N]NT =, /,- /, 453 . 3(- ( W / NZb3 96 6 . \ G0 ]V . 3 <6 NZb3 / /-. /, /,- ., ,- /,- / 453 6 G0W ( t, 96 6 ( G - >? NZb3 4ZQ- t 9'- 4ZQ1G Z? NZb3 . ) ; 1G) . )J6F- /- t 6 NZb3 (( - 3? & - N'3 type checking. /,6 /,- /2, . D,Q- 1<- . @ H VNZb3 9'- SQ ; 1G C .G - >* H )0 /,- H, k- .G - >? >* 9M ^0 +5D0 &G NZb3 throughput +5D0 93 - pipe-and-filter input- ,? & 8 o6- . ( )*6 ;6 NT*- 16 .,G z, , 1K- / filter ? ; . >* output . /- ; A- U- ^0 NZb3 26 96 6 ,,O N,,Zb3 &,,- module connection /,, 9,,6. type <, ,3 ,- ), ;,L6 ., =, 3 . +, 1,6 ( ., =, 1K- / (b- 9- checking 9,3 ,- .,G ,- , ,- ^0 96 NZb3 ;,B ,6 p , ( , 1?O input-output ? / 8( ,R t, /*,6 /,6 ., ]V procedure call `+f >*,,, ,,,O ],,, &event broadcast ,,,- N,,,-3 . ( - NZb3 ( specification N', &1,3 ,- /,- ^0 . /*6 96 N 16 >,L- *,6 /,- /, formalism /,6 NZb3 1? / &,6 I3,- ^0 N'3( H 6 ]D3 H 8 k- .* 1,-. , ]D3 ; . M 1G PQ3 96 6 &timing - ZT*- 16- @ 16 .1 ) A- 9M /8'6 ,,L- X,,J ,,3 ,,- o6,,- . ,, ( &performance .6 1 /- 453 H 96 A- ]V /- 453 H 6 >Q6 ) ;'- 1G NZb3 t3 ?,G /,( ,- SC,C , 1G - 9 > = 1K- 6 1G -R /- 6 +5D0 96 6 1'Z6 .)* . z6- & - [6F- 50 /R ( ]D3 & 4 Concurrent Constraints 6 Mapping 7 Well-defined 8 binding 5 1 Automated Reasoning Special Purpose 3 Proof tools 2 1,,?8 ,,U type H,, +,,G3 ;,, ;,,C >,, DARWIN , ,3- 1Z*,Z +,G3 . +,5 ;, 1,6 ( , 1G ) 0 DARWIN 1-6 H ZG N' ;66 . }6 .* AG- / 1K- Z0 / 8 1 ( 1 9M N,6J- ,6 1,G ,@ 9M ,? 1G * / \1( / 1K.G - /6 1*6 &R6 B /0 / 1 WRIGHTNPN] ADL _ * ACME :2 K UNICON3N]N] 453 -< +5 16 2? = / /- 1G ) / ADL , N',3 lZ,5 X,Q6 ( . /- UNICON .G 9,'- , 9, , 1,K- ., , ]D,3 ( , 1K- :) 9 ]D3 ( /2? = >* H ( +b]D,3 ( , 1,K- .* 1K- 9- +-3 / vG X,,Q6 H,, ( specification X,,Q6 H,, / ( ,, ,, , 2, ,0 N,Zb3 /, 2,6 . UNICON .* /. , /,- /6 V6 EF Z -G H / ( G - N',3 n),0' ,W /, , ]D,3 ( , 1K- . 1G ) . META HN`N] fault- &real-time 2,,? =,, ,,3 ( &verification &N,,Zb3 . embedded ( &multiprocessing &secure &tolerant /7,R- . ADL ;, Functional specification .G ,- .( , ,3? , ,(0 ( u{,- / & /(( /,6 9,-. ,6 I3,- /? +<@ ( &connectivity +<@ . - 9 security &fault-tolerance &real-time C2NaN] /,,- /,, 1,,K- 9,,- +-,,3 N,,Zb3 ( &specification . ,,? N,,Zb3 &9,,6. ;,, 1,,( Y,, .,,G ,,- ,, /6 CSP . / 1<- WRIGHT .) interconnection ( , 1,K- ,? 9,G PQ,- /,6 / 1 9G >? I,( /2, I,3 1,G , N'3( ;C > ( ]D3 /2, 1K- WRIGHT .G - ;-3 & - N,-3 JF- 1FJ port H .* - / port 6 3b.G - 43 1K- H . +U ( ) 9M Ib- ( 1K- ;6 .G - 453 port z3 1K- H +b- AESOPNQN] 1, ADL H, .G - /- / H . . AESOP .,G ,- 2,G3 /- / H 6 1G ) U1, *,6 9,6. ;, .SC,C H, > ( ) toolset H > /, ),Z6B , H, d,6 /6 .) WRIGHT ( ACME ACME [,@ . 96. ; 16 ( . N3 9'- . /(b- 3 ADL 9,6. ;, editing / 26 . /6 ( ( .) 1?8'6 WRIGHT 5D0 R / ACME NTN] 1,6 ( ), 2? = /- research community q3 N5 ,@ /, 2,6 /,6 {,- interchange )-? H 9< ), , ADL 9 . N' .) 1? 13 /,6 ., N,3 R' 16 ACME . 6 3 - 1G .) (M /6 +bO3 /6 XQ6 ACME ., , ,@ C2 H, / /- /6 C2SADL ( C2 message-based ,( ,6 user-interface / >* C2 1K- : - N'3 XQ6 1 . C2 /- H .G - 453 =, , ]D3 .LM /6' ( ( bus) ]D3 & : ]D,3 1,FJ ( 1,K- . - ]J 1K- 9- 1,K- bottom 1,6 ,3 - IJ? 1K- H Top .bottom ( top ( top I,( z,J [,@ . , 1,K- .p'<6 ( wND- R 3 Language for Universal Connector Support Construct 5 Heterogeneous 6 Shared Objects 7 Attach 4 1 2 primitive General-purpose .,G ,- , &,G ,- 1,T ,@ ](,- NT*- /6 ],- /,6 3 - - ) NJ*- * 1-6 96. H SADL 1, ](,- * 1-6 / 96. 6 6 1G 1-6 9G ;, ADL R 6 ADL ; )2- . 1?8 '6 & .G - >? /- refinement /6 / 1 1G ) CONTROL HNMMN] /, >*, /6 V6 EF / specification 9 9 /6 .( ,,- ,,G 1,,6 real-time ],,G ( guidance & navigation 9,-. ,6 ,- 1, /, ]R NZb3 ( /.*- 96. ; .G - ;'- [4] ACME ! N` ) L5B NMN` ,@ / 1, m2, s . 1,G /,- ontology H .$ ) N'3 /. , ,6 1,G 7 YF annotation =2'- H ." z3 . & 43 0 +5 16 1G sublanguage G - /0 W +<@ 9 /, H, ( , idiom t2, /6 type =2'- H .e - N6B ( ](+D,3 ,6 ]V, /6 .6 - SCC H .% /- ACME !G& . W NON` ,, ACME ,, /,,- X,, /,,6 ),,- t,, s &, role &, port & >* & ]D3 & 1K- : &, 1,K- ,LM ;,3 >L- m2 s ; . . rep-map ( nX .* >* ( ]D3 0| ( 3b- 6 /2 X 1K&/,,- box-and-line 4,,53 ( &*,, >*,, H,, . ,3< , 1K- . ]k- ;3 ](- .* box j/, R ( blackboard & &Z? & server & client . 1,6 .* 1K- 9- +-3 X ]D3 9,- R, ( @,3 / )? ]D3 L6 +< , line j,- , , ]D,3 .,G - ;'- 1K, N', N- ]k- .* /- box-and-line 453 event broadcast ( &procedure call &, pipe ,- +-3 , +-3 X 3 - ]D3 - .* - = +Z< &G - maintain \) bottom , 1,K- 9- / = .. - = ]3 16 1K- R 6 ( , * 1K- H I3 +Z< H = /6 )0 ,3 , =, 3,Z< / 1,K- 1G notification top ]D3 H 16 3 - L 1K- .) ) ,L3 /- )0 / = . ND- bottom ' ( 1,6 3 - L3 notification / = ( upward 16 3 . ] downward &1K- t :G - PQ- XQ6 1 /- C2ADSL ,6 1,K- t, H, C2 .(/i3) /6' ( & ]D3 t ., 1,K- H, 1,G p( . / 1<- ( `)6f XQ6 H N'3 +Z< H ( I( H . p( H .G - ;3 & export I,( ;,C ), ;,'- ( +Z< H . [,F- ,6 (9,6 ( NB I 6) +Z< ( )6f / XQ6 .G 1,K- H, subtype ,3 - 1K- H . - 96 ]( 1 , &), ),0'W +5 16 96 subtype ; .6 R . G3 super type 1K- /. ( ? &I( &/7R- .G - LM ROOM4NbN] 1,? 3 ) 3 6 1? 3 (actor) 1K- /, .,G ,- 1,T t ( ROOM .G - AG3 /2,? =, >* H 3- 1Z*Z 123 ROOM actor (@,3 /, ],G) ;,'- +VD3 1 16 X 1K- 16 /, +,C ,R /, . .,G ,- 4,53 , 1,K- ; ;6 ,3- 1Z*,Z ), ,3 / 1? 3 N' ROOM H, ROOM +,C , .*, , state chart . , [. UML j- ) 3 H 0 / I( ;C > ( ( 0 &actor port 1G 1K- H / I( .G - 43 (vG) ( 1Kbound /,6 /, , ]D,3 ,6 R' 16 & - 0 component-port- 1,? ,3 N', ROOM ;66 .* .8 - '6 1K- /- /6 connector SADLNMcN] , +,5 16 6 1G 2? = /- A3- 1Z*Z 43 /6 PQ,- /,6 ,3 ,- 96. ; . - 1?8 '6 & NZb3 . SADL .( ,G 1,6 /- H /- ; ( 0 9G H, &generic /, /,- &, /- ;6 E5 / )R ;3( / N 1G /- refinement /R ( /- / 1 State Operation 3 Invariant 4 Real-Time Object Oriented Modeling Language 2 5 Representation /,.- 4,53 . ;,C >, ACME .,G encode /, refinement ,- F, ;,C >, ( \/,6 1*6 /,- X, H, ]D3 1K- H 1G -R .G ,Z0 X, 9,- j,3 9,G PQ,- /,6 ( 6 & X, 1,G / , ]D,3 , 1K- 0 I( ( >* ,,3G N',,) rep-map H,, .,,6 1,, ,,( ,, ,,;3 .G - 43 j3 ; (representation map ) 0 ( Z0 / port 9- z3 L3 rep-map H .,G ,- >? (0 ( Z0 / role ]D3 /6 ;,C .,6 , *,6 ,3 - rep-map - 1J6 1G ) +5 . 16- /26 3(O rep-map /.) EO3 6 6 )*B SQL link H, , &client-server N,'3( H, ,- &6 3 ./6G 1-6 H ( R H 9 ]D3 ( 1K- / /6' X >* .* /- H X " N' & ]k- H 9< 16 H, ,6 1,G ) N'3 server ( client 1K- ( . 1G ) . ND- R' 16 RPC ]D3 " client-server ? :3 K #+Hd ? e% * / : 5 K ACME ) + NPN` 9,< 1,6 /,- 0, 4,53 /6 V6 ?- m2 s L3 - .) ?G ]D3 ( 1K- . 3- 1Z*Z ?8 ,O ], .)* ?G /- / 453 0 453 ,U ,3 , X, 6 ADL H JB 1G 3<@ - 1,G ,0 ?,O +,<@ 1,<- ADL ( ( ,6 typing +,<@ &>* run-time semantic - ZT*],,3 ,, 1,,K- 9,,- 1,,G ,, /,, type ,,-) +,,T2 . +<@ ( &/6 9-. B &N-3 / N'3( &( o,( (,b- ;, 9 [,F3 /,6 .,G - PQ- o6)*, 6 /- 0 annotation . ACME &?O +<@ /0 type H &= H )5 .G - +5 / ACME /,- ,@ )- s . =G . J- H ( 1,6 1,G 3,5 . / 1<- % N' . annotate 3 . - X )* O? /- H +,5 .*, `, 13 J- +5 ACME 8 . ( 1,3 &N,Zb3 /,6 2,6 H 1G - - -R L3 1 encapsulation boundaries Property 3 Uninterpreted 2 :) . +5 16 9M ACME 453 System simple_cs = { Component client = { Port send-request; }; Component server = { Port receive-request; }; Connector rpc = { Roles { caller, callee}}; Attachments { client.send-request to rpc.caller; server.receive-request to rpc.callee; } } H, / server ( request port H, / client 1,K:), role ( / , ]D3 .) receive-request port / 1<- 9 )* 6 >* ; /i3 .callee ( caller . - 43 attachment . ACME ? . : 4 K .,G - 2 /- 3- 1Z*Z 453 . ACME ( ; EF 453 C H 6 3 - ]D3 1K- 3,53 ;,C . =G (% N') . X 3 T2 1,6 X ;C . . - 0 X H &ACME /, ),- . /- / 8 1G - . ACME ,- &,G , 4,3 ,- 9M JB ACME & PQ- 1G , N,6B ,( ,LM ,- 1,G -R 1G - . .6 ACME % NQN` H, 4,53 /,6 , ,3 ACME . , 4,53 /, 1 /,, ),,Z6B 1,, ),,JJ ( *,, ?,,G /,,- instance ,- ., - N' 9M unparsing ( parsing / 26 /ZG .), , 9,6 /,- /0, t2, /6 / 1Z( . '3 6 / >* {- /0 453 , client ;,C ,8 client-server >*, ]k- k- . ( , client ;,6 G,- 0 1G C >6 1 server , ,?- 3 1G 1 16 13 6 ( server 4,3 ,- N,-G ,@ 1,6 1K- ; . =G ) =.V ,G ,- types . ACME N'- ; 6 1ZW /6 . ]D3 & 1K- /0 specification /6 ) -2'- 1G ,3 - type ; . '3 / port ( role & H, ., instantiate &ACME 453 H >* /6 1,G ), type 4,3 . / 1,<- N-, ACME 0 .G - 43 @ vocabulary >* 0 ACME ! < f NTN` 1,6 ( ( ,- '6 >* 0 /- 453 /6 ACME ., , , /,- 3b- semantic N- N ; 1 H 1G G - 1'3 .6 - SCC H 6 ACME < ADL - . ] ;< ( G - >? /0 , 3,b- ,? +,5 construct . , 6 DQ- / ),R &.,6 - SCC .G I3- /- 6 9-. ,JF- formalism H, 1,6 9,6. /0, /, 1 . M 1D,Q- H, SC,C ; .G - >? B ( I6( v6 1,G ), , z, predicate H, X ACME ,- ,3 - predicate ; . - 0 9M prescription 1,G ,B( /, / artifact 6 )b5 /6 8 B c client- >*, &]k- /6 . 1*J- &G 453 6 1DQ: . prescription &V6 F- server exists client, server, rpc | component(client) ^ component(server) ^ connector(rpc) ^ attached(client.sendrequest,rpc.caller) ^ attached(server.receiverequest,rpc.callee) ),5 H type &ACME .G LM . manipulation PQ,- ),5 9M 6 1G ) / «sublanguage» G PQ( &string &integer - / type &ACME 0 . 6 6 type 1J6 .) 43 X . Boolean ( «=,,» /,, indicator . ,, 2,,6 ;,, :,, 1,,3 ,,26 . ;, ,3 ,- ,M 1,G PQ3 3 G - «type» , ),5 H 1G /26 ? X ? .1 G q. J 13 9M 1G 6 ; 6 ^0 )5 type , >*, .,G , 26 R /6 - 7R6 B6 ,-M . ) 1? 13 /- +5 6 1G client-server :) System simple_cs = { Component client = { Port send-request; Property Aesop-style : styleid = client-server; Property UniCon-style : style-id = client-server; Property source-code : external = "CODE-LIB/client.c"; } Component server = { Port receive-request; Property idempotence : boolean = true; Property max-concurrentclients : integer = 1; source-code : external = "CODE-LIB/server.c"; } Connector rpc = { Role caller; Role callee; Property asynchronous : boolean = true; max-roles : integer = 2; protocol : Wright = " ... "; } Attachment client.send-request to rpc.caller; Attachment server.receiverequest to rpc.callee; } 1,6 2, 1,RC 1,G ,G - PQ- +5 d6 ? G AESOP / H -– target / ADL construct ]D,3 N'3( )5 16- @ 16 . - I3-– UNICON ( /6 L3 ( ) declare &WRIGHT 96. &RPC Z*- .) - 6 G q. 96. 9M 1RC - 1G /26 - - ]3 ADL 9- 1G -R +5 1' /6 ,@ 9 .6 1 ( LM - . G- { 6 &6 3 - G - manipulate ( NZb3 ACME +53 ),5 ,'( ;, . k- .G 13 +5 J- . +5 PQ,- WRIGHT 9,6. 1G ) RPC ]D3 N'3( .) Connector rpc = { Roles {caller, callee} Property protocol : Wright = "..."; } , , WRIGHT sublanguage /- 1G 26 1, H, 9,< 1,6 9M ( ,7R6 ),5 ; J- . 3 sublanguage =,L- 1,G ,26 .,G q., 13 N'3( specification J- 3 - - WRIGHT .G 4G ]D3 ; . /3 T2 - 3 G 13 #Y, =, ,ZQ- /, (,8 I3 3 - 2? = /- @ ,8 ,? 1, I3 1G 453 / 18 16 )*-.V ( ;6,6 .,6 A,- ,LM 9,- U ]3 /6 ( 6 { N6B &S,ZF- ,@ ;, /,6 /- 453 / 96. . . - U 16 7 S ; / /- 453 / 96. R 9- ACME 96. 2 q0 . c0 /26 . 3 - 1G ) ^0 8( .G g < [1] Garlan D.; Shaw M., An Introduction to Software Architecture, 1995. [2] Goulão, M.; Brito e Abreu, F., Bridging the gap between Acme and UML 2.0 for CBD, 2000. [3] Bass L., Clements P., Kazman R., Software Architecture in Practice, Addison Wesley, 1998. [4] ACME Language Overview, 2006, http://www.cmu.edu. ,- ]( 1,3- [,F- I,3 ,3 ,- , predicate ; 1DQ- H 9< 16 3 - ;C > . oB( c .)*, ?,G 1,3 q( ; 1 .( '6 /. H >, specification EO( W 1 ( ;C > ) =.V 1'Z6 1,G ), 1*,6 /, +,O? ,( : 1?O prescription role ( , port & ]D3 & 1K- 1 1G G - PQ1, &, , specification - /- 6 =( ( ., ,( L . W ( PQ- attachment ,6 .G PQ- / )- 16 6 - /- 1' :M - . +5 16 ]k- prescription - ; 9 1?O exists client, server, rpc | component(client) ^ component(server) ^ connector(rpc) ^ attached(client.sendrequest,rpc.caller) ^ attached(server.receiverequest,rpc.callee) ^ client != server ^ server != rpc ^ client != rpc ^ (for all y:component (y) => y = client | y = server) ^ (for all y:connector(y) => y = rpc) ^ (for all p,q: attached(p,q) => (p=client.send-request ^ q=rpc.caller) | (p=server.receive-request ^ q=rpc.callee)) =, ., 1?,O 6 2 +5 &1 /0 +<@ 6 (< 1,6 ),5 1,G - 1G * predicate j- +5 =, 9M ,J- ( ,7 - argument 9< 16 ) z6- 9M &+,5 ,J- ,6 .,8 ,-6 )- /6 )5 ., - ? 6 / >3 - ( 90 /- 16 13 9(6 :]k- /6 ;66 Component client = { Port send-request; Properties { Aesop-style : style-id = client-server; UniCon-style : style-id = cs} } :G - 1?O clause ; prescription 16 Aesop-style(client) = clientserver ^ Unicon-style(client) = cs 1,6 ACME /0, /,- ),5 H, J- 1G C 1,G ,26 &, ,- 1,?8 U H3 )- H 9< ﮔﺰارش اراﺋﻪ درس ﻣﻬﻨﺪﺳﻲ ﻧﺮماﻓﺰار ﭘﻴﺸﺮﻓﺘﻪ روﺷﻲﻫﺎي ارزﻳﺎﺑﻲ و ﻣﻘﺎﻳﺴﻪ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢﻫﺎي ﻧﺮماﻓﺰاري * وﺟﻴﻪ اﻟﻪ ﻣﻨﺘﻘﻤﻲ اﺳﺘﺎد :دﻛﺘﺮ ﺟﻌﻔﺮ ﺣﺒﻴﺒﻲ ﭼﻜﻴﺪه ﻫﺪف از ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري ،ﺗﺤﻠﻴﻞ آن ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺧﻄﺮات ﺑﺎﻟﻘﻮه و درﺳﺘﻲﻳﺎﺑﻲ ﻧﻴﺎزﻫـﺎي ﻛﻴﻔـﻲ ﻣﻄـﺮح ﺷﺪه در ﻃﺮاﺣﻲ ﻣﻲﺑﺎﺷﺪ .در اﻳﻦ ﻣﻘﺎﻟﻪ ﺑﺎ ﺑﺮرﺳﻲ زﻣﻴﻨﻪﻫﺎي ﻣﺨﺘﻠﻒ داﻧﺸﮕﺎﻫﻲ و ﻛﺎرﺑﺮدي روشﻫﺎي ارزﻳﺎﺑﻲ ،ﺳﻄﺢ ﻛﻨـﻮﻧﻲ ﺗﺤﻘﻴﻘـﺎت ﺳﻨﺠﻴﺪه ﺷﺪه اﺳﺖ .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر ﭼﻨﺪﻳﻦ روش ارزﻳﺎﺑﻲ و ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﺑﻪ ﻃﻮر ﻣﺨﺘﺼﺮ ﺷﺮح داده ﺷﺪه .اﻳﻦ روشﻫﺎ ﺑـﻪ دو ﮔـﺮوه ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ و ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻌﻴﺎرﻫﺎي ﻛﻴﻔﻲ ﺗﻘﺴﻴﻢ ﺷﺪهاﻧﺪ .ﺑﻪ دﻟﻴﻞ داﻣﻨﻪي وﺳﻴﻊﺗﺮ روشﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ ،ﺗﻌﺪاد ﺑﻴـﺸﺘﺮي از آنﻫﺎ ﻣﻮرد ﻛﻨﻜﺎش ﻗﺮار ﮔﺮﻓﺘﻪاﻧﺪ .ﻫﺮ روش ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﺷﺮاﻳﻂ و ﺳﺎﺧﺘﺎر ﺧﺎﺻﻲ ﭘﺪﻳﺪ آﻣﺪه ،ﻟﺬا اﻧﺘﺨﺎب و ﺑﻪﻛﺎرﮔﻴﺮي ﻳﻚ روش ﺻﺤﻴﺢ ﺣﺎﺋﺰ اﻫﻤﻴﺖ اﺳﺖ .ارزﻳﺎﺑﻲ روشﻫﺎي ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﻳﻜﻲ از راهﻫﺎي اﻧﻄﺒﺎق روﺷﻲ ﺧﺎص ﺑﺎ ﺳﺎزﻣﺎن اﺳﺖ و در آن ﻣﻌﻴﺎرﻫـﺎي ﺳـﻨﺠﺶ ﻳﻚ روش ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﭘﺮوژه ﻣﻮرد ﺑﺤﺚ ﻗﺮار ﻣﻲﮔﻴﺮد .راه دﻳﮕﺮ ﺳﺎﺧﺖ روﺷﻲ ﻣﻄﺎﺑﻖ ﺑﺎ ﻧﻴﺎزﻫﺎي ارزﻳﺎﺑﻲ اﺳﺖ .ﺑﺮ اﻳﻦ اﺳﺎس ،ﺑـﺎ دﺳـﺘﻪ ﺑﻨﺪي ﺗﻜﻨﻴﻚﻫﺎي ارزﻳﺎﺑﻲ ﻣﻲﺗﻮان روﺷﻲ ﺟﺪﻳﺪ را ﺑﺮاﺳﺎس ﻣﻮﻟﻔﻪﻫﺎي از ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪه ﺗﻌﺮﻳﻒ و ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار داد. ﻛﻠﻤﺎت ﻛﻠﻴﺪي ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ،روشﻫﺎي ارزﻳﺎﺑﻲ ﻧﺮماﻓﺰار ،ﺳﻨﺎرﻳﻮﻫﺎي ﻧﺮماﻓﺰار ،واﺑﺴﺘﻪﻫﺎي ﻧﺮماﻓﺰار ،ﺟﻨﺒﻪﻫﺎي ﻧﺮماﻓـﺰار ،ﺧـﻂ ﺗﻮﻟﻴـﺪ ﻧـﺮماﻓـﺰار، ﺗﻜﻨﻴﻚﻫﺎي ارزﻳﺎﺑﻲ *آدرس ﭘﺴﺖ اﻟﻜﺘﺮوﻧﻴﻜﻲ[email protected] : -1ﻣﻘﺪﻣﻪ اﻣﺮوزه ﺑﺎ اﻓﺰاﻳﺶ اﻧﺪازه و ﭘﻴﭽﻴﺪهﺗﺮ ﺷﺪن ﺳﻴﺴﺘﻢﻫﺎي ﻧﺮماﻓﺰاري ،ﺗﺎﻣﻴﻦ ﻛﻴﻔﻴﺖ ﻣﻮرد ﻧﻴﺎز اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ ﺧﻮد ﺑﺤﺚ ﺟﺪﻳﺪي را در ﻣﻬﻨﺪﺳﻲ ﻧﺮم- اﻓﺰار ﭘﺪﻳﺪ آورده اﺳﺖ .ﮔﺎﻫﺎ ،اﻧﺪازهي اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ ﺑﻴﺶ از ده ﺑﺮاﺑﺮ ﺳﻴﺴﺘﻢﻫﺎي ﻣﺸﺎﺑﻪ دﻫﻪي اﺧﻴﺮ اﻓﺰاﻳﺶ ﻳﺎﻓﺘﻪ اﺳﺖ .ﺑﻪ ﻫﻤﻴﻦ ﻟﺤﺎظ ﺗﻮﺿﻴﺤﻲ ﺳﻄﺢ ﺑﺎﻻ از ﻃﺮاﺣﻲ ﻧﺮماﻓﺰار ،ﻧﻘﺸﻲ ﻣﻬﻢ و اﺳﺎﺳﻲ را در ﻓﻬﻢ و ﻣﺪﻳﺮﻳﺖ ﺳﻴﺴﺘﻢﻫﺎي ﺑﺰرگ و ﭘﻴﭽﻴﺪه ﻧﺮماﻓﺰاري اﻳﻔﺎ ﻣﻲﻛﻨﺪ .در واﻗﻊ وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﻣﻄﺮوﺣﻪ در ﺳﻴﺴﺘﻢﻫﺎي ﺑﺰرگ ﻧﺮماﻓﺰاري )ﻣﺎﻧﻨﺪ ﻧﮕﻬﺪاﺷﺖﭘﺬﻳﺮي ،اﻃﻤﻴﻨﺎنﭘﺬﻳﺮي ،اﺳﺘﻔﺎدهﭘﺬﻳﺮي ،ﻛﺎراﻳﻲ ،اﻧﻌﻄﺎفﭘﺬﻳﺮي و ( ...را ﺑﻮﺳﻴﻠﻪ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﻣﺸﺨﺺ ﺳﺎﺧﺘﻪ و ﻣﺤﺪودﻳﺖﻫﺎي ﻣﻮرد ﻧﻴﺎز را ﺑﻮﺳﻴﻠﻪ آن ذﻛﺮ ﻣﻲﻛﻨﻨﺪ .ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﻧﻘﺶ ﻣﻬﻤﻲ در دﺳﺘﻴﺎﺑﻲ ﺑﻪ وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﺳﻴﺴﺘﻢ دارد و در اﻳﻦ ﺣﻴﻦ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري در ﺧﺼﻮص ﻣﻴﺰان دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻧﻴﺎزﻫﺎي ﻛﻴﻔﻲ ﻣﻄﻠﻮب در ﻣﺮاﺣﻞ اوﻟﻴﻪ ﺣﺎﺋﺰ اﻫﻤﻴﺖ اﺳﺖ .در واﻗﻊ ﻫﺪف اﺻﻠﻲ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ،درك ﻣﻴﺰان ﭘﺘﺎﻧﺴﻴﻞ ﻣﻌﻤﺎري اﻧﺘﺨﺎب ﺷﺪه ،ﺟﻬﺖ دﺳﺘﻴﺎﺑﻲ ﺑﻪ اﺳﺘﻌﺪاد ﺑﺮآورده ﻧﻤﻮدن ﻧﻴﺎزﻫﺎي ﻛﻴﻔﻲ و ﺷﻨﺎﺧﺖ رﻳﺴﻚﻫﺎي ﺑﺎﻟﻘﻮه ﻣﻲ- ﺑﺎﺷﺪ. ﻋﻼوه ﺑﺮ اﻳﻦ ،ﺑﺎ اﻳﻦ روش ﻣﻲﺗﻮان ﺳﺮﻳﻊﺗﺮ و ارزانﺗﺮ ﺧﻄﺎﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻃﺮاﺣﻲ را در ﻣﺮاﺣﻞ اوﻟﻴﻪ ﻧﺮماﻓﺰار ﺷﻨﺎﺳﺎﻳﻲ و ﻧﺴﺒﺖ ﺑﻪ رﻓﻊ آنﻫﺎ اﻗﺪام ﻧﻤﻮد .ﺗﺎ ﺑﻪ اﻣﺮوز روشﻫﺎﻳﻲ ﺟﻬﺖ ارزﻳﺎﺑﻲ ﻣﻮارد ﻛﻴﻔﻲ در ﺳﻄﺢ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﻣﻄﺮح ﺷﺪه اﺳﺖ وﻟﻲ ﺗﻮاﻓﻖ ﺟﺎﻣﻌﻲ ﺑﺮ ﺳﺮ روﺷﻲ ﻛﻪ ﺑﺘﻮاﻧﺪ ﺗﻤﺎم ﻣﺴﺎﺋﻞ ﺗﻜﻨﻴﻜﻲ و ﻏﻴﺮ ﺗﻜﻨﻴﻜﻲ را ﭘﻮﺷﺶ دﻫﺪ وﺟﻮد ﻧﺪارد و اﻛﺜﺮا ﻣﻮردي ﺧﺎص )ﻣﺎﻧﻨﺪ اﺳﺘﻔﺎدهﭘﺬﻳﺮي( را ﺟﻬﺖ ارزﻳﺎﺑﻲ اﻧﺘﺨﺎب ﻧﻤﻮده و ﺑﻪ ﺑﺮرﺳﻲ آن ﭘﺮداﺧﺘﻪاﻧﺪ. ﺗﻌﺎرﻳﻒ ﺑﺴﻴﺎري از ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﻣﻄﺮح ﺷﺪه اﺳﺖ .اﻣﺎ درونﻣﺎﻳﻪ ﺗﻤﺎم اﻳﻦ ﺗﻌﺮﻳﻒﻫﺎ ،ﻣﺴﺘﻨﺪ ﺳﺎزي ﺗﻌﺪادي ﻣﻮﻟﻔﻪ و ﺗﻌﻴﻴﻦ ارﺗﺒﺎط ﺑﻴﻦ آنﻫﺎ ﻣﻲﺑﺎﺷﺪ .در ﺑﺴﻴﺎري از ﻓﺮآﻳﻨﺪﻫﺎي ﺗﻮﻟﻴﺪ ﻧﺮماﻓﺰار از ﻣﺴﺘﻨﺪات ﻣﻌﻤﺎري ﺑﻪﻋﻨﻮان وﺳﻴﻠﻪاي ﺑﺮاي ارﺗﺒﺎط ﺑﻴﻦ اﻋﻀﺎي ﻛﻨﻮﻧﻲ و آﺗﻲ ﺗﻴﻢ اﺳﺘﻔﺎده ﻣﻲﺷﻮد .ﺑﻪ ﻫﻤﻴﻦ ﺟﻬﺖ ذيﻧﻔﻌﺎن زﻳﺎدي ﺑﺮاي ﻣﺴﺘﻨﺪﺳﺎزي ﻣﻌﻤﺎري دﺧﺎﻟﺖ دارﻧﺪ ﻛﻪ ﻓﻬﻢ و درك ﻣﻌﻤﺎري ﺑﺮاي ﻫﻤﻪ آنﻫﺎ ﺣﺎﺋﺰ اﻫﻤﻴﺖ ﻣﻲ- ﺑﺎﺷﺪ .ﻳﻚ ﺗﻌﺮﻳﻒ ﻛﺎرﺑﺮدي و دﻗﻴﻖ ﻛﻪ از ﺳﻮي R.Kazmanدر ][10 ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ: "ﺳﺎﺧﺖ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﺑﺮاي آن اﺳﺖ ﻛﻪ :ﺑﺘﻮان ﺳﻴﺴﺘﻢﻫﺎي ﺑﺎﻟﻨﺴﺒﻪ ﺑﺰرگ را ﺑﻮﺳﻴﻠﻪ ﻣﺠﻤﻮﻋﻪ ﻋﻨﺎﺻﺮي ﺑﺎ درﺷﺖداﻧﮕﻲ ﻛﺎﻓﻲ و ﻗﺎﺑﻞ ﻓﻬﻢ ﺑﺮاي اﻧﺴﺎن ﻧﻤﺎﻳﺶ داد و از آن ﺑﻪﻋﻨﻮان ﻣﺮﺟﻊ ارﺗﺒﺎﻃﻲ اﻋﻀﺎي ﺗﻴﻢ اﺳﺘﻔﺎده ﻧﻤﻮد .از ﺳﻮي دﻳﮕﺮ ﺟﺰﺋﻴﺎت ﺗﻮﺻﻴﻒ ﺑﻪاﻧﺪازهاي اﺳﺖ ﻛﻪ ﺑﺘﻮان از آن ﺑﺮاي اﺳﺘﺪﻻل در ﻣﻮرد ارﺿﺎء ﻧﻴﺎزﻣﻨﺪيﻫﺎي ﺣﻴﺎﺗﻲ ﺳﻴﺴﺘﻢ اﺳﺘﻔﺎده ﻧﻤﻮد". ﻫﺪف از ﺑﻪﻛﺎرﮔﻴﺮي ﻓﺮآﻳﻨﺪﻫﺎي ﺗﻮﻟﻴﺪ و ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار ،اﻳﺠﺎد ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري ﺑﺎ ﻛﻴﻔﻴﺖ ﻣﻄﻠﻮب اﺳﺖ .ﻳﻜﻲ از ﻛﺎرﺑﺮدﻫﺎي ﻣﻬﻢ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ،ﺑﻴﺎن وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﻻزم و ﺳﻨﺠﺶ ﺳﻴﺴﺘﻢ ﺗﻮﻟﻴﺪ ﺷﺪه ﺑﺮاﺳﺎس آن اﺳﺖ .دﺳﺘﻪﺑﻨﺪيﻫﺎي ﻣﺨﺘﻠﻔﻲ از وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ وﺟﻮد دارد ،اﻣﺎ ﺗﻌﺮﻳﻒ ﻣﻄﺮح ﺷﺪه در ] [20ﺑﺪﻳﻦ ﺷﺮح اﺳﺖ: "ﻣﺠﻤﻮﻋﻪاي از ﻗﺎﺑﻠﻴﺖﻫﺎ و وﻳﮋﮔﻲﻫﺎي ﻳﻚ ﻣﺤﺼﻮل ﻳﺎ ﺳﺮوﻳﺲ ﻛﻪ ﺑﻪ ﻣﻴﺰان ﺗﻮاﻧﺎﻳﻲ آن در ﺑﺮآورده ﺷﺪهي ﻧﻴﺎزﻫﺎ ﻣﺮﺑﻮط اﺳﺖ ،ﻛﻴﻔﻴﺖ ﻧﺎم دارد". 1 وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ از ﻣﻮﻓﻘﻴﺖﻫﺎي ﻛﺴﺐوﻛﺎر ،ﺗﺤﻠﻴﻞﻫﺎي ﺑﺎزارﻳﺎﺑﻲ و ﻧﻴﺎزﻣﻨﺪيﻫﺎ ﻧﺸﺎت ﻣﻲﮔﻴﺮد و ﻣﻲﺗﻮان آن را ﺑﻪ ﻣﺤﺼﻮل در ﺣﺎل ﺗﻮﺳﻌﻪ ﻳﺎ ﻓﺮآﻳﻨﺪ ﺗﻮﺳﻌﻪ ﻳﻚ ﻣﺤﺼﻮل ارﺟﺎع داد] .[21ﺑﺮاي ﻣﺜﺎل اﺳﺘﻔﺎده راﺣﺖ از ﻣﺤﺼﻮل ،ﺑﻪ ﻣﺤﺼﻮل و ﺗﻮﺳﻌﻪ راﺣﺖ و ﺳﺮﻳﻊ ﺑﻪ ﻓﺮآﻳﻨﺪ ﺗﻮﺳﻌﻪ ارﺟﺎع داده ﻣﻲﺷﻮد .ﭘﺮواﺿﺢ اﺳﺖ در اﻳﻦ ﺣﺎﻟﺖ ﻣﻌﻨﺎي وﻳﮋﮔﻲ ﻛﻴﻔﻲ واﺑﺴﺘﻪ ﺑﻪ ﻣﺤﻴﻂ ﺑﻮده و ﺑﻪ دﺷﻮاري ﻣﻲﺗﻮان ﺗﻌﺒﻴﺮ و ﺗﻌﺮﻳﻒ ﺟﺎﻣﻌﻲ از آن اراﺋﻪ داد. در اداﻣﻪ ﻧﮕﺎﻫﻲ ﻛﻠﻲ ﺑﻪ ﺗﻌﺮﻳﻒ ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ در ارزﻳﺎﺑﻲ ،ﻣﺰاﻳﺎ و ﻣﺮاﺣﻞ اﺳﺘﻔﺎده از آن ﺧﻮاﻫﺪ ﺷﺪ .روشﻫﺎي ﺑﺴﻴﺎري ﺑﺮاي ﺗﺤﻠﻴﻞ و ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﺑﻮﺟﻮد آﻣﺪه ﻛﻪ در اداﻣﻪ ﻣﺪل ﻣﺪل از آنﻫﺎ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار اﺳﺖ .دو ﮔﺴﺘﺮش از روشﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ ﻛﻪ ﻫﺮﻳﻚ ﺳﻌﻲ در رﻓﻊ ﻛﻤﺒﻮديﻫﺎﻳﻲ در آنﻫﺎ را دارﻧﺪ ﻣﻄﺮح ﺷﺪه .در ﺑﺨﺶ ﭼﻬﺎر ﻣﺪل ارزﻳﺎﺑﻲ ﺑﺮاﺳﺎس ﻣﻌﻴﺎرﻫﺎي ﻛﻴﻔﻲ ﺗﻮﺿﻴﺢ داده ﺷﺪه و در اداﻣﻪ ﻣﺪﻟﻲ ﺗﺠﻤﻴﻌﻲ ﺟﻬﺖ ﺗﺤﻠﻴﻞ و ﻛﻤﻲﺳﺎزي ﭼﻨﺪﻳﻦ ﻣﻌﻴﺎر ﺑﺮرﺳﻲ ﺷﺪه اﺳﺖ .در ﺑﺨﺶ ﭘﻨﺞ ارزﻳﺎﺑﻲ روشﻫﺎي ارزﻳﺎﺑﻲ و ﺳﺎﺧﺖ ﺑﻪ ﺟﻬﺖ اﻧﻄﺒﺎق ﺳﺎزﻣﺎﻧﻲ ﻣﺮور ﺷﺪه اﺳﺖ. -2ﭘﻴﺶ زﻣﻴﻨﻪ -1-2وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﺑﻪ ﻫﺮ ﻣﺸﺨﺼﻪ ﻏﻴﺮ وﻇﻴﻔﻪﻣﻨﺪ ﻫﺮ ﻣﻮﻟﻔﻪ ﻳﺎ ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري وﻳﮋﮔﻲ ﻛﻴﻔﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد .ﺷﻨﺎﺧﺖ و ﻣﺴﺘﻨﺪﺳﺎزي وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﻧﻘﺶ ﺑﻪ ﺳﺰاﻳﻲ در ﻓﺮآﻳﻨﺪ ﺗﻮﻟﻴﺪ و ﻧﮕﻬﺪاﺷﺖ ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري دارد .اﻳﻦ ﻣﺸﺨﺼﺎت ﺑﺮ اﺳﺎس اﻫﺪاف ﻛﺴﺐ و ﻛﺎر و ﻧﻴﺎزﻫﺎي اوﻟﻴﻪ ﻛﺎرﺑﺮ ﺑﻴﺎن ﻣﻲ- ﺷﻮﻧﺪ و ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري اوﻟﻴﻦ ﻣﺴﺘﻨﺪي اﺳﺖ ﻛﻪ آنﻫﺎ را ﺑﻴﺎن ﻣﻲﻛﻨﺪ و در ﻃﻲ ﻣﺮاﺣﻞ ارزﻳﺎﺑﻲ آن دﺳﺘﻴﺒﺎﺑﻲ ﺑﻪ آنﻫﺎ را ﻣﺸﺨﺺ ﻣﻲﺳﺎزد .ﻋﻼوه ﺑﺮ اﻳﻦ ،ﺑﺎ ﻣﺮﺗﺒﻂ ﻧﻤﻮدن ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري و وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﻣﻲﺗﻮان و ﻓﺮآﻳﻨﺪ ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ را ﺗﺴﺮﻳﻊ ﻧﻤﻮد .ﺑﺎ ﻣﺴﺘﻨﺪ ﺳﺎزي دﻗﻴﻖ وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ،ﻧﻘﺎط ﻣﺘﻘﺎﺑﻞ اﻳﻦ وﻳﮋﮔﻲﻫﺎ و ﺗﺤﻠﻴﻞ آنﻫﺎ ﺑﺮ ﭘﺎﻳﻪ ﻣﻌﻤﺎري ﻣﺮﺑﻮط ،ﻣﻲﺗﻮان ﻗﺎﺑﻠﻴﺖ اﺳﺘﻔﺎده ﭘﺬﻳﺮي ﺳﻴﺴﺘﻢ ﻧﺮم اﻓﺰاري را اﻓﺰاﻳﺶ داد. در] [16روﺷﻲ ﺑﺮاي ﻣﺴﺘﻨﺪﺳﺎزي وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ اراﺋﻪ ﺷﺪه اﺳﺖ .ﺑﺮ اﻳﻦ اﺳﺎس ﻫﺮ ﻣﺴﺘﻨﺪ ﻳﻚ وﻳﮋﮔﻲ ﻛﻴﻔﻲ ﺑﻪ ﺳﻪ ﺑﺨﺶ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮد: ﻣﺤﺮك ﺧﺎرﺟﻲ ،ﭘﺎﺳﺦ ﺳﻴﺴﺘﻢ و ﺗﺼﻤﻴﻤﺎتِ ﻣﻌﻤﺎري .ﻣﺤﺮك ﺧﺎرﺟﻲ روﻳﺪادﻫﺎﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎﻋﺚ واﻛﻨﺶ ﻳﺎ ﺗﻐﻴﻴﺮ ﻣﻌﻤﺎري ﻣﻲﺷﻮﻧﺪ .ﺑﺮاي ارزﻳﺎﺑﻲ ﻣﻴﺰان ﭘﺎﺳﺦدﻫﻲ ﻣﻌﻤﺎري ﺑﻪ درﺧﻮاﺳﺖﻫﺎ ،ﻻزم اﺳﺖ ﻣﻌﻴﺎرﻫﺎﻳﻲ دﻗﻴﻖ را ﺗﻌﺮﻳﻒ ﻧﻤﻮد .اﻳﻦ ﻣﻌﻴﺎرﻫﺎي ﻗﺎﺑﻞ ﻣﺸﺎﻫﺪه/اﻧﺪازهﮔﻴﺮي ﺑﻮﺳﻴﻠﻪ ﭘﺎﺳﺦ ﺳﻴﺴﺘﻢ ﻣﺸﺨﺺ ﻣﻲﺷﻮﻧﺪ .ﺟﻨﺒﻪﻫﺎﻳﻲ از ﻣﻌﻤﺎري )ﻣﻮﻟﻔﻪﻫﺎ ،ارﺗﺒﺎط ﺑﻴﻦ آنﻫﺎ و وﻳﮋﮔﻲﻫﺎي ﻫﺮﻳﻚ( ﻛﻪ ﺑﺮاي ﭘﺎﺳﺦﮔﻮﻳﻲ ﺑﻪ ﻧﻴﺎزﻫﺎ ﺗﺤﺖ ﺗﺎﺛﻴﺮ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ ،ﺗﺼﻤﻴﻤﺎت ﻣﻌﻤﺎري ﻧﺎم دارﻧﺪ. در ] [20ﻣﺪﻟﻲ ﺑﺮاي اﺳﺘﺎﻧﺪاردﺳﺎزي و دﺳﺘﻪﺑﻨﺪي وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﺑﻴﺎن ﺷﺪه اﺳﺖ .ﺑﺮ اﻳﻦ اﺳﺎس ،وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﺑﻪ ﺷﺶ دﺳﺘﻪ ﻛﻠﻲ )وﻇﻴﻔﻪﻣﻨﺪي ،اﻃﻤﻴﻨﺎنﭘﺬﻳﺮي ،اﺳﺘﻔﺎدهﭘﺬﻳﺮي ،ﻛﺎراﻳﻲ ،ﻗﺎﺑﻠﻴﺖ ﻧﮕﻬﺪاﺷﺖ و ﺣﻤﻞﭘﺬﻳﺮي( ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ و ﻫﺮﻳﻚ از آﻧﻬﺎ ﺑﻪ زﻳﺮ وﻳﮋﮔﻲﻫﺎﻳﻲ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ .اﻳﻦ دﺳﺘﻪﺑﻨﺪي ﺑﺮاﺳﺎس ﻣﺸﺨﺼﺎت ﻗﺎﺑﻞ ﻣﺸﺎﻫﺪه ﻫﺮ ﺳﻴﺴﺘﻢ اﻧﺠﺎم ﻣﻲﺷﻮد و اﺳﺘﺎﻧﺪارد ﻫﻴﭻ ﺗﻮﺻﻴﻪاي از ﺑﺎﺑﺖ اﻳﻦ دﺳﺘﻪ- ﺑﻨﺪيﻫﺎ اراﺋﻪ ﻧﻜﺮده اﺳﺖ. ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ روشﻫﺎي ﺑﺮرﺳﻲ ﺷﺪه و ﺗﻮﺻﻴﻒ وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ،ﻣﻲﺗﻮان ﺳﻪ وﻳﮋﮔﻲ )ﻛﺎراﻳﻲ ،اﻃﻤﻴﻨﺎنﭘﺬﻳﺮي ،ﻗﺎﺑﻠﻴﺖ ﻧﮕﻬﺪاﺷﺖ( را ﺑﺮاي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري اﻧﺘﺨﺎب ﻧﻤﻮد. -2-2ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري ﻧﻘﺸﻲ ﻣﺤﻮري در ﻓﺮآﻳﻨﺪ ﺗﻮﻟﻴﺪ ﻧﺮماﻓﺰار دارد. در ﺑﻪﻛﺎرﮔﻴﺮي ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ذيﻧﻔﻌﺎن ﮔﻮﻧﺎﮔﻮن ،ﻣﻔﺎﻫﻴﻢ ﻣﺘﻔﺎوﺗﻲ را از ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار درك ﻣﻲﻛﻨﻨﺪ .ﻫﺮ ﻣﻔﻬﻮم ﺑﻮﺳﻴﻠﻪ ﻳﻚ دﻳﺪ ﺗﻮﺿﻴﺢ داده ﻣﻲﺷﻮد .اﮔﺮﭼﻪ ﺗﻮاﻓﻘﻲ ﻋﻤﻮﻣﻲ ﺑﺮ ﺳﺮ اﻳﻦ دﻳﺪﻫﺎ وﺟﻮد ﻧﺪارد اﻣﺎ اﺻﻞ اﺳﺘﻔﺎده از ﺳﺎﺧﺘﺎر ﭼﻨﺪ دﻳﺪي ﺑﺮاي ﺑﻴﺎن ﻣﻌﻤﺎري ﻧﺮماﻓﺰار واﺿﺢ و ﻣﻄﻠﻖ ﻣﻲﺑﺎﺷﺪ :ﺟﺪاﺳﺎزي ﺟﻨﺒﻪﻫﺎي ﻧﺮماﻓﺰار ﺑﻪ دﻳﺪﻫﺎي ﻣﺨﺘﻠﻒ از ﭘﻴﭽﻴﺪﮔﻲ ﺳﻴﺴﺘﻢ ﻣﻲﻛﺎﻫﺪ .ﻋﻠﻲرﻏﻢ آنﻛﻪ اﺳﺘﺎﻧﺪاردي ﺑﺮاي دﻳﺪﻫﺎي ﻣﺨﺘﻠﻒ ﺑﻴﺎن ﻧﺸﺪه اﺳﺖ اﻣﺎ اﻳﻦ دﻳﺪﻫﺎ اﺻﻮﻟﻲ ﻫﻤﭽﻮن :ﺳﺎﺧﺘﺎر اﻳﺴﺘﺎ، ﺟﻨﺒﻪﻫﺎي ﭘﻮﻳﺎ ،ﻻﻳﻪﻫﺎي ﻓﻴﺰﻳﻜﻲ ،ﻣﺮاﺣﻞ ﺗﻮﺳﻌﻪ را ﻣﺤﻮر ﺗﻮﺻﻴﻒ ﺧﻮد ﻗﺮار ﻣﻲدﻫﻨﺪ .ﻣﻌﻤﺎر ﺳﻴﺴﺘﻢ وﻇﻴﻔﻪي اﻧﺘﺨﺎب دﻳﺪﻫﺎي ﻻزم ﺑﺮاي ﺗﻮﺻﻴﻒ ﻣﻌﻤﺎري ﺳﻴﺘﺴﻢ ﻧﺮماﻓﺰاري را ﺑﺮﻋﻬﺪه دارد. ﺑﺮاي ﺗﺤﻠﻴﻞ ﻛﻴﻔﻲ در ﺳﻄﺢ ﻣﻌﻤﺎري ﺗﻮﺻﻴﻒ را ﺑﻪ ﮔﻮﻧﻪ اﻧﺠﺎم ﻣﻲﺷﻮد ﻛﻪ وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﻗﺎﺑﻞ دﺳﺘﻴﺎﺑﻲ ﺑﺎﺷﻨﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ روشﻫﺎي ﻣﺨﺘﻠﻒ ارزﻳﺎﺑﻲ ،روشﻫﺎي ﻣﺨﺘﻠﻔﻲ را ﺑﺮاي ﺑﻴﺎن ﻣﻌﻤﺎري ﻧﻴﺰ ﻣﻲﺗﻮان ﺑﻪﻛﺎر ﺑﺮد. در روشﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ ،ذيﻧﻔﻌﺎن از ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري ﻣﻬﻢﺗﺮﻳﻦ وﻳﮋﮔﻲ ﻣﻲﺑﺎﺷﺪ .از ﺳﻮي دﻳﮕﺮ در روشﻫﺎ ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺪل، دﻳﺪﻫﺎي رﺳﻤﻲ از ﺗﺎﻛﻴﺪ ﺑﻴﺸﺘﺮي ﺑﺮﺧﻮردارﻧﺪ .از ﻣﺪلﻫﺎﻳﻲ ﭼﻮن ﺷﺒﻜﻪ- ﻫﺎي ﭘﺘﺮي ،ﺷﺒﻜﻪ ﺻﻒ ،زﻧﺠﻴﺮهﻫﺎي ﻣﺎرﻛﻮف ،ﻧﻤﻮدار ﺗﺮﺗﻴﺐ ﭘﻴﺎم و UMLاﺳﺘﻔﺎده ﻣﻲﺷﻮد. -3-2روشﻫﺎي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﺑﻪ ﻃﻮر ﻛﻠﻲ دو روش ﻋﻤﺪه ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري وﺟﻮد دارد .روش اول ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺑﺮ ﻣﺒﻨﺎي ﺳﻨﺎرﻳﻮﻫﺎي از ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪه اﺳﺖ .اﻳﻦ روش از ﻓﺮاﮔﻴﺮي ﺑﻴﺸﺘﺮي ﺑﺮﺧﻮردار اﺳﺖ و از ﺟﻬﺎت ﻣﺨﺘﻠﻒ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ .اﻳﻦ روش ﻋﻤﺪﺗﺎ ﺑﺮﭘﺎﻳﻪ ﻣﻔﻬﻮﻣﻲ ﺑﻪ ﻧﺎم ﺳﻨﺎرﻳﻮ ﺑﻨﺎ ﻧﻬﺎده ﺷﺪه ﻛﻪ ﺑﻴﺎنﮔﺮ اﻧﺘﻈﺎرات ذيﻧﻔﻌﺎن ﺳﻴﺴﺘﻢ ﻣﻲﺑﺎﺷﺪ .روش دوم ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺑﺮ ﻣﺒﻨﺎي ﻣﺪلﻫﺎي ﻋﺪدي اﺳﺖ .اﻳﻦ ﻧﻮع روشﻫﺎ از ﻣﺪلﻫﺎﻳﻲ ﻫﻤﭽﻮن ﻣﺪل ﺷﺒﻜﻪ ﺻﻒ ،زﻧﺠﻴﺮهﻫﺎي ﻣﺎرﻛﻮف ،ﻣﺎﺷﻴﻦﻫﺎي ﺣﺎﻟﺖ ﺑﺮاي ﺗﺤﻠﻴﻞ دﻗﻴﻖ ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎ اﺳﺘﻔﺎده ﻣﻲﺷﻮد .اﻳﻦ روشﻫﺎ از ﺑﻠﻮغ ﻛﻤﺘﺮي ﺑﺮﺧﻮردارﻧﺪ و ﺑﻴﺸﺘﺮ ﺟﻬﺖ ﺗﻜﻤﻴﻞ روشﻫﺎي ﭘﻴﺸﻴﻦ اﺳﺘﻔﺎده ﻣﻲﺷﻮﻧﺪ. -4-2ﺗﺎﺛﻴﺮ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار در ﻓﺮآﻳﻨﺪ ﺗﻮﻟﻴﺪ ﻧﺮماﻓﺰار ﻳﻜﻲ از واﻗﻌﻴﺎت ﻣﻮﺟﻮد در ﻣﻌﻤﺎري ﻳﻚ ﺳﻴﺴﺘﻢ آن اﺳﺖ ﻛﻪ ﻣﻲﺗﻮان وﻳﮋﮔﻲﻫﺎي ﻣﻬﻢ آن را داﻧﺴﺖ ،ﺣﺘﻲ اﮔﺮ ﺳﻴﺴﺘﻢ ﻫﻨﻮز وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ .در اﻳﻦ ﺣﺎﻟﺖ ﻣﻌﻤﺎر ﻧﺮماﻓﺰار در ﻓﺮآﻳﻨﺪﻫﺎي ﺗﺼﻤﻴﻢﺳﺎزي ﻧﻘﺶ ﻋﻤﺪهاي اﻳﻔﺎ ﻣﻲﻛﻨﺪ ،ﭼﺮا ﻛﻪ ﻣﻌﻤﺎري ﺗﺎﺛﻴﺮات ﻣﺴﺘﻘﻴﻤﻲ در ﺳﻴﺴﺘﻢ در ﺣﺎل ﺳﺎﺧﺖ دارد و اﻏﻠﺐ اﻳﻦ ﺗﺎﺛﻴﺮات ﺷﻨﺎﺧﺘﻪ ﺷﺪه و ﻳﺎ ﻗﺎﺑﻞ ﭘﻴﺶﺑﻴﻨﻲ ﻣﻲﺑﺎﺷﻨﺪ. ﺑﺮرﺳﻲ و ﻣﻄﺎﻟﻌﻪ ﻣﻌﻤﺎري ﻣﻮرد ﻧﻈﺮ – ﭘﻴﺶ از آنﻛﻪ ﺑﻪ ﻋﻨﻮان ﻧﻘﺸﻪ راﻫﺒﺮدي 2ﭘﺬﻳﺮﻓﺘﻪ ﺷﻮد – ارزش اﻗﺘﺼﺎدي ﻓﺮاواﻧﻲ را ﻧﺼﻴﺐ ذيﻧﻔﻌﺎن ﺧﻮاﻫﺪ ﻛﺮد .اﻣﺮوز ﺑﺎ اﺳﺘﻔﺎده از ﻣﺘﺪﻫﺎي ﺳﺎﺧﺘﻴﺎﻓﺘﻪ و ﺗﻜﺮارﺷﻮﻧﺪه )ﻣﺎﻧﻨﺪ ،(ATAMﻫﺰﻳﻨﻪ ﺣﺬف و ﻛﺎﻫﺶ رﻳﺴﻚﻫﺎ ﺑﻪ ﻧﺤﻮ ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪاي ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ اﺳﺖ .از ﺟﻬﺖ دﻳﮕﺮ اﻃﻤﻴﻨﺎن از ﻣﻌﻤﺎري ﺣﺲ ﻣﻨﺎﺳﺒﻲ را ﺑﻪ ﭘﻴﺸﺒﺮد ﭘﺮوژه ﻣﻲدﻫﺪ و آنﻫﺎ را ﺑﻪ اداﻣﻪ راه ﻣﻄﻤﺌﻦ ﻣﻲﺳﺎزد .ﺑﻪ ﻋﻘﻴﺪه ﺑﺴﻴﺎري از ﻣﻌﻤﺎران ﻧﺮماﻓﺰار ،ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻣﻲﺑﺎﻳﺴﺖ ﺑﺨﺸﻲ از ﻫﺮ ﻣﺘﺪﻟﻮژي ﺗﻮﺳﻌﻪي ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻌﻤﺎري در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد ].[1 ﭘﺲ از ﻣﻄﺎﻟﻌﻪ اﻧﻮاع روشﻫﺎي ارزﻳﺎﺑﻲ و ﻣﻮارد ﻣﻄﺎﻟﻌﻪ ﻣﺨﺘﻠﻒ ﺑﺮﺧﻲ ﻣﺰاﻳﺎي ارزﻳﺎﺑﻲ ﺑﻪ ﺷﺮح زﻳﺮ ﻗﺎﺑﻞ ﺗﻮﺿﻴﺢ اﺳﺖ: ﻣﺎﻟﻲ و اﻗﺘﺼﺎدي :در ﺷﺮﻛﺖ ،AT&Tﻫﺮ ﻣﺪﻳﺮ ﭘﺮوژه در ازاي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﮔﺰارﺷﻲ را ﺑﻪ ﻋﻨﻮان درﺻﺪ ﺻﺮﻓﻪﺟﻮﻳﻲ اراﺋﻪ ﻣﻲدﻫﺪ .ﭘﺲ از ﻫﺸﺖ ﺳﺎل ﮔﺮدآوري اﻳﻦ ﮔﺰارﺷﺎت ،ﻧﺘﺎﻳﺞ ﺑﻴﺎنﮔﺮ ﺣﺪود %10ﺻﺮﻓﻪ ﺟﻮﻳﻲ در ﻛﻞ ﻫﺰﻳﻨﻪ ﭘﺮوژه اﺳﺖ .ﺷﺮﻛﺖﻫﺎي ﺑﺰرگ ﻫﻨﮕﺎم ﺧﺮﻳﺪﻫﺎي ﭼﻨﺪ ﻣﻴﻠﻴﻮن دﻻري ،ﻣﻌﻤﺎري ﻛﻠﻲ ﺳﻴﺴﺘﻢ را ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار داده و ﻧﻘﺎط ﻏﻴﺮ ﻛﺎرﺑﺮدي و ﻧﺎﻫﻤﺨﻮان را ﺣﺬف ﻧﻤﻮد و از اﻳﻦ ﻃﺮﻳﻖ وﻳﮋﮔﻲﻫﺎي ﻣﻨﺎﺳﺐ ﺳﻴﺴﺘﻢ را ﻓﺮاﻫﻢ ﻣﻲآورﻧﺪ .در ﻣﻮرد ﭘﺮوژهﻫﺎي ﻛﻮﭼﻜﺘﺮ ﻧﻴﺰ از ﺑﺮوز ﻣﺸﻜﻼﺗﻲ ﻛﻪ ﺑﺎﻋﺚ اﺧﺘﻼل درﻛﻞ ﻓﺮآﻳﻨﺪ ﭘﺮوژه ﻣﻲﺷﻮد ،ﺟﻠﻮﮔﻴﺮي ﺧﻮﻫﺪ ﺷﺪ .ﺑﺮاي ﻣﺜﺎل در ﻣﻮرد ﻣﺸﻜﻼت ﻛﺎرﻛﺮدي ﻛﻪ ﻣﻌﻤﻮﻻ ﺑﻪ ﺳﺨﺖ- اﻓﺰار ﻣﺮﺑﻮطاﻧﺪ ،ﻣﻲﺗﻮان ﺑﺪرﺳﺘﻲ ﻗﻀﺎوت ﻧﻤﻮد و از ﺷﻜﺴﺖ ﻛﻞ ﭘﺮوژه ﺟﻠﻮﮔﻴﺮي ﻧﻤﻮد. آﻣﺎدهﺳﺎزي اﺟﺒﺎري ﺑﻪ ﻣﻨﻈﻮر ﺑﺎزﺑﻴﻨﻲ :ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﻛﻪ ﺗﻤﺮﻛﺰ ﻣﺮاﺣﻞ ﻣﺮور و ارزﻳﺎﺑﻲ ﺑﺮ روي ﻣﺴﺘﻨﺪات ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﺑﻮده و ﭘﻴﺶ از ﺑﻪ آن ﻧﻤﺎﻳﺶ دﻗﻴﻖ ﻣﻌﻤﺎري ﻧﻴﺎز اﺳﺖ ،ﻟﺬا ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ را ﻣﻲﺑﺎﻳﺴﺖ ﺑﻪ ﻃﻮر دﻗﻴﻖ ﻣﺴﺘﻨﺪﺳﺎزي ﻧﻤﻮد .ﺑﺴﻴﺎري از ﺳﻴﺴﺘﻢﻫﺎ در اﻳﻦ ﻣﺮﺣﻠﻪ، داراي ﻣﺴﺘﻨﺪات اﻧﺪك و ﻳﺎ ﭘﺮﺣﺠﻤﻲ ﻣﻲﺑﺎﺷﻨﺪ )در ﺑﺮﺧﻲ ﻣﻮارد ﺻﺪﻫﺎ ﺻﻔﺤﻪ( .اﻣﺎ ﺑﻪ دﻟﻴﻞ ﻧﺒﻮد ﺳﺎزﻣﺎﻧﺪﻫﻲ درﺳﺖ ،اﻛﺜﺮ اﻳﻦ اﻃﻼﻋﺎت ﻓﺎﻗﺪ دادهﻫﺎي ﻗﺎﺑﻞ ﻓﻬﻢ ﺑﺮاي اﻋﻀﺎي ﺗﻴﻢ ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻣﻲﺑﺎﺷﻨﺪ. ﻳﺎﻓﺘﻦ دﻻﻳﻞ و ﻣﺴﺘﺪل ﻧﻤﻮدن ﻓﺮآﻳﻨﺪ :ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺑﺎ اﺳﺘﻔﺎده از ﺳﻮاﻻﺗﻲ ﺧﺎص ﻛﻪ ﻣﻲﺑﺎﻳﺴﺖ ﭘﺎﺳﺨﻲ ﺑﺮاي آنﻫﺎ ﻳﺎﻓﺘﻪ ﺷﻮد ،ﺧﻮد را ﺑﺮ روي ﻣﺤﺪودهﻫﺎي وﻳﮋهاي ﻣﺘﻤﺮﻛﺰ ﺳﺎﺧﺘﻪ اﺳﺖ .ﭘﺎﺳﺦ ﺑﻪ اﻳﻦ ﺳﻮاﻻت ﺧﻮد در ﺑﺮﮔﻴﺮﻧﺪهي ﺗﻮﺿﻴﺤﺎﺗﻲ راﺟﻊ ﺑﻪ ﮔﺰﻳﻨﻪﻫﺎي ﻃﺮاﺣﻲ و اﺳﺘﺪﻻل- ﻫﺎي ﻣﺮﺑﻮط ﺑﻪ آنﻫﺎ ﻣﻲﺑﺎﺷﺪ .اﻳﻦ اﺳﺘﺪﻻﻻت ﻣﺴﺘﻨﺪﺳﺎزي ﺷﺪه و در ﻣﺮاﺣﻞ ﺑﻌﺪي ﭼﺮﺧﻪي ﺣﻴﺎت ﻧﺮماﻓﺰار ﺑﺴﻴﺎر ﻣﻔﻴﺪ ﺧﻮاﻫﺪ ﺑﻮد ،ﻛﻤﺎاﻳﻨﻜﻪ ﺑﺪﺳﺖ آوردن اﻳﻦ ﻣﺴﺘﻨﺪات ﭘﺲ از ﻣﺮﺣﻠﻪ ﺗﻮﺳﻌﻪ و ﺗﻮﻟﻴﺪ ﻛﺎري ﺑﺲ دﺷﻮار ﺧﻮاﻫﺪ ﺑﻮد. ﺗﻮﺳﻌﻪ و اﻋﻤﺎل ﺗﻐﻴﻴﺮات در ﺳﻴﺴﺘﻢﻫﺎي ﻗﺪﻳﻤﻲ اﺳﺘﻔﺎده ﺷﻮد ،ﺗﺨﻤﻴﻦ درﺳﺘﻲ از ﻣﻴﺰان ﺗﻐﻴﻴﺮات ﺑﺪﺳﺖ ﻣﻲدﻫﺪ .ﭘﺲ از ﭘﺎﻳﺎن ﻣﺮﺣﻠﻪي ﺗﻮﺳﻌﻪ و ﺗﻮﻟﻴﺪ ﺑﺮﺧﻲ زﻳﺮﺳﻴﺴﺘﻢﻫﺎ ﻣﻲﺗﻮان ﺑﺮاي ارزﻳﺎﺑﻲ و ﺳﻨﺠﺶ ﻣﻴﺰان دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻧﻴﺎزﻫﺎي ﻛﻴﻔﻲ اﻳﻦ زﻳﺮﺳﻴﺴﺘﻢﻫﺎ ،از ﻣﺴﺘﻨﺪات و ﻓﺮآﻳﻨﺪﻫﺎي ﻣﻌﻤﺎري ﻧﺮماﻓﺰار اﺳﺘﻔﺎده ﻧﻤﻮد. ﻳﺎﻓﺘﻦ زودﻫﻨﮕﺎم ﻣﺸﻜﻼت ﺑﺮاﺳﺎس ﻣﻌﻤﺎري ﻛﻨﻮﻧﻲ :ﻛﺸﻒ -3روشﻫﺎي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ زودﻫﻨﮕﺎم ﻣﺸﻜﻼت در ﭼﺮﺧﻪ ﺣﻴﺎت ﻧﺮماﻓﺰار ،ﻫﺰﻳﻨﻪ اﺻﻼح را ﺑﻪ ﻧﺤﻮ ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪاي ﺗﻌﺪﻳﻞ ﺧﻮاﻫﺪ ﻛﺮد .ﻣﺸﻜﻼﺗﻲ را ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از ارزﻳﺎﺑﻲ در ﺳﻄﺢ ﻧﺮماﻓﺰار ﻣﻲﺗﻮان ﻛﺸﻒ ﻧﻤﻮد ﺷﺎﻣﻞ ﻣﻮاردي ﻫﻤﭽﻮن :ﻧﻴﺎزﻫﺎي ﻏﻴﺮ ﻣﻨﻄﻘﻲ )ﭘﺮﻫﺰﻳﻨﻪ( ،ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ و ﺗﻐﻴﻴﺮات ﺑﺎ داﻣﻨﻪي ﻧﻔﻮذﭘﺬﻳﺮي ﺑﺎﻻ. در اﻳﻦ روشﻫﺎ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري را ﺑﺎ اﺳﺘﻔﺎده از ﻧﻈﺮات ذي- ﻧﻔﻌﺎن ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﻣﻲدﻫﻨﺪ .اﻳﻦ ﻧﻈﺮات در ﻗﺎﻟﺐ ﺳﻮاﻻت از ﭘﻴﺶ ﺗﻌﻴﻴﻦ ﺷﺪه ،ﭼﻚ ﻟﻴﺴﺖﻫﺎ و اﻏﻠﺐ ﺳﻨﺎرﻳﻮﻫﺎ ﺟﻤﻊآوري ﻣﻲﺷﻮﻧﺪ. ﺗﺎﻛﻨﻮن ﺗﻌﺎرﻳﻒ ﻣﺨﺘﻠﻔﻲ از ﺳﻨﺎرﻳﻮ اراﺋﻪ ﺷﺪه اﺳﺖ .ﻳﻜﻲ از ﺗﻌﺎرﻳﻒ ﻛﻠﻲ آن ﺑﺪﻳﻦ ﺷﺮح اﺳﺖ :ﺳﻨﺎرﻳﻮ ﺗﻮﺿﻴﺤﻲ ﻣﺨﺘﺼﺮ در ﻣﻮرد ﻳﻚ ﺗﻌﺎﻣﻞ ﻣﻨﻔﺮد ذيﻧﻔﻊ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﻲﺑﺎﺷﺪ .در اﻛﺜﺮ روشﻫﺎي ارزﻳﺎﺑﻲ ﺳﻨﺎرﻳﻮﻫﺎ ﺑﻪ دو دﺳﺘﻪ ﻛﻠﻲ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ :ﺳﻨﺎرﻳﻮﻫﺎي ﻣﺴﺘﻘﻴﻢ :ﺳﻨﺎرﻳﻮﻫﺎﻳﻲ ﻛﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺗﻮﺳﻂ ﻣﻌﻤﺎري ﭘﺸﺘﻴﺒﺎﻧﻲ ﺷﺪه و ﺑﺮاي ارﺿﺎء آن اﺣﺘﻴﺎج ﺑﻪ اﻳﺠﺎد ﺗﻐﻴﻴﺮي در ﻣﻌﻤﺎري ﻧﻤﻲﺑﺎﺷﺪ .اﻳﻦ ﺳﻨﺎرﻳﻮﻫﺎ ﺑﺮاي ﻓﻬﻢ ﻣﻌﻤﺎري و ﭘﻴﭽﻴﺪﮔﻲ ﻣﻮﻟﻔﻪﻫﺎ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد .ﺳﻨﺎرﻳﻮﻫﺎي ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ: ﺳﻨﺎرﻳﻮﻫﺎﻳﻲ ﻛﻪ ﺑﺮاي دﺳﺘﻴﺎﺑﻲ ﺑﻪ آنﻫﺎ ﺑﻪ ﺗﻐﻴﻴﺮ در ﻃﺮاح ﻣﻌﻤﺎري ﻧﻴﺎز اﺳﺖ و در ﭘﺎﻳﺎن ﻓﺮآﻳﻨﺪ ارزﻳﺎﺑﻲ ﻣﻲﺑﺎﻳﺴﺖ ﺑﻪ ﺳﻨﺎرﻳﻮﻫﺎي ﻣﺴﺘﻘﻴﻢ ﺗﺒﺪﻳﻞ ﺷﻮﻧﺪ. ﺗﺎﻛﻨﻮن روشﻫﺎي زﻳﺎدي ﺑﺮاي ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﺑﻮﺟﻮد آﻣﺪهاﻧﺪ ﻛﻪ ﻣﺤﻮر اﺻﻠﻲ آنﻫﺎ ﺳﻨﺎرﻳﻮﻫﺎ ﻣﻲﺑﺎﺷﻨﺪ .اﻏﻠﺐ اﻳﻦ روش ﺗﻮﺳﻂ ﻣﻮﺳﺴﻪ ﻣﻬﻨﺪﺳﻲﻧﺮماﻓﺰار داﻧﺸﮕﺎه CMU4ﺗﻌﺮﻳﻒ ﺷﺪهاﻧﺪ SAAM .ﻣﻌﺮوفﺗﺮﻳﻦ روش ارزﻳﺎﺑﻲ ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ ﻣﻲﺑﺎﺷﺪ ﻛﻪ از ﺳﺎﺧﺘﺎر ﺳﺎدهاي ﺑﺮ ﺧﻮردار اﺳﺖ .ﭘﺲ از اﻳﻦ روش روشﻫﺎي دﻳﮕﺮي ﻣﺎﻧﻨﺪ ،ALMA ،ATAM ARIDﺑﻮﺟﻮد آﻣﺪﻧﺪ ﻛﻪ ﺳﻌﻲ در ﺑﻬﺒﻮد اﻳﻦ روشﻫﺎ داﺷﺘﻪاﻧﺪ .در اﻳﻦ ﺑﺨﺶ ﻣﺘﺪ ATAMرا ﺑﻪ ﺻﻮرت ﻛﻠﻲ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲﮔﻴﺮد.در ﺑﺨﺶ ﺑﻌﺪ ﮔﺴﺘﺮﺷﻲ از آن ﻛﻪ واﺑﺴﺘﻪﻫﺎي ﻧﺮماﻓﺰاري را ﻣﻮرد ﺗﺎﻛﻴﺪ ﻗﺮار ﻣﻲدﻫﺪ ﺑﺮرﺳﻲ ﺷﺪه و در ﺑﺨﺶ آﺧﺮ ،روﺷﻲ ﺑﺮاي ارزﻳﺎﺑﻲ ﺟﻨﺒﻪﻫﺎي ﺳﻴﺴﺘﻢ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲﮔﻴﺮد. ﺗﺼﺪﻳﻖ ﻧﻴﺎزﻣﻨﺪﻳﻬﺎ :ﻃﻲ ﻓﺮآﻳﻨﺪﻫﺎي ارزﻳﺎﺑﻲ ،ﭼﮕﻮﻧﮕﻲ دﺳﺖﻳﺎﺑﻲ ﺑﻪ ﻧﻴﺎزﻣﻨﺪيﻫﺎ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲﮔﻴﺮد ﻛﻪ اﻳﻦ ﻣﺴﺘﻠﺰم ﺑﺤﺚ در ﻣﻮرد ﻧﻴﺎزﻣﻨﺪيﻫﺎ ﻣﻲﺑﺎﺷﺪ .در ﻧﺘﻴﺠﻪ درك ﺷﻔﺎفﺗﺮي از ﻧﻴﺎزﻣﻨﺪيﻫﺎ ﺑﻮﺟﻮد آﻣﺪه و اوﻟﻮﻳﺖﺑﻨﺪي ﻧﻴﺎزﻫﺎ ﺑﺮاﺳﺎس آن اﻧﺠﺎم ﻣﻲﺷﻮد .ﻧﻴﺎزﻣﻨﺪي- ﻫﺎﻳﻲ ﻛﻪ ﭘﻴﺶ از ﻃﺮاﺣﻲ ﺷﻜﻞ ﻣﻲﮔﻴﺮﻧﺪ ﺷﻜﻠﻲ واﻗﻌﻲ ﻧﺪارﻧﺪ و اﻏﻠﺐ ﺗﻨﺎﻗﻀﺎﺗﻲ ﺑﻴﻦ آنﻫﺎ ﺑﻮﺟﻮد ﻣﻲآﻳﺪ .ﺑﻪﻃﻮر ﻣﺜﺎل ،ﻛﺎراﻳﻲ ﺑﺎﻻ ،اﻣﻨﻴﺖ، ﺗﺤﻤﻞ ﺧﻄﺎ و ﻫﺰﻳﻨﻪي ﭘﺎﻳﻴﻦ ﻧﻴﺎزﻣﻨﺪيﻫﺎياﻧﺪ ﻛﻪ ﻧﻤﻲﺗﻮان ﺑﻪ راﺣﺘﻲ ﻫﻤﻪ را ﺑﺎ ﻫﻢ ﺑﺪﺳﺖ آورد و در ﺑﺴﻴﺎري از ﻣﻮارد ﻧﻴﺰ ﻧﺎﻣﻤﻜﻦ اﺳﺖ .در اﻳﻦ ﺣﺎﻟﺖ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺑﺴﻴﺎري از اﻳﻦ ﺗﻨﺎﻗﻀﺎت را ﺑﻴﺎن ﺳﺎﺧﺘﻪ و ﺑﻪ ﺑﺤﺚﻫﺎ و ﺗﺒﺎدل ﻧﻈﺮات ﺟﻬﺖ ﻣﻲدﻫﺪ. ﺑﻬﺒﻮد ﻣﻌﻤﺎري :ﺳﺎزﻣﺎنﻫﺎﻳﻲ ﻛﻪ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري را ﺟﺰﺋﻲ از ﻓﺮآﻳﻨﺪ ﺗﻮﺳﻌﻪ ﺧﻮد ﻗﺮار دادهاﻧﺪ ،ﭘﻴﺸﺮﻓﺖﻫﺎﻳﻲ را در دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻣﻌﻴﺎرﻫﺎي ﻛﻴﻔﻲ ﮔﺰارش دادهاﻧﺪ .اﻳﻦ روﻧﺪ ﺑﻪدﻟﻴﻞ آن اﺳﺖ ﻛﻪ ﭘﺲ از ﻫﺮ ﻣﺮﺣﻠﻪ ارزﻳﺎﺑﻲ و ﺗﻮﻟﻴﺪ ﻧﺮماﻓﺰار ،ﺗﺠﺮﺑﻴﺎت ﺑﻬﺘﺮ و ﺑﻴﺸﺘﺮي از ﻣﻌﻤﺎري و ارﺗﺒﺎط ﻧﻴﺎزﻣﻨﺪيﻫﺎ ﺑﺎ آن ﺑﺪﺳﺖ آﻣﺪه و ﻃﻲ دﻓﻌﺎت آﺗﻲ اﻳﻦ ﺗﺠﺮﺑﻴﺎت ﺑﻪ ﻃﺮاﺣﻲ ﺑﻬﺘﺮ و ﻫﻤﺎﻫﻨﮕﻲ ﺑﻴﺸﺘﺮ آن ﺑﺎ ﺳﺎﺧﺘﺎر ﺳﺎزﻣﺎن و ﻓﺮﻫﻨﮓ ﺗﻴﻢ ﺗﻮﻟﻴﺪ ﻛﻤﻚ ﺧﻮاﻫﺪ ﻛﺮد. ﺑﻪﻃﻮر ﻛﻠﻲ ،ﻫﺮﭼﻪ ﻣﻌﻴﺎرﻫﺎي ﻛﻴﻔﻲ ﻧﺮماﻓﺰار زودﺗﺮ و در ﻣﺮاﺣﻞ اﺑﺘﺪاﻳﻲﺗﺮ ارزﻳﺎﺑﻲ ﺷﻮﻧﺪ ،ﻣﺤﺼﻮل ﺑﺎ ﻛﻴﻔﺖ ﺑﻴﺸﺘﺮ و ﺑﻪ ﻟﺤﺎظ اﻗﺘﺼﺎدي ﻣﻘﺮون ﺑﻪ- ﺻﺮﻓﻪﺗﺮي ﺧﻮاﻫﻴﻢ داﺷﺖ .ﭼﺮا ﻛﻪ اﻋﻤﺎل ﺗﻐﻴﻴﺮ در ﻧﻴﺎزﻣﻨﺪيﻫﺎ، ﺧﺼﻮﺻﻴﺎت و ﻳﺎ ﺣﺘﻲ ﻛﻞ ﻃﺮاﺣﻲ ﺑﻪ ﺳﺎدﮔﻲ و ﺑﺎ ﺻﺮف ﻫﺰﻳﻨﻪ ﻛﻤﺘﺮي ﺻﻮرت ﻣﻲﭘﺬﻳﺮد .ﻛﻴﻔﻴﺖ ﻧﺮماﻓﺰار را ﻧﻤﻲ-ﺗﻮان در ﻣﺮاﺣﻞ ﭘﺎﻳﺎﻧﻲ ﺗﻮﻟﻴﺪ ﺑﻪ آن اﻓﺰود و ﻣﻲﺑﺎﻳﺴﺖ از ﻫﻤﺎن ﻣﺮاﺣﻞ اﺑﺘﺪاﻳﻲ آنﻫﺎ را – ﺣﺘﻲ در ﻧﺴﺨﻪﻫﺎي اﺑﺘﺪاﻳﻲ ﻃﺮاﺣﻲ ﻛﻪ ﻣﻌﻤﺎري ﺟﺰﺋﻲ از آن اﺳﺖ – در ﻧﻈﺮ ﮔﺮﻓﺖ .ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري را ﻣﻲﺗﻮان در ﻧﻘﺎط ﻣﺨﺘﻠﻔﻲ از ﭼﺮﺧﻪي ﺣﻴﺎت ﻧﺮماﻓﺰار اﻧﺠﺎم داد .اﮔﺮ ﻣﻌﻤﺎري در ﻣﺮاﺣﻞ اوﻟﻴﻪي ﺗﻮﻟﻴﺪ ﺧﻮد ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻣﻲﺗﻮان از ﻧﺴﺨﻪﻫﺎي اوﻟﻴﻪ ﺑﺮاي ارزﻳﺎﺑﻲ ﺗﺼﻤﻴﻤﺎت اﺗﺨﺎذ ﺷﺪه و ﻳﺎ ﺑﺮﺧﻲ ﻓﺮﺿﻴﺎت اﺳﺘﻔﺎده ﻧﻤﻮد و اﮔﺮ ﺗﻮﻟﻴﺪ آن ﺑﻪ ﭘﺎﻳﺎن رﺳﻴﺪه ﺑﺎﺷﺪ و ﻳﺎ ﻧﺰدﻳﻚ ﺑﻪ اﺗﻤﺎم ﺑﺎﺷﺪ ،از آن ﺑﺮاي ﺗﺼﺪﻳﻖ 3ﻃﺮح ،ﭘﻴﺶ از ﻣﺮﺣﻠﻪي ﭘﺮﻫﺰﻳﻨﻪ ﺗﻮﺳﻌﻪ اﺳﺘﻔﺎده ﻧﻤﻮد .ﻫﻤﭽﻨﻴﻦ اﮔﺮ از ارزﻳﺎﺑﻲ ﺑﺮاي ﺗﻮﺳﻌﻪ ﺑﺮاي -1-3ﺑﺮرﺳﻲ روش ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻣﺒﺘﻨﻲ ﺑﺮ واﺑﺴﺘﻪ- ﻫﺎ ﻣﻌﻤﺎري ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري ﺑﻪ ﻋﻨﻮان ﻳﻚ داراﻳﻲ ﻛﻠﻴﺪي در ﺻﻨﻌﺖ ﻧﺮماﻓﺰار ﺷﻨﺎﺧﺘﻪ ﺷﺪه اﺳﺖ .ﻣﺘﺪﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺮاي ﻣﻌﻤﺎري ﻣﺎﻧﻨﺪ ADD5و ﻣﺘﺪﻫﺎي ارزﻳﺎﺑﻲ ﻣﺎﻧﻨﺪ CBAM6 ،ATAMو ALMA7 وﺟﻮد دارد .ﺑﺎ اﻳﻦ ﺣﺎل ،ﻃﺒﻖ ] [3آنﭼﻪ ﻛﻪ در ﺗﺤﻘﻴﻘﺎت و ﺻﻨﻌﺖ ﻓﺮاﻣﻮش ﺷﺪه ،ﻣﺘﺪ ﺗﺤﻠﻴﻠﻲ ﻣﻌﻤﺎري واﺑﺴﺘﻪ 8ﻣﺤﻮر اﺳﺖ و ﻛﻪ ﺷﺒﺎﻫﺖ زﻳﺎدي ﺑﺎ ﺗﺤﻠﻴﻞﻫﺎي ﺳﺒﺒﻲ 9ﻧﻮاﻗﺺ در ﺳﻴﺴﺘﻢﻫﺎي ﻧﺮماﻓﺰاري دارد .ﺑﺪان ﻣﻌﻨﺎ ﻛﻪ ،ﭘﺲ از ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري واﺑﺴﺘﻪﻫﺎ ﺷﻨﺎﺳﺎﻳﻲ ﺷﺪه و ﺑﺮاي ﻳﺎﻓﺘﻦ رﻳﺸﻪ اﺻﻠﻲ در ﻣﺮاﺣﻞ اوﻟﻴﻪ ﺗﻮﻟﻴﺪ ﻣﻮرد ﺗﺤﻠﻴﻞ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ .ﻧﺒﻮد ﻣﺘﺪﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ،ACCA10دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻛﺸﻒ و ﺟﻠﻮﮔﻴﺮي زودﻫﻨﮕﺎم ﻣﺸﻜﻼت را ﺑﻪ ﺗﻌﻮﻳﻖ ﻣﻲاﻧﺪازد؛ ﭼﺮا ﻛﻪ رﻳﺸﻪ اﺻﻠﻲ ﻣﺸﻜﻼت ﻧﺎﺷﻨﺎﺧﺘﻪ ﺑﺎﻗﻲ ﻣﻲﻣﺎﻧﺪ .ﻧﻜﺘﻪي اﺻﻠﻲ در اﻳﻦ ﻣﺘﺪ ﻧﻴﺰ ﻣﺎﻧﻨﺪ دﻳﮕﺮ ﻣﺘﺪﻫﺎي ارزﻳﺎﺑﻲ، ﻛﺸﻒ زود ﻫﻨﮕﺎم ﻣﺸﻜﻼت در ﺳﻄﺢ ﻣﻌﻤﺎري اﺳﺖ ﻛﻪ ﺑﺎﻋﺚ رﺿﺎﻳﺖ ذيﻧﻔﻌﺎن و ﺻﺮﻓﻪﺟﻮﻳﻲ ﻫﺰﻳﻨﻪﻫﺎ و ﻣﺒﺎﻟﻎ ﻣﻲﺷﻮد .اﻳﻦ ﻣﺘﺪ ﺑﺮ ﻣﺒﻨﺎي ﻣﻔﻬﻮﻣﻲ ﺑﻪ ﻧﺎم واﺑﺴﺘﻪ ﺑﻨﺎ ﻧﻬﺎده ﺷﺪه اﺳﺖ ﻛﻪ ﻫﺮ ﺟﻨﺒﻪ ﻧﺎﻣﻄﻠﻮب ﻣﻌﻤﺎري ﻧﺮماﻓﺰار را در ﺑﺮ ﻣﻲﮔﻴﺮد .ﺑﺮاي ﻣﺜﺎل ،ﻣﻲﺗﻮان ﻳﻚ ﺗﺼﻤﻴﻢ ﻧﺎدرﺳﺖ ﻳﺎ ﻣﺨﺎﻃﺮه آﻣﻴﺰ ،ﻧﻘﻄﻪ ﺣﺴﺎس و ﻳﺎ ﻧﻘﻄﻪي ﭘﺎﻳﺎﭘﺎي را ﺗﺤﺖ اﻳﻦ ﻣﻔﻬﻮم در ﻧﻈﺮ ﮔﺮﻓﺖ .ﺑﺮﺧﻲ اوﻗﺎت ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ واﺑﺴﺘﻪ ﻏﻴﺮﻗﺎﺑﻞ اﺟﺘﻨﺎب ﺑﺎﺷﺪ .روش دﻳﮕﺮي ﺑﻪ ﻧﺎم DCA11وﺟﻮد داردﻛﻪ در ﻓﺮآﻳﻨﺪﻫﺎي ﺗﺤﻠﻴﻞ ﻧﺮماﻓﺰار ﻣﺎﻧﻨﺪ ﻣﺘﺪ ﺗﺤﻠﻴﻠﻲ ﺳﺒﺒﻲ ﻧﻮاﻗﺺ ﻛﺎرﺗﻲ] [25ﺑﻪ ﻛﺎر ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد .اﻣﺎ ﺑﻪ دو دﻟﻴﻞ ﻧﻤﻲﺗﻮان از DCAﺑﻪ ﺟﺎي ACCA اﺳﺘﻔﺎده ﻧﻤﻮد .اوﻻ ،ﻧﻮاﻗﺺ ،12ﻣﻮﺿﻮع اﺻﻠﻲ در ﺑﻪﻛﺎرﮔﻴﺮي ﻣﺘﺪﻫﺎي DCAدر ﺳﻄﺢ ﻧﺮماﻓﺰار ﻣﻲﺑﺎﺷﺪ و ﺑﻪ رﻓﺘﺎرﻫﺎي ﻧﺎﻣﻄﻠﻮب ﺳﻴﺴﺘﻢ ﻣﺎﻧﻨﺪ ﺧﺮاﺑﻲ 13و ﺑﻪﻃﻮر ﺧﺎص ،ﻧﻴﺎزﻣﻨﺪيﻫﺎي ارﺿﺎء ﻧﺸﺪه در ﺳﻄﺢ اﺟﺮا اﻃﻼق ﻣﻲﺷﻮد .اﻏﻠﺐ ﻧﻮاﻗﺺ ﺗﻌﺮﻳﻒ ﺧﺎص و ﻣﻨﻄﻘﻲ دارﻧﺪ و ﺑﻪ ﻗﺴﻤﺖ ﺧﺎﺻﻲ از ﻛﺪ اﺟﺮاﻳﻲ ﺗﻌﻠﻖ دارﻧﺪ و رﻓﻊ آنﻫﺎ را ﻣﻲﺗﻮان ﺑﺎ ﻣﺎﺷﻴﻦ ﺗﺴﺖ ﻧﻤﻮد .از ﻃﺮف دﻳﮕﺮ واﺑﺴﺘﻪﻫﺎي ﻣﻌﻤﺎري ﺑﺎ اﺳﺘﻔﺎده از ﺗﻌﺮﻳﻒ ﻧﻘﺎط ﺣﺴﺎس ،ﻧﻘﺎط ﭘﺎﻳﺎﭘﺎي و ﺳﺎﻳﺮ رﻳﺴﻚﻫﺎ در ﺳﻄﺢ ﻣﻔﻬﻮﻣﻲ ﺷﺨﺼﻴﺖ ﻣﻲﻳﺎﺑﻨﺪ .ﺑﻴﺸﺘﺮ اوﻗﺎت ﻧﻴﺰ ﺗﻌﺮﻳﻒ ﻣﺸﺨﺺ و واﺿﺤﻲ ﻧﺪارﻧﺪ و ﻧﻤﻲﺗﻮان آنﻫﺎ را ﺑﻪ ﺧﺼﻮﺻﻴﺎت ﺳﺎﺧﺘﺎر ﻣﻌﻤﺎري ﻣﺮﺑﻮط ﺳﺎﺧﺖ .ﺷﻨﺎﺧﺖ اﻳﻦ ﻧﻮع از ﻣﺸﻜﻼت ﺑﺮ ﻣﺒﻨﺎي ﻣﻨﻄﻖ ﻣﺸﺨﺼﻲاي ﻧﺒﻮده و ﺗﺎﺋﻴﺪ اﺻﻼﺣﺎت ﺑﻮﺳﻴﻠﻪ ذيﻧﻔﻌﺎن، ﻓﺮآﻳﻨﺪي ﻛﺎﻣﻼ اﻧﺴﺎﻧﻲ ﻣﻲﺑﺎﺷﺪ .در ﻣﺘﺪﻫﺎي DCAدﻻﻳﻞ و واﻗﻌﻴﺖ ﻣﺮﺑﻮط ﺑﻪ ﻧﻮاﻗﺺ و ﺗﻮﺳﻂ ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن ﺳﻴﺴﺘﻢ ﻛﺎﻣﻼ ﻗﺎﺑﻞ ﺷﻨﺎﺳﺎﻳﻲ ﺑﻮده و ﻫﺮﭼﻪ درك اﻳﻦ اﻓﺮاد ﻧﺴﺒﺖ ﺑﻪ اﻳﻦ ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري ﻋﻤﻴﻖﺗﺮ ﺑﺎﺷﺪ ،ﻛﺸﻒ آنﻫﺎ ﺳﺮﻳﻊﺗﺮ اﺳﺖ .در ﻣﻘﺎﺑﻞ ،ﻣﺘﺪﻫﺎي ،ACCAﺗﺼﻤﻴﻤﺎت ﻫﻨﮕﺎم ﺗﻮﺳﻌﻪ و ﺑﺮرﺳﻲ ﻣﻌﻤﺎري در ﻧﮕﺎﺷﺘﻲ ﻣﻮﺳﻮم ﺑﻪ ) CTو ﻳﺎ ﻣﻮارد ﻣﺸﺎﺑﻪ( ﺛﺒﺖ ﺷﺪه و ذيﻧﻔﻌﺎن )ﺣﺘﻲ ﻏﻴﺮ از ﻣﻌﻤﺎر( زﻳﺎدي در ﻓﺮآﻳﻨﺪ ﺗﺼﻤﻴﻢﺳﺎزي ﺷﺮﻳﻚ ﻣﻲﺑﺎﺷﻨﺪ در ﻧﺘﻴﺠﻪ ﭘﻴﭽﻴﺪﮔﻲﻫﺎي زﻳﺎدي را ﺑﻪ- دﻧﺒﺎل دارد .ﺑﺎ ﺷﺮوع اﻳﻦ روش ،ارزﻳﺎبﻫﺎ اﻗﺪام ﺑﻪ ﺟﻤﻊآوري دو ﻧﻮع داده ﻣﻲﻛﻨﻨﺪ .ﻳﻜﻲ دادهﻫﺎي ﺗﻮﺳﻌﻪ ﻣﻲﺑﺎﺷﺪ )ﻣﺎﻧﻨﺪ ﻻگﻫﺎي زﻣﺎﻧﻲ ،ﻻگﻫﺎي ﻧﺎﻣﻪﻫﺎي ارﺗﺒﺎﻃﻲ ،ﻣﺴﺘﻨﺪات ﺟﺰﺋﻲ و ﻧﻬﺎﻳﻲ ﻣﻌﻤﺎري و (...و دﻳﮕﺮي ﻣﺠﻤﻮﻋﻪ دادهﻫﺎﻳﻲ اﺳﺖ ﻛﻪ از ﻓﺮآﻳﻨﺪ ارزﻳﺎﺑﻲ )ﻣﺎﻧﻨﺪ (ATAMﺑﺪﺳﺖ ﻣﻲآﻳﻨﺪ )ﻣﺎﻧﻨﺪ رﻳﺴﻚﻫﺎ ،ﻧﻘﺎط ﺣﺴﺎس ،ﻧﻘﺎط ﭘﺎﻳﺎﭘﺎي و دﻳﮕﺮ ﻣﺴﺘﻨﺪات ﻣﺮﺑﻮﻃﻪ( .اﻣﺎ ﻧﻜﺘﻪ ﻣﻬﻢ آن اﺳﺖ ﻛﻪ ACCAﻫﻴﭻ واﺑﺴﺘﮕﻲ ﺑﻪ ﻣﺘﺪ ارزﻳﺎب ﻧﺪارد و ﺗﻤﺎم اﻳﻦ اﻃﻼﻋﺎت در ﻻﻳﻪ ﺑﻌﺪي )ﻳﻌﻨﻲ ﻻﻳﻪ آﻣﺎدهﺳﺎزي( ﻣﻮرد ﭘﺎﻻﻳﺶ ﻗﺮار ﻣﻲﮔﻴﺮد .در ﻗﻠﺐ اﻳﻦ ﻣﺘﺪ از ﻣﻔﻬﻮﻣﻲ ﺑﺮاي ﻧﻤﺎﻳﺶ ﺗﺼﻤﻴﻤﺎت اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ .ﻧﮕﺎﺷﺖ ﻗﺎﺑﻠﻴﺖ ردﻳﺎﺑﻲ،(CT-map)14 ﺗﺼﻤﻴﻤﺎت ﻃﺮاﺣﻲ در ﺳﻄﺢ ﻣﻌﻤﺎري را ﻛﻪ از ﻧﻴﺎزﻫﺎي ﻧﺮماﻓﺰار ﺷﺮوع ﺷﺪه را درﻳﺎﻓﺖ ﻧﻤﻮده و ﺑﻪ واﺑﺴﺘﻪﻫﺎي ﻣﻌﻤﺎري ﭘﻴﻮﻧﺪ ﻣﻲدﻫﺪ .اﻳﻦ ﻛﺎر ﻣﻤﻜﻦ اﺳﺖ در زﻣﺎن ﻃﺮاﺣﻲ ﻣﻌﻤﺎري و ﺑﺎ ﻛﻤﻚ ﻣﺘﺪﻫﺎي ارزﻳﺎﺑﻲ ﺻﻮرت ﭘﺬﻳﺮد .در اﺻﻞ CT-mapﺷﺒﻜﻪاي از ﺗﺼﻤﻴﻤﺎت ﻃﺮاﺣﻲ را ﺷﻜﻞ ﻣﻲ- دﻫﺪ ﻛﻪ ﺑﻴﻦ ﻧﻴﺎزﻣﻨﺪيﻫﺎ و واﺑﺴﺘﻪﻫﺎي ﻃﺮاﺣﻲ ﻓﺸﺮده ﺷﺪه اﺳﺖ .ﺑﻪ ﻃﻮر ﻛﻠﻲ CT-mapﻓﺮآﻳﻨﺪ ﺗﺤﻠﻴﻞ را ﺑﺮاي ﻳﺎﻓﺘﻦ رﻳﺸﻪ و دﻟﻴﻞ واﺑﺴﺘﻪﻫﺎ ﻫﺪاﻳﺖ ﻣﻲﻛﻨﺪ .در ﺣﺎل ﺣﺎﺿﺮ اﻳﻦ ﻣﺘﺪ ﺑﻪ ﺻﻮرت ﺧﻮدﻛﺎر ﻧﺒﻮده و ﻛﺎر ﺳﺎﺧﺖ و ﺗﻜﻤﻴﻞ CT-mapﺑﻪ ﺻﻮرت دﺳﺘﻲ اﻧﺠﺎم ﻣﻲﺷﻮد ﻛﻪ ﻧﻮﻋﺎ زﻣﺎنﺑﺮ و ﭘﺮﻫﺰﻳﻨﻪ اﺳﺖ. -2-3ﺑﺮرﺳﻲ روش ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺟﻨﺒﻪﮔﺮا ﻣﺘﺪﻫﺎي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ ،ﻃﺮح ﻣﻌﻤﺎري را ﺑﻪﻋﻨﻮان ورودي درﻳﺎﻓﺖ ﻧﻤﻮده و ﺗﺎﺛﻴﺮ ﺳﻨﺎرﻳﻮﻫﺎي از ﭘﻴﺶ ﺗﻌﺮﻳﻒ ﺷﺪه را ﺑﺮ روي آنﻫﺎ ﻣﻲﺳﻨﺠﺪ .اﻳﻦ ﺗﺎﺛﻴﺮات ﻏﺎﻟﺒﺎ ﺑﻪﻋﻨﻮان ﺧﻄﺮات ﺑﺎﻟﻘﻮه و ﻳﺎ ﻧﻘﺎط ﺣﺴﺎس در ﺳﻄﺢ ﻣﻌﻤﺎري ﺷﻨﺎﺳﺎﻳﻲ ﻣﻲﺷﻮﻧﺪ و رﻓﻊ ﻋﻴﺐ آنﻫﺎ در ﻣﺮاﺣﻞ اوﻟﻴﻪ ﻫﺰﻳﻨﻪي ﺗﻮﻟﻴﺪ و ﻧﮕﻬﺪاري را ﺑﻪ ﻧﺤﻮ ﻗﺎﺑﻞ ﺗﻮﺟﻬﻲ ﻛﺎﻫﺶ ﻣﻲدﻫﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺧﻮاﺳﺘﻪﻫﺎ و ﺳﻨﺎرﻳﻮﻫﺎ ،ﺑﺮﺧﻲ از واﺑﺴﺘﻪﻫﺎ در ﺳﻄﺢ ﻣﻌﻤﺎري وﺟﻮد دارﻧﺪ ﻛﻪ ﺑﻪ راﺣﺘﻲ ﻧﻤﻲﺗﻮان آنﻫﺎ را در ﻳﻚ ﻣﻮﻟﻔﻪ ﻗﺮار داد .ﻫﻤﺎﻧﻨﺪ ﻣﻔﺎﻫﻴﻢ ﺟﺎﻧﺒﻲ ﻛﻪ در ﺳﻄﺢ ﺑﺮﻧﺎﻣﻪﺳﺎزي ﻣﻄﺮح ﻣﻲﺷﻮﻧﺪ ،در ﺳﻄﺢ ﻣﻌﻤﺎري ﻧﻴﺰ واﺑﺴﺘﻪﻫﺎي ﺟﺎﻣﻌﻲ وﺟﻮد دارد ﻛﻪ ﺑﻪ آنﻫﺎ ﺟﻨﺒﻪﻫﺎي ﻣﻌﻤﺎري اﻃﻼق ﻣﻲﺷﻮد .ﻧﻤﻲﺗﻮان ﺧﺼﻮﺻﻴﺎت ﻓﺮاﮔﻴﺮ ﺟﻨﺒﻪﻫﺎي ﻣﻌﻤﺎري را ﺗﻨﻬﺎ ﺑﺎ اﺳﺘﻔﺎده از اﻧﺘﺰاعﻫﺎي ﻣﻌﻤﺎري ﻣﻌﻤﻮل ،ﭘﺎﻻﻳﺶ ﻛﺮد و اﻳﻦ ﺟﻨﺒﻪﻫﺎي ﻧﺎﺗﻤﺎم را ﭘﺎﺳﺦ داد ] .[17در واﻗﻊ ،اﻧﺘﻈﺎر اﺳﺖ ﺑﻪ ﻣﺎﻧﻨﺪ ﺗﺠﺮﻳﺪي ﻛﻪ در ﺑﺮﻧﺎﻣﻪﺳﺎزي ﺟﻨﺒﻪﮔﺮا ﺻﻮرت ﻣﻲﭘﺬﻳﺮد ،ﻣﻜﺎﻧﻴﺰم ﺻﺮﻳﺤﻲ ﺑﺮاي ﺷﻨﺎﺧﺖ ،ﺗﺒﻴﻴﻦ و ارزﻳﺎﺑﻲ ﺟﻨﺒﻪﻫﺎي در ﺳﻄﺢ ﻃﺮح ﻣﻌﻤﺎري ﻣﺸﺨﺺ ﮔﺮدد .ﻃﺒﻖ ﺑﺮرﺳﻲ ﺻﻮرت ﮔﺮﻓﺘﻪ ﻣﺘﺪﻫﺎي ﺗﺤﻠﻴﻞ ﻛﻨﻮﻧﻲ ،ﺑﻴﻦ واﺑﺴﺘﻪﻫﺎﻳﻲ ﻛﻪ ﻣﺘﻌﻠﻖ ﺑﻪ ﻳﻚ ﻣﻮﻟﻔﻪ و واﺑﺴﺘﻪﻫﺎﻳﻲ ﻛﻪ ﻣﺘﻌﻠﻖ ﺑﻪ ﭼﻨﺪ ﻣﻮﻟﻔﻪ ﻫﺴﺘﻨﺪ ،ﺗﻔﺎوﺗﻲ ﻗﺎﺋﻞ ﻧﻤﻲﺷﻮﻧﺪ .اﮔﺮ ﻛﻪ اﻳﻦ واﺑﺴﺘﻪﻫﺎي ﻓﺮاﮔﻴﺮ ﺑﻪ- ﻋﻨﻮان ﺟﻨﺒﻪﻫﺎي ﺻﺮﻳﺢ در ﺳﻄﺢ ﻣﻌﻤﺎري ﺷﻨﺎﺧﺘﻪ ﻧﺸﻮﻧﺪ ،اﻳﻦ ﺧﻄﺮ وﺟﻮد دارد ﻛﻪ ﺑﻪ ﺻﻮرﺗﻲ ﻏﻴﺮﻗﺎﺑﻞ ﺣﻞ در ﺳﻄﺢ ﺑﺮﻧﺎﻣﻪﺳﺎزي و ﻃﺮاﺣﻲ ﻧﻔﻮذ ﭘﻴﺪا ﻛﻨﻨﺪ .در ﻧﻬﺎﻳﺖ اﻳﻦ اﻣﺮﻣﻮﺟﺐ ﻛﺪﻫﺎي درﻫﻢ ﺗﻨﻴﺪه و اﻓﺰاﻳﺶ ﭘﻴﭽﻴﺪﮔﻲ ﻣﻲﺷﻮد .در ﻧﺘﻴﺠﻪ ﻣﺎﻧﻊ از درﺳﺘﻲﻳﺎﺑﻲ 15ﻓﺎﻛﺘﻮرﻫﺎي ﻛﻴﻔﻲ ﺧﻮاﻫﺪ ﺷﺪ. ﺑﺮاي رﻓﻊ اﻳﻦ ﻣﺸﻜﻞ در ﻣﺘﺪﻫﺎي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ، ﻣﺘﺪي ﺑﻪ ﻧﺎم ASAAM16اراﺋﻪ ﺷﺪه اﺳﺖ .اﻳﻦ ﻣﺘﺪ ﺑﺮﭘﺎﻳﻪ SAAM17 ﻛﻪ در ] [22ﺑﻪ ﺗﻔﺼﻴﻞ ﺗﻮﺿﻴﺢ داده ﺷﺪه ،ﺑﻨﺎ ﻧﻬﺎده ﺷﺪه اﺳﺖ .در واﻗﻊ ASAAMﺷﻜﻞ ﻣﺪرنﺗﺮي از SAAMﺑﻮده ﻛﻪ ﻣﻜﺎﻧﻴﺰمﻫﺎي ﺻﺮﻳﺤﻲ ﺑﺮاي ﺷﻨﺎﺧﺖ ﺟﻨﺒﻪﻫﺎي ﻣﻌﻤﺎري و ﻣﻮﻟﻔﻪﻫﺎي درﻫﻢ ﺗﻨﻴﺪهي ﻣﺮﺗﺒﻂ را اراﺋﻪ ﻣﻲدﻫﺪ .اﻳﻦ ﻣﺘﺪﻫﺎ ﺷﺎﻣﻞ اﺑﺘﻜﺎراﺗﻲ 18ﺑﺮاي ﺷﻨﺎﺧﺖ ﺟﻨﺒﻪﻫﺎي ﻣﻌﻤﺎري ﻣﻲﺑﺎﺷﺪ ﻛﻪ در ﻣﺮاﺣﻞ ﻣﺨﺘﻠﻒ ﺑﻪ ﭘﻴﺸﺒﺮد ﻓﺮآﻳﻨﺪ ﻛﻤﻚ ﻣﻲ- ﻛﻨﻨﺪ .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر ،ﺳﻨﺎرﻳﻮﻫﺎ ﺑﻪ ﭼﻬﺎر ﻧﻮع ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ: ﺳﻨﺎرﻳﻮﻫﺎي ﻣﺴﺘﻘﻴﻢ ،ﺳﻨﺎرﻳﻮﻫﺎي ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ،ﺳﻨﺎرﻳﻮﻫﺎي ﺟﻨﺒﻪﮔﺮا و ﺟﻨﺒﻪﻫﺎي ﻣﻌﻤﺎري .ﺗﻌﺮﻳﻒ ﺳﻨﺎرﻳﻮﻫﺎي ﻣﺴﺘﻘﻴﻢ و ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ﻣﺸﺨﺺ و واﺿﺢ اﺳﺖ .اﻣﺎ ﻃﺒﻖ ] ،[17ﺳﻨﺎرﻳﻮﻫﺎي ﺟﻨﺒﻪ ﮔﺮا، ﺑﻪ ﺳﻨﺎرﻳﻮﻫﺎي ﻣﺴﺘﻘﻴﻢ ﻳﺎ ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢاي ﮔﻔﺘﻪ ﻣﻲﺷﻮد ﻛﻪ ﺑﻴﻦ ﭼﻨﺪﻣﻮﻟﻔﻪي ﻣﺨﺘﻠﻒ ﭘﺮاﻛﻨﺪه ﺷﺪه و ﻧﻤﻲﺗﻮان آن را در ﻳﻚ ﻣﻮﻟﻔﻪ ﺧﺎص ﻣﺘﺮﻛﺰ ﻧﻤﻮد و از ﻃﺮف دﻳﮕﺮ ﺟﻨﺒﻪﻫﺎي ﻣﻌﻤﺎري ،واﺑﺴﺘﻪﻫﺎي ﺧﻮش- ﺗﻌﺮﻳﻔﻲاﻧﺪ ﻛﻪ از ﺗﻐﻴﻴﺮ ﺷﻜﻞ ﺳﻨﺎرﻳﻮﻫﺎي ﺟﻨﺒﻪﮔﺮا و ﺑﺮﭘﺎﻳﻪ ﻣﺪلﻫﺎي داﻣﻨﻪ ﻣﺸﺘﻖ ﺷﺪه ،ﻓﺮآﻳﻨﺪ ﺗﺤﻠﻴﻞ داﻣﻨﻪ ﺑﺪﺳﺖ ﻣﻲآﻳﻨﺪ .ﭘﺲ از دﺳﺘﻪ- ﺑﻨﺪي ﺳﻨﺎرﻳﻮﻫﺎ ASAAM ،ﻃﺒﻖ ﻫﺮ ﻣﺆﻟﻔﻪ ﺑﺮ ﺳﻨﺎرﻳﻮﻫﺎ ﻣﺘﻤﺮﻛﺰ ﻣﻲﺷﻮد و ﺑﻪ ﻛﻤﻚ ﻗﻮاﻧﻴﻦ اﺑﺘﻜﺎري ﺧﻮد اﻳﻦ ﻣﻮﻟﻔﻪ را ﺑﻪ ﮔﻮﻧﻪاي ﺗﻐﻴﻴﺮ ﻣﻲدﻫﺪ ﻛﻪ در ﻫﻢﺗﻨﺪﻳﺪﮔﻲ ﺟﻨﺒﻪﻫﺎ ﺑﻪ ﺣﺪاﻗﻞ ﺑﺮﺳﺪ .ﺑﻪﻃﻮر ﻛﻠﻲ ASAAM ﻛﻠﻴﻪ ﻣﻮﻟﻔﻪﻫﺎي در ﺳﻄﺢ ﻣﻌﻤﺎري را ﺑﻪ ﭼﻬﺎر ﻧﻮع ﺗﻘﺴﻴﻢ ﻣﻲﻛﻨﺪ: ﻣﻮﻟﻔﻪﻫﺎ ﻫﻢﺑﺴﺖ ،19ﻣﻮﻟﻔﻪاي ﺧﻮشﺗﻌﺮﻳﻒ ﻛﻪ ﺳﻨﺎرﻳﻮﻫﺎ را ﻧﺰدﻳﻚ ﺑﻪ ﻣﻌﻨﺎي آن اﺟﺮا ﻣﻲﻛﻨﺪ .ﻣﻮﻟﻔﻪ ﺗﺮﻛﻴﺒﻲ ،ﻣﺘﺸﻜﻞ از ﭼﻨﺪ زﻳﺮ ﻣﻮﻟﻔﻪ ﻛﻪ ﻫﺮﻛﺪام ﻣﺠﻤﻮﻋﻪاي از ﺳﻨﺎرﻳﻮﻫﺎ را اﺟﺮا ﻣﻲﻛﻨﻨﺪ .ﻣﻮﻟﻔﻪﻫﺎي درﻫﻢ ﺗﻨﻴﺪه ،ﻣﻮﻟﻔﻪاي اﺳﺖ ﻛﻪ ﺳﻨﺎرﻳﻮﻫﺎي ﺟﻨﺒﻪاي را اﺟﺮا ﻣﻲﻛﻨﺪ .ﻣﻮﻟﻔﻪ- ﻫﺎي ﺑﺪ ﺗﻌﺮﻳﻒ ،ﻣﻮﻟﻔﻪاي ﻛﻪ ﺷﺎﻣﻞ ﺳﻨﺎرﻳﻮﻫﺎي ﻣﺠﺰا )ﺑﻪ ﻟﺤﺎظ ﻣﻌﻨﺎﻳﻲ( ﻣﻲﺑﺎﺷﺪ اﻣﺎ ﺗﺠﺰﻳﻪﭘﺬﻳﺮ ﻧﺒﻮده و ﺷﺎﻣﻞ ﻫﻴﭻ ﺳﻨﺎرﻳﻮ ﺟﻨﺒﻪاي ﻧﻤﻲﺑﺎﺷﺪ. -4روشﻫﺎي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺪلﻫﺎ ﻫﺮﭼﻪ ﻣﺪل ﻣﻌﻤﺎري ﺻﻮرﺗﻲ دﻗﻴﻖﺗﺮ و رﺳﻤﻲﺗﺮي داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻓﺮآﻳﻨﺪ ارزﻳﺎﺑﻲ از ﻛﻴﻔﻴﺖ ﺑﺎﻻﺗﺮي ﺑﺮﺧﻮدار ﺧﻮاﻫﺪ ﺑﻮد .ﻣﺪلﻫﺎي در ﺳﻄﺢ ﻣﻌﻤﺎري ﻋﻤﺪﺗﺎ ﺑﺮاﺳﺎس ﻧﺘﺎﻳﺞ ﺑﺪﺳﺖآﻣﺪه از ﺷﺒﻴﻪﺳﺎزي ،ﺗﺠﺮﺑﻴﺎت ﭘﻴﺸﻴﻦ و ﻧﻴﺎزﻫﺎي ذيﻧﻔﻌﺎن ﺷﻜﻞ ﻣﻲﮔﻴﺮﻧﺪ و ﺑﺎ اﺳﺘﻔﺎده از ﻣﺪلﻫﺎﻳﻲ ﭼﻮن زﻧﺠﻴﺮهﻫﺎي ﻣﺎرﻛﻮف ،ﻣﺎﺷﻴﻦﻫﺎي ﺣﺎﻟﺖ ،ﺷﺒﻜﻪﻫﺎي ﺻﻒ ﻣﻲﺗﻮان ﻧﺘﺎﻳﺞ ﺻﺮﻳﺤﻲ از ارزﻳﺎﺑﻲ ﺑﺪﺳﺖ آورد .اﻟﺒﺘﻪ ﺗﺎﻛﻨﻮن روشﻫﺎي ﺗﺤﻠﻴﻠﻲ زﻳﺎدي ﺑﺮاي ﺳﻴﺴﺘﻢﻫﺎي ﻧﺮماﻓﺰاري ﭘﺪﻳﺪ آﻣﺪهاﻧﺪ ،اﻣﺎ ﺗﻤﺮﻛﺰ آنﻫﺎ در ﺳﻄﺢ ﻣﻌﻤﺎري اﻧﺪك اﺳﺖ .ﻣﺴﺌﻠﻪ دﻳﮕﺮ در اﺳﺘﻔﺎده از اﻳﻦ روشﻫﺎ، ﻫﻤﮕﻦ ﺳﺎزي ﻧﺘﺎﻳﺞ ﺗﺤﻠﻴﻞ وﻳﮋﮔﻲﻫﺎي ﻣﺨﺘﻠﻒ ﻣﻲﺑﺎﺷﺪ .ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ، ﺗﻤﺎم وﻳﮋﮔﻲﻫﺎ ﻛﻴﻔﻲ را ﺑﺎ اﺳﺘﻔﺎده از ﻳﻚ ﻣﺪل ﺧﺎص ﻧﻤﻲﺗﻮان ارزﻳﺎﺑﻲ ﻧﻤﻮد .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر از روشﻫﺎي ﺗﺒﺪﻳﻞ ﻣﺪل و ﻳﻚ ﻣﺪل ﺑﺴﻴﺎر اﻧﺘﺰاﻋﻲ را ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲدﻫﻨﺪ .در اﻳﻦ ﺑﺨﺶ اﺑﺘﺪا روﺷﻲ ﺑﺮاي ﺗﺤﻠﻴﻞ ﻛﺎراﻳﻲ در ﺳﻄﺢ ﻣﻌﻤﺎري و ﺳﭙﺲ روﺷﻲ ﺑﺮاي ﺗﺤﻠﻴﻞ ﭼﻨﺪﻳﻦ وﻳﮋﮔﻲ ﻛﻴﻔﻲ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲﮔﻴﺮد. -1-4ﺑﺮرﺳﻲ روش ارزﻳﺎﺑﻲ ﻛﺎراﻳﻲ ﻧﺮماﻓﺰار ﺑﻮﺳﻴﻠﻪ ﻣﻌﻤﺎري ﻣﺪلﻫﺎي اوﻟﻴﻪ ﺗﺤﻠﻴﻞ ﻛﺎراﻳﻲ ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺪلﻫﺎي ﺷﺒﻜﻪ ﺻﻒ ،ﻋﻤﻮﻣﺎ ﻃﺮاﺣﺎن ﻧﺮماﻓﺰار را ﺗﻨﻬﺎ ﺣﻴﻦ ﻓﺮآﻳﻨﺪ ﺗﻮﺳﻌﻪ ،ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﻛﻨﻨﺪ .اﻳﻦ روشﻫﺎ ﺳﻌﻲ در ﺷﻨﺎﺳﺎﻳﻲ ﻣﺴﺎﺋﻞ ﻣﺮﺑﻮط ﺑﻪ ﻛﺎراﺋﻲ ﭘﻴﺶ از وﻗﻮع ﺧﻄﺎ را دارﻧﺪ .اﻣﺎ اﻛﺜﺮا ﺳﻴﺴﺘﻢﻫﺎي ﻧﺮماﻓﺰاري را ﺑﻪ ﻣﺘﺪﻟﻮژي ﺗﺤﻠﻴﻞ ﻛﺎراﺋﻲ ﻣﺸﺨﺺ ﻣﻨﻄﺒﻖ ﻣﻲﺳﺎزﻧﺪ .در ﻧﺘﻴﺠﻪ ﻫﻤﻪي آنﻫﺎ وﺟﻮد اﻃﻼﻋﺎﺗﻲ راﺟﻊ ﺑﻪ زﻳﺮﺳﺎﺧﺖ ﺳﺨﺖاﻓﺰاري ﻛﻪ ﻧﺮماﻓﺰار ﺑﺮ روي آن اﺟﺮا ﻣﻲﺷﻮد را ﺿﺮوري ﻣﻲداﻧﻨﺪ. در] [5ﻣﺘﺪي اراﺋﻪ ﺷﺪه اﺳﺖ ﻛﻪ اﺟﺎزه ﻣﻲدﻫﺪ ﺑﺪون در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺟﻨﺒﻪﻫﺎي ﺳﺨﺖاﻓﺰاري اﺳﺘﺪﻻﻟﻲ ﻣﻨﻄﻘﻲ را در ﻣﻮرد ﻛﺎراﺋﻲ اراﺋﻪ داد. ﺻﻮرت اوﻟﻴﻪ اﻳﻦ روش ﺑﺎ درﻳﺎﻓﺖ ﻣﺪل رﻓﺘﺎري ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري ،از ﻃﺮﻳﻖ ﻧﻤﻮدارﻫﺎي ﺗﺮﺗﻴﺐ ﭘﻴﺎم ،20ﺑﻪ ﻃﻮر ﺧﻮدﻛﺎر ﻣﺪل ﺷﺒﻜﻪ ﺻﻒ را ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﺪ .ﺑﺎ اﻋﻤﺎل اﻳﻦ روش ﺑﻪ ﺳﻴﺴﺘﻢﻫﺎي ﺑﺰرگ ﻧﺮماﻓﺰاري و ﺑﻪ- دﻟﻴﻞ ﭘﻴﭽﻴﮕﻲ آنﻫﺎ در ﺗﺤﻠﻴﻞ ﭼﻨﺪﻳﻦ ﺳﺮوﻳﺲ ﻣﺨﺘﻠﻒ ،ﻋﺪم ﺗﻮاﻧﺎﻳﻲ آن ﺑﻪ اﺛﺒﺎت رﺳﻴﺪه .ﺑﺮاي رﻓﻊ اﻳﻦ ﻧﻘﺼﺎن ،اﻳﻦ ﻣﺘﺪﻟﻮژي را ﺑﺎ ﮔﺮاﻳﺶ ﺗﺮﻛﻴﺒﻲ )ﺗﺮﻛﻴﺐ ﭼﻨﺪ ﻣﺪل ﺷﺒﻜﻪ ﺻﻒ( و ﺑﺎ اﺳﺘﻔﺎده از دﻳﺎﮔﺮامﻫﺎي UML 2.0ﺗﻮﺳﻌﻪ داده ﺷﺪه اﺳﺖ. اﻳﻦ ﻣﺘﺪ از ﭼﻨﺪﻳﻦ ﺑﻌﺪ ﺳﻌﻲ در ﺑﻬﺒﻮد ﻓﺮآﻳﻨﺪ ﻣﺪلﺳﺎزي دارد .ﻳﻜﻲ اﺳﺘﻔﺎده از ﻣﺪلﻫﺎي ﺷﺒﻜﻪﺻﻒ ﭼﻨﺪ زﻧﺠﻴﺮهاي اﺳﺖ ﻛﻪ ﺑﻮﺳﻴﻠﻪ آن ﻣﻲ- ﺗﻮان ﺳﻴﺴﺘﻢﻫﺎﻳﻲ را ﻛﻪ ﭼﻨﺪ ﺳﺮوﻳﺲ را اراﺋﻪ و ﻳﺎ ﺑﻪ ﭼﻨﺪﻳﻦ ﻣﺸﺘﺮي ﺳﺮوﻳﺲ ﻣﻲدﻫﺪ را ﻣﺪل ﻧﻤﻮد ،دﻳﮕﺮي واﺑﺴﺘﻪ ﻧﻤﻮدن ﻣﺪل ﺑﻪ ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺤﻴﻄﻲ و اﺳﺘﻔﺎده از اﻟﮕﻮﻫﺎي ﻣﻌﻤﺎري اﺳﺖ ﻛﻪ ﻓﺮآﻳﻨﺪ اﻳﺠﺎد ﺑﺎزﺧﻮردﻫﺎي ﻣﻌﻤﺎري را ﺳﺎده ﻣﻲﻧﻤﺎﻳﺪ .ﺑﺮاي ﻣﺪل ﺳﺎزي ﻣﻌﻤﺎري ﻧﺮماﻓﺰار در اﻳﻦ روش از ﺳﻪ دﻳﺎﮔﺮام ﻣﺘﻌﻠﻖ ﺑﻪ UML 2.0اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ .اﻳﻦ ﺳﻪ ﻣﺪل ﻋﺒﺎرﺗﻨﺪ از ﻧﻤﻮدار ﻣﻮرد اﺳﺘﻔﺎده ،21ﻧﻤﻮدار ﺗﺮﺗﻴﺒﻲ22و ﻧﻤﻮدار ﻣﻮﻟﻔﻪ 23ﺑﺎ ﻧﺸﺎﻧﻪﮔﺬاري ﻣﺮﺗﺒﻂ. ﻳﻚ ﻣﺪل ﺻﻒ ﺑﻪوﺳﻴﻠﻪ ﻣﺠﻤﻮﻋﻪاي از ﻣﺮاﻛﺰ ﺳﺮوﻳﺲدﻫﻲ ،ﺗﻮﭘﻮﻟﻮژي ارﺗﺒﺎﻃﻲ ﺑﻴﻦ ﻣﺮاﻛﺰ ﺳﺮوﻳﺲ و رﻓﺘﺎر ﻣﺸﺘﺮﻳﺎن درﺧﻮاﺳﺖ ﺳﺮوﻳﺲ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد .در ﻣﺘﺪ ﭘﻴﺸﻨﻬﺎدي ﺑﻪوﺳﻴﻠﻪ] [5ﻫﺮ ﻣﺮﻛﺰ ﺳﺮوﻳﺲ در ﺳﻄﺢ ﺷﺒﻜﻪﺻﻒ ﺑﻪ ﻳﻚ ﻣﻮﻟﻔﻪ در ﺳﻄﺢ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﻧﻈﻴﺮ ﻣﻲﺷﻮد .ﺑﻪﻃﻮر ﻛﻠﻲ ﺳﻴﺴﺘﻢ ،ﺳﺮوﻳﺲﻫﺎي ﻣﺨﺘﻠﻔﻲ را ﺑﺮاي ﻛﺎرﺑﺮان ﻓﺮاﻫﻢ ﻣﻲآورد ﻛﻪ ﻫﺮ ﻳﻚ ﻧﻤﺎﻳﺎنﮔﺮ ﻧﻮع ﺧﺎﺻﻲ از ﭘﺎﺳﺦﮔﻮﻳﻲ ﺑﻪ درﺧﻮاﺳﺖﻫﺎ ﻣﻲﺑﺎﺷﺪ .ﻫﺮ ﻧﻮع درﺧﻮاﺳﺖ ﺑﻪ ﻣﻮرد اﺳﺘﻔﺎده ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد ﻣﺘﺼﻞ اﺳﺖ و در ﻣﺪل ﺻﻒ زﻧﺠﻴﺮهي ﺳﺮوﻳﺲ ﺧﺎص ﺧﻮد را دارد .از ﻃﺮف دﻳﮕﺮ ،رﻓﺘﺎر ﺳﻴﺴﺘﻢ ﻧﻴﺰ ﻧﺴﺒﺖ ﺑﻪ ﻫﺮﻳﻚ از درﺧﻮاﺳﺖﻫﺎ ﻣﺘﻔﺎوت ﺑﻮده و در ﺳﻄﺢ ﻣﻌﻤﺎري ﺑﺎ ﻧﻤﻮدار ﺗﺮﺗﻴﺒﻲ ﻣﺪلﺳﺎزي ﻣﻲﺷﻮد .ﺑﻪﻋﺒﺎرت دﻳﮕﺮ ﻧﻤﻮدار ﺗﺮﺗﻴﺒﻲ رﻓﺘﺎر ﺳﻴﺴﺘﻢ را ﻧﺴﺒﺖ ﺑﻪ ﻧﻮﻋﻲ از درﺧﻮاﺳﺖ ﻧﺸﺎن ﻣﻲدﻫﺪ و ﻣﻲﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از اﻃﻼﻋﺎت آن ﺗﻮﭘﻮﻟﻮژي ﻣﺮاﻛﺰ ﺳﺮوﻳﺲ را ﺑﺮاي ﻫﺮ ﻧﻮع درﺧﻮاﺳﺘﻲ در ﻣﺪل ﺷﺒﻜﻪ ﺻﻒ ﺑﺪﺳﺖ آورد. ﻣﺪل ﺻﻒ ﺑﺪﺳﺖ آﻣﺪه از ﻧﻤﻮدار ﺗﺮﺗﻴﺐ زﻣﺎﻧﻲ ،ﻫﻨﮕﺎﻣﻲ ﺗﺤﻠﻴﻞ ﺑﻬﺘﺮي را اراﺋﻪ ﻣﻲدﻫﺪ ﻛﻪ ﺑﺎ ﺷﺮاﻳﻂ و ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺤﻴﻄﻲ ﻫﻤﮕﻮﻧﻲ ﺑﻴﺸﺘﺮي را داﺷﺘﻪ ﺑﺎﺷﺪ .اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ ﺑﻪﻃﻮر ﻛﻠﻲ ﺷﺎﻣﻞ ﻣﻴﺰان ﺷﺪت ﺑﺎرﻛﺎري ﺑﺮاي ﻫﺮ رده از ﻣﺸﺘﺮﻳﺎن ،ﻣﻴﺰان زﻣﺎن ﭘﺎﺳﺨﮕﻮﻳﻲ ﻫﺮ ﻣﺮﻛﺰ ﺳﺮوﻳﺲ ﺑﻪ ﻫﺮ رده از ﻣﺸﺘﺮﻳﺎن و ﺳﻴﺎﺳﺖ زﻣﺎنﺑﻨﺪي ﺑﺮاي ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ درﺧﻮاﺳﺖﻫﺎ ﻣﻲ- ﺑﺎﺷﺪ .اﻳﻦ اﻃﻼﻋﺎت در ﺳﻄﺢ ﻣﻌﻤﺎري ﺑﻮﺳﻴﻠﻪ دو دﻳﺎﮔﺮام ﻣﻮﻟﻔﻪ و ﺗﺮﺗﻴﺒﻲ ﻫﻨﮕﺎم ﻃﺮاﺣﻲ ﻣﻌﻤﺎري و ﺑﺎ اﺳﺘﻔﺎده از ﻧﺸﺎﻧﻪﮔﺬاري اﺟﺰاء ﺑﻴﺎن ﺷﺪه و ﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ وﻳﮋﮔﻲﻫﺎي ﻫﺮ ﻣﺮﻛﺰ ﺳﺮوﻳﺲدﻫﻲ ﺗﺒﺪﻳﻞ ﻣﻲﺷﻮد .ﻫﺮﻧﻤﻮدار ﺗﺮﺗﻴﺒﻲ ﻣﻌﺮف ﻳﻚ زﻧﺠﻴﺮه ﺳﺮوﻳﺲدﻫﻲ ﻣﻲﺑﺎﺷﺪ ﻛﻪ ﺑﺎ اﺟﺮاي آن ،ﻧﻮﻋﻲ از درﺧﻮاﺳﺖﻫﺎ ﭘﺎﺳﺦ داده ﻣﻲﺷﻮد و ﻫﺮﻳﻚ از آنﻫﺎ را ﻣﻲﺗﻮان ﺑﻪﻋﻨﻮان زﻳﺮﺷﺒﻜﻪي ﺻﻒ در ﻧﻈﺮ ﮔﺮﻓﺖ .اﻣﺎ ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﻳﻚ ﻣﺪل واﺣﺪ ،ﻣﻲ- ﺑﺎﻳﺴﺖ ﻫﻤﻪي اﻳﻦ زﻳﺮ ﻣﺪلﻫﺎ را ﺑﺎ ﻫﻢ ﺗﺮﻛﻴﺐ ﻧﻤﻮد و ﺑﺮاي اﻳﻦ ﻛﺎر ﻣﺠﻤﻮﻋﻪاي از اﻟﮕﻮﻫﺎي ﻣﻌﻤﺎري )ﻗﻄﻌﺎﺗﻲ از ﻧﻤﻮدار ﺗﺮﻛﻴﺒﻲ( اﻧﺘﺨﺎب ﺷﺪه ﺗﺎ ﺑﺎ ﻣﺮﺗﺒﻂ ﺳﺎﺧﺘﻦ آنﻫﺎ ﺑﻪ اﻟﮕﻮﻫﺎي ﺷﺒﻜﻪ ﺻﻒ ،ﻣﺪل ﻧﻬﺎﻳﻲ ﺑﺪﺳﺖ آﻳﺪ .ﺑﺮاي اﻳﻦﻛﺎر ﻫﺮﻳﻚ از اﻟﮕﻮﻫﺎي ﺷﺒﻜﻪﺻﻒ ﺑﻪ ﻋﻤﻠﮕﺮﻫﺎي ﻧﻤﻮدار ﺗﺮﺗﻴﺒﻲ ﻧﮕﺎﺷﺘﻪ ﻣﻲﺷﻮد .اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺷﺎﻣﻞ ،Parallel ،Alternative Referenceﻣﻲﺑﺎﺷﺪ ﻛﻪ در [23] UML 2.0ﺑﻪ ﺗﻔﺼﻴﻞ در ﻣﻮرد آن ﺗﻮﺿﻴﺢ داده ﺷﺪه اﺳﺖ .ﻋﻤﻠﮕﺮ Referenceاﻟﮕﻮي ﺗﻐﻴﻴﺮ ﻳﻚ زﻧﺠﻴﺮه در ﻳﻚ ﺷﺒﻜﻪي ﺻﻒ ﭼﻨﺪ ﺻﻔﻲ را ﻣﺪل ﻣﻲﻛﻨﺪ ،ﻋﻤﻠﮕﺮ Alternativeﻧﻴﺰ اﻟﮕﻮي اﻧﺘﺨﺎب در ﺷﺒﻜﻪ ﺻﻒ را ﻣﺪل ﻣﻲﻛﻨﺪ ﻛﻪ ﻣﻲﺑﺎﻳﺴﺖ اﺣﺘﻤﺎل درﺳﺖ ﺑﻮدن ﻫﺮﻳﻚ از اﻧﺘﺨﺎبﻫﺎ در ﻧﻤﻮدار ﺗﺮﺗﻴﺒﻲ ﺑﻪ ﺻﻮرت ﺻﺮﻳﺢ ذﻛﺮ ﺷﺪه ﺑﺎﺷﺪ و ﻋﻤﻠﮕﺮ Parallelﻧﻴﺰ اﻟﮕﻮي ﻓﻮرك در ﻳﻚ ﺷﺒﻜﻪ ﺻﻒ ﻣﺪل ﻣﻲﻛﻨﻨﺪ. ﺑﺎ ﺗﺮﻛﻴﺐ زﻧﺠﻴﺮهﻫﺎي ﺷﺒﻜﻪ ﺻﻒ ﺑﺪﺳﺖ آﻣﺪه از ﻧﻤﻮدار ﺗﺮﺗﻴﺒﻲ ،ﻣﺪل ﺻﻒ ﻧﻬﺎﻳﻲ ﺑﺪﺳﺖ ﻣﻲآﻳﺪ ﻛﻪ ﭘﺎﺳﺦﮔﻮي ﺗﺤﻠﻴﻞﻫﺎي ﻛﻤﻲ ﻛﺎراﻳﻲ در ﺳﻄﺢ ﻣﻌﻤﺎري ﻣﻲﺑﺎﺷﺪ. -5روشﻫﺎي ارزﻳﺎﺑﻲ روش ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري اﺳﺘﻔﺎده از روشﻫﺎي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﻧﺮماﻓﺰاري ،ﻛﻤﻚ ﻓﺮاواﻧﻲ ﺑﻪ ﺗﻮﻟﻴﺪ ﻧﺮماﻓﺰارﻫﺎي ﺑﺎ ﻛﻴﻔﻴﺖ ﻣﻲﻛﻨﺪ .ﺗﺎﻛﻨﻮن روشﻫﺎي زﻳﺎدي ﺑﺮاي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري در ﺳﻄﻮح و ﻧﻴﺎزﻣﻨﺪيﻫﺎي ﻣﺨﺘﻠﻒ ﭘﺪﻳﺪ آﻣﺪهاﻧﺪ .ﺑﺮﺧﻲ از اﻳﻦ روشﻫﺎ ﺣﺎﻟﺘﻲ ﻋﻤﻮﻣﻲ دارﻧﺪ و ﺗﻌﺪادي ﻧﻴﺰ ﺑﺮ اﺳﺎس ﻳﻚ وﻳﮋﮔﻲ ﺧﺎص ﺑﻨﺎ ﻧﻬﺎده ﺷﺪهاﻧﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﮔﺴﺘﺮدﮔﻲ روشﻫﺎ ﺗﺤﻠﻴﻞ و ارزﻳﺎﺑﻲ، اﻧﺘﺨﺎب روﺷﻲ ﻣﻨﺎﺳﺐ و ﻣﻨﻄﺒﻖ ﺑﺮ ﻧﻴﺎزﻫﺎي اﺟﺮاﻳﻲ ﻛﺎري ﻣﻬﻢ و ﺣﺎﺋﺰ اﻫﻤﻴﺖ اﺳﺖ .ﺑﻪﻃﻮر ﻛﻠﻲ دو روش ﺑﺮاي اﻧﺘﺨﺎب روش ارزﻳﺎﺑﻲ وﺟﻮد دارد .ﻳﻜﻲ ،ﻣﻘﺎﻳﺴﻪ روشﻫﺎي ﻛﺎﻧﺪﻳﺪ و دﻳﮕﺮي ﺳﺎﺧﺖ ﻳﻚ روش ﺟﺪﻳﺪ اﺳﺖ .در روش ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻘﺎﻳﺴﻪ ،اﺑﺘﺪا ﺗﻌﺪادي ﻣﻌﻴﺎر اﻧﺘﺨﺎب و ﺑﺎ اوﻟﻮﻳﺖﺑﻨﺪي اﻳﻦ ﻣﻌﻴﺎرﻫﺎ ،روش ارزﻳﺎﺑﻲ ﻣﻨﺎﺳﺐ اﻧﺘﺨﺎب ﻣﻲﺷﻮد .در روش دوم ،ﻫﺮ روش ﺑﻪ ﻋﻨﻮان ﻣﺠﻤﻮﻋﻪاي از ﻣﻮﻟﻔﻪﻫﺎ و اﺟﺰاء در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد .ﺑﺮاﺳﺎس ﺗﺠﺮﺑﻴﺎت و ﺗﺤﻘﻴﻘﺎت ﭘﻴﺸﻴﻦ اﻳﻦ ﻣﻮﻟﻔﻪ اﺳﺘﺨﺮاج و ﺑﺎ در ﻛﻨﺎر ﻫﻢ ﻗﺮار دادن آنﻫﺎ روﺷﻲ ﻣﻄﺎﺑﻖ ﺑﺎ ﻧﻴﺎزﻫﺎ ﺑﺪﺳﺖ ﻣﻲآﻳﺪ. -1-5ﺑﺮرﺳﻲ روش ﻣﻘﺎﻳﺴﻪ روشﻫﺎي ارزﻳﺎﺑﻲ ﺗﺎ ﺑﻪ اﻣﺮوز ﻣﺘﺪﻫﺎي زﻳﺎدي ﺑﺎ اﻫﺪاف و ﺗﻜﻨﻴﻚﻫﺎي ﻣﺨﺘﻠﻒ ﺑﻮﺟﻮد آﻣﺪه- اﻧﺪ ﻛﻪ ﺗﺎ ﺑﻪ اﻣﺮوز ﺗﻮﺳﻂ دو ﮔﺮوه ﻣﺨﺘﻠﻒ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﮔﺮﻓﺘﻪاﻧﺪ، ﻳﻜﻲ ﺗﻮﺳﻂ [19] Babarدر ﺳﺎل 2004و دﻳﮕﺮي ﺗﻮﺳﻂ Dobricaو [18] Nielmelaدر ﺳﺎل .2002در اﻳﻦ ﺑﺮرﺳﻲﻫﺎ ﻣﻌﻴﺎرﻫﺎﻳﻲ ﺑﺮاي درك و ﻣﻘﺎﻳﺴﻪ ﻣﺘﺪﻫﺎ اراﺋﻪ ﺷﺪه اﺳﺖ. اﻳﻦ ﻣﻌﻴﺎرﻫﺎ ﺗﻜﻨﻴﻚ اﺳﺘﻔﺎده ﺷﺪه در ﻣﺘﺪ ،ﺑﻪ ﻛﺎر ﮔﻴﺮي ﻣﺘﺪ ،ﻓﺮآﻳﻨﺪ ﭘﺸﺘﻴﺒﺎﻧﻲ ،ﭘﺸﺘﻴﺒﺎﻧﻲ از ﻧﻤﺎﻳﺶ ﻣﻌﻤﺎري ،اﺳﺘﻔﺎده از اﺑﺰارﻫﺎ و دﻳﮕﺮ ﻣﺴﺎﺋﻞ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻨﺪ .ﺟﺪول) (1ﻣﻌﻴﺎرﻫﺎي ﻣﻄﺮح ﺷﺪه را ﻧﺸﺎن ﻣﻲدﻫﺪ .ﻣﻌﻴﺎرﻫﺎي اﺳﺘﻔﺎده ﺷﺪه در اﻳﻦ دو ﭘﮋوﻫﺶ دﻗﻴﻘﺎ ﻳﻜﺴﺎن ﻧﺒﻮده و ﻫﺮﻳﻚ ﺑﺮداﺷﺖاي ﻣﺘﻔﺎوت ﻧﺴﺒﺖ ﺑﻪ ﻣﻌﻴﺎرﻫﺎ دارﻧﺪ .ﻧﺸﺎﻧﻪ ' '+در ﺟﺪول ﺑﻪﻣﻌﻨﺎي در ﻧﻈﺮ ﮔﺮﻓﺘﻦ اﻳﻦ ﻣﻌﻴﺎر در ﻓﺮآﻳﻨﺪ ﻣﻘﺎﻳﺴﻪ ﻣﺘﺪﻫﺎ ﻣﻲﺑﺎﺷﺪ و ﺑﺎﻟﺘﺒﻊ ﻧﺸﺎﻧﻪ ' '-ﺳﻜﻮت اﻳﻦ روش را از ﺑﺎﺑﺖ اﻳﻦ ﻣﻌﻴﺎرﻫﺎ ﺑﻴﺎن ﻣﻲﻛﻨﺪ. اﮔﺮﭼﻪ اﻳﻦ ﭘﮋوﻫﺶﻫﺎ ﻓﻬﺮﺳﺖ ﻣﻬﻤﻲ از ﻣﻌﻴﺎرﻫﺎي ارزﻳﺎﺑﻲ را ﺑﺮاي ﻫﺮ ﺳﺎزﻣﺎﻧﻲ ﻛﻪ ﺑﻪ دﻧﺒﺎل اﻧﻄﺒﺎق ﺑﺎ ﻳﻚ ﻣﺘﺪ ﺗﺤﻠﻴﻞ ﻣﻲﺑﺎﺷﺪ اراﺋﻪ ﻣﻲدﻫﻨﺪ، اﻣﺎ ﺑﺎ ﻧﮕﺎﻫﻲ ﻋﻤﻴﻖﺗﺮ ﻣﻲﺗﻮان درﻳﺎﻓﺖ ﻛﻪ اﻳﻦ ﻣﻌﻴﺎرﻫﺎ ﺟﻨﺒﻪﻫﺎي ﺳﻄﺤﻲ و ﻛﻠﻲ ﻳﻚ ﻣﺘﺪ را ﻫﺪف ﻗﺮاردادهاﻧﺪ و در اﻳﻦ ﺑﻴﻦ از ﻣﻌﻴﺎرﻫﺎي ﻣﻬﻢ و اﺻﻠﻲ در اﻳﻦ ﺑﻴﻦ ﺻﺤﺒﺘﻲ ﻧﺸﺪه اﺳﺖ .در ﻣﻌﻴﺎرﻫﺎي ذﻛﺮ ﺷﺪه ﺗﻮﺟﻬﻲ ﺑﻪ ﻛﺎراﻳﻲ 24ﻣﺘﺪ – ﺗﻮﻟﻴﺪ ﻧﺘﺎﻳﺠﻲ ﺑﺮاي ذيﻧﻔﻌﺎن ﺑﻪ ﻃﻮر ﭘﻴﺶﺑﻴﻨﻲ ﺷﺪه و ﺗﻜﺮار ﭘﺬﻳﺮ – و اﺳﺘﻔﺎدهﭘﺬﻳﺮي ﻣﺘﺪ – ﭼﻴﺰي ﻛﻪ ﺑﻪﻃﻮر ﻣﻘﺮون ﺑﻪﺻﺮﻓﻪ ﺑﺮاي ﺷﺮﻛﺖﻛﻨﻨﺪﮔﺎن ﻗﺎﺑﻞ درك و اﺟﺮا ﺑﻮده و ﺑﺎ ﺳﺮﻋﺖ ﻣﻌﻘﻮﻟﻲ ﻗﺎﺑﻞ ﻓﺮاﮔﻴﺮي ﺑﺎﺷﺪ – ﻧﺸﺪه اﺳﺖ .ﺑﺮاي اﻳﻦ ﻛﻤﺒﻮدﻫﺎ در ] [7ﭼﻨﺪ ﻣﻌﻴﺎر اﺻﻠﻲ و ﭘﺎﻳﻪاي را ﺑﺮاي ﺗﺤﻠﻴﻞ و ارزﻳﺎﺑﻲ ﻣﺘﺪﻫﺎي ارزﻳﺎﺑﻲ اراﺋﻪ ﺷﺪه: ﺷﻨﺎﺳﺎﻳﻲ ﻫﺪف و ﻣﺤﻴﻂ :ﻳﻚ ﺗﺤﻠﻴﻞ ﻫﻤﻴﺸﻪ ﺷﺎﻣﻞ اﻫﺪاﻓﻲ ﻣﻲﺷﻮد. اﻳﻦ اﻫﺪاف و ﻣﺤﻴﻂ ﺗﺤﻠﻴﻞ ،اﻧﺘﻈﺎراﺗﻲ را ﺑﺮاي ﺗﺤﻠﻴﻞ ﺷﻜﻞ ﻣﻲدﻫﻨﺪ ﻛﻪ اﻃﻼع ﺗﺤﻠﻴﻞﮔﺮ از آنﻫﺎ ﺿﺮوري ﻣﻲﺑﺎﺷﺪ .در واﻗﻊ ﻫﺪف از ﻫﺮ ﻧﻮع ﺗﺤﻠﻴﻞ در ﺳﻄﺢ ﻣﻌﻤﺎري ،ارزﻳﺎﺑﻲ آن در ﻣﻘﺎﺑﻞ ﺗﻌﺪادي ﻣﻌﻴﺎر ﻣﻲﺑﺎﺷﺪ. اﻣﺎ اﻳﻦﻛﻪ اﻳﻦ ﻣﻌﻴﺎرﻫﺎ ﻛﺪاﻣﻨﺪ ،ﺗﺤﻠﻴﻞﮔﺮان ﭼﮕﻮﻧﻪ از آنﻫﺎ ﻣﻄﻠﻊ ﻣﻲ- ﺷﻮﻧﺪ و ﭼﻄﻮر آنﻫﺎ را ﺗﻮﺻﻴﻒ و درﺳﺘﻲﻳﺎﺑﻲ ﻣﻲﻧﻤﺎﻳﻨﺪ ،ﻣﺴﺌﻠﻪاي اﺳﺖ ﻛﻪ ﺗﻔﺎوت ﺑﻴﻦ ﻣﺘﺪﻫﺎ را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ .ﻣﺤﻴﻂ ﺗﺤﻠﻴﻞ ﻧﻴﺰ ﺷﺎﻣﻞ ﺣﺎﻟﺖﻫﺎﻳﻲ از ﻣﻌﻤﺎرياي اﺳﺖ ﻛﻪ ﻣﻲﺑﺎﻳﺴﺖ ارزﻳﺎﺑﻲ ﺷﻮد .اﻳﻦ ﺣﺎﻟﺖ ﻣﻲﺗﻮاﻧﺪ زﻣﺎن اﻋﻤﺎل ارزﻳﺎﺑﻲ و ﻳﺎ دﻳﮕﺮ ﻣﺤﺪودﻳﺖﻫﺎي ﻣﺤﻴﻄﻲ ﺑﺎﺷﺪ. ﺟﺪول ) (1ﻣﻌﻴﺎرﻫﺎي ارزﻳﺎﺑﻲ ﻣﺘﺪﻫﺎي ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﻣﻌﻴﺎر Babar ﻓﻌﺎﻟﻴﺖﻫﺎ ﻣﺘﺪ اﻫﺪاف ﻣﺘﺪ ﺗﻮﺻﻴﻒ وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﺑﻴﺎن ﻣﻌﻤﺎري ﻣﺮﺣﻠﻪ ﺑﻠﻮغ ﺗﻌﺮﻳﻒ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﻓﺮآﻳﻨﺪ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﺮﺣﻠﻪ اﺟﺮاﻳﻲ ﭘﺮوژه رهآوردﻫﺎي ارزﻳﺎﺑﻲ ﺷﺮﻛﺖ ذيﻧﻔﻌﺎن ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﺴﺎﺋﻞ ﻏﻴﺮﻓﻨﻲ درﺳﺘﻲ ﺳﻨﺠﻲ ﻣﺘﺪ ﭘﺸﺘﻴﺒﺎﻧﻲ اﺑﺰار دﺳﺘﺮﺳﻲ ﺑﻪ ﺗﺠﺮﺑﻴﺎت ﻣﻨﺎﺑﻊ ﻻزم + + + + + + + + + + + + + + + Dobricaو Nielmela + + + + + + + + - ﺗﻤﺮﻛﺰ ﺧﺼﻮﺻﻴﺖدﻫﻲ ﺑﻮﺳﻴﻠﻪ آزﻣﻮن :25اﮔﺮﭼﻪ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﺳﻌﻲ در ﻣﻨﺘﺰعﺳﺎزي ﻧﺮماﻓﺰار از ﺑﺴﻴﺎري ﭘﻴﺎدهﺳﺎزيﻫﺎ را دارد اﻣﺎ ﻫﻨﻮز ﻣﺴﺘﻨﺪي ﺑﺰرگ و ﭘﻴﭽﻴﺪه ﺑﻪ ﺣﺴﺎب ﻣﻲآﻳﺪ .ﻟﺬا ﺑﺮرﺳﻲ ﻫﻤﻪ ﺧﺼﻮﺻﻴﺎت آن ﻛﺎري ﺑﺴﻴﺎر زﻣﺎنﺑﺮ و ﭘﻴﭽﻴﺪه ﻣﻲﺑﺎﺷﺪ .ﻣﺘﺪﻫﺎي ارزﻳﺎﺑﻲ ﺑﺮاي ﺑﻪ ﻛﺎرﺑﺮد رﺳﻴﺪن ﻣﻲﺑﺎﻳﺴﺖ ﺑﻪ ﺻﻮرت ﻣﺘﻤﺮﻛﺰ ﻣﻌﻤﺎري را ﺗﺤﻠﻴﻞ ﻛﻨﻨﺪ .در ﻧﺘﻴﺠﻪ ،ﺑﺮاي ارزﻳﺎﺑﻲ اﻳﻦ ﻣﺘﺪﻫﺎ ﻣﻲﺑﺎﻳﺴﺖ ﭼﮕﻮﻧﮕﻲ ﺗﻤﺮﻛﺰ در ﻓﺮآﻳﻨﺪ ﺗﺤﻠﻴﻞ ،ﺗﻌﻴﻴﻦ ﺷﻮد .ﻫﺪف از ﻣﺘﺪﻫﺎي ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﻛﻨﻮﻧﻲ درك وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﻣﻌﻤﺎري ﻣﻲﺑﺎﺷﺪ ﻛﻪ ﺑﻨﺎ ﺑﻪ ﺣﺎﻻت ﻣﺨﺘﻠﻒ، ﻣﺘﻔﺎوت ﻣﻲﺑﺎﺷﺪ .ﺑﻨﺎﺑﺮاﻳﻦ وﻗﺘﻲ ﻣﺘﺪي ﻣﻮرد ﺗﺤﻠﻴﻞ ﻗﺮار ﻣﻲﮔﻴﺮد ،ﻣﻲ- ﺑﺎﻳﺴﺖ اﻳﻦ ﻧﻜﺘﻪ ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﻴﺮد ﻛﻪ ﭼﻪ ﺧﺼﻮﺻﻴﺎﺗﻲ ﺳﻨﺠﻴﺪه ﺷﺪه و ﻣﺘﺪ ﺗﺤﻠﻴﻠﻲ ﭼﮕﻮﻧﻪ ﺑﻪ ﺗﺤﻠﻴﻞﮔﺮ و درك وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﻛﻤﻚ ﻣﻲ- ﻛﻨﺪ. ﭘﺸﺘﻴﺒﺎﻧﻲ از ﺗﺤﻠﻴﻞ :ﺑﻪدﻟﻴﻞ ﻧﺒﻮد ﺷﻜﻞ رﺳﻤﻲ در ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري، آﻣﻮزش ﺗﺤﻠﻴﻞﮔﺮان ﺧﻮد ﻣﺴﺌﻠﻪاي در ﺧﻮر ﺗﻮﺟﻪ اﺳﺖ .ﺑﺮﺧﻲ از ﺗﺤﻠﻴﻞ- ﮔﺮان از ﺗﺠﺮﺑﻪي زﻳﺎدي در زﻣﻴﻨﻪي ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﺑﺮﺧﻮردار و ﺑﺮﺧﻲ ﻧﻴﺰ از زﻣﻴﻨﻪي ﺗﺤﻘﻴﻘﺎﺗﻲ ﺑﻴﺸﺘﺮ ،وﻟﻲ ﺗﺠﺮﺑﻪ ﻛﻤﺘﺮي ﺑﺮﺧﻮردارﻧﺪ .ﺑﻪﻃﻮر ﻛﻠﻲ ﻣﺘﺪ ﺗﺤﻠﻴﻠﻲ اﻳﺪهآل ،ﻫﺮ دو دﺳﺘﻪ ﺗﺤﻠﻴﻞﮔﺮ را ﻗﺎدر ﻣﻲﺳﺎزد ﻛﻪ ﺧﺮوﺟﻲ ﻳﻜﺴﺎﻧﻲ را ﺑﺪﺳﺖ آورﻧﺪ .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر ﻣﺘﺪ ﻣﺮﺑﻮﻃﻪ ،ﺗﺤﻠﻴﻞ- ﮔﺮان را ﺑﺎ در اﺧﺘﻴﺎر ﮔﺬاﺷﺘﻦ اﺑﺰارﻫﺎ ،ﺗﻜﻨﻴﻚﻫﺎ ،ﻃﺮحوارهﻫﺎ و ﻣﺜﺎلﻫﺎ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﻛﻨﺪ .در واﻗﻊ ﺑﺪون اﻳﻦﻫﺎ ،ﺗﻜﺮارﭘﺬﻳﺮي ﻣﺘﺪ و اﻧﺘﻈﺎر ﺧﺮوﺟﻲ ﻳﻜﺴﺎن ﺑﺮاي اﺟﺮاﻫﺎي ﻣﺨﺘﻠﻒ ﺑﺴﻴﺎر ﭘﺎﻳﻴﻦ ﺧﻮاﻫﺪ ﺑﻮد. اﺻﻞ ،1ﻣﻲﺑﺎﻳﺴﺖ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار را ﺑﻪﻋﻨﻮان ﻣﺠﻤﻮﻋﻪ ﻋﻨﺎﺻﺮي ﺗﻌﺮﻳﻒ ﻛﺮد ﻛﻪ ﺑﻪ اﻧﺪازه ﻛﺎﻓﻲ ﺑﺮاي ﻛﻨﺘﺮل ذﻫﻨﻲ ﺗﻮﺳﻂ اﻧﺴﺎن ﻛﻠﻲ ﺑﻮده و از ﺟﺰﺋﻴﺎت ﻛﺎﻓﻲ ﺑﺮاي اﺳﺘﺪﻻل ﻣﻨﻄﻘﻲ ﺑﺮﺧﻮردار ﺑﺎﺷﺪ. اﺻﻞ ،2اﻫﺪاف ﻛﺴﺐ و ﻛﺎر ،ﻧﻴﺎزﻣﻨﺪيﻫﺎي ﻛﻴﻔﻲ را ﺗﻌﻴﻴﻦ ﻣﻲﻛﻨﺪ. اﺻﻞ ،3ﻧﻴﺎزﻣﻨﺪيﻫﺎي ﻛﻴﻔﻲ ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار را ﻫﺪاﻳﺖ ﻣﻲﻛﻨﺪ. ﻃﻲ دﻫﻪي اﺧﻴﺮ روشﻫﺎي زﻳﺎدي ﺑﺮاي ﻓﻬﻢ ،اﺳﺘﺨﺮاج و ﺗﺤﻠﻴﻞ اﻃﻼﻋﺎت و ﻣﺴﺘﻨﺪات ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﭘﺪﻳﺪ آﻣﺪه اﻣﺎ ﻫﺮﻳﻚ از اﻳﻦ روشﻫﺎ ﻣﺤﺪودﻳﺖﻫﺎي ﺧﺎص ﺧﻮد را دارد ،ﭼﺮا ﻛﻪ اﻳﻦ اﺻﻮل را ﺑﻪ ﻃﺮﻳﻘﻲ ﻣﺘﻔﺎوت ﻣﺤﻘﻖ ﻧﻤﻮدهاﻧﺪ و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻫﺪاف ﺧﺎﺻﻲ ﻣﻌﻤﺎري را ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﻣﻲدﻫﻨﺪ .ﺑﺮاي ﭘﻴﺎدهﺳﺎزي اﻳﻦ اﺻﻮل ،ﻣﺘﺪﻫﺎي ﻣﺨﺘﻠﻒ، ﺗﻜﻨﻴﻚﻫﺎي ﮔﻮﻧﺎﮔﻮﻧﻲ را ﺑﻪ ﻛﺎر ﮔﺮﻓﺘﻪاﻧﺪ .در ] [16ﻛﻠﻴﻪ ﺗﻜﻨﻴﻚﻫﺎي ﺑﻪ ﻛﺎر رﻓﺘﻪ در ﻣﺠﻤﻮﻋﻪ ﻣﺘﺪﻫﺎي SEI26ﺑﺮرﺳﻲ ﺷﺪه و ﺗﻜﻨﻴﻚﻫﺎي ﻣﺸﺘﺮﻛﻲ ﺑﻴﻦ آنﻫﺎ اﺳﺘﺨﺮاج ﻣﻲﺷﻮد. 27 ﺗﻌﻴﻴﻦ ﺧﺮوﺟﻲﻫﺎي ﺗﺤﻠﻴﻞ :در ﭘﺎﻳﺎن ﻫﺮ ﻓﺮآﻳﻨﺪ ﭼﮕﻮﻧﮕﻲ ﭘﺎﺳﺦﮔﻮﻳﻲ اﺳﺘﺨﺮاج ﺻﺮﻳﺢ اﻫﺪاف ﻛﺴﺐ و ﻛﺎر :ﺑﺪﻳﻦوﺳﻴﻠﻪ ارزﻳﺎبﻫﺎ ﺿﻮاﺑﻂ و ﻧﺤﻮهي اﻧﺘﻘﺎل ﻧﺘﺎﻳﺞ ﺑﻪ ذيﻧﻔﻌﺎن ﺣﺎﺋﺰ اﻫﻤﻴﺖ ﻣﻲﺑﺎﺷﺪ .در واﻗﻊ اﻳﻦﻛﻪ ﻣﺘﺪ ﭼﮕﻮﻧﻪ ﻗﺎدر اﺳﺖ داﻳﺮهي ﺗﺤﻠﻴﻞ ﻛﻪ از ﻣﺠﻤﻮﻋﻪاي اﻫﺪاف اوﻟﻴﻪ ﺷﺮوع ﺷﺪه را ﺑﻪ ﻧﺘﺎﻳﺠﻲ ﻗﺎﺑﻞ ﭘﻴﺶﺑﻴﻨﻲ ﺧﺘﻢ ﻛﻨﺪ ،ﺑﺮاي اﻧﺘﺨﺎب ﻳﻚ ﻣﺘﺪ ﺣﺎﺋﺰ اﻫﻤﻴﺖ اﺳﺖ. ﭘﺮواﺿﺢ اﺳﺖ ﻛﻪ ﻣﻌﻴﺎرﻫﺎي دﻳﮕﺮ ﻧﻴﺰ وﺟﻮد دارﻧﺪ .ﺑﻪﻃﻮر ﻣﺜﺎل در ﺟﺪول) (1ﻣﻌﻴﺎرﻫﺎﻳﻲ ﭼﻮن ﻣﻴﺰان ﺑﻠﻮغ ﻣﺘﺪ ،ﻫﺰﻳﻨﻪ ﻣﺘﺪ )ﺑﻪ ﻟﺤﺎظ ﺗﻌﺪاد و ﻧﻮع ﭘﺮﺳﻨﻞ ﻻزم( ،اﺑﺰارﻫﺎي ﭘﺸﺘﻴﺒﺎﻧﻲ ،دردﺳﺘﺮس ﺑﻮدن ﻣﺜﺎلﻫﺎ و ﻣﺴﺘﻨﺪات ذﻛﺮ ﺷﺪه اﺳﺖ .اﻣﺎ ﭼﻬﺎر ﻣﻌﻴﺎر ذﻛﺮ ﺷﺪه ﺑﺮاي ﻣﻮﻓﻘﻴﺖ ﻫﺮ ﻣﺘﺪ ﺗﺤﻠﻴﻠﻲ اﺟﺒﺎري و ﺿﺮوري ﻣﻲﺑﺎﺷﺪ .ﭼﺮا ﻛﻪ ﻧﺒﻮد ﻫﺮﻳﻚ از اﻳﻦ ﻣﻌﻴﺎرﻫﺎ ﻧﺸﺎﻧﻪ ﻋﺪم ﺑﻠﻮغ ﻣﺘﺪ اﺳﺖ و ﻣﻮﻓﻘﻴﺖ اﻳﻦ روش در ﻏﻴﺎب اﻳﻦ ﻣﻌﻴﺎرﻫﺎ ﺑﻪ ﻣﻴﺰان زﻳﺎدي ﺑﻪ وﺿﻌﻴﺖ ﻣﺤﻴﻄﻲ و ﺗﺠﺮﺑﻪ ﺷﺮﻛﺖﻛﻨﻨﺪﮔﺎن در ﻓﺮآﻳﻨﺪ واﺑﺴﺘﻪ اﺳﺖ. ارزﻳﺎﺑﻲ را ﺗﻌﻴﻴﻦ ﻛﺮده و اﺑﺰاري ﺟﻬﺖ ﻣﺪﻳﺮﻳﺖ ﺗﺎﺛﻴﺮات ﺗﺠﺎريِ ﺗﺼﻤﻴﻤﺎت ﻓﻨﻲ را ﻓﺮاﻫﻢ ﻣﻲﺳﺎزﻧﺪ. -2-5ﺑﺮرﺳﻲ روش ﺳﺎﺧﺖ روش ﺑﺎ اﺳﺘﻔﺎده از ﻣﻮﻟﻔﻪﻫﺎ اﻣﺮوزه ﻣﺘﺪﻫﺎي ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﻣﻌﻤﺎري ﻣﺎﻧﻨﺪ ،QAW ،ATAM CBAM ،ADDﻣﻮﻓﻘﻴﺖﻫﺎي ﺑﺴﻴﺎري را ﺑﺪﺳﺖ آوردهاﻧﺪ و ﺑﺴﻴﺎري از ﺻﻨﺎﻳﻊ آن را ﺑﻪ ﻋﻨﻮان ﺑﺨﺸﻲ از ﻓﺮآﻳﻨﺪ ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار ﭘﺬﻳﺮﻓﺘﻪاﻧﺪ و ﺣﺘﻲ ﺑﻪ ﺑﺮﺧﻲ از ﻓﺮآﻳﻨﺪﻫﺎ ﻣﺎﻧﻨﺪ [24] XP ،RUPاﻟﺤﺎق ﺷﺪهاﻧﺪ .ﻋﻤﻮﻣﺎ ﻃﻲ اﻳﻦ ﻓﺮآﻳﻨﺪﻫﺎ اﺑﺘﺪا اﻫﺪاف ﻛﺴﺐ و ﻛﺎر و واﺑﺴﺘﻪﻫﺎي ذيﻧﻔﻌﺎن ﺷﻨﺎﺳﺎﻳﻲ و ﺳﭙﺲ ﻧﮕﺎﺷﺘﻲ ﺑﻴﻦ آنﻫﺎ و ﻧﻤﺎﻳﺶ ﻣﻌﻤﺎري ﺑﺮﻗﺮار ﻣﻲﺷﻮد و دﺳﺖ آﺧﺮ ﻧﻴﺰ رﻳﺴﻚﻫﺎ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﮕﺎﺷﺖ ﻣﺮﺑﻮﻃﻪ ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ .ﺑﺎ ﺑﺮرﺳﻲ ﺑﻴﺸﺘﺮ اﻳﻦ ﻣﺘﺪﻫﺎ ﻣﻲﺗﻮان ﻣﺠﻤﻮﻋﻪاي از ﺗﻜﻨﻴﻚﻫﺎي ﻣﺸﺘﺮك را ﺑﻴﻦ آنﻫﺎ ﭘﻴﺪا ﻧﻤﻮده و ﺑﺎ اﺳﺘﻔﺎده از ﺗﺮﻛﻴﺐ آنﻫﺎ ﺑﻪ راهﻫﺎي ﻣﺨﺘﻠﻒ ﺟﻬﺖ ﭘﺎﺳﺦﮔﻮﻳﻲ ﺑﻪ ﻳﻚ دﺳﺘﻪ ﻣﺴﺌﻠﻪ ﺧﺎص ﭘﺮداﺧﺖ. ﺑﻪﻃﻮر ﻛﻠﻲ ﺑﺎﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺮﻳﻒ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ،ﺳﻪ اﺻﻞ ﻛﻠﻲ را ﻣﻲﺗﻮان در ﻣﻮرد ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﺗﻌﺮﻳﻒ ﻧﻤﻮد: ارﺗﺒﺎط و ﺣﻀﻮر ﻓﻌﺎل ذيﻧﻔﻌﺎن :ﻫﻤﻴﺸﻪ و ﻫﻤﻪﺟﺎ ﻣﺴﺎﺋﻞ ﻣﺮﺑﻮط ﺑﻪ ذيﻧﻔﻌﺎن را ﻧﻤﻲﺗﻮان در ﻗﺎﻟﺐ ﻣﺴﺘﻨﺪات ﺟﺎي داد و ﻟﺬا درك ﻣﺘﻘﺎﺑﻠﻲ ﺑﻴﻦ آنﻫﺎ و اﻋﻀﺎء ﺗﻴﻢ ﺗﻮﻟﻴﺪ ﺑﻮﺟﻮد ﻧﻤﻲآﻳﺪ .ﻟﺬا از ذيﻧﻔﻌﺎن ﺑﺮاي ﻛﺎرﻫﺎي ﭼﻮن ﺷﻨﺎﺧﺖ و اوﻟﻮﻳﺖﺑﻨﺪي اﻫﺪاف ﻛﺴﺐ و ﻛﺎر اﺳﺘﻔﺎده ﻣﻲ- ﺷﻮد. 28 اﺳﺘﺨﺮاج ﻣﺴﺘﻨﺪات ﻧﺮماﻓﺰاري و ﭘﺎﻳﻪﻫﺎي ﻣﻨﻄﻘﻲ ﺑﻪ ﺻﻮرت ﺻﺮﻳﺢ ﻃﺒﻖ و دﻳﺪﻫﺎي 29اﺳﺘﺎﻧﺪارد :ﺑﺮاي ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﺑﻪ ﻧﻤﺎﻳﺶ واﺿﺢ و ﻧﺎﻣﺒﻬﻢ ﻣﻌﻤﺎري ﻧﻴﺎز اﺳﺖ .اﻳﻦ ﺗﻜﻨﻴﻚ اﺻﻞ 1را ﻣﺤﻘﻖ ﻣﻲﺳﺎزد. اﺳﺘﻔﺎده از ﺳﻨﺎرﻳﻮﻫﺎي ﻛﻴﻔﻲ ﺑﺮاي ﺗﻮﺻﻴﻒ واﺑﺴﺘﻪﻫﺎي ذيﻧﻔﻌﺎن: اﻫﺪاف ﻛﺴﺐوﻛﺎر در ﺳﻄﻮح ﮔﻮﻧﺎﮔﻮن ﻣﻄﺮح ﻣﻲﺑﺎﺷﻨﺪ .ﺑﺮاي ارزﻳﺎﺑﻲ ﻃﺮاﺣﻲ ﻣﻲﺑﺎﻳﺴﺖ اﻳﻦ اﻫﺪاف را ﺑﻪ ﮔﻮﻧﻪاي ﻋﻤﻠﻴﺎﺗﻲ ﺗﻮﺿﻴﺢ داد .ﻃﺒﻖ اﺻﻞ ،2اﻫﺪاف ﻛﺴﺐوﻛﺎر ،ﻧﻴﺎزﻣﻨﺪيﻫﺎي ﻛﻴﻔﻲ را ﺗﻌﻴﻴﻦ ﻧﻤﻮده و ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﺎﻣﺒﻬﻢ اﻳﻦ وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ از ﺳﻨﺎرﻳﻮﻫﺎي ﺷﺶ ﺟﺰﺋﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. ﻧﮕﺎﺷﺖ ﺳﻨﺎرﻳﻮﻫﺎي ﻛﻴﻔﻲ ﺑﻪ ﻧﻤﺎﻳﺶ ﻣﻌﻤﺎري ﺑﺮاي ﺗﻌﻴﻴﻦ ﺗﻤﺮﻛﺰ ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري :اﮔﺮﭼﻪ ﻣﻌﻤﺎري ﺑﻪ ﻧﺤﻮ ﺧﻮاﻧﺎﻳﻲ ﻣﻄﺮح ﻣﻲﮔﺮدد ،اﻣﺎ ﺑﺎزﻫﻢ ﺑﺮاي ﺑﻴﺎن ﺳﻴﺴﺘﻢﻫﺎي ﺑﺰرگ ﺑﻪﻛﺎر رﻓﺘﻪ و ﺟﺰﺋﻴﺎت ﺑﺴﻴﺎري را در ﺧﻮد دارد .از ﺳﻨﺎرﻳﻮﻫﺎ ﺑﻪﻣﻨﻈﻮر ﺗﻤﺮﻛﺰ ﺑﺮ ﺟﻨﺒﻪﻫﺎي ﻣﻬﻢ و ﺑﺎ اوﻟﻮﻳﺖ ﺑﺎﻻي ﻣﻌﻤﺎري اﺳﺘﻔﺎده ﻣﻲﺷﻮد. ﻧﻤﺎﻳﺶ ﻃﺮاﺣﻲﻫﺎي اوﻟﻴﻪ ﻳﺎ اﺻﻄﻼﺣﺎ ﺗﺎﻛﺘﻴﻚﻫﺎ :ﺑﺮاي ﺳﺎزﮔﺎري ﺑﻴﺸﺘﺮ در ﻓﺮآﻳﻨﺪ ﻃﺮاﺣﻲ و ﭘﻴﻮﻧﺪ اﻋﻤﺎل ﻃﺮاﺣﻲ ﺑﺎ اﻫﺪاف ﻛﻴﻔﻲ ﻣﻄﻠﻮب. اﺳﺘﻔﺎده از ﻃﺮحوارهﻫﺎ 30 ﺑﺮاي ﻛﺴﺐ اﻃﻼﻋﺎت و ﺑﺮﻗﺮاري ﺳﺎزﮔﺎري ﺑﻴﻦ ارزﻳﺎبﻫﺎ :ﺳﺎزﮔﺎري ﺣﻴﻦ اﺟﺮاي ﻳﻚ ﻣﺘﺪ ﺗﻨﻬﺎ زﻣﺎﻧﻲ ﺑﺪﺳﺖ ﻣﻲآﻳﺪ ﻛﻪ ﻃﺮحوارهﻫﺎﻳﻲ ﺑﺮاي ﺛﺒﺖ اﻃﻼﻋﺎت اﺳﺘﺨﺮاج ﺷﺪه و ﺗﺤﻠﻴﻞﻫﺎي ﺟﻤﻊآوري ﺷﺪه وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ .ﻟﺬا ارﺗﺒﺎط ﺑﻴﻦ ارزﻳﺎبﻫﺎ و ﻣﺸﺘﺮﻳﺎن ارزﻳﺎﺑﻲ ﺑﺪﻳﻦوﺳﻴﻠﻪ ﺑﻬﺘﺮ و ﻛﺎراﺗﺮ ﻣﻲﺷﻮد. اﺳﺘﺨﺮاج ﺻﺮﻳﺢ ﻫﺰﻳﻨﻪﻫﺎ و ﻓﻮاﻳﺪ ﻣﺮﺑﻮط ﺑﻪ ﺗﺼﻤﻴﻤﺎت ﻣﻌﻤﺎري: ﺑﺮاي رﺗﺒﻪﺑﻨﺪي و ﺑﻬﺒﻮد ﺗﺼﻤﻴﻤﺎت ،ﻻزم اﺳﺖ اﻃﻼﻋﺎتاي درﺑﺎره ﻫﺰﻳﻨﻪ- ﻫﺎ ،ﻣﺰاﻳﺎ و زﻣﺎنﺑﻨﺪي ﺣﺎﺻﻞ از ﺗﺼﻤﻴﻤﺎت ﻣﻌﻤﺎري اﺳﺘﺨﺮاج ﺷﻮد .اﻳﻦ واﺑﺴﺘﻪﻫﺎ ﻫﻤﻴﺸﻪ در ﻣﻘﺎﺑﻞ ﺑﺮﺧﻲ از واﺑﺴﺘﻪﻫﺎي ﻛﻴﻔﻲ ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ. اﻳﻦ ﺗﻜﻨﻴﻚﻫﺎ ،ﻳﺎﻓﺘﻦ ﺑﺨﺸﻲ از ﻣﻌﻤﺎري را ﻛﻪ ﻣﻲﺑﺎﻳﺴﺖ ﺗﻮﺳﻂ ﺳﻨﺎرﻳﻮﻳﻲ ﺧﺎص ﻣﻮرد ارزﻳﺎﺑﻲ ﺻﻮرت ﮔﻴﺮد را ﺳﺎده ﻣﻲﻛﻨﺪ .اﻣﺎ اﻳﻦ ﻛﻪ ﭼﻪ ﭼﻴﺰي در اﻳﻦ ﻣﻜﺎن ﻣﻲﺑﺎﻳﺴﺖ ﺳﻨﺠﻴﺪه ﺷﻮد ،ﺗﻌﻴﻴﻦ ﻧﺸﺪه اﺳﺖ .ﺑﻪ ﻫﻤﻴﻦ ﻟﺤﺎظ ﺑﻴﺸﺘﺮ ﻣﺘﺪﻫﺎ ﺑﺮ داﻧﺶ ﻃﺮاﺣﺎن و ﺗﺤﻠﻴﻞﮔﺮان اﺳﺘﻮارﻧﺪ. ﺑﺮاي رﻓﻊ اﻳﻦ ﻧﻮاﻗﺺ دو ﺗﻜﻨﻴﻚ ﺟﺪﻳﺪ ﺑﻪ ﻟﻴﺴﺖ ﺗﻜﻨﻴﻚﻫﺎي ﭘﻴﺶ اﻓﺰوده ﺷﺪه ﺗﺎ در ﺳﺎﺧﺖ ﻣﺘﺪﻫﺎي ﺟﺪﻳﺪ از آنﻫﺎ اﺳﺘﻔﺎده ﺷﻮد. ﺗﺤﻠﻴﻞ ﻣﻌﻤﺎري ﺑﺎ اﺳﺘﻔﺎده از ﻣﺪلﻫﺎي وﻳﮋﮔﻲ ﻛﻴﻔﻲ :ﺑﺮﺧﻲ از ﻣﺪلﻫﺎي ﻛﻴﻔﻲ ﻣﺎﻧﻨﺪ ﺑﺎزدﻫﻲ ﻣﺪلﻫﺎي ﺗﺤﻠﻴﻠﻲ واﺿﺢ و ﻣﺸﺨﺼﻲ دارﻧﺪ و ﺑﺮﺧﻲ دﻳﮕﺮ ﻧﻴﺰ )ﻣﺎﻧﻨﺪ اﻣﻨﻴﺖ ،ﺗﺴﺖﭘﺬﻳﺮي و (..در اﻳﻦ راﺳﺘﺎ از ﺑﻠﻮغ ﻛﻤﺘﺮي ﺑﺮﺧﻮردارﻧﺪ .ﻟﺬا ﻣﻲﺗﻮان از اﻳﻦ ﻣﺪلﻫﺎ ﺑﺮاي ﻛﻤﻚ ﺑﻪ ﻓﻬﻢ ﺗﺼﻤﻴﻤﺎت ﻃﺮاﺣﻲ ﻣﻮﺟﻮد در ﺳﻄﺢ ﻣﻌﻤﺎري اﺳﺘﻔﺎده ﻧﻤﻮد. ﺗﺠﻤﻴﻊ ﻣﺠﻤﻮﻋﻪاي از اﺻﻮل ﻃﺮاﺣﻲ وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﺑﺎ اﺳﺘﻔﺎده از ﻣﺪلﻫﺎي ﻛﻴﻔﻲ :ﺑﺮاي ﺑﻬﺒﻮد ﻣﺸﻜﻼﺗﻲ ﻛﻪ ﺣﻴﻦ ﺗﺤﻠﻴﻞ ﺷﻨﺎﺳﺎﻳﻲ ﻣﻲﺷﻮﻧﺪ ،ﻻزم اﺳﺖ آﻟﺘﺮﻧﺎﺗﻴﻮﻫﺎﻳﻲ ﺗﻮﻟﻴﺪ ﺷﻮد .ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻴﻚ ﺷﻨﺎﺳﺎﻳﻲ آﻟﺘﺮﻧﺎﺗﻴﻮﻫﺎ ﺑﺴﻴﺎر ﺳﺎدهﺗﺮ ﺧﻮاﻫﺪ ﺷﺪ. ﻧﻜﺘﻪي اﺻﻠﻲ اﻳﻦ ﺗﻜﻨﻴﻚﻫﺎ آن اﺳﺖ ﻛﻪ ﻣﻲﺗﻮان ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ را ﺑﻪ ﺗﻌﺪادي ﻣﺮاﺣﻞ ﻣﺎژوﻻر ﺗﺠﺰﻳﻪ ﻧﻤﻮد ،ﺑﻪ ﻧﺤﻮي ﻛﻪ ﻫﺮﻛﺪام داراي ﺗﻜﻨﻴﻚﻫﺎي ﺧﻮش ﺗﻌﺮﻳﻒ و زﻣﺎنﺑﻨﺪي ﺷﺪهاﻧﺪ و ﻣﻲﺗﻮان ﺑﺎ ﺣﺪاﻛﺜﺮ ﺑﺎزدﻫﻲ آنﻫﺎ را ﻣﻮرد اﺳﺘﻔﺎده ﻣﺠﺪد ﻗﺮارداد .درواﻗﻊ ﺑﺎ اﺳﺘﻔﺎدهي ﻣﺠﺪد از ﻣﻮﻟﻔﻪﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺗﻜﻨﻴﻚ ،ﻗﺎدر ﺧﻮاﻫﻴﻢ ﺑﻮد ﺗﺠﺎرب ﭘﻴﺸﻴﻦ ﺣﺎﺻﻞ از ﻣﺘﺪﻫﺎي دﻳﮕﺮ را ﺑﻪﻃﻮر ﻛﺎراﻳﻲ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار داد .ﺑﺎ اﻳﻦ روش اﻣﻴﺪ اﺳﺖ ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﻣﻌﻤﺎري از ﭼﺎﺑﻜﻲ ﺑﻴﺸﺘﺮي ﺑﺮﺧﻮردار ﺑﺎﺷﺪ، ﺑﻪﻃﻮريﻛﻪ ﺑﺘﻮان ﺑﺪون از دﺳﺖ دادن ﻛﻴﻔﻴﺖ ،ﺑﻴﺸﺘﺮﻳﻦ ﺗﻄﺎﺑﻖ را ﺑﺎ ﺷﺮاﻳﻂ ﻣﺤﻴﻄﻲ اﻳﺠﺎد ﻧﻤﻮد. -6ﻧﺘﻴﺠﻪﮔﻴﺮي و ﻛﺎرﻫﺎي آﺗﻲ در اﻳﻦ ﻣﻘﺎﻟﻪ ،ﺧﻼﺻﻪاي از روشﻫﺎي ﺑﻪ ﻛﺎر رﻓﺘﻪ در ﻓﺮآﻳﻨﺪ ارزﻳﺎﺑﻲ ﻣﻌﻤﺎري ﻧﺮماﻓﺰار ﺑﻴﺎن ﺷﺪ .روشﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ ﺑﻴﺸﺘﺮ ﺑﺮ روي ﻓﺮآﻳﻨﺪﻫﺎي اﻧﺴﺎﻧﻲ و ﻣﺴﺘﻨﺪﺳﺎزي ﺗﺼﻤﻴﻤﺎت ﻣﻌﻤﺎري ﻣﺘﺮﻛﺰﻧﺪ ﺗﺎ ﺑﺎ ﭘﻴﮕﻴﺮي آنﻫﺎ ﻣﻴﺰان دﺳﺖﻳﺎﺑﻲ ﺑﻪ اﻫﺪاف ﻛﻴﻔﻲ ﺳﻨﺠﻴﺪه ﺷﻮد .اﻟﺒﺘﻪ اﻳﻦ روشﻫﺎ ﻗﺎدر ﺑﻪ ارزﻳﺎﺑﻲ دﻗﻴﻖ و رﺳﻤﻲ ﻣﻌﻤﺎري ﻧﻴﺴﺘﻨﺪ .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر از روشﻫﺎي رﺳﻤﻲ ﻣﺎﻧﻨﺪ ﻣﺪلﻫﺎي ﺷﺒﻜﻪ ﺻﻒ ،زﻧﺠﻴﺮهﻫﺎي ﻣﺎرﻛﻮف و ﻣﺎﺷﻴﻦﻫﺎي ﺣﺎﻟﺖ ﺑﺮاي ﺑﺮﺧﻲ از وﻳﮋﮔﻲﻫﺎي ﻛﻴﻔﻲ ﻣﺎﻧﻨﺪ ﻛﺎراﻳﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. ﺑﺮاي ﺑﺮرﺳﻲ ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ و در ﺳﻄﻮح ﮔﻮﻧﺎﮔﻮن )ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎري- ﻫﺎي ﻣﻮﺟﻮد در ﺧﻂ ﺗﻮﻟﻴﺪ( ﻣﺘﺪﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﻮﺟﻮد آﻣﺪه ﻛﻪ ﺑﻪ ﻓﺮاﺧﻮر ﻧﻴﺎزﻫﺎ ارزﻳﺎﺑﻲ از آنﻫﺎ اﺳﺘﻔﺎده ﻣﻲﺷﻮد .در اﻳﻦ ﺑﻴﻦ روﺷﻲ ﻣﻨﺎﺳﺐ اﺳﺖ ﻛﻪ ﺑﻴﺸﺘﺮﻳﻦ ﺗﻄﺎﺑﻖ را ﺑﺎ ﺳﻴﺴﺘﻢ داﺷﺘﻪ و دﻗﻴﻖﺗﺮﻳﻦ ﻧﺘﺎﻳﺞ را ﺑﺪﺳﺖ دﻫﺪ .در اداﻣﻪ ﺳﻌﻲ ﺑﺮ آن اﺳﺖ ﻛﻪ ،ﺑﺴﺘﺮي ﻛﻠﻲ را ﺑﺎ ﺗﻠﻔﻴﻖ روشﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺪلﻫﺎي رﺳﻤﻲ و روشﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﻨﺎرﻳﻮ ﺗﻌﺮﻳﻒ ﻧﻤﻮد. اﻳﻦ ﻣﺪلﻫﺎ ﺑﻪ ﺻﻮرت ﻛﺘﺎﺑﺨﺎﻧﻪاي درآﻣﺪه و ارزﻳﺎبﻫﺎ ﺑﺎ ﻣﺮاﺟﻌﻪ ﺑﻪ آن ﻣﺪلﻫﺎ ﻣﺮﺗﺒﻂ ﺑﺎ وﻳﮋﮔﻲ ﻛﻴﻔﻲ ﻣﻮرد ﻧﻴﺎز ﺧﻮد را اﻧﺘﺨﺎب ﻣﻲﻛﻨﻨﺪ .ﺑﺎ اﺳﺘﻔﺎده از ﺗﻜﻨﻴﻚﻫﺎي ﻣﻮﺟﻮد در اﻳﻦ ﻛﺘﺎﺑﺨﺎﻧﻪ ﺗﻘﺎﺑﻞ و ﻧﻘﺎط ﭘﺎﻳﺎﭘﺎي اﻳﻦ وﻳﮋﮔﻲﻫﺎ ﺷﻨﺎﺳﺎﻳﻲ ﻣﻲﺷﻮد ﺗﺎ ﺑﺘﻮان ﺗﺤﻠﻴﻞ ﺟﺎﻣﻌﻲ را در ﻣﻮرد ﻣﻌﻤﺎري اراﺋﻪ داد. [22] Kazman, R., Abowd, G., Bass, L., Clements, P., Scenario-Based Analysis of Software Architecture, IEEE, 1996 [23] Object Management Group, UML Profile, for Schedulability, Performance, and Time, OMG, 2002. [24] Kazman, R., Kruchten, P., Nord, R., Tomayko, J., Integrating Software-Architecture-Centric Methods into the Rational Unified Process, CMU, 2004. [25] Card, D. N., Learning from our Mistakes with Defect Causal Analysis, IEEE, 1998. 1 Marketing Blue Print 3 Validation 4 Carnegie Mellon University 5 Attribute Driven Design method 6 Cost Benefit Analysis Method 7 Architecture-Level Modifiability Analysis 8 Concern 9 Causal 10 Architecture-centric Concern Analysis Method 11 Defect Causal Analysis 12 Defect 13 Failure 14 Concern Traceability Map 15 Verification 16 Aspectual Software Architecture Analysis Method 17 Software Architecture Analysis Method 18 Heuristic 19 Cohesive Component 20 Message Sequence Chart 21 Use Case Diagram 22 Sequence Diagram 23 Annotated Component Diagram 24 Effectiveness 25 Focus and properties under examination 26 Software Engineering Institute 27 Criteria 28 Rationale 29 Reference 30 Template 2 ﻣﺮاﺟﻊ [1] Bass, L., Clements, P., Kazman, R., Software Architecture in Practice, Second Edition, AddisonWesley, 2003. Part 3. [2] Marco, A., Inveradi, P., Compositional Generation of Software Architecture Performance QN Models, IEEE, 2004. [3] Wang, ZH., Sherdil, Kh., Madhavji, N.H., ACCA: An Architecture-centric Concern Analysis Method, IEEE, 2005. [4] Gannod G.C., Lutz R.R., An Approach to Architectural Analysis of Product Lines, ACM, 2000. [5] Grima´n, A., Pe´rez, M., Mendoza, L., Losavio, F., Feature analysis for architectural evaluation methods, Elsevier, 2006. [6] Zhu, L., Babar, M.A., Jeffery, R., Mining Patterns to Support Software Architecture Evaluation, IEEE, 2004. [7] Kazman, R., Bass, L., Klein, M., Lattanze, T., Northrop, L., A Basis for Analyzing Software Architecture Analysis Methods, Springer, 2005. [8] Kazman, R., Barbacci, M., Klein, M., Carrihe, S.J., Woods, S.G., Experience with Performing Architecture Tradeoff Anallysis, ACM, 1999. [9] Tekinerdogan, B., ASAAM: Aspectual Software Architecture Analysis Method, IEEE, 2004. [10] Kazman, R., Bass, L., Klein, M., The essential components of software architecture design and analysis, Elsevier, 2006. [11] Chastek, G., Ferguson, R., Toward Measures for Software Architectures, CMU Technical Note, 2006 [12] Leire, EX., Goiuria, S., Product-line architecture : New issues for evaluation, Springer, 2005. [13] Babar, M.A., Zhu, L., Jeffery, R., A Framework for Classifying and Comparing Software Architecture Evaluation Methods, IEEE, 2004. [14] Kim, K., Kim, H., Ahn, M., Seo, M., Chang, Y., Kang, K.C., ASADAL: A Tool System for CoDevelopment of Software and Test Environment based on Product Line Engineering, ACM, 2006. [15] Sharma, V.S., Trivedi, K.S., Quantifying software performance, reliability and security: An architecturebased approach, Elsevier, 2006. [16] Clements, P., Kazman, R., Klein, M. Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley, 2002, pp 109-126., 211-239 [17] Tekinerdogan, B., ASAAM: Aspectual Software Architecture Analysis Method, IEEE, 2004. [18] Dobrica, L., Niemela, E., A Survey on Software Architecture Analysis Methods, IEEE, 2002. [19] Babar, M.A., Gorton, I., Comparison of ScenarioBased Software Architecture Evaluation Methods, IEEE, 2004. [20] ISO/IEC FCD 9126-1.2, Information Technology – Software Product Quality, Part 1: Quality Model, 1998. [21] Chastek, G., Donohoe, Product Line Analysis for Parishioners, CMU, 2003
© Copyright 2026 Paperzz