27
!"#$%&' ) *&+,-.,.- %"& /0123&+ !"#$% '( )*++,+$ -.#//+ 0( 123++ 4 2" 56%7./ Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 6.2 !0.%&.%+ 8(9 :+;%,/ 0+2".6.3.,< 8(= :+;%,/ )$%/>%?3+; 8(@ AA :+;%,/ 8(4 B+?$+;+/7/, AA :+;%,/; %/ 2"+ C0' 8(D AA :+;%,/ )#E+$/; 8(8 A2"+$ :+;%,/ F./;%6+$#7./; 8(G AA 0+#;H$+I+/2 8(J :+;%,/ :.>HI+/2#7./ 8(K L/M.$I#7./ !<;2+I 5N#I?3+ 8(9O B+#3PQ%I+ 5N#I?3+ 8(99 R"#2 2"%; F"#?2+$ 0+#/; M.$ S.H Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 6.3 !"#$%&' ) 456&789&+ :+;%,/ ?$%/>%?3+; ATU+>2P.$%+/2+6 6+;%,/ "+H$%;7>; :+;%,/ ?#E+$/; 5N>+?7./; #/6 +N>+?7./ "#/63%/, :.>HI+/7/, 6+;%,/; Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 6.4 ):; *&+,-. /&%"01030-< R+ "#V+ #/ #T;2$#>2 6+;>$%?7./ .M # ;.3H7./ 2. .H$ >H;2.I+$W; ?$.T3+IX # ;.YZ#$+ #$>"%2+>2H$#3 6+;%,/X # ?3#/ M.$ 6+>.I?.;%/, 2"+ 6+;%,/ %/2. ;.YZ#$+ H/%2; #/6 #33.>#7/, 2"+ ;<;2+IW; MH/>7./#3 $+[H%$+I+/2; 2. 2"+I \. 6%;7/>2 T.H/6#$< T+2Z++/ 2"+ +/6 .M 2"+ #$>"%2+>2H$+P 6+;%,/ ?"#;+ #/6 2"+ ;2#$2 .M 2"+ I.6H3+P6+;%,/ ?"#;+ \. >.I?#$#T3+ 6+;%,/ $+>%?+; M.$ ?$.,$+;;%/, M$.I # ;.YZ#$+ H/%2W; ;?+>%]>#7./ 2. %2; I.6H3#$ 6+;%,/ Q"+ ?$.>+;; 2#^+/ 2.Z#$6; # ]/#3 ;.3H7./ %; /.2 #; %I?.$2#/2 #; 2"+ 6.>HI+/2#7./ ?$.6H>+6

!0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

  • Upload
    lekhanh

  • View
    235

  • Download
    0

Embed Size (px)

Citation preview

Page 1: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

!"#$%&'()(

*&+,-.,.-(%"&((/0123&+(

!"#$%&'(&)*++,+$&

-.#//+&0(&123++&

42"&56%7./&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.2

!0.%&.%+(

8(9&&&:+;%,/&0+2".6.3.,<&8(=&&&:+;%,/&)$%/>%?3+;&

8(@&&&AA&:+;%,/&

8(4&&&B+?$+;+/7/,&AA&:+;%,/;&%/&2"+&C0'&

8(D&&&AA&:+;%,/&)#E+$/;&

8(8&&&A2"+$&:+;%,/&F./;%6+$#7./;&

8(G&&&AA&0+#;H$+I+/2&8(J&&&:+;%,/&:.>HI+/2#7./&

8(K&&&L/M.$I#7./&!<;2+I&5N#I?3+&

8(9O&B+#3PQ%I+&5N#I?3+&

8(99&R"#2&2"%;&F"#?2+$&0+#/;&M.$&S.H&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.3

!"#$%&'()(456&789&+(

• :+;%,/&?$%/>%?3+;&• ATU+>2P.$%+/2+6&6+;%,/&"+H$%;7>;&• :+;%,/&?#E+$/;&•  5N>+?7./;&#/6&+N>+?7./&"#/63%/,&• :.>HI+/7/,&6+;%,/;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.4

):;(*&+,-.(/&%"01030-<(

•  R+&"#V+&#/&#T;2$#>2&6+;>$%?7./&.M&#&;.3H7./&2.&.H$&>H;2.I+$W;&?$.T3+IX&#&;.YZ#$+&#$>"%2+>2H$#3&6+;%,/X&#&?3#/&M.$&6+>.I?.;%/,&2"+&6+;%,/&%/2.&;.YZ#$+&H/%2;&#/6&#33.>#7/,&2"+&;<;2+IW;&MH/>7./#3&$+[H%$+I+/2;&2.&2"+I&

•  \.&6%;7/>2&T.H/6#$<&T+2Z++/&2"+&+/6&.M&2"+&#$>"%2+>2H$+P6+;%,/&?"#;+&#/6&2"+&;2#$2&.M&2"+&I.6H3+P6+;%,/&?"#;+&

•  \.&>.I?#$#T3+&6+;%,/&$+>%?+;&M.$&?$.,$+;;%/,&M$.I&#&;.YZ#$+&H/%2W;&;?+>%]>#7./&2.&%2;&I.6H3#$&6+;%,/&

•  Q"+&?$.>+;;&2#^+/&2.Z#$6;&#&]/#3&;.3H7./&%;&/.2&#;&%I?.$2#/2&#;&2"+&6.>HI+/2#7./&?$.6H>+6&

Page 2: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.5

):;(*&+,-.(/&%"01030-<(=&>#7%0',.-(

• :+;%,/&6+>%;%./;&#$+&?+$%.6%>#33<&$+V%;%2+6&#/6&$+V%;+6&• B+M#>2.$%/,&• ATU+>7V+_&2.&;%I?3%M<&>.I?3%>#2+6&;.3H7./;&.$&2.&.?7I%`+&2"+&6+;%,/&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.6

):?(*&+,-.(@',.7,$3&+(

•  *&+,-.($',.7,$3&+(#$+&,H%6+3%/+;&M.$&6+>.I?.;%/,&#&;<;2+IW;&$+[H%$+6&MH/>7./#3%2<&#/6&T+"#V%.$&%/2.&I.6H3+;&

•  Q"+&?$%/>%?3+;&%6+/7M<&2"+&>$%2+$%#&–  M.$&6+>.I?.;%/,&#&;<;2+I&&

–  6+>%6%/,&Z"#2&%/M.$I#7./&2.&?$.V%6+&a#/6&Z"#2&2.&>./>+#3b&%/&2"+&$+;H37/,&I.6H3+;&

•  !%N&6.I%/#/2&?$%/>%?3+;_&–  0.6H3#$%2<&

–  L/2+$M#>+;&–  L/M.$I#7./&"%6%/,&

–  L/>$+I+/2#3&6+V+3.?I+/2&

–  1T;2$#>7./&–  c+/+$#3%2<&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.7

):;(*&+,-.(/&%"01030-<((A,1&5#'():;(BC#D,.-E(#(=#80.#3&(*&+,-.(@'07&++(

•  L/&2"+&%6+#3&6+;%,/&?$.>+;;X&2"+&6+;%,/&.M&#&;.YZ#$+&;<;2+I&Z.H36&?$.,$+;;&M$.I&"%,"P3+V+3&;?+>%]>#7./&2.&;.3H7./X&H;%/,&#&;+[H+/>+&.M&2.?P6.Z/X&+$$.$PM$++&6+;%,/&6+>%;%./;&$+;H37/,&%/&#&"%+$#$>"%>#3&>.33+>7./&.M&I.6H3+;&

•  d.$&;+V+$#3&$+#;./;&a+(,(X&?..$3<&H/6+$;2..6&.$&>"#/,%/,&$+[H%$+I+/2;X&$+M#>2.$%/,X&"HI#/&+$$.$bX&6+;%,/&Z.$^&$#$+3<&?$.>++6;&6%$+>23<&.$&;I..2"3<&M$.I&$+[H%$+I+/2;&2.&I.6H3+;&

•  R+&;".H36&;%IH3#2+&%6+#3&T+"#V%.$&T<&Z$%7/,&.H$&6.>HI+/2#7./&#;&%M&Z+&"#6&M.33.Z+6&2"+&%6+#3&?$.>+;;&

–  6+>.I?.;%/,&2"+&;.YZ#$+&H/%2&%/2.&I.6H3+;&

–  6+]/%/,&2"+&I.6H3+&%/2+$M#>+;&

–  6+;>$%T%/,&2"+&%/2+$6+?+/6+/>%+;&#I./,&I.6H3+;&

–  6.>HI+/7/,&2"+&%/2+$/#3&6+;%,/;&.M&I.6H3+;&

•  L/;+$2&?3#>+".36+$;&./&#$+#;&Z+&?H2&.eX&#66%/,&/+Z&%/M.$I#7./&./>+&2"+&6+2#%3;&T+>.I+&^/.Z/&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.8

):?(*&+,-.(@',.7,$3&+(/0123#',%<(

•  /0123#',%<(%;&2"+&?$%/>%?3+&.M&^++?%/,&;+?#$#2+&2"+&V#$%.H;&H/$+3#2+6&#;?+>2;&.M&#&;<;2+IX&;.&2"#2&+#>"&#;?+>2&>#/&T+&;2H6%+6&%/&%;.3#7./&a#3;.&>#33+6&;+?#$#7./&.M&>./>+$/;b&

•  LM&2"+&?$%/>%?3+&%;&#??3%+6&Z+33X&+#>"&$+;H37/,&I.6H3+&Z%33&"#V+&#&;%/,3+&?H$?.;+&#/6&Z%33&T+&$+3#7V+3<&%/6+?+/6+/2&.M&2"+&.2"+$;&

–  +#>"&I.6H3+&Z%33&T+&+#;<&2.&H/6+$;2#/6&#/6&6+V+3.?&

–  +#;%+$&2.&3.>#2+&M#H32;&aT+>#H;+&2"+$+&#$+&M+Z+$&;H;?+>2&I.6H3+;&?+$&M#H32b&&

–  5#;%+$&2.&>"#/,+&2"+&;<;2+I&aT+>#H;+&#&>"#/,+&2.&./+&I.6H3+&#e+>2;&$+3#7V+3<&M+Z&.2"+$&I.6H3+;&

•  Q.&6+2+$I%/+&".Z&Z+33&#&6+;%,/&;+?#$#2+;&>./>+$/;X&Z+&H;+&2Z.&>./>+?2;&2"#2&I+#;H$+&I.6H3+&%/6+?+/6+/>+_&>.H?3%/,&#/6&>."+;%./&

Page 3: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.9

):?(*&+,-.(@',.7,$3&+(!02$3,.-(

•  QZ.&I.6H3+;&#$+&8-"%3<(702$3&1(Z"+/&2"+<&6+?+/6&#&,$+#2&6+#3&./&+#>"&.2"+$&

•  F00+&3<(702$3&1(I.6H3+;&"#V+&;.I+&6+?+/6+/>+X&TH2&2"+%$&%/2+$>.//+>7./;&#$+&Z+#^&

•  G.702$3&1&I.6H3+;&"#V+&/.&%/2+$>.//+>7./;&#2&#33f&2"+<&#$+&>.I?3+2+3<&H/$+3#2+6&

– Tightly coupled - – many dependencies

– Loosely coupled - – some dependencies

– Uncoupled - – no dependencies

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.10

):?(*&+,-.(@',.7,$3&+(!02$3,.-(H70.8.2&1I(

•  Q"+$+&#$+&I#/<&Z#<;&2"#2&I.6H3+;&>#/&T+&6+?+/6+/2&./&+#>"&.2"+$_&–  Q"+&$+M+$+/>+;&I#6+&M$.I&./+&I.6H3+&2.&#/.2"+$&

–  Q"+&#I.H/2&.M&6#2#&?#;;+6&M$.I&./+&I.6H3+&2.&#/.2"+$&

–  Q"+&#I.H/2&.M&>./2$.3&2"#2&./+&I.6H3+&"#;&.V+$&2"+&.2"+$&

• F.H?3%/,&>#/&T+&I+#;H$+6&#3./,&#&;?+>2$HI&.M&6+?+/6+/>+&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.11

):?(*&+,-.(@',.7,$3&+((!02$3,.-J(K<$&+(0>(!02$3,.-(

• F./2+/2&>.H?3%/,&• F.II./&>.H?3%/,&

• F./2$.3&>.H?3%/,&•  !2#I?&>.H?3%/,&

• :#2#&>.H?3%/,&– TIGHT COUPLING!

– LOOSE COUPLING!

– LOW COUPLING!

– Content coupling

– Common coupling

– Control coupling

– Stamp coupling

– Data coupling

– Uncoupled

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.12

):?(*&+,-.(@',.7,$3&+((!0.%&.%(!02$3,.-(

•  A>>H$;&Z"+/&./+&>.I?./+/2&I.6%]+;&#/&%/2+$/#3&6#2#&%2+I&%/&#/.2"+$&>.I?./+/2X&.$&Z"+/&./+&>.I?./+/2&T$#/>"+;&%/2.&2"+&I%663+&.M&#/.2"+$&>.I?./+/2&

Module B _________________ _________________ _________________ _________________ – Generate D Call D _________________ _________________ _________________ _________________ _________________ _________________ _________________ _________________

Module D _________________ _________________ _________________ _________________ _________________ _________________ _________________ _________________ _________________ _________________

Page 4: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.13

):?(*&+,-.(@',.7,$3&+((!0LL0.(!02$3,.-(

•  0#^%/,&#&>"#/,+&2.&2"+&>.II./&6#2#&I+#/;&2$#>%/,&T#>^&2.&#33&>.I?./+/2;&2"#2&#>>+;;&2".;+&6#2#&2.&+V#3H#2+&2"+&+e+>2&.M&2"+&>"#/,+&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.14

):?(*&+,-.(@',.7,$3&+((!0.%'03(!02$3,.-(

• R"+/&./+&I.6H3+&?#;;+;&?#$#I+2+$;&.$&#&$+2H$/&>.6+&2.&>./2$.3&2"+&T+"#V%.$&.M&#/.2"+$&I.6H3+&

•  L2&%;&%I?.;;%T3+&M.$&2"+&>./2$.33+6&I.6H3+&2.&MH/>7./&Z%2".H2&;.I+&6%$+>7./&M$.I&2"+&>./2$.33%/,&I.6H3+&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.15

):?(*&+,-.(@',.7,$3&+((A%#L$(#.1(*#%#(!02$3,.-(

•  A%#L$(702$3,.-(.>>H$;&Z"+/&>.I?3+N&6#2#&;2$H>2H$+;&#$+&?#;;+6&T+2Z++/&I.6H3+;&–  !2#I?&>.H?3%/,&$+?$+;+/2;&#&I.$+&>.I?3+N&%/2+$M#>+&T+2Z++/&I.6H3+;X&

T+>#H;+&2"+&I.6H3+;&"#V+&2.&#,$++&./&2"+&6#2#W;&M.$I#2&#/6&.$,#/%`#7./&

•  LM&./3<&6#2#&V#3H+;X&#/6&/.2&;2$H>2H$+6&6#2#X&#$+&?#;;+6X&2"+/&2"+&I.6H3+;&#$+&>.//+>2+6&T<&1#%#(702$3,.-(–  :#2#&>.H?3%/,&%;&;%I?3+$&#/6&3+;;&3%^+3<&2.&T+&#e+>2+6&T<&>"#/,+;&%/&6#2#&

$+?$+;+/2#7./&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.16

):?(*&+,-.(@',.7,$3&+((!0"&+,0.(

•  !0"&+,0.&$+M+$;&2.&2"+&6+?+/6+/>+&Z%2"%/&#/6&#I./,&#&I.6H3+W;&%/2+$/#3&+3+I+/2;&a+(,(X&6#2#X&MH/>7./;X&%/2+$/#3&I.6H3+;b&

– LOW COHESION!

– HIGH COHESION!

– Coincidental

– Logical

– Temporal

– Procedural

– Communicational

– Functional

– Informational

Page 5: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.17

):?(*&+,-.(@',.7,$3&+((!0"&+,0.(H70.8.2&1I(

•  F.%/>%6+/2#3&&aZ.$;2&6+,$++b&–  )#$2;&#$+&H/$+3#2+6&2.&./+&#/.2"+$&

•  '.,%>#3&–  )#$2;&#$+&$+3#2+6&./3<&T<&2"+&3.,%>&;2$H>2H$+&.M&>.6+&

•  Q+I?.$#3&–  0.6H3+W;&6#2#&#/6&MH/>7./;&$+3#2+6&T+>#H;+&2"+<&#$+&H;+6&#2&2"+&;#I+&

7I+&%/&#/&+N+>H7./&

•  )$.>+6H$#3&–  !%I%3#$&2.&2+I?.$#3X&#/6&MH/>7./;&?+$2#%/&2.&;.I+&$+3#2+6&#>7./&.$&

?H$?.;+&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.18

):?(*&+,-.(@',.7,$3&+((!0"&+,0.(H70.8.2&1I(

•  F.IIH/%>#7./&&–  A?+$#2+;&./&2"+&;#I+&6#2#&;+2&

•  dH/>7./#3&a%6+#3&6+,$++b&–  133&+3+I+/2;&+;;+/7#3&2.&#&;%/,3+&MH/>7./&#$+&>./2#%/+6&%/&./+&I.6H3+X&#/6&#33&

.M&2"+&+3+I+/2;&#$+&+;;+/7#3&2.&2"+&?+$M.$I#/>+&.M&2"+&MH/>7./&

•  L/M.$I#7./#3&–  16#?7./&.M&MH/>7./#3&>."+;%./&2.&6#2#&#T;2$#>7./&#/6&.TU+>2PT#;+6&

6+;%,/&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.19

):?(*&+,-.(@',.7,$3&+((M.%&'>#7&+(

•  1/&,.%&'>#7&(6+]/+;&Z"#2&;+$V%>+;&2"+&;.YZ#$+&H/%2&?$.V%6+;&2.&2"+&$+;2&.M&2"+&;<;2+IX&#/6&".Z&.2"+$&H/%2;&>#/&#>>+;;&2".;+&;+$V%>+;&–  d.$&+N#I?3+X&2"+&%/2+$M#>+&2.&#/&.TU+>2&%;&2"+&>.33+>7./&.M&2"+&.TU+>2W;&?HT3%>&

.?+$#7./;&#/6&2"+&.?+$#7./;W&+,-.#%2'&+X&Z"%>"&;?+>%M<&+#>"&.?+$#7./W;&/#I+X&?#$#I+2+$;X&#/6&?.;;%T3+&$+2H$/&V#3H+;&

•  1/&%/2+$M#>+&IH;2&#3;.&6+]/+&Z"#2&2"+&H/%2&$+[H%$+;X&%/&2+$I;&.M&;+$V%>+;&.$&#;;HI?7./;X&M.$&%2&2.&Z.$^&>.$$+>23<&

•  1&;.YZ#$+&H/%2W;&%/2+$M#>+&6+;>$%T+;&Z"#2&2"+&H/%2&$+[H%$+;&.M&%2;&+/V%$./I+/2X&#;&Z+33&#;&Z"#2&%2&?$.V%6+;&2.&%2;&+/V%$./I+/2&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.20

):?(*&+,-.(@',.7,$3&+((M.%&'>#7&+(H70.8.2&1I(

•  1&;.YZ#$+&H/%2&I#<&"#V+&;+V+$#3&%/2+$M#>+;&2"#2&I#^+&6%e+$+/2&6+I#/6;&./&%2;&+/V%$./I+/2&.$&2"#2&.e+$&6%e+$+/2&3+V+3;&.M&;+$V%>+&

– Data ________________ _________________ _________________

– Operation 1 _________________ _________________ _________________ _________________

– Operation 2 _________________ _________________ _________________ _________________

– Module – Interface A

– Operation 1 () – Operation 2 () – Operation 4 ()

– Interface B

– Operation 2 ()

– Operation 3 ()

– Operation 3 _________________ _________________ _________________ _________________

– Operation 4 _________________ _________________ _________________ _________________

Page 6: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.21

):?(*&+,-.(@',.7,$3&+((M.%&'>#7&+(H70.8.2&1I(

•  Q"+&+$&7,N7#80.(.M&#&;.YZ#$+&H/%2W;&%/2+$M#>+&6+;>$%T+;&2"+&+N2+$/#33<&V%;%T3+&?$.?+$7+;&.M&2"+&;.YZ#$+&H/%2&

•  1/&%/2+$M#>+&;?+>%]>#7./&;".H36&>.IIH/%>#2+&2.&.2"+$&;<;2+I&6+V+3.?+$;&+V+$<2"%/,&2"#2&2"+<&/++6&2.&^/.Z&2.&H;+&.H$&;.YZ#$+&H/%2&>.$$+>23<&–  )H$?.;+&–  )$+>./6%7./;&a#;;HI?7./;b&

–  )$.2.>.3;&–  ).;2>./6%7./;&aV%;%T3+&+e+>2;b&–  gH#3%2<&#E$%TH2+;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.22

):?(*&+,-.(@',.7,$3&+((M.>0'L#80.(O,1,.-(

•  M.>0'L#80.(",1,.-((%;&6%;7/,H%;"+6&T<&%2;&,H%6#/>+&M.$&6+>.I?.;%/,&#&;<;2+I_&&–  5#>"&;.YZ#$+&H/%2&+/>#?;H3#2+;&#&;+?#$#2+&6+;%,/&6+>%;%./&2"#2&>.H36&T+&

>"#/,+6&%/&2"+&MH2H$+&&&

–  Q"+/&2"+&%/2+$M#>+;&#/6&%/2+$M#>+&;?+>%]>#7./;&#$+&H;+6&2.&6+;>$%T+&+#>"&;.YZ#$+&H/%2&%/&2+$I;&.M&%2;&+N2+$/#33<&V%;%T3+&?$.?+$7+;&

•  C;%/,&2"%;&?$%/>%?3+X&I.6H3+;&I#<&+N"%T%2&6%e+$+/2&^%/6;&.M&>."+;%./&–  1&I.6H3+&2"#2&"%6+;&#&6#2#&$+?$+;+/2#7./&I#<&T+&%/M.$I#7./#33<&>."+;%V+&

–  1&I.6H3+&2"#2&"%6+;&#/&#3,.$%2"I&I#<&T+&MH/>7./#33<&>."+;%V+&

•  1&T%,&#6V#/2#,+&.M&%/M.$I#7./&"%6%/,&%;&2"#2&2"+&$+;H37/,&;.YZ#$+&H/%2;&#$+&3..;+3<&>.H?3+6&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.23

):?(*&+,-.(@',.7,$3&+((A,1&5#'():?((M.>0'L#80.(O,1,.-(,.(44(*&+,-.+(

•  L/&AA&6+;%,/X&Z+&6+>.I?.;+&#&;<;2+I&%/2.&.TU+>2;&#/6&2"+%$&#T;2$#>2&2<?+;&&&–  L/&2"%;&;+/;+X&+#>"&.TU+>2&"%6+;&%2;&6#2#&$+?$+;+/2#7./&M$.I&.2"+$&.TU+>2;&

–  Q"+&./3<&#>>+;;&2"#2&.2"+$&.TU+>2;&"#V+&2.&#&,%V+/&.TU+>2W;&6#2#&%;&V%#&#&;+2&.M&#>>+;;&MH/>7./;&2"#2&2"+&.TU+>2&#6V+$7;+;&%/&%2;&%/2+$M#>+&

–  Q"%;&%/M.$I#7./&"%6%/,&I#^+;&%2&+#;<&2.&>"#/,+&#/&.TU+>2W;&6#2#&$+?$+;+/2#7./&Z%2".H2&?+$2H$T%/,&2"+&$+;2&.M&2"+&;<;2+I&

•  h.Z+V+$X&6#2#&$+?$+;+/2#7./&%;&/.2&2"+&./3<&2<?+&.M&6+;%,/&6+>%;%./&Z+&I#<&Z#/2&2.&"%6+&

–  0#<&/++6&2.&+N?#/6&.H$&/.7./&.M&Z"#2&#/&.TU+>2&%;X&2.&%/>3H6+&2<?+;&.M&%/M.$I#7./&T+;%6+;&6#2#&2<?+;&

•  ATU+>2;&>#//.2&T+&>.I?3+2+3<&H/>.H?3+6&M$.I&./+&#/.2"+$X&T+>#H;+&#/&.TU+>2&/++6;&2.&^/.Z&2"+&%6+/72<&.M&2"+&.2"+$&.TU+>2;&;.&2"#2&2"+<&>#/&%/2+$#>2(&&

–  0%,"2&I+#/&2"#2&>"#/,%/,&2"+&/#I+&.M&#/&.TU+>2X&.$&2"+&/HIT+$&.M&.TU+>2&%/;2#/>+;X&M.$>+;&H;&#3;.&2.&>"#/,+&#33&H/%2;&2"#2&%/V.^+&2"+&.TU+>2&

–  !H>"&6+?+/6+/>+&>#//.2&T+&"+3?+6&Z"+/&#>>+;;%/,&#/&.TU+>2&2"#2&"#;&#&6%;7/>2&%6+/72<&TH2&%2&I#<&T+&#V.%6+6&Z"+/&#>>+;;%/,&#/&#$T%2$#$<&.TU+>2&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.24

):?(*&+,-.(@',.7,$3&+((M.7'&L&.%#3(*&9&30$L&.%(

• c%V+/&#&6+;%,/&>./;%;7/,&.M&;.YZ#$+&H/%2;&#/6&2"+%$&%/2+$M#>+;X&Z+&>#/&H;+&2"+&%/M.$I#7./&#T.H2&2"+&H/%2;W&6+?+/6+/>%+;&2.&6+V%;+&#/&%/>$+I+/2#3&;>"+6H3+&.M&6+V+3.?I+/2&

•  !2#$2&T<&I#??%/,&.H2&2"+&H/%2;W&2+&+('&3#80.&–  $+3#2+;&+#>"&;.YZ#$+&H/%2&2.&2"+&.2"+$&;.YZ#$+&H/%2;&./&Z"%>"&%2&6+?+/6;&

• G+&+(-'#$"+(>#/&"+3?&2.&%6+/7M<&?$.,$+;;%V+3<&3#$,+$&;HT;+2;&.M&.H$&;<;2+I&2"#2&Z+&>#/&%I?3+I+/2&#/6&2+;2&%/>$+I+/2#33<&

Page 7: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.25

):?(*&+,-.(@',.7,$3&+((M.7'&L&.%#3(*&9&30$L&.%(H70.8.2&1I(

• C;+;&,$#?";&M.$&2Z.&6+;%,/;&–  C#.P,.&$+M+$;&2.&2"+&/HIT+$&.M&H/%2;&2"#2&H;+&#&?#$7>H3#$&;.YZ#$+&H/%2&

–  C#.P02%&$+M+$;&2.&2"+&/HIT+$&.M&H/2;&H;+6&T<&?#$7>H3#$&;.YZ#$+&H/%2&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.26

):?(*&+,-.(@',.7,$3&+((M.7'&L&.%#3(*&9&30$L&.%(H70.8.2&1I(

• R+&>#/&2$<&2.&T$+#^&#&><>3+&%/&2"+&H;+;&,$#?"&H;%/,&#&2+>"/%[H+&>#33+6&+#.1Q,7",.-(–  A/+&.M&2"+&><>3+W;&H/%2;&%;&6+>.I?.;+6&%/2.&2Z.&H/%2;X&;H>"&2"#2&./+&.M&2"+&/+Z&H/%2;&"#;&/.&6+?+/6+/>%+;&

–  !#/6Z%>"%/,&>#/&T+&#??3%+6&I.$+&2"#/&./>+X&2.&T$+#^&+%2"+$&IH2H#3&6+?+/6+/>%+;&%/&7,"23<&>.H?3+6&H/%2;&.$&3./,&6+?+/6+/><&>"#%/;&

– (")! – (#)! – ($)!

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.27

):?(*&+,-.(@',.7,$3&+((R5+%'#780.(

• 1/&#5+%'#780.(%;&#&I.6+3&.$&$+?$+;+/2#7./&2"#2&.I%2;&;.I+&6+2#%3;&;.&2"#2&%2&>#/&M.>H;&./&.2"+$&6+2#%3;&&

•  Q"+&6+]/%7./&%;&V#,H+&#T.H2&Z"%>"&6+2#%3;&#$+&3+Y&.H2&.M&#&I.6+3X&T+>#H;+&6%e+$+/2&#T;2$#>7./;X&TH%32&M.$&6%e+$+/2&?H$?.;+;X&.I%2&6%e+$+/2&^%/6;&.M&6+2#%3;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.28

):?(*&+,-.(@',.7,$3&+((A,1&5#'():S((G+,.-(R5+%'#780.(

•  !H??.;+&2"#2&./+&.M&2"+&;<;2+I&MH/>7./;&%;&2.&;.$2&2"+&+3+I+/2;&.M&#&3%;2&'(&Q"+&%/%7#3&6+;>$%?7./&.M&2"+&6+;%,/&%;_&

&!.$2&'&%/&/./6+>$+#;%/,&.$6+$&

&Q"+&/+N2&3+V+3&.M&#T;2$#>7./&I#<&T+&#&?#$7>H3#$&#3,.$%2"I_&

&DO WHILE I is between 1 and (length of L)–1: Set LOW to index of smallest value in L(I),..., L(length of L)

Interchange L(I) and L(LOW)

ENDDO

•  Q"+&#3,.$%2"I&?$.V%6+;&#&,$+#2&6+#3&.M&#66%7./#3&%/M.$I#7./X&".Z+V+$X&%2&>#/&T+&I#6+&+V+/&I.$+&6+2#%3+6&

Page 8: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.29

):?(*&+,-.(@',.7,$3&+((A,1&5#'():S((G+,.-(R5+%'#780.(H70.8.2&1I(

•  Q"+&2"%$6&#/6&]/#3&#3,.$%2"I&6+;>$%T+;&+N#>23<&".Z&2"+&;.$7/,&.?+$#7./&Z%33&Z.$^_&

DO WHILE I is between 1 and (length of L)-1 Set LOW to current value of I

DO WHILE J is between I+1 and (length of L)

IF L(LOW) is greater than L(J)

THEN set LOW to current value of J

ENDIF

ENDDO

Set TEMP to L(LOW)

Set L(LOW) to L(I)

Set L(I) to TEMP

ENDDO

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.30

):?(*&+,-.(@',.7,$3&+((T&.&'#3,%<(

• T&.&'#3,%<(%;&2"+&6+;%,/&?$%/>%?3+&2"#2&I#^+;&#&;.YZ#$+&H/%2&#;&H/%V+$;#33<&#??3%>#T3+&#;&?.;;%T3+X&2.&%/>$+#;+&2"+&>"#/>+&2"#2&%2&Z%33&T+&H;+MH3&%/&;.I+&MH2H$+&;<;2+I&

• R+&I#^+&#&H/%2&I.$+&,+/+$#3&T<&%/>$+#;%/,&2"+&/HIT+$&.M&>./2+N2;&%/&Z"%>"&>#/&%2&T+&H;+6(&Q"+$+&#$+&;+V+$#3&Z#<;&.M&6.%/,&2"%;_&–  )#$#I+2+$%`%/,&>./2+N2P;?+>%]>&%/M.$I#7./&

–  B+I.V%/,&?$+>./6%7./;&

–  !%I?3%M<%/,&?.;2>./6%7./;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.31

):?(*&+,-.(@',.7,$3&+((T&.&'#3,%<(H70.8.2&1I(

•  Q"+&M.33.Z%/,&M.H$&?$.>+6H$+&%/2+$M#>+;&#$+&3%;2+6&%/&.$6+$&.M&%/>$+#;%/,&,+/+$#3%2<_&PROCEDURE SUM: INTEGER;

POSTCONDITION: returns sum of 3 global variables

PROCEDURE SUM (a, b, c: INTEGER): INTEGER;

POSTCONDITION: returns sum of parameters

PROCEDURE SUM (a[]: INTEGER; len: INTEGER): INTEGER

PRECONDITION: 0 <= len <= size of array a

POSTCONDITION: returns sum of elements 1..len in array a

PROCEDURE SUM (a[]: INTEGER): INTEGER

POSTCONDITION: returns sum of elements in array a

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.32

):S(44(*&+,-.(

• ATU+>2&.$%+/2+6&I+2".6.3.,%+;&#$+&2"+&I.;2&?.?H3#$&#/6&;.?"%;7>#2+6&6+;%,/&I+2".6.3.,%+;&

• 1&6+;%,/&%;&056&7%(0',&.%&1(%M&%2&6+>.I?.;+;&#&;<;2+I&%/2.&#&>.33+>7./&.M&$H/7I+&>.I?./+/2;&>#33+6&.TU+>2;&2"#2&+/>#?;H3#2+&6#2#&#/6&MH/>7./#3%2<&–  ATU+>2;&#$+&H/%[H+3<&,1&.8N#53&($H/7I+&+/77+;&2"#2&>#/&T+&6+;%,/#2+6&#;&2"+&2#$,+2&.M&#&

I+;;#,+&.$&$+[H+;2&

–  ATU+>2;&>#/&T+&70L$0+&1X&%/&2"#2&#/&.TU+>2W;&6#2#&V#$%#T3+;&I#<&2"+I;+3V+;&T+&.TU+>2;X&2"+$+T<&+/>#?;H3#7/,&2"+&%I?3+I+/2#7./;&.M&2"+&.TU+>2W;&%/2+$/#3&V#$%#T3+;&

–  Q"+&%I?3+I+/2#7./&.M&#/&.TU+>2&>#/&T+&$+H;+6&#/6&+N2+/6+6&V%#&,."&',%#.7&X&&2.&6+]/+&2"+&%I?3+I+/2#7./&.M&.2"+$&.TU+>2;&

–  AA&>.6+&>#/&T+&$03<L0'$",7J(Z$%E+/&%/&,+/+$%>&>.6+&2"#2&Z.$^;&Z%2"&.TU+>2;&.M&6%e+$+/2&TH2&$+3#2+6&2<?+;

Page 9: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.33

):S(44(*&+,-.(K&'L,.030-<(

• 1&73#++&%;&#&;.YZ#$+&I.6H3+&2"#2&?#$7#33<&.$&2.2#33<&%I?3+I+/2;&#/&#T;2$#>2&6#2#&2<?+&

•  LM&#&>3#;;&%;&I%;;%/,&%I?3+I+/2#7./;&M.$&;.I+&.M&%2;&I+2".6;X&Z+&;#<&2"#2&%2&%;&#/&#5+%'#7%(73#++&

•  Q"+&>3#;;&6+]/%7./&%/>3H6+;&70.+%'27%0'(I+2".6;&2"#2&;?#Z/&/+Z&.TU+>2&%/;2#/>+;&

•  M.+%#.7&(9#',#53&+(#$+&?$.,$#I&V#$%#T3+;&Z".;+&V#3H+;&#$+&$+M+$+/>+;&2.&.TU+>2;

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.34

):S(44(*&+,-.(K&'L,.030-<(H70.8.2&1I(

•  Q"+&$H/7I+&;2$H>2H$+&.M&#/&AA&;<;2+I&%;&#&;+2&.M&056&7%+X&+#>"&.M&Z"%>"&%;&#&>."+;%V+&>.33+>7./&.M&6#2#&?3H;&#33&.?+$#7./;&M.$&>$+#7/,X&$+#6%/,X&#32+$%/,X&#/6&6+;2$.<%/,&2".;+&6#2#&

• 1/&.TU+>2W;&6#2#&#$+&>#33+6&#U',52%&+X&#/6&%2;&.?+$#7./;&#$+&>#33+6&L&%"01+(

• 1/&.TU+>2&I#<&"#V+&IH37?3+&%/2+$M#>+;X&+#>"&.e+$%/,&#&6%e+$+/2&3+V+3&.M&#>>+;;&2.&2"+&.TU+>2W;&6#2#&#/6&I+2".6;&–  !H>"&%/2+$M#>+;&#$+&"%+$#$>"%>#33<&$+3#2+6&T<&2<?+_&%M&./+&%/2+$M#>+&.e+$;&#&;2$%>2&;HT;+2&.M&

2"+&;+$V%>+;&2"#2&#/.2"+$&%/2+$M#>+&.e+$;X&Z+&;#<&2"#2&2"+&]$;2&%/2+$M#>+&%;&#&+25%<$&(.M&2"+&;+>./6&%/2+$M#>+&a2"+&+2$&'%<$&b&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.35

):S(44(*&+,-.(K&'L,.030-<(H70.8.2&1I(

– addItem(Item) – removeItem(product No.) – computeSubtotal()

– computeTax() – computeTotal() – voidSale()

Sale

– subtotal : Money – tax : Money – total : Money

Date

– day: 1..31 – month : 1..12

– year : integer

Item

– product No. – name

– description – price : Money

sale date

1!*!

*!

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.36

):S(44(*&+,-.(K&'L,.030-<(H70.8.2&1I(

• i#$%#T3+;&>#/&$+M+$&2.&.TU+>2;&.M&6%e+$+/2&>3#;;+;&.V+$&2"+&>.H$;+&.M&#&?$.,$#IW;&+N+>H7./X&^/.Z/&#;&1<.#L,7(5,.1,.-(

•  Q"+&6%$+>2+6&#$$.Z;&%/&2"+&],H$+&T+3.Z&6+?%>2&2"+&$+3#7./;"%?;&T+2Z++/&>./;2$H>2;X&#/6&2"+&#6.$/I+/2;&#2&2"+&+/6;&.M&+#>"&#$$.Z&%/6%>#2+&2"+&L238$3,7,%<((a".Z&I#/<&.M&#/&%2+I&I#<&+N%;2b

Page 10: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.37

):S(44(*&+,-.(K&'L,.030-<(H70.8.2&1I(

•  d.H$&AA&>./;2$H>2;_&!"#$$%$&'()*%!+$&',-+%./#!%$X&#/6&,-$+#-!%'0#.,#)"%$'

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.38

):S(44(*&+,-.(K&'L,.030-<(H70.8.2&1I(

• jH%36%/,&/+Z&>3#;;+;&T<&>.IT%/%/,&>.I?./+/2&>3#;;+;X&IH>"&#;&>"%36$+/&TH%36&;2$H>2H$+;&M$.I&TH%36%/,&T3.>^;&%;&6./+&T<&056&7%(70L$0+,80.(

• 132+$/#7V+3<X&Z+&>#/&TH%36&/+Z&>3#;;+;&T<&+N2+/6%/,&.$&I.6%M<%/,&6+]/%7./;&.M&+N%;7/,&>3#;;+;&–  Q"%;&^%/6&.M&>./;2$H>7./X&>#33+6&,."&',%#.7&X&6+]/+;&#&/+Z&>3#;;&T<&6%$+>23<&$+H;%/,&a#/6&#66%/,&2.b&2"+&6+]/%7./;&.M&#/&+N%;7/,&>3#;;

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.39

):S(44(*&+,-.(K&'L,.030-<(H70.8.2&1I(

•  5N#I?3+&.M&%/"+$%2#/>+

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.40

):S(44(*&+,-.(K&'L,.030-<(H70.8.2&1I(

• @03<L0'$",+L(.>>H$;&Z"+/&>.6+&%;&Z$%E+/&%/&2+$I;&.M&%/2+$#>7./;&Z%2"&#/&%/2+$M#>+X&TH2&>.6+&T+"#V%.$&6+?+/6;&./&2"+&.TU+>2&#;;.>%#2+6&Z%2"&2"+&%/2+$M#>+&#2&$H/7I+&#/6&./&2"+&%I?3+I+/2#7./;&.M&2"#2&.TU+>2W;&I+2".6&

•  L/"+$%2#/>+X&.TU+>2&>.I?.;%7./X&#/6&?.3<I.$?"%;I&#$+&%I?.$2#/2&M+#2H$+;&.M&#/&AA&6+;%,/&2"#2&I#^+&2"+&$+;H37/,&;<;2+I&I.$+&H;+MH3&%/&I#/<&Z#<;&&

Page 11: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.41

):S(44(*&+,-.(M."&',%#.7&(9+:(456&7%(!0L$0+,80.(

• 1&^+<&6+;%,/&6+>%;%./&%;&6+2+$I%/%/,&".Z&T+;2&2.&;2$H>2H$+&#/6&$+3#2+&>.I?3+N&.TU+>2;&&&

•  L/&#/&AA&;<;2+IX&2"+$+&#$+&2Z.&I#%/&2+>"/%[H+;&M.$&>./;2$H>7/,&3#$,+&.TU+>2;&–  L/"+$%2#/>+&–  >.I?.;%7./&

• 1&/+Z&>3#;;&>#/&T+&>$+#2+6&T<&+N2+/6%/,&#/6&.V+$$%6%/,&2"+&T+"#V%.$&.M&#/&+N%;7/,&>3#;;X&.$&%2&>#/&T+&>$+#2+6&T<&>.IT%/%/,&;%I?3+$&>3#;;+;&2.&M.$I&#&>.I?.;%2+&>3#;;(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.42

):S(44(*&+,-.(M."&',%#.7&(9+:(456&7%(!0L$0+,80.(H70.8.2&1I(

•  5#>"&>./;2$H>7./&?#$#6%,I&"#;&#6V#/2#,+;&#/6&6%;#6V#/2#,+;&

•  F.I?.;%7./&%;&T+E+$&2"#/&%/"+$%2#/>+&#2&?$+;+$V%/,&2"+&+/>#?;H3#7./&.M&2"+&$+H;+6&>.6+X&T+>#H;+&#&>.I?.;%2+&.TU+>2&#>>+;;+;&2"+&>.I?./+/2&./3<&2"$.H,"&%2;&#6V+$7;+6&%/2+$M#>+&

•  j<&>./2$#;2X&H;%/,&2"+&%/"+$%2#/>+&#??$.#>"X&2"+&;HT>3#;;W;&%I?3+I+/2#7./&%;&6+2+$I%/+6&#2&6+;%,/&7I+&#/6&%;&;2#7>&

•  Q"+&$+;H37/,&.TU+>2;&#$+&3+;;&*+N%T3+&2"#/&.TU+>2;&%/;2#/7#2+6&M$.I&>.I?.;%2+&>3#;;+;&T+>#H;+&2"+&I+2".6;&2"+<&%/"+$%2&M$.I&2"+%$&?#$+/2&>3#;;&>#//.2&T+&>"#/,+6&#2&$H/7I+&

•  Q"+&,$+#2+;2&#6V#/2#,+&.M&%/"+$%2#/>+&%;&2"+&#T%3%2<&2.&>"#/,+&#/6&;?+>%#3%`+&2"+&T+"#V%.$;&.M&%/"+$%2+6&I+2".6;X&T<&;+3+>7V+3<&.V+$$%6%/,&%/"+$%2+6&6+]/%7./;

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.43

):S(44(*&+,-.(M."&',%#.7&(9+:(456&7%(!0L$0+,80.(H70.8.2&1I(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.44

):S(44(*&+,-.(A25+8%2%#5,3,%<(

•  L6+#33<X&#&;HT>3#;;&IH;2&?$+;+$V+&2"+&T+"#V%.$&.M&%2;&?#$+/2&>3#;;X&;.&2"#2&>3%+/2&>.6+&>#/&2$+#2&%/;2#/>+;&.M&%2&#;&%/;2#/>+;&.M&2"+&?#$+/2&>3#;;&

•  '%;^.V&!HT;72H2#T%3%2<&)$%/>%?3+&–  Q"+&;HT>3#;;&;H??.$2;&#33&.M&2"+&I+2".6;&.M&2"+&?#$+/2&>3#;;X&#/6&2"+%$&;%,/#2H$+;&#$+&

>.I?#7T3+&

–  Q"+&;HT>3#;;W;&I+2".6;&IH;2&;#7;M<&2"+&;?+>%]>#7./;&.M&2"+&?#$+/2&>3#;;W;&I+2".6;&

•  )$+>./6%7./&$H3+ &&?$+k?#$+/2&&&⇒&&?$+k;HT&&&&

•  ).;2>./6%7./&$H3+ &&?$+k?#$+/2&&&⇒&&a?.;2k;HT&&⇒&&?.;2k?#$+/2&b&

–  Q"+&;HT>3#;;&IH;2&?$+;+$V+&#33&6+>3#$+6&?$.?+$7+;&.M&2"+&?#$+/2&>3#;;&

•  1;&Z%2"&I.;2&.2"+$&6+;%,/&?$%/>%?3+;X&;HT;72H2#T%3%2<&%;&/.2&#&$%,%6&6+;%,/&$H3+(&B#2"+$X&2"+&?$%/>%?3+&;+$V+;&#;&#&,H%6+3%/+&M.$&6+2+$I%/%/,&Z"+/&%2&%;&;#M+&/.2&2.&$++N#I%/+&2"+&>3%+/2&I.6H3+;&.M&#/&+N2+/6+6&>3#;;&

Page 12: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.45

):S(44(*&+,-.(F#Q(0>(*&L&%&'(

•  F#Q(0>(*&L&%&'J(133.Z;&$+6H>%/,&6+?+/6+/>%+;&T<&%/>3H6%/,&%/&+#>"&>.I?.;%2+&>3#;;&I+2".6;&M.$&.?+$#7/,&./&2"+&>3#;;W;&>.I?./+/2;&

• j+/+]2_&&>3%+/2&>.6+&2"#2&H;+;&#&>.I?.;%2+&>3#;;&/++6;&2.&^/.Z&./3<&#T.H2&2"+&>.I?.;%2+&%2;+3M&#/6&/.2&#T.H2&2"+&>.I?.;%2+;W&>.I?./+/2;&

• :+;%,/;&2"#2&.T+<&2"+&'#Z&.M&:+I+2+$&"#V+&M+Z+$&>3#;;&6+?+/6+/>%+;X&#/6&>3#;;+;&Z%2"&M+Z+$&6+?+/6+/>%+;&2+/6&2.&"#V+&M+Z+$&;.YZ#$+&M#H32;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.46

):S(44(*&+,-.(F#Q(0>(*&L&%&'(H70.8.2&1I(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.47

):S(44(*&+,-.(*&$&.1&.7<(M.9&'+,0.(

•  :+?+/6+/><&%/V+$;%./&%;&2"+&3#;2&]/#3&AA&6+;%,/&"+H$%;7>&–  H;+6&2.&$+V+$;+&2"+&6%$+>7./&.M&#&6+?+/6+/><&3%/^&T+2Z++/&2Z.&>3#;;+;&

•  :+?+/6+/><&%/V+$;%./&Z.$^;&T<&%/2$.6H>%/,&%/2+$M#>+;&•  Q"+&6+?+/6+/><&%/V+$;%./&?$%/>%?3+&%;&H;+6&%/&2"+&6+]/%7./;&.M&

;+V+$#3&6+;%,/&?#E+$/;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.48

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(

•  Q"+&C0'&%;&#&;H%2+&.M&6+;%,/&/.2#7./;&2"#2&%;&?.?H3#$&M.$&6+;>$%T%/,&AA&;.3H7./;&

•  Q"+&C0'&>#/&T+&H;+6&2.&V%;H#3%`+X&;?+>%M<X&.$&6.>HI+/2&#&;.YZ#$+&6+;%,/&

• C0'&+;?+>%#33<&H;+MH3&M.$&6+;>$%T%/,&6%e+$+/2&6+;%,/&#32+$/#7V+;X&#/6&+V+/2H#33<&M.$&6.>HI+/7/,&6+;%,/&#$7M#>2;&

Page 13: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.49

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(G/F(,.(%"&(@'07&++(

•  C;+&>#;+&6%#,$#I;&

•  C0'&#>7V%2<&6%#,$#I;&

•  :.I#%/&I.6+3&

•  F.I?./+/2&6%#,$#I;&

•  :+?3.<I+/2&6%#,$#I;&

•  F3#;;&6%#,$#I;&

•  L/2+$#>7./&6%#,$#I;&

•  !+[H+/>+&6%#,$#I;&

•  F.IIH/%>#7./&6%#,$#I;&

•  1>7V%2<&6%#,$#I;&

•  !2#2+&6%#,$#I;&

•  )#>^#,+&6%#,$#I;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.50

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(G/F(,.(%"&(@'07&++(H70.8.2&1I(

•  h.Z&C0'&%;&H;+6&%/&2"+&6+V+3.?I+/2&?$.>+;;&

– Requirements – Design – Architecture

– UML use case

diagrams – Scenarios

– UML activity diagram

s

– UML state

diagrams

– UML class

diagrams

– UML object

diagrams

– UML sequenc

e diagram

s

– UML communic

ation diagrams

– UML package diagrams

– UML compone

nt diagrams

– UML deployme

nt diagrams

– Domain models

– UML activity diagram

s

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.51

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F((A,1&5#'():V((=0<#3(A&'9,7&(A%#80.(=&W2,'&L&.%+(

•  B.<#3&!+$V%>+&;2#7./&?$.V%6+;&2"$++&2<?+;&.M&;+$V%>+;&•  Q"+&;<;2+I&IH;2&2$#>^&T%33;X&2"+&?$.6H>2&#/6&;+$V%>+;&

•  !<;2+I&2.&>./2$.3&%/V+/2.$<&•  Q"+&;<;2+I&2.&2$#>^&>$+6%2&"%;2.$<X&#/6&?#<I+/2;&.V+$6H+&•  Q"+&;<;2+I&#??3%+;&./3<&2.&$+,H3#$&$+?+#2&>H;2.I+$&

•  Q"+&;<;2+I&IH;2&"#/63+&2"+&6#2#&$+[H%$+I+/2;&M.$&%/2+$M#>%/,&Z%2"&.2"+$&;<;2+I&•  Q"+&;<;2+I&IH;2&$+>.$6&2#N&#/6&$+3#2+6&%/M.$I#7./&

•  Q"+&;2#7./&IH;2&T+&#T3+&2.&$+V%+Z&2#N&$+>.$6&H?./&6+I#/6&•  Q"+&;<;2+I&Z%33&;+/6&?+$%.6%>&I+;;#,+&2.&>H;2.I+$;&•  FH;2.I+$&>#/&$+/2&?#$^%/,&;?#>+&%/&2"+&;2#7./&?#$^%/,&3.2&&

•  Q"+&;<;2+I&I#%/2#%/&#&$+?.;%2.$<&.M&#>>.H/2&%/M.$I#7./&•  Q"+&;2#7./&I#/#,+$&IH;2&T+&#T3+&2.&$+V%+Z&#>>.H/7/,&%/M.$I#7./&H?./&6+I#/6&•  Q"+&;<;2+I&>#/&$+?.$2&#/&#/#3<;%;&.M&?$%>+;&#/6&6%;>.H/2;&

•  Q"+&;<;2+I&Z%33&#H2.I#7>#33<&/.7M<&2"+&.Z/+$;&.M&6.$I#/2&#>>.H/2;&•  Q"+&;<;2+I&>#/&/.2&T+&H/#V#%3#T3+&M.$&I.$+&2"#/&=4&".H$;&•  Q"+&;<;2+I&IH;2&?$.2+>2&>H;2.I+$&%/M.$I#7./&M$.I&H/#H2".$%`+6&#>>+;;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.52

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(G/F(!3#++(*,#-'#L(

• C0'&>3#;;&6%#,$#I;&6+;>$%T+&2"+&.TU+>2&2<?+;&#/6&2"+%$&;2#7>&$+3#7./;"%?;&–  :+?%>2&#;;.>%#7./;&#I./,&.TU+>2;&#/6&$+3#7./;"%?;&T+2Z++/&2<?+;&#/6&

;HT2<?+;&

–  :%#,$#I;&;".H36&%33H;2$#2+&2"+&#E$%TH2+;&.M&+#>"&.TU+>2X&2"+%$&%/6%V%6H#3&T+"#V%.$;X&#/6&2"+&$+;2$%>7./;&./&+#>"&>3#;;&.$&.TU+>2&

•  '..^&M.$&#/6&;++^&–  1>2.$;X&?"<;%>#3&.TU+>2;X&?3#>+;X&.$,#/%`#7./;X&$+>.$6;X&2$#/;#>7./;X&

>.33+>7./;&.M&2"%/,;X&.?+$#7./;&?$.>+6H$+;X&2"%/,;&I#/%?H3#2+6&T<&2"+&;<;2+I&2.&T+&TH%32&

Page 14: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.53

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(G/F(!3#++(*,#-'#L(H70.8.2&1I(

•  B.<#3&!+$V%>+&!2#7./&H;+&>#;+&6%#,$#I&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.54

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(G/F(!3#++(*,#-'#L(H70.8.2&1I(

• R"#2&/++6;&2.&T+&l?$.>+;;+6m&%/&;.I+&Z#<n&

• R"#2&%2+I;&"#V+&IH37?3+&#E$%TH2+;n&

• R"+/&6.&<.H&"#V+&I.$+&2"#/&./+&.TU+>2&%/&#&>3#;;n&

• R"#2&%;&T#;+6&./&2"+&$+[H%$+I+/2;&2"+I;+3V+;X&/.2&6+$%V+6&M$.I&<.H$&H/6+$;2#/6%/,&.M&2"+&$+[H%$+I+/2;n&

• R"#2&#E$%TH2+;&#/6&.?+$#7./;&#$+&#3Z#<;&#??3%>#T3+&2.&#&>3#;;&.$&.TU+>2n&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.55

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(M.,8#3(T'02$,.-(0>(RU',52%&+(#.1(!3#++&+J(A%&$(;(

Attributes Classes Personal check Customer Tax Maintenance Price Services Cash Fuel Credit card Bill Discounts Purchase

Station manager

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.56

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(M.,8#3(T'02$,.-(0>(RU',52%&+(#.1(!3#++&+J(A%&$(?(

Attributes Classes Personal check Customer Tax Maintenance Price Services Cash Parking Credit card Fuel Discounts Bill Name Purchase Address Maintenance reminder Birthdate Station manager

Page 15: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.57

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(T2,1&3,.&+(>0'(M1&.8><,.-(X&"#9,0'+(

•  LI?+$#7V+&V+$T;&

•  )#;;%V+&V+$T;&• 1>7./;&• 0+IT+$;"%?&%/&

• 0#/#,+I+/2&.$&.Z/+$;"%?&

• B+;?./;%T3+&M.$&•  !+$V%>+;&?$.V%6+6&T<&#/&.$,#/%`#7./&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.58

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(M.,8#3(T'02$,.-(0>(RU',52%&+(#.1(!3#++&+J(A%&$(S(

Attributes Classes

Personal check Tax Price Cash Credit card Discounts Name Address Birthdate

Customer Maintenance Services Parking Fuel Bill Purchase Maintenance reminder Station manager Overdue bill letter Dormant account warning Parts Accounts Inventory Credit card system Part ordering system Fuel ordering system

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.59

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(C,'+%(!2%(#%(=0<#3(A&'9,7&(A%#80.(*&+,-.(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.60

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(K<$&+(0>(!3#++(=&3#80.+",$+(

– #;;.>%#7./&

– >.I?.;%7./&

– #,,$+,#7./&

– 6+?+/6+/><&

– /#V%,#7./&

– ,+/+$#3%`#7./&

Page 16: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.61

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(

• F3#;;&6+;>$%?7./&2+I?3#2+&

•  )#>^#,+&6%#,$#I;&

•  L/2+$#>7./&6%#,$#I;&

•  !+[H+/>+&6%#,$#I;&

• F.IIH/%>#7./&6%#,$#I;&

•  !2#2+&6%#,$#I;&

• 1>7V%2<&6%#,$#I;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.62

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(!3#++(*&+7',$80.(K&L$3#%&(

Class name: Refuel Category: service External documents: Export control: Public Cardinality: n Hierarchy: Superclasses: Service Associations: <no rolename>: fuel in association updates

Operation name: price Public member of: Refuel Documentation: // Calculates fuel final price Preconditions: gallons > 0 Object diagram: (unspecified)

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.63

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(!3#++(*&+7',$80.(K&L$3#%&(H70.%I(

Semantics: price = gallons * fuel.price_per_gallon tax = price * purchase.tax_rate Object diagram: (unspecified) Concurrency: sequential

Public interface: Operations: price

Private interface: Attributes: gallons

Implementation: Attributes: gallons

State machine: no Concurrency: sequential Persistence: transient

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.64

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(A&70.1(!2%(#%(=0<#3(A&'9,7&(A%#80.(*&+,-.(

Page 17: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.65

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(C,.#3(!2%(#%(=0<#3(A&'9,7&(A%#80.(*&+,-.(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.66

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(@#7D#-&(*,#-'#L(

• C0'&?#>^#,+&6%#,$#I;&#33.Z&V%+Z%/,&#&;<;2+I&#;&#&;I#33&>.33+>7./&.M&?#>^#,+;&+#>"&.M&Z"%>"&I#<&T+&+N?#/6+6&2.&#&3#$,+$&;+2&.M&>3#;;+;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.67

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(A&W2&.7&*,#-'#L(

•  L/2+$#>7./&6%#,$#I;&6+;>$%T+&".Z&.?+$#7./;&#/6&T+"#V%.$;&#$+&$+#3%`+6&T<&2"+&.TU+>2;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.68

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(!0LL2.,7#80.(*,#-'#L(

• 1&>.IIH/%>#7./&6%#,$#I&6+?%>2;&#&;+[H+/>+&.M&I+;;#,+;&T+2Z++/&.TU+>2;&TH2&%2&%;&;H?+$%I?.;+6&./&#/&.TU+>2&#/6&H;+;&2"+&3%/^;&T+2Z++/&.TU+>2&#;&%I?3%>%2&>.IIH/%>#7./&>"#//+3;&

Page 18: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.69

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(A%#%&*,#-'#L(

• 1&;2#2+&6%#,$#I&;".Z;&2"+&?.;;%T3+&;2#2+;&#/&.TU+>2&>#/&2#^+X&2"+&+V+/2;&2"#2&2$%,,+$&2"+&2$#/;%7./&T+2Z++/&./+&;2#2+&2.&2"+&/+N2X&#/6&2"+&#>7./;&2"#2&$+;H32&M$.I&+#>"&;2#2+&>"#/,+&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.70

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(A%#%&(*,#-'#L(H70.8.2&1I(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.71

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(R789,%<(*,#-'#L(

• 1>7V%2<&6%#,$#I;&#$+&H;+6&2.&I.6+3&2"+&*.Z&.M&?$.>+6H$+;&.$&#>7V%7+;&%/&#&>3#;;&

• 1&6+>%;%./&/.6+&%;&H;+6&2.&$+?$+;+/2&#&>".%>+&.M&Z"%>"&#>7V%2<&2.&%/V.^+&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.72

):V(=&$'&+&.8.-(44(*&+,-.+(,.(%"&(G/F(4%"&'(G/F(*,#-'#L+(Y(R789,%<(*,#-'#L(H70.8.2&1I(

• 1>7V%2<&6%#,$#I;&#$+&H;+6&2.&I.6+3&2"+&*.Z&.M&?$.>+6H$+;&.$&#>7V%7+;&%/&#&>3#;;&

•  An activity diagram for the inventory class

•  It may have two decisions –  to verify that there are

enough fuel –  to verify that a part is in

stock

Page 19: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.73

):Z(44(*&+,-.(@#U&'.+(

• 1&6+;%,/&?#E+$/&>.6%]+;&6+;%,/&6+>%;%./;&#/6&T+;2&?$#>7>+;&M.$&;.3V%/,&#&?#$7>H3#$&6+;%,/&?$.T3+I&#>>.$6%/,&2.&6+;%,/&?$%/>%?3+;&

• :+;%,/&?#E+$/;&#$+&/.2&2"+&;#I+&#;&;.YZ#$+&3%T$#$%+;f&2"+<&#$+&/.2&?#>^#,+6&;.3H7./;&2"#2&>#/&T+&H;+6&#;&%;(&B#2"+$X&2"+<&#$+&2+I?3#2+;&M.$&#&;.3H7./&2"#2&IH;2&T+&I.6%]+6&#/6&#6#?2+6&M.$&+#>"&?#$7>H3#$&H;+&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.74

):Z(44(*&+,-.(@#U&'.+(K&L$3#%&(/&%"01(@#U&'.(

•  Q"+&Q+I?3#2+&0+2".6&?#E+$/&#%I;&2.&$+6H>+&2"+&#I.H/2&.M&6H?3%>#2+&>.6+&#I./,&;HT>3#;;+;&.M&2"+&;#I+&?#$+/2&>3#;;&–  L2&%;&?#$7>H3#$3<&H;+MH3&Z"+/&IH37?3+&;HT>3#;;+;&"#V+&;%I%3#$&TH2&/.2&%6+/7>#3&

%I?3+I+/2#7./;&.M&2"+&;#I+&I+2".6&

–  Q"%;&?#E+$/&#66$+;;+;&2"%;&?$.T3+I&T<&3.>#3%`%/,&2"+&6H?3%>#2+&>.6+&;2$H>2H$+&%/&#/&#T;2$#>2&>3#;;&M$.I&Z"%>"&2"+&;HT>3#;;+;&%/"+$%2&

•  Q"+&#T;2$#>2&>3#;;&6+]/+;&#&2+I?3#2+&I+2".6&2"#2&%I?3+I+/2;&2"+&>.II./&;2+?;&.M&#/&.?+$#7./X&#/6&6+>3#$+;&#T;2$#>2&?$%I%7V+&.?+$#7./;&2"#2&$+?$+;+/2&2"+&V#$%#7./&?.%/2;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.75

):Z(44(*&+,-.(@#U&'.+(K&L$3#%&(/&%"01(@#U&'.(H70.8.2&1I(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.76

):Z(44(*&+,-.(@#U&'.+(C#7%0'<(/&%"01(@#U&'.(

•  Q"+&d#>2.$<&0+2".6&?#E+$/&%;&H;+6&2.&+/>#?;H3#2+&2"+&>.6+&2"#2&>$+#2+;&.TU+>2;&

•  Q"+&M#>2.$<&0+2".6&?#E+$/&%;&;%I%3#$&2.&2"+&Q+I?3#2+&I+2".6&?#E+$/&

•  Q"+&;%I%3#$&TH2&/.2&%6+/7>#3&I+2".6;&#$+&2"+&>./;2$H>2.$&I+2".6;&2"#2&%/;2#/7#2+&.TU+>2;&

Page 20: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.77

):Z(44(*&+,-.(@#U&'.+(A%'#%&-<(@#U&'.(

•  Q"+&!2$#2+,<&?#E+$/&#33.Z;&#3,.$%2"I;&2.&T+&;+3+>2+6&#2&$H/7I+&

•  L2&%;&H;+MH3&Z"+/&V#$%.H;&#3,.$%2"I;&#$+&#V#%3#T3+&2.&#/&#??3%>#7./&TH2&2"+&>".;+&.M&T+;2&#3,.$%2"I&%;&/.2&^/.Z/&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.78

):Z(44(*&+,-.(@#U&'.+(*&70'#%0'(@#U&'.(

•  Q"+&:+>.$#2.$&?#E+$/&%;&H;+6&2.&+N2+/6&#/&.TU+>2W;&MH/>7./#3%2<&#2&$H/7I+&

•  :+>.$#2.$&?#E+$/&%;&#&*+N%T3+&#32+$/#7V+&2.&H;%/,&%/"+$%2#/>+&#2&6+;%,/&7I+&2.&>$+#2+&;HT>3#;;+;&2"#2&;H??.$2&/+Z&M+#2H$+;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.79

):Z(44(*&+,-.(@#U&'.+(45+&'9&'(@#U&'.(

•  Q"+&AT;+$V+$&?#E+$/&%;&#/&#??3%>#7./&.M&2"+&?HT3%;"o;HT;>$%T+&#$>"%2+>2H$+&;2<3+&

•  C;+MH3&Z"+/&;.YZ#$+&/++6;&2.&/.7M<&IH37?3+&.TU+>2;&.M&^+<&+V+/2;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.80

):Z(44(*&+,-.(@#U&'.+(!0L$0+,%&(@#U&'.(

•  1&>.I?.;%2+&.TU+>2&%;&#&"+2+$.,+/+.H;X&?.;;%T3<&$+>H$;%V+X&>.33+>7./&.M&.TU+>2;&2"#2&$+?$+;+/2;&;.I+&>.I?.;%2+&+/72<&

•  Q"+&>.I?.;%2+&?#E+$/&?$.I.2+;&2"+&H;+;&.M&#&;%/,3+&H/%M.$I&%/2+$M#>+&

Page 21: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.81

):Z(44(*&+,-.(@#U&'.+([,+,%0'(@#U&'.(

•  Q"+&i%;%2.$&?#E+$/&>.33+>2;&#/6&+/>#?;H3#2+;&.?+$#7./&M$#,I+/2;&%/2.&2"+%$&.Z/&>3#;;+;&

•  5#>"&.?+$#7./&%;&%I?3+I+/2+6&#;&#&;+?#$#2+&;HT>3#;;&.M&#/&#T;2$#>2&Visitor&>3#;;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.82

):Z(44(*&+,-.(@#U&'.+(R$$3,7#80.(0>(!0L$0+,%&(@#U&'.(%0(=&$'&+&.%(/#%"(\]$'&++,0.+(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.83

):)(4%"&'(*&+,-.(!0.+,1&'#80.+(*#%#(/#.#-&L&.%(

• :#2#&I#/#,+I+/2&2#^+;&%/2.&#>>.H/2&2"+&;<;2+I&$+[H%$+I+/2;&>./>+$/%/,&?+$M.$I#/>+&#/6&;?#>+&

•  d$.I&#/&H/6+$;2#/6%/,&.M&2"+&6#2#&$+[H%$+I+/2;&#/6&>./;2$#%/2;X&./+&3#<;&.H2&#&6+;%,/&M.$&2"+&.TU+>2;&#/6&2"+%$&.?+$#7./;&

•  d.H$&;2+?;_&–  L6+/7M<&2"+&6#2#X&6#2#&;2$H>2H$+;X&#/6&$+3#7./;"%?;&#I./,&2"+I&

–  :+;%,/&;+$V%>+;&2.&I#/#,+&2"+&6#2#&;2$H>2H$+;&#/6&$+3#7./;"%?;&

–  d%/6&2..3;X&;H>"&#;&6#2#T#;+&I#/#,+I+/2&;<;2+I;X&2.&%I?3+I+/2&;.I+&.M&2"+&6#2#&I#/#,+I+/2&2#;^;&

–  :+;%,/&>3#;;+;&#/6&>3#;;&"%+$#$>"%+;&2.&.V+$;++&2"+&6#2#&I#/#,+I+/2&MH/>7./;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.84

):)(4%"&'(*&+,-.(!0.+,1&'#80.+(*#%#(/#.#-&L&.%(>0'(%"&(=0<#3(A&'9,7&(A%#80.((

Page 22: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.85

):)(4%"&'(*&+,-.(!0.+,1&'#80.+(\]7&$80.(O#.13,.-(

• 133.Z;&I#^%/,&?$.,$#I;&T+>.I+&I.$+&$.TH;2&

• h+3?;&;+?#$#2+&+$$.$&>"+>^%/,&#/6&$+>.V+$&M$.I&#&?$.,$#IW;&I#%/&MH/>7./#3%2<&

• F"#?2+$&D&.e+$;&I.$+&6+2#%3;&&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.86

):)(4%"&'(*&+,-.(!0.+,1&'#80.+(\]7&$80.(O#.13,.-(H70.8.2&1I(

attempt_transmission (message: STRING) raises TRANSMISSIONEXCEPTION // Attempt to transmit message over a communication line using // the low-level procedure unsafe_transmit, which may fail, //triggering an exception. // After 100 unsuccessful attempts, give up and raise an exception

local failures: INTEGER

try unsafe_transmit (message)

rescue failures := failures + 1; if failures < 100 then retry else raise TRANSMISSIONEXCEPTION end

end

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.87

):)(4%"&'(*&+,-.(!0.+,1&'#80.+(*&+,-.,.-(G+&'(M.%&'>#7&+(

• 0H;2&>./;%6+$&;+V+$#3&%;;H+;_&–  %6+/7M<%/,&2"+&"HI#/;&Z".&Z%33&%/2+$#>2&Z%2"&2"+&;<;2+I&

–  6+]/%/,&;>+/#$%.;&M.$&+#>"&Z#<&2"#2&2"+&;<;2+I&>#/&?+$M.$I&#&2#;^&

–  6+;%,/%/,&#&"%+$#$>"<&.M&H;+$&>.II#/6;&

–  $+]/%/,&2"+&;+[H+/>+&.M&H;+$&%/2+$#>7./;&Z%2"&2"+&;<;2+I&

–  6+;%,/%/,&$+3+V#/2&>3#;;+;&%/&2"+&"%+$#$>"<&2.&%I?3+I+/2&2"+&H;+$P%/2+$M#>+&6+;%,/&

–  6+>%;%./;&–  %/2+,$#7/,&2"+&H;+$P%/2+$M#>+&>3#;;+;&%/2.&2"+&.V+$#33&;<;2+I&>3#;;&"%+$#$>"<&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.88

):)(4%"&'(*&+,-.(!0.+,1&'#80.+(*&+,-.,.-(G+&'(M.%&'>#7&+(H70.8.2&1I(

Page 23: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.89

):)(4%"&'(*&+,-.(!0.+,1&'#80.+(*&+,-.,.-(G+&'(M.%&'>#7&+(H70.8.2&1I(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.90

):)(4%"&'(*&+,-.(!0.+,1&'#80.+(C'#L&Q0'D+(

•  1&M$#I+Z.$^&%;&#&3#$,+&$+H;#T3+&6+;%,/&M.$&#&;?+>%]>&#??3%>#7./&6.I#%/&

•  cCL&+6%2.$;X&Z+T&#??3%>#7./;X&#>>.H/7/,&;<;2+I;&

•  :%e+$+/2&M$.I&;.YZ#$+&?$.6H>2&3%/+;&

•  )$.6H>2&3%/+;&#$+&6+V+3.?+6&T<&#&>.I?#/<&M.$&%2;&.Z/&H;+&

•  d$#I+Z.$^;&2+/6&2.&T+&?HT3%>#33<&#V#%3#T3+&$+;.H$>+;&3%^+&2..3^%2;&

•  h%,"P3+V+3&#$>"%2+>2H$+;&Z".;+&3.ZP3+V+3&6+2#%3;&/++6&2.&T+&]33+6P%/&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.91

):^(44(/&#+2'&L&.%(44(A,_&(/&#+2'&+(

•  ATU+>2;&#/6&I+2".6;&#;&#&T#;%>&;%`+&I+#;H$+&&•  '.$+/`&#/6&p%66W;&/%/+&#;?+>2;&.M&;%`+&

–  \HIT+$&.M&;>+/#$%.&;>$%?2&a\!!b&–  \HIT+$&.M&^+<&>3#;;+;&–  \HIT+$&.M&;H??.$2&>3#;;+;&–  Q"+&#V+$#,+&/HIT+$&.M&;H??.$2&>3#;;+;&?+$&^+<&>3#;;+;&–  \HIT+$&.M&;HT;<;2+I;&–  F3#;;&;%`+&–  \HIT+$&.M&.?+$#7./;&.V+$$%66+/&T<&#&;HT>3#;;&a\AAb&–  \HIT+$&.M&.?+$#7./&#66+6&T<&#&;HT>3#;;&–  !?+>%#3%`#7./&%/6+N&

• !L&q&a\AA&r&6+T2"b&s&a2.2#3&>3#;;&I+2".6;b&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.92

):^(44(/&#+2'&L&.%((F0'&._(#.1(`,11(/&%',7+(!033&780.(,.(*,a&'&.%(@"#+&+(0>(*&9&30$L&.%(

Metric Requirements Description

System Design

Program Design Coding Testing

Number of scenario script X

Number of key classes X X

Number of support classes X

Average number of support classes per key class X

Number of subsystem X X

Class size X X X

Number of operations overridden by a subclass X X X X

Number of operations added by a subclass X X X

Specialization index X X X X

Page 24: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.93

):^(44(/&#+2'&L&.%(G+&(!#+&(*,#-'#L(0>(%"&(=0<#3(A&'9,7&(A%#80.(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.94

):^(44(/&#+2'&L&.%(!3#++(O,&'#'7"<(>0'(%"&(=0<#3(A&'9,7&(A%#80.(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.95

):^(44(/&#+2'&L&.%(44(*&+,-.(b2#3,%<(/&#+2'&+(

• F"%6#IT+$&#/6&p+I+$+$&"#V+&#3;.&6+V%;+6&#&;H%2+&.M&I+2$%>;&M.$&.TU+>2P.$%+/2+6&6+V+3.?I+/2&

•  d.>H;+6&./&6+;%,/&[H#3%2<&a/.2&;%`+b& & &&

– R+%,"2+6&I+2".6;&?+$&>3#;;&q&&%/ %q9&&!, & & & & &&

–  :+?2"&.M&%/"+$%2#/>+&–  \HIT+$&.M&>"%36$+/&

–  F.H?3%/,&T+2Z++/&.TU+>2;&–  B+;?./;+&M.$&#&>3#;;&–  '#>^&.M&>."+;%./&.M&I+2".6;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.96

):^(44(/&#+2'&L&.%(!",1#L5&'P`&L&'&'(/&%',7+(#$$3,&1(%0(%"&(=0<#3(A&'9,7&(A%#80.c+(A<+%&L(*&+,-.(

Page 25: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.97

):^(44(/&#+2'&L&.%(!#3723#8.-(%"&(*&-'&&(0>(!0"&+,0.(

•  Given class C with n methods, M1 through Mn

•  Suppose {Ij} is the set of instance variables used by the method M

•  We can define P to be collection of pairs (Ir , Is) where Ir and Is, share no common members –  P = {(Ir , Is) | Ir ! Is = Ø}

•  Q is the collection of pairs (Ir , Is) where Ir and Is, share at least one common member –  Q = {(Ir , Is) | Ir ! Is ! Ø}

•  Lack of cohesion in methods for C to be –  |P|-|Q| if |P| > |Q| –  Zero if otherwise

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.98

):^(44(/&#+2'&L&.%(!",1#L5&'P`&L&'&'(/&%',7+(#$$3,&1(%0(%"&(=0<#3(A&'9,7&(A%#80.c+(A<+%&L(*&+,-.(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.99

):^(44(/&#+2'&L&.%(4%"&'(/&%',7+(

•  '%&#/6&h+/$<&a9KK@b_&I+2$%>;&2.&?$+6%>2&2"+&;%`+&.M&>"#/,+;&%/&>3#;;+;&6H$%/,&I#%/2+/#/>+&–  0+;;#,+P?#;;%/,&>.H?3%/,_&the number of methods invocations in

a class’s implementation&–  :#2#&#T;2$#>7./&>.H?3%/,_&the number of abstract data types used

in the measured class and defined in another class of the system&

•  Q$#V#;;.;&a9KKKb&–  Q"+&#V+$#,+&.?+$#7./&;%`+&–  Q"+&#V+$#,+&/HIT+$&.M&?#$#I+2+$;&?+$&.?+$#7./&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.100

):^(44(/&#+2'&L&.%(/&#+2',.-(C'0L(#(A&W2&.7&(*,#-'#L(

Page 26: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.101

):^(44(/&#+2'&L&.%(d"&'&(%0(*0(44(/&#+2'&L&.%(

• 0+#;H$+I+/2&%;&./3<&V#3H#T3+&Z"+/&%2&%/>$+#;+;&.H$&H/6+$;2#/6%/,X&?$+6%>7./X&.$&>./2$.3&

• 0+2$%>;&#$+&#V#%3#T3+&M.$&I#/<&2<?+;&.M&6.>HI+/2;&%/>3H6%/,&•  C;+&>#;+;&•  F3#;;&6%#,$#I;&

•  L/2+$#>7./&6%#,$#I;&

•  F3#;;&6+;>$%?7./;&•  !2#2+&6%#,$#I;&

•  )#>^#,+&6%#,$#I;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.102

):^(44(/&#+2'&L&.%(d"&'&(%0(*0(44(/&#+2'&L&.%(H70.8.2&1I(

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.103

):e(*&+,-.(*072L&.%#80.(

•  Q"+&6+2#%3;&.M&2"+&;<;2+I&#$>"%2+>2H$+&%;&6.>HI+/2+6&%/&1(23#.%'4.!5,+%!+6.%'7(!68%-+&a!1:b&

•  !1:&;+$V+;&#;&#&T$%6,+&T+2Z++/&2"+&$+[H%$+I+/2;&#/6&2"+&6+;%,/&

•  0#/<&Z#<;&2.&6.>HI+/2&2"+&6+;%,/&

•  *&+,-.(5<(70.%'#7%_&#&?#$7>H3#$&#??$.#>"&2"#2&H;+;&2"+&6.>HI+/2#7./&./3<&2.&>#?2H$+&2"+&6+;%,/&TH2&#3;.&2.&+/>.H$#,+&%/2+$#>7./&#I./,&6+V+3.?+$;&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.104

):e(*&+,-.(*072L&.%#80.(*&+,-.(5<(!0.%'#7%(

•  L/&6+;%,/&T<&>./2$#>2X&+#>"&I.6H3+&"#;&#/&%/2+$M#>+&;?+>%]>#7./&2"#2&?$+>%;+3<&6+;>$%T+;&Z"#2&2"+&I.6H3+&%;&;H??.;+6&2.&6.&–  0+<+$&a9KKGb&;H,,+;2;&2"#2&6+;%,/&T<&>./2$#>2&"+3?;&+/;H$+&2"#2&I.6H3+;&

%/2+$.?+$#2+&>.$$+>23<&

–  Q"%;&;?+>%]>#7./X&>#33+6&#&70.%'#7%X&,.V+$/;&".Z&2"+&I.6H3+&%;&2.&%/2+$#>2&Z%2"&.2"+$&I.6H3+;&#/6&;<;2+I;&

–  !H>"&;?+>%]>#7./&>#//.2&,H#$#/2++&#&I.6H3+W;&>.$$+>2/+;;X&TH2&%2&M.$I;&#&>3+#$&#/6&>./;%;2+/2&T#;%;&M.$&2+;7/,&#/6&V+$%]>#7./&

–  Q"+&>./2$#>2&>.V+$;&IH2H#3&.T3%,#7./;&a2"+&$+>./6%7./;bX&T+/+]2;&a2"+&?.;2>./6%7./;bX&#/6&>./;%;2+/><&>./;2$#%/2;&a>#33+6&,.9#',#.%+b&&

–  Q.,+2"+$X&2"+;+&>./2$#>2&?$.?+$7+;&#$+&>#33+6&#++&'80.+&&

Page 27: !0.%&.%+( !#$%&'()(mis2010/docs/pdf/PA-chapter06.pdf · Pfleeger and Atlee, Software Engineering: Theory and Practice "%6+& Pfleeger and Atlee, Software Engineering: Theory and Practice

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.105

):e(*&+,-.(*072L&.%#80.(*&+,-.(5<(!0.%'#7%(H70.8.2&1I(

• :+;%,/&>./2$#>2&T+2Z++/&;.YZ#$+&?$.V%6+$&#/6&H;+$&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.106

):f(M.>0'L#80.(A<+%&L(\]#L$3&(*#%#(/01&3(0>(Opposition Programs X'0#17#+%(5<(@,77#1,33<c+(!0L$&880.(

•  :.I#%/&+3+I+/2;&#/6&$+3#7./;"%?;&2"#2&2"+&)%>>#6%33<&6#2#T#;+&Z%33&I#%/2#%/&

•  1&>3.;+$&+N#I%/#7./&Z%33&$+V+#3&2"#2&2"+$+&#$+&>./;%6+$#T3+&>.II./#3%2<&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.107

):;g(=&#3PK,L&(\]#L$3&(*&+,-.(5<(!0.%'#7%(

•  h#6&1$%#/+PD&T++/&%I?3+I+/2+6&H;%/,&#/&.TU+>2P.$%+/2+6&#??$.#>"X&2"+&$+H;+&Z.H36&"#V+&T++/&+%2"+$&%/&2+$I;&.M&>.I?.;%7./&.$&%/"+$%2#/>+&

•  L/&>.I?.;%7./&#??$.#>"_&2"+&!BL&%;&V%+Z+6&#;&#&T3#>^&T.N&#/6&>#33+6&M$.I&2"+&I#%/&;<;2+I&

•  L/&%/"+$%2#/>+&#??$.#>"_&2"+&!BL&;2$H>2H$+&#/6&T+"#V%.$&#$+&.?+/&2.&V%+ZX&%/"+$%7/,&#;&IH>"&;2$H>2H$+&#/6&T+"#V%.$&M$.I&?#$+/2&>3#;;+;&#;&?.;;%T3+&

Pfleeger and Atlee, Software Engineering: Theory and Practice

Chapter 6.108

):;;(d"#%(K",+(!"#$%&'(/&#.+(C0'(h02((

•  Q"+&6+;%,/&?$.>+;;&6+;>$%T+;&2"+&;<;2+I&>.I?./+/2;&H;%/,&#&>.II./&3#/,H#,+&Z%2"&Z"%>"&2.&>.IIH/%>#2+&

•  ATU+>2&.$%+/2#7./&%;&#&?#$7>H3#$3<&#??+#3%/,&T#;%;&M.$&;H>"&6+;%,/X&T+>#H;+&%2&#33.Z;&H;&2.&6+;>$%T+&#/6&$+#;./&#T.H2&2"+&;<;2+I&M$.I&%2;&T%$2"&2.&%2;&6+3%V+$<&%/&2"+&;#I+&2+$I;_&>3#;;+;X&.TU+>2;X&#/6&I+2".6;&

•  F./;%;2+/2&/.2#7./&I#^+;&%2&+#;%+$&M.$&<.H$&2+#I&2.&H/6+$;2#/6&2"+&%I?3%>#7./;&.M&H;%/,&#&?#$7>H3#$&.TU+>2&.$&>3#;;&–  F./;%;2+/><&#;;%;2;&2"+&I#%/2#%/+$;&#/6&2+;2+$;X&+/#T3%/,&2"+I&2.&TH%36&2+;2&

>#;+;&#/6&I./%2.$&>"#/,+;&I.$+&+#;%3<&–  j+>#H;+&2"+&$+[H%$+I+/2;X&6+;%,/X&#/6&>.6+&#$+&+N?$+;;+6&%/&2"+&;#I+&Z#<X&%2&%;&

+#;%+$&M.$&<.H&2.&+V#3H#2+&2"+&+e+>2;&.M&?$.?.;+6&>"#/,+;&2.&2"+&$+[H%$+I+/2;&.$&6+;%,/;&