25
7/23/2019 Component Based Devvv http://slidepdf.com/reader/full/component-based-devvv 1/25 !"#!$" &'$'!&'!($) !"&'!'*'+ (,-.,"+"' /$&+# #+0+),.-+"' $..)!($'!," !" &,1'2$3+ +"4!"++3!"4 #+/$5$" /,&+

Component Based Devvv

Embed Size (px)

Citation preview

Page 1: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 1/25

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

(,-.,"+"' /$&+#

#+0+),.-+"'

$..)!($'!," !" &,1'2$3+ +"4!"++3!"4

#+/$5$" /,&+

Page 2: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 2/25

"#$%#&'&( )*+', -'.'/#%$'&(

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

"#&0'%( #1 2'34+' 5+ &#( * 2*2' %6'&#$'&#& 5& 0#2' '&75&''25&7 82*&06'+9 )4( (6'

+*$' 0#&0'%( 5& +#1(:*2' '&75&''25&7 0#&(';( 6*+ 8''& 5&(2#,40', 5& '*2/< ,*<+ #1

0#$%4(5&7 84( 5(+ *%%2#*06 :*+ *, 6#09 )4( (6' 5&(2#,40(5#& #1 #8='0( #25'&(',

%2#72*$$5&7 :5(6 +#$' *,.*&0'$'&( ';%/#2'+ $': *2'*+ #1 +#1(:*2' '&75&''25&79

>#,*< 0#$%/';? 6576 @4*/5(< +#1(:*2' +<+('$+ *2' 845/( '11505'&(/< 4+5&7 0#$%#&'&(

8*+', *%%2#*06 5& * +6#2( %'25#, #1 (5$'9 )4( * &4$8'2 #1 @4'+(5#&+ *25+' *8#4( (6'

1'*+585/5(< #1 (6' 0#$%#&'&( *%%2#*069 )4( (6' 0#&0'%( #1 ")- +400'++14//< *&+:'2+

(6' *25+5&7 @4'+(5#&+9 >6' 5$%#2(*&0' #1 "#$%#&'&( )*+', ,'.'/#%$'&( /5'+ 5& 5(+

'11505'&0<9 A( (*B'+ #&/< * 1': $5&4('+ (# *++'$8/' (6' +('2'# +<+('$ 8'0*4+' (6'

0#$%#&'&(+ *2' ,'+57&', (# 8' 5&('72*(', :5(6 '*+'9 C/(6#476 +#1(:*2' 5+

0#&+5,'2*8/< $#2' 0#$%/';? 5( 1#//#:+ (6*( 0#$%#&'&(38*+', +<+('$+ *2' '*+5'2 (#

*++'$8/' *&, (6'2'1#2' /'++ 0#+(/< (# 845/, (6*& +<+('$+ 0#&+(240(', 12#$ ,5+02'('

%*2(+9 A& *,,5(5#&? ")DE '&0#42*7'+ (6' 4+' #1 %2',50(*8/' *2065('0(42*/ %*(('2&+ *&,

+(*&,*2, +#1(:*2' 5&12*+(240(42'? (6'2'8< /'*,5&7 (# * 6576'23@4*/5(< 2'+4/(9

.#  /,0&('1 (2 3(45(%6%& 7806) 96:6;(546%&

>6' 5,'* (6*( +#1(:*2' +6#4/, 8' 0#$%#&'&(5F', 3 845/( 12#$ %2'1*8250*(',

0#$%#&'&(+ 3 152+( 8'0*$' %2#$5&'&( :5(6 -#47/*+ G0A/2#<H+ *,,2'++ *( (6'  IC>J

0#&1'2'&0' #& +#1(:*2' '&75&''25&7 5& K*2$5+06?  K'2$*&<?  LMNO? (5(/', G*++

P2#,40', D#1(:*2' "#$%#&'&(+9 >6' 0#&1'2'&0' +'( #4( (# 0#4&('2 (6' +#30*//',

+#1(:*2' 025+5+9  G0A/2#<H+ +48+'@4'&( 5&0/4+5#& #1 %5%'+ *&, 15/('2+ 5&(# (6' Q&5;

#%'2*(5&7 +<+('$ :*+ (6' 152+( 5$%/'$'&(*(5#& #1 *& 5&12*+(240(42' 1#2 (65+ 5,'*9 )2*,

"#; #1  D('%+(#&' /*27'/< ,'15&', (6' $#,'2& 0#&0'%( #1 * +#1(:*2' 0#$%#&'&(9 R'

0*//', (6'$ D#1(:*2' A"+ *&, +'( #4( (# 02'*(' *& 5&12*+(240(42' *&, $*2B'( 1#2

(6'+' 0#$%#&'&(+ 8< 5&.'&(5&7 (6' J8='0(5.'3" %2#72*$$5&7 /*&74*7'9 A)G /', (6'

%*(6 :5(6 (6'52 D<+('$ J8='0( G#,'/ SDJGT 5& (6' '*2/< LMMU+9 D#$' 0/*5$ (6*(G502#+#1( %*.', (6' :*< 1#2 *0(4*/ ,'%/#<$'&( #1 0#$%#&'&( +#1(:*2' :5(6 JVE

*&, "JG9 C+ #1 WULU $*&< +400'++14/ +#1(:*2' 0#$%#&'&( $#,'/+ ';5+(9

<#  962,%,&,(% (2 3(45(%6%& 7806) =(2&>8'6 ?%@,%66',%@-

!"#$"%&%'()*+&, +".'/*0& &%12%&&02%1 S")DET 5+ * %2#0'++ (6*( '$%6*+5F'+ (6'

,'+57& *&, 0#&+(240(5#& #1 0#$%4('238*+', +<+('$+ 4+5&7 2'4+*8/' +#1(:*2'

“components.” Clements [CLE95] describes CBSE in the following way: CBSE is

changing the way large software systems are developed. CBSE embodies the “buy,

Page 3: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 3/25

don’t build” philosophy espoused by Fred Brooks and others. In the same way that

'*2/< +482#4(5&'+ /58'2*(', (6' %2#72*$$'2 12#$ (65&B5&7 *8#4( ,'(*5/+? ")DE +651(+

(6' '$%6*+5+ 12#$ %2#72*$$5&7 +#1(:*2' (# 0#$%#+5&7 +#1(:*2' +<+('$+9

A$%/'$'&(*(5#& 6*+ 75.'& :*< (# 5&('72*(5#& *+ (6' 1#04+9 C( 5(+ 1#4&,*(5#& 5+ (6'

*++4$%(5#& (6*( (6'2' 5+ +411505'&( 0#$$#&*/5(< 5& $*&< /*27' +#1(:*2' +<+('$+ (# =4+(51< ,'.'/#%5&7 2'4+*8/' 0#$%#&'&(+ (# ';%/#5( *&, +*(5+1< (6*( 0#$$#&*/5(<9

"#$%#&'&(38*+', +#1(:*2' ,'.'/#%$'&( *%%2#*06 5+ 8*+', #& (6' 5,'* (# ,'.'/#%

+#1(:*2' +<+('$+ 8< +'/'0(5&7 *%%2#%25*(' #113(6'3+6'/1 0#$%#&'&(+ *&, (6'& (#

*++'$8/' (6'$ :5(6 * :'//3,'15&', +#1(:*2' *2065('0(42'9

3(45(%6%&AB806) 0(2&>8'6 6%@,%66',%@ C37=?D 5+ * 82*&06 #1  +#1(:*2' '&75&''25&7

:6506 '$%6*+5F'+ (6' +'%*2*(5#& #1 0#&0'2&+ 5& 2'+%'0( #1 (6' :5,'32*&75&7

14&0(5#&*/5(< *.*5/*8/' (62#476#4( * 75.'& +#1(:*2' +<+('$9 >65+ %2*0(50' *5$+ (#

825&7 *8#4( *& '@4*//< :5,'32*&75&7 ,'72'' #1 8'&'15(+ 5& 8#(6 (6' +6#2(3('2$ *&,(6' /#&73('2$ 1#2 (6' +#1(:*2' 5(+'/1 *&, 1#2 #27*&5F*(5#&+ (6*( +%#&+#2 +406

+#1(:*2'9

D#1(:*2' '&75&''2+ 2'7*2, 0#$%#&'&(+ *+ %*2( #1 (6' +(*2(5&7 %/*(1#2$ 1#2 +'2.50'3

#25'&(*(5#&9  "#$%#&'&(+ %/*< (65+ 2#/'? 1#2 ';*$%/'? 5& X'8 D'2.50'+?  *&, $#2'

2'0'&(/<? 5& D'2.50'3J25'&(', C2065('0(42' SDJCT 3 :6'2'8< * 0#$%#&'&( 5+ 0#&.'2(',

5&(# * +&0324&  *&, +48+'@4'&(/< 5&6'25(+ 142(6'2 06*2*0('25+(50+ 8'<#&, (6*( #1 *&

#2,5&*2< 0#$%#&'&(9

"#$%#&'&(+ 0*& %2#,40' '.'&(+ #2 0#&+4$' '.'&(+ *&, 0*& 8' 4+', 1#2 '.'&(

,25.'& *2065('0(42' SE-CT9

E#  FBG6+&,:60 (2 3(45(%6%& 7806) =(2&>8'6 ?%@,%66',%@-

>6' $*5& #8='0(5.'+ #1 0#$%#&'&( 8*+', +#1(:*2' '&75&''25&7 *2' 75.'& 8'/#:9

*T  Y',40(5#& #1 0#+( *&, (5$' 1#2 845/,5&7 /*27' *&, 0#$%/50*(', +<+('$+Z $*5&

#8='0(5.' #1 "#$%#&'&( 8*+', *%%2#*06 5+ (# 845/, 0#$%/50*(', +#1(:*2'

+<+('$+ 4+5&7 #11 (6' +6'/1 0#$%#&'&( +# (6*( (6' (5$' (# 845/, (6' +#1(:*2'

,5$5&5+6 ,2*+(50*//<9 >6' 0#+( '11'0(5.'&'++ #1 (6' 0422'&( $'(6#, 0*& 8'

*&*/<+', 4+5&7 14&0(5#& %#5&( #2 #(6'2 $'(6#,+9

8T  A$%2#.5&7 (6' @4*/5(< #1 (6' +#1(:*2'Z >6' @4*/5(< #1 (6' +#1(:*2' 0*& 8'

5$%2#.', 8< 5$%2#.5&7 (6' @4*/5(< #1 (6' 0#$%#&'&(9 >6#476 (6' 0#&0'%( 5+ &#(

(24' 5& 7'&'2*/9 D#$'(5$'+ @4*/5(< #1 (6' *++'$8/', +<+('$+ $*< &#( 8' ,52'0(/<

2'/*(', (# @4*/5(< #1 (6' 0#$%#&'&( 5& +'&+' (6*( 5$%2#.5&7 (6' @4*/5(< #1 (6'

0#$%#&'&( ,#'+ &#( &'0'++*25/< 5$%/< (6' 5$%2#.'$'&( #1 (6' +<+('$+9

Page 4: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 4/25

0T  -'('0(5#& #1 ,'1'0( :5(65& (6' +<+('$+Z "#$%#&'&( *%%2#*06 6'/%+ (6' +<+('$

(# 15&, 5(+ ,'1'0( 2'*,5/< 8< ('+(5&7 (6' 0#$%#&'&(+9 )4( (6' +#420' #1 ,'1'0(+ 5+

,511504/( (# 15&, 5& 0*+' #1 0#$%#&'&( ,'.'/#%$'&( *%%2#*069

H# 

?I845;60 (2 3(45(%6%& 7806) J55'(8+K-

># +(*2( :5(6? /'( 4+ 75.' *& ';*$%/' #1 +5$%/' +('2'# +<+('$+ :6506 0#&+5+(+ #1

:##1'2? +483:##1'2? +#4&, 8#; '(09 51 +#$'#&' :*&(+ (# 845/, (6' +('2'# +<+('$+ 8<

*++'$8/5&7 (6' #11 (6' +6'/1 0#$%#&'&(+ /5B' +#4&, 8#; '(0 (6'& 6' $576( 8'

';%'25'&05&7 +#$' *,.*&(*7' (6*& (6#+' :6# 845/, (6' +<+('$ 12#$ (6' 8*+50

052045(9 A&31*0(? &#: * ,*<? *// (6' +5$%/' *&, 0#$%/50*(', +<+('$+ *2' 845/( 4+5&7 (6'

0#$%#&'&( *%%2#*06 :6'2' +#$' 0#$%#&'&(+ *2' */2'*,< ,'.'/#%', 8< +#$'

,'.'/#%'2 *&, (6'< *2' +(#2', 5& (6' /582*2< 1#2 (6'52 2'34+'9 >6' $*5& 0#&0'%( 5+ (6*(

(6#+' #11 (6' +6'/1 0#$%#&'&(+ &'', &#( 8' 06*&7', 1#2 (6'52 2'+%'0(5.' %42%#+'+9 A1:' :*&( $#,51< +#$' #1 (6' 0#$%#&'&(+ (# 15( *00#2,5&7 (# (6'52 *%%/50*85/5(<? :'

&'', (# 2'845/, 5( *&, +(#2' (6'$ 5& (6' /582*2<9

E;*$%/' #1 +#$' 0#$%/'; +<+('$? :6'2' '*06 0#$%#&'&(+ 5(+'/1 0*& 8' .5':', *+ *

+<+('$? 5+ I*.*/ "#$8*( +<+('$9 >6' +<+('$ 0#&+5+(+ #1 +#$' 2*,*2 1#2 ,'('0(5#&?

R'/50#%('2? +48$*25&'? Y#0B'( V*4&06'2? +#$' 1576('2 %/*&' '(09 E*06 0#$%#&'&(

6'2' 5+ +#$' 857 +<+('$+ *&, *++#05*(5#& 5+ */+# .'2< 0#$%/50*(', 5& +406 0*+'+9

L#  =(2&>8'6 3(45(%6%&0-

A& $#+( '&75&''25&7 ,5+05%/5&'+? +<+('$+ *2' ,'+57&', 8< 0#$%#+5&7 ';5+(5&7

0#$%#&'&(+ (6*( 6*.' 8''& 4+', 5& #(6'2 +<+('$+9 D#1(:*2' '&75&''25&7 6*+ 8''&

$#2' 1#04+', #& #2575&*/ ,'.'/#%$'&( 84( 5( 5+ &#: 2'0#7&5+', (6*( (# *065'.'

8'(('2 +#1(:*2'? $#2' @450B/< *&, *( /#:'2 0#+(? :' &'', (# *,#%( * ,'+57& %2#0'++

(6*( 5+ 8*+', #& systematic “ reuse” !

D#? (<%50*//<? 0#$%#&'&(+ *2' 2*(6'2 +$*// 84( 5&,'%'&,'&( %*2(+ #1 * +<+('$9 )4( *

/*27' +<+('$ *+ * :6#/' 0*& 8' +''& *+ * 0#$%#&'&( *+ :'//9 A( 5+ 5$%#2(*&( (#

2'0#7&5F' 0#$%#&'&(+ *2' 24&(5$' '&(5(5'+9 >6'< ';5+( :65/' (6' +<+('$ 5+ 24&&5&7? 5&

1*0(Z (6' +<+('$ 0#&+5+(+ #1 0#$%#&'&(+? *&, 5+ * 0#$%#&'&( 5(+'/19 "#$%#&'&(+ *2'

&#( =4+( ,'+57& '&(5(5'+ /5B' 0/*++'+ 5& #8='0(3#25'&(*(5#& *2'9 C+ +*5, '*2/5'2? *( 65+

$#$'&( '.'2<8#,< 5+ 2*.5&7 *8#4( 0#$%#&'&(+? *&, +''$+ (# ';%'0( * /#( 12#$ 5(9

X6*( 5+ ';%'0(', 1#2$ 0#$%#&'&(+? *&, :6< 5+ '.'2<8#,< (6*( '&(64+5*+([ >6'

';%'0(', *,.*&(*7'+ (# 8' ,'25.', 12#$ (6' *%%/50*(5#& #1 0#$%#&'&(+ *2'

+4$$*25F', 5& /*('2 +'0(5#&+ #1 (65+ 2'%#2(9

"#$%#&'&(+ %2#.5,' * +'2.50' :5(6#4( 2'7*2, (# :6'2' (6' 0#$%#&'&( 5+ ';'04(5&7

#2 5(+ %2#72*$$5&7 /*&74*7'9 C 0#$%#&'&( 5+ *& 5&,'%'&,'&( ';'04(*8/' '&(5(< (6*(

0*& 8' $*,' 4% #1 #&' #2 $#2' ';'04(*8/' #8='0(+9 >6' 0#$%#&'&( 5&('21*0' 5+

Page 5: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 5/25

%48/5+6', *&, *// 5&('2*0(5#&+ *2' (62#476 (6' %48/5+6', 5&('21*0'9 "#$%#&'&(+ 0*&

2*&7' 5& +5F' 12#$ +5$%/' 14&0(5#&+ (# '&(52' *%%/50*(5#& +<+('$+

\9  ?%@,%66',%@ (2 3(45(%6%& 7806) =10&640Z

J& (6' +421*0'? ")DE +''$+ @45(' +5$5/*2 (# 0#&.'&(5#&*/ #2 #8='0(3#25'&(',+#1(:*2' '&75&''25&79 >6' %2#0'++ 8'75&+ :6'& * +#1(:*2' ('*$ '+(*8/5+6'+

2'@452'$'&(+ 1#2 (6' +<+('$ (# 8' 845/( 4+5&7 0#&.'&(5#&*/ 2'@452'$'&(+ '/505(*(5#&

('06&5@4'+9 C& *2065('0(42*/ ,'+57& 5+ '+(*8/5+6',? 84( 2*(6'2 (6*& $#.5&7

5$$',5*('/< 5&(# $#2' ,'(*5/', ,'+57& (*+B+? (6' ('*$ ';*$5&'+ 2'@452'$'&(+ (#

,'('2$5&' :6*( +48+'( 5+ ,52'0(/< *$'&*8/' (# 4"#$"+2'2"%5 2*(6'2 (6*&

0#&+(240(5#&9 >6*( 5+? (6' ('*$ *+B+ (6' 1#//#:5&7 @4'+(5#&+ 1#2 '*06 +<+('$

2'@452'$'&(Z

  C2' 0#$$'205*/ #11 (6' +6'/1 0#$%#&'&(+ *.*5/*8/' (# 5$%/'$'&( (6'

2'@452'$'&([

  C2' 5&('2&*//< 2'4+*8/' 0#$%#&'&(+ *.*5/*8/' (# 5$%/'$'&( (6' 2'@452'$'&([

  C2' (6' 5&('21*0'+ #1 (6' *.*5/*8/' 0#$%#&'&(+ 0#$%*(58/' :5(6 (6'

*2065('0(42' #1 (6' +<+('$ (# 8' 845/([

>6' ('*$ *(('$%(+ (# $#,51< #2 2'$#.' (6#+' +<+('$ 2'@452'$'&(+ (6*( 0*&&#( 8'

5$%/'$'&(', :5(6 "J>D #2 5&36#4+' 0#$%#&'&(+9L A1 (6' 2'@452'$'&(S+T 0*&&#( 8'

06*&7', #2 ,'/'(',? 0#&.'&(5#&*/ #2 #8='0(3#25'&(', +#1(:*2' '&75&''25&7 $'(6#,+

*2' *%%/5', (# ,'.'/#% (6#+' &': 0#$%#&'&(+ (6*( $4+( 8' '&75&''2', (# $''( (6'

2'@452'$'&(S+T9 )4( 1#2 (6#+' 2'@452'$'&(+ (6*( *2' *,,2'++', :5(6 *.*5/*8/'

0#$%#&'&(+? * ,511'2'&( +'( #1 +#1(:*2' '&75&''25&7 *0(5.5(5'+ 0#$$'&0'+Z

"#$%#&'&( ]4*/5150*(5#&? "#$%#&'&( C,*%(*(5#&? "#$%#&'&( "#$%#+5(5#& *&,

"#$%#&'&( Q%,*('9 I#: /'( 4+ 1#04+ #& 1': 8*+50 ,'15&5(5#& 2'7*2,5&7 +#1(:*2'

0#$%#&'&(+9

!"#$"%&%' —A( 5+ * &#&(25.5*/? &'*2/< 5&,'%'&,'&(? *&, 2'%/*0'*8/' %*2( #1 * +<+('$

(6*( 14/15//+ * 0/'*2 14&0(5#& 5& (6' 0#&(';( #1 * :'//3,'15&', *2065('0(42'9

67%('2#& +".'/*0& 4"#$"%&%' —A( 5+ * ,<&*$50 85&,*8/' %*0B*7' #1 #&' #2 $#2'

%2#72*$+ $*&*7', *+ * 4&5( *&, *00'++', (62#476 ,#04$'&(', 5&('21*0'+ (6*( 0*&

8' ,5+0#.'2', 5& 24& (5$'9

8".'/*0& 4"#$"%&%' —A( 5+ * 4&5( #1 0#$%#+5(5#& :5(6 0#&(2*0(4*//< +%'0515', *&,

';%/505( 0#&(';( ,'%'&,'&05'+ #&/<9

• 97+2%&++ 4"#$"%&%' —A( 5+ (6' +#1(:*2' 5mplementation of an “autonomous”

84+5&'++ 0#&0'%( #2 84+5&'++ %2#0'++9

A& *,,5(5#& (# (6'+' ,'+025%(5#&+? +#1(:*2' 0#$%#&'&(+ 0*& */+# 8' 06*2*0('25F',

8*+', #& (6'52 4+' 5& (6' ")DE %2#0'++9 A& *,,5(5#& (# "J>D 0#$%#&'&(+? (6' ")DE

%2#0'++ <5'/,+Z

:7*;2.2&, 4"#$"%&%'+—*++'++', 8< +#1(:*2' '&75&''2+ (# '&+42' (6*( &#( #&/<

14&0(5#&*/5(<? 84( %'21#2$*&0'? 2'/5*85/5(<? 4+*85/5(<? *&, #(6'2 @4*/5(< 1*0(#2+S"6*%('2 LMT 0#&1#2$ (# (6' 2'@452'$'&(+ #1 (6' +<+('$ #2 %2#,40( (# 8' 845/(9

Page 6: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 6/25

•  <,*$'&, 4"#$"%&%'+—*,*%(', (# $#,51< S*/+# 0*//', #*+= #2 /0*$T ^)YJMN_

4&:*&(', #2 4&,'+52*8/' 06*2*0('25+(50+9

• <++&#);&, 4"#$"%&%'+—5&('72*(', 5&(# *& *2065('0(42*/ +(</' *&, 5&('20#&&'0(',

:5(6 *& *%%2#%25*(' 5&12*+(240(42' (6*( *//#:+ (6' 0#$%#&'&(+ (# 8' 0##2,5&*(',

*&, $*&*7', '11'0(5.'/<9• >$,*'&, 4"#$"%&%'+—2'%/*05&7 ';5+(5&7 +#1(:*2' *+ &': .'2+5#&+ #1 0#$%#&'&(+

8'0#$' *.*5/*8/'9

M#  3(45(%6%& 7806) =(2&>8'6 ?%@,%66',%@ N'(+60060-

A “component3based development model” (Figure LT :*+ 4+', (# 5//4+(2*(' 6#: *

/582*2< #1 reusable “candidate components” can be integrated into a typical

'.#/4(5#&*2< %2#0'++ $#,'/9 >6' ")DE %2#0'++? 6#:'.'2? $4+( 8' 06*2*0('25F', 5& *

$*&&'2 (6*( &#( #&/< 5,'&(515'+ 0*&,5,*(' 0#$%#&'&(+ 84( */+# @4*/515'+ '*06

component’s interface, adapts co$%#&'&(+ (# 2'$#.' *2065('0(42*/ $5+$*(06'+?*++'$8/'+ 0#$%#&'&(+ 5&(# * +'/'0(', *2065('0(42*/ +(</'? *&, 4%,*('+ 0#$%#&'&(+

*+ 2'@452'$'&(+ 1#2 (6' +<+('$ 06*&7'9

`5742'Z L

Page 7: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 7/25

>6' %2#0'++ $#,'/ 1#2 0#$%#&'&(38*+', +#1(:*2' '&75&''25&7 '$%6*+5F'+ %*2*//'/

(2*0B+ 5& :6506 ,#$*5& '&75&''25&7 #0042+ 0#&0422'&(/< :5(6 0#$%#&'&(38*+',

,'.'/#%$'&(9 ?"#*2% &%12%&&02%1 %'21#2$+ (6' :#2B 2'@452', (# '+(*8/5+6 * +'( #1

+#1(:*2' 0#$%#&'&(+ (6*( 0*& 8' 2'4+', 8< (6' +#1(:*2' '&75&''29 >6'+'

components are then transported across a “boundary” that separates domain'&75&''25&7 12#$ 0#$%#&'&(38*+', ,'.'/#%$'&(9 `5742' L 5//4+(2*('+ * (<%50*/

%2#0'++ $#,'/ (6*( ';%/505(/< *00#$$#,*('+ ")DE9 -#$*5& '&75&''25&7 02'*('+ *

$#,'/ #1 (6' *%%/50*(5#& ,#$*5& (6*( 5+ 4+', *+ * 8*+5+ 1#2 *&*/<F5&7 4+'2

2'@452'$'&(+ 5& (6' +#1(:*2' '&75&''25&7 1/#:9 K'&'250 +#1(:*2' *2065('0(42'

%2#.5,'+ 5&%4( 1#2 (6' ,'+57& #1 (6' *%%/50*(5#&9 `5&*//<? *1('2 2'4+*8/' 0#$%#&'&(+

6*.' 8''& %4206*+',? +'/'0(', 12#$ ';5+(5&7 /582*25'+? #2 0#&+(240(', S*+ %*2( #1

,#$*5& '&75&''25&7T? (6'< *2' $*,' *.*5/*8/' (# +#1(:*2' '&75&''2+ ,425&7

0#$%#&'&(38*+', ,'.'/#%$'&(9

O#  9(48,% ?%@,%66',%@-

-#$*5& '&75&''25&7 5&0/4,'+ (62'' $*=#2 *0(5.5(5'+—*&*/<+5+? 0#&+(240(5#&? *&,

,5++'$5&*(5#&9 -#$*5& 0#&+(240(5#& *&, ,5++'$5&*(5#& *2' 0#&+5,'2', 5& /*('2

sections in this chapter. It can be argued that “reuse will disappear, not by

elimination, but by integration” into the fabric of softw*2' '&75&''25&7 %2*0(50' 9 C+

72'*('2 '$%6*+5+ 5+ %/*0', #& 2'4+'? +#$' 8'/5'.' (6*( ,#$*5& '&75&''25&7 :5//

8'0#$' *+ 5$%#2(*&( *+ +#1(:*2' '&75&''25&7 #.'2 (6' &';( ,'0*,'9 C00#2,5&7 (# P*4/

"/'$'&(+  -#$*5& E&75&''25&7 5+ *8#4( 15&,5&7 0#$$#&*/5(5'+ *$#&7 +<+('$ (#

5,'&(51< 0#$%#&'&(+ (6*( 0*& 8' *%%/5', (# $*&< +<+('$+ *&, (# 5,'&(51< %2#72*$

1*$5/5'+ (6*( *2' %#+5(5#&', (# (*B' 14//'+( *,.*&(*7' #1 (6#+' 0#$%#&'&(+9 

O#" 9(48,% J%8;10,0 N'(+600 C9JND-

>6' +('%+ 5& (6' %2#0'++ *2'Z

L9 

-'15&' (6' ,#$*5& (# 8' 5&.'+(57*(',W9  "*('7#25F' (6' 5('$+ ';(2*0(', 12#$ (6' ,#$*5&

a9  "#//'0( * 2'%2'+'&(*(5.' +*$%/' 12#$ (6' *%%/50*(5#&

b9  C&*/<F' '*06 *%%/50*(5#& 5& (6' +*$%/'

c9  -'.'/#% *& *&*/<+5+ $#,'/ 1#2 (6' #8='0(+

A( 5+ 5$%#2(*&( (# &#(' (6*( ,#$*5& *&*/<+5+ 5+ *%%/50*8/' (# *&< +#1(:*2' '&75&''25&7

%*2*,57$ *&, $*< 8' *%%/5', 1#2 0#&.'&(5#&*/ *+ :'// *+ #8='0(3#25'&(',

,'.'/#%$'&(9 P25'(# -5*F +477'+(', *& '576(3+('% *%%2#*06 (# (6' 5,'&(5150*(5#& #1 (6'

2'4+*8/' 0#$%#&'&(+

L9 

D'/'0( +%'05150 14&0(5#&+ #2 (6' #8='0(+

W9  C8+(2*0( 14&0(5#&+ #2 #8='0(

Page 8: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 8/25

a9  -'15&' * (*;#&#$<

b9  A,'&(51< 0#$$#& 1'*(42'+

c9  A,'&(51< +%'05150 2'/*(5#&+65%

N9  C8+(2*0( (6' 2'/*(5#&+65%

\9 

-'25.' * 14&0(5#&*/ $#,'/O9  -'15&' * ,#$*5& /*&74*7'

C/(6#476 (6' +('%+ =4+( &#(', %2#.5,' * 4+'14/ $#,'/ 1#2 ,#$*5& *&*/<+5+? (6'<

%2#.5,' &# 745,*&0' 1#2 ,'05,5&7 :6506 +#1(:*2' 0#$%#&'&(+ *2' 0*&,5,*('+ 1#2

2'4+'9 R4(065&+#& *&, R5&,/'< +477'+( (6' 1#//#:5&7 +'( #1 %2*7$*(50 @4'+(5#&+ *+ *

745,' 1#2 5,'&(51<5&7 2'4+*8/' +#1(:*2' 0#$%#&'&(+Z

•Is component functionality required on future imp/'$'&(*(5#&+[

• How common is the component's function within the domain? 

• Is there duplication of the component's function within the domain? 

• Is the component hardware dependent?  • Does the hardware remain unchanged between implementations? 

• Can the 6*2,:*2' +%'05150+ 8' 2'$#.', (# *&#(6'2 0#$%#&'&([

• Is the design optimized enough for the next implementation? 

• Can we parameterize a nonreusable component so that it becomes reusable? 

• Is the component reusable in many 5$%/'$'&(*(5#&+ :5(6 #&/< $5&#2 06*&7'+[

• Is reuse through modification feasible? 

• Can a nonreusable component be decomposed to yield reusable components? 

• How valid is component decomposition for reuse? 

O#. 3K8'8+&6',P8&,(% (2 Q*%+&,(%0-

A( 5+ +#$'(5$'+ ,511504/( (# ,'('2$5&' :6'(6'2 * %#('&(5*//< 2'4+*8/' 0#$%#&'&( 5+ 5&

1*0( *%%/50*8/' 5& * %*2(504/*2 +5(4*(5#&9 ># $*B' (65+ ,'('2$5&*(5#&? 5( 5+ &'0'++*2< (#

,'15&' * +'( #1 ,#$*5& 06*2*0('25+(50+ (6*( *2' +6*2', 8< *// +#1(:*2' :5(65& *

,#$*5&9 C ,#$*5& 06*2*0('25+(50 ,'15&'+ +#$' 7'&'250 *((2584(' #1 *// %2#,40(+ (6*(

';5+( :5(65& (6' ,#$*5&9 `#2 ';*$%/'? 7'&'250 06*2*0('25+(50+ $576( 5&0/4,' (6'

5$%#2(*&0' #1 +*1'(<d2'/5*85/5(<? %2#72*$$5&7 /*&74*7'? 0#&0422'&0< 5& %2#0'++5&7?

*&, $*&< #(6'2+9

C +'( #1 ,#$*5& 06*2*0('25+(50+ 1#2 * 2'4+*8/' 0#$%#&'&( 0*& 8' 2'%2'+'&(', 8< e-%f

:6'2' '*06 5('$ 5& (6' +'( 6*+ +#$' +%'05150 ,#$*5& 06*2*0('25+(50+ &*$'/< -%5

X6'& &': +#1(:*2'? / ? 5+ (# 8' 845/( :5(65& (6' *%%/50*(5#& ,#$*5&? * +'( #1 ,#$*5&

06*2*0('25+(50+ 5+ ,'25.', 1#2 5(9 C 0#$%*25+#& 5+ (6'& $*,' 8'(:''& ?$2 *&, ?/2 (#

,'('2$5&' :6'(6'2 (6' ';5+(5&7 0#$%#&'&( $ 0*& 8' '11'0(5.'/< 2'4+', 5& *%%/50*(5#&

/@ 

E.'& :6'& +#1(:*2' (# 8' '&75&''2', 0/'*2/< ';5+(+ :5(65& *& *%%/50*(5#& ,#$*5&?

(6' 2'4+*8/' 0#$%#&'&(+ :5(65& (6*( ,#$*5& $4+( 8' *&*/<F', (# ,'('2$5&' (6'52

applicability. In some cases (ideally, a limited number), “reinventing the wheel” may

+(5// 8' (6' $#+( 0#+(3'11'0(5.' 06#50'9

Page 9: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 9/25

O#< =&'*+&*'6 R()6;;,%@ 8%) =&'*+&*'6 N(,%&0-

8'074'70*; #",&;2%1 5+ * %*(('2&38*+', ,#$*5& '&75&''25&7 *%%2#*06 (6*( :#2B+

4&,'2 (6' *++4$%(5#& (6*( '.'2< *%%/50*(5#& ,#$*5& 6*+ 2'%'*(5&7 %*(('2&+ S#1

14&0(5#&? ,*(*? *&, 8'6*.5#42T (6*( 6*.' 2'4+' %#('&(5*/9 C00#2,5&7 (# P#//*2 *&,

Y5++$*& +(240(42*/ $#,'/+ 0#&+5+( #1 * +$*// &4$8'2 #1 +(240(42*/ '/'$'&(+$*&51'+(5&7 0/'*2 %*(('2&+ #1 5&('2*0(5#&9 >6' *2065('0(42'+ #1 +<+('$+ 4+5&7

+(240(42*/ $#,'/+ *2' 06*2*0('25F', 8< $4/(5%/' '&+'$8/'+ (6*( *2' 0#$%#+', 12#$

(6'+' $#,'/ '/'$'&(+9 G*&< *2065('0(42*/ 4&5(+ '$'27' 12#$ +5$%/' %*(('2&+ #1

interaction among this small number of elements”. D(240(42' P#5&( 5+ * ,5+(5&0(

0#&+(240( :5(65& * +(240(42' $#,'/9

G0G*6#& ^G"GMc_ ,'+0258'+ * +'074'70& $"2%' as “a distinct construct within a

structural model.” Structure points have three d 5+(5&0( 06*2*0('25+(50+Z

"# C +(240(42' %#5&( 5+ *& *8+(2*0(5#& (6*( +6#4/, 6*.' * /5$5(', &4$8'2 #1 5&+(*&0'+9Y'+(*(5&7 (65+ 5& #8='0(3#25'&(', =*27#& S"6*%('2 WUT? (6' +5F' #1 (6' 0/*++ 65'2*206<

+6#4/, 8' +$*//9 A& *,,5(5#&? (6' *8+(2*0(5#& +6#4/, 2'042 (62#476#4( *%%/50*(5#&+ 5&

(6' ,#$*5&9 J(6'2:5+'? (6' 0#+( (# .'251<? ,#04$'&(? *&, ,5++'$5&*(' (6' +(240(42'

%#5&( 0*&&#( 8' =4+(515',9

.# >6' 24/'+ (6*( 7#.'2& (6' 4+' #1 (6' +(240(42' %#5&( +6#4/, 8' '*+5/< 4&,'2+(##,9

A& *,,5(5#&? (6' 5&('21*0' (# (6' +(240(42' %#5&( +6#4/, 8' 2'/*(5.'/< +5$%/'9

<# >6' +(240(42' %#5&( +6#4/, 5$%/'$'&( 5&1#2$*(5#& 65,5&7 8< 5+#/*(5&7 *//

0#$%/';5(< 0#&(*5&', :5(65& (6' +(240(42' %#5&( 5(+'/19 >65+ 2',40'+ (6' %'20'5.',

0#$%/';5(< #1 (6' #.'2*// +<+('$93K8'8+&6',P8&,(% (2 =&'*+&*'6 5(,%&0- 

L9  A( +6#4/, 6*.' * /5$5(', &4$8'2 #1 5&+(*&0'+

W9  A&('21*0' #1 (6' +(240(42' %#5&(+ +6#4/, 8' 2'/*(5.'/< +5$%/'

a9  D(240(42' %#5&( +6#4/, 5$%/'$'&( 5&1#2$*(5#& 65,5&7 8< 5+#/*(5&7 *//

0#$%/';5(< 0#&(*5&', :5(65& (6' +(240(42' %#5&( 5(+'/19

"S# 3(45(%6%& ?%@,%66',%@-

C+ :' &#(', '*2/5'2 5& (65+ 06*%('2? (6' ")DE %2#0'++ '&0#42*7'+ (6' 4+' #1 ';5+(5&7+#1(:*2' 0#$%#&'&(+9 R#:'.'2? (6'2' *2' (5$'+ :6'& 0#$%#&'&(+ $4+( 8'

'&75&''2',9 >6*( 5+? &': +#1(:*2' 0#$%#&'&(+ $4+( 8' ,'.'/#%', *&, 5&('72*(',

:5(6 ';5+(5&7 "J>D *&, 5&36#4+' 0#$%#&'&(+9 )'0*4+' (6'+' &': 0#$%#&'&(+

8'0#$' $'$8'2+ #1 (6' 5&36#4+' /582*2< #1 2'4+*8/' 0#$%#&'&(+? (6'< +6#4/, 8'

'&75&''2', 1#2 2'4+'9 I#(65&7 5+ $*750*/ *8#4( 02'*(5&7 +#1(:*2' 0#$%#&'&(+ (6*(

0*& 8' 2'4+',9 -'+57& 0#&0'%(+ +406 *+ *8+(2*0(5#&? 65,5&7? 14&0(5#&*/

5&,'%'&,'&0'? 2'15&'$'&(? *&, +(240(42', %2#72*$$5&7? */#&7 :5(6 #8='0(3#25'&(',

$'(6#,+? ('+(5&7? D]C? *&, 0#22'0(&'++ .'25150*(5#& $'(6#,+? *// 0#&(2584(' (# (6'

Page 10: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 10/25

02'*(5#& #1 +#1(:*2' 0#$%#&'&(+ (6*( *2' 2'4+*8/'9 R'2' :' 0#&+5,'2 (6' 2'4+'3

+%'05150 5++4'+ (6*( *2' 0#$%/'$'&(*2< (# +#/5, +#1(:*2' '&75&''25&7 %2*0(50'+9

""# J%8;10,0 8%) 960,@% 2(' T6*06-

-*(*? 14&0(5#&*/? *&, 8'6*.5#2*/ $#,'/+ S2'%2'+'&(', 5& * .*25'(< #1 ,511'2'&(

&#(*(5#&+T 0*& 8' 02'*(', (# ,'+0258' :6*( * %*2(504/*2 *%%/50*(5#& $4+( *00#$%/5+69

X25(('& +%'05150*(5#&+ *2' (6'& 4+', (# ,'+0258' (6'+' $#,'/+9 C 0#$%/'('

,'+025%(5#& #1 2'@452'$'&(+ 5+ (6' 2'+4/(9 A,'*//<? (6' *&*/<+5+ $#,'/ 5+ *&*/<F', (#

,'('2$5&' (6#+' '/'$'&(+ #1 (6' $#,'/ (6*( %#5&( (# ';5+(5&7 2'4+*8/' 0#$%#&'&(+9

>6' %2#8/'$ 5+ ';(2*0(5&7 5&1#2$*(5#& 12#$ (6' 2'@452'$'&(+ $#,'/ 5& * 1#2$ (6*(

can lead to “specification matching.” Bellinzoni, Gugini, *&, P'2&505 ^)EVMc_ ,'+0258'

#&' *%%2#*06 1#2 #8='0(3#25'&(', +<+('$+Z "#$%#&'&(+ *2' ,'15&', *&, +(#2', *+

+%'05150*(5#&? ,'+57&? *&, 5$%/'$'&(*(5#& 0/*++'+ *( .*25#4+ /'.'/+ #1 *8+(2*0(5#& —

:5(6 '*06 0/*++ 8'5&7 *& '&75&''2', ,'+025%(5#& #1 * %2#,40( 12#$ %2'.5#4+

*%%/50*(5#&+9 >6' +%'05150*(5#& B&#:/',7'—,'.'/#%$'&( B&#:/',7'—5+ +(#2', 5&

(6' 1#2$ #1 2'4+'3+477'+(5#& 0/*++'+? :6506 0#&(*5& ,52'0(5#&+ 1#2 2'(25'.5&7 2'4+*8/'

0#$%#&'&(+ #& (6' 8*+5+ #1 (6'52 ,'+025%(5#& *&, 1#2 0#$%#+5&7 *&, (*5/#25&7 (6'$

*1('2 2'(25'.*/9

C+ :' 6*.' */2'*,< &#(',? -`Y 2'@452'+ (6' +#1(:*2' '&75&''2 (# *%%/< +#/5,

+#1(:*2' ,'+57& 0#&0'%(+ *&, %25&05%/'+9 )4( (6' 06*2*0('25+(50+ #1 (6' *%%/50*(5#&

,#$*5& $4+( */+# 8' 0#&+5,'2',9 )5&,'2 ^)AIMa_ +477'+(+ * &4$8'2 #1 B'< 5++4'+

(6*( 1#2$ * 8*+5+ 1#2 ,'+57& 1#2 2'4+'Z

=&8%)8') )8&8- >6' *%%/50*(5#& ,#$*5& +6#4/, 8' 5&.'+(57*(', *&, +(*&,*2, 7/#8*/

,*(* +(240(42'+ S'979? 15/' +(240(42'+ #2 * 0#$%/'(' ,*(*8*+'T +6#4/, 8' 5,'&(515',9 C//

,'+57& 0#$%#&'&(+ 0*& (6'& 8' 06*2*0('25F', (# $*B' 4+' #1 (6'+' +(*&,*2, ,*(*

+(240(42'+9

=&8%)8') ,%&6'28+6 5'(&(+(;0- >62'' /'.'/+ #1 5&('21*0' %2#(#0#/ +6#4/, 8'

'+(*8/5+6',Z (6' &*(42' #1 5&(2*3$#,4/*2 5&('21*0'+? (6' ,'+57& #1 ';('2&*/ ('06&50*/

S&#&64$*&T 5&('21*0'+? *&, (6' 64$*&d$*065&' 5&('21*0'9

N'(@'84 &645;8&60- >6' +(240(42' $#,'/ 0*& +'2.' *+ * ('$%/*(' 1#2 (6'

*2065('0(42*/ ,'+57& #1 * &': %2#72*$9

".# =(2&>8'6 U,26+1+;6 N'(+600 R()6;-

V51'0<0/' %2#0'++'+ 5&0/4,' *// *0(5.5(5'+ #1 * %2#,40( #2 * +<+('$ ,425&7 5(+ '&(52' /51'?

12#$ (6' 84+5&'++ 5,'* 1#2 5(+ ,'.'/#%$'&(? (62#476 5(+ 4+*7' *&, 5(+ 0#$%/'(5#& #1

4+'9 -511'2'&( $#,'/+ 6*.' 8''& %2#%#+', *&, ';%/#5( 5& +#1(:*2' '&75&''25&7? *&,

,511'2'&( $#,'/+ 6*.' ';6585( (6'52 S5&T*85/5(5'+ (# '11505'&(/< 7#.'2& *// *0(5.5(5'+

2'@452', 1#2 * +400'++14/ ,'.'/#%$'&( *&, 4+' #1 %2#,40(+9 X' 0*& ,5+(5&745+6 (:#$*5& 72#4%+ #1 $#,'/+Z D'@4'&(5*/ *&, '.#/4(5#&*2<9 >6' +'@4'&(5*/ $#,'/+ ,'15&' *

Page 11: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 11/25

+'@4'&0' #1 *0(5.5(5'+ 5& :6506 #&' *0(5.5(< 1#//#: *1('2 * 0#$%/'(5#& #1 (6' %2'.5#4+

#&'9 E.#/4(5#&*2< $#,'/+ *//#: %'21#2$*&0' #1 +'.'2*/ *0(5.5(5'+ 5& %*2*//'/ :5(6#4(

2'@452'$'&(+ #& * +(25&7'&( 0#$%/'(5#& #1 #&' *0(5.5(< (# 8' *8/' (# +(*2( :5(6

*&#(6'2 #&'9 X'// B&#:& ';*$%/' #1 +'@4'&(5*/ $#,'/+ *2' :*('21*// $#,'/? #2 g

$#,'/? *&, #1 '.#/4(5#&*2< $#,'/+? 5('2*(5.' *&, 5&02'$'&(*/ ,'.'/#%$'&(? #2 +%52*/$#,'/9 ")DE *,,2'++'+ 06*//'&7'+ +5$5/*2 (# (6#+' '&0#4&('2', '/+':6'2' 5&

+#1(:*2' '&75&''25&79 G*&< #1 (6' $'(6#,+? (##/+ *&, %25&05%/'+ #1 +#1(:*2'

'&75&''25&7 4+', 5& #(6'2 (<%'+ #1 +<+('$ :5// 8' 4+', 5& (6' +*$' #2 * +5$5/*2 :*< 5&

")DE9 >6'2' 5+ 6#:'.'2 #&' ,511'2'&0'h ")DE +%'05150*//< 1#04+'+ #& @4'+(5#&+

related to components and in that sense it distinguishes the process of “component

development” from that of “system development with components”. 

L9  972;,2%1 8A+'&# .0"# !"#$"%&%'+Z >6' $*5& 5,'* #1 (6' 0#$%#&'&(38*+',

*%%2#*06 5+ 845/,5&7 +<+('$+ 12#$ %2'3';5+(5&7 0#$%#&'&(+9 >65+ *++4$%(5#&

6*+ +'.'2*/ 0#&+'@4'&0'+ 1#2 (6' +<+('$ /51'0<0/'9 `52+(? (6' ,'.'/#%$'&(%2#0'++'+ #1 0#$%#&'&(38*+', +<+('$+ *2' +'%*2*(', 12#$ ,'.'/#%$'&(

%2#0'++'+ #1 (6' 0#$%#&'&(+h (6' 0#$%#&'&(+ +6#4/, */2'*,< 8''&

,'.'/#%', *&, %#++58/< 4+', 5& #(6'2 %2#,40(+ :6'& (6' +<+('$

,'.'/#%$'&( %2#0'++ +(*2(+9 D'0#&,? * &': +'%*2*(' %2#0'++ :5// *%%'*2Z

`5&,5&7 *&, '.*/4*(5&7 (6' 0#$%#&'&(+9 >652,? (6' *0(5.5(5'+ 5& (6' %2#0'++'+

:5// 8' ,511'2'&( 12#$ (6' *0(5.5(5'+ 5& &#&30#$%#&'&(3 8*+', *%%2#*06h 1#2

(6' +<+('$ ,'.'/#%$'&( (6' '$%6*+5+ :5// 8' #& 15&,5&7 (6' %2#%'2

0#$%#&'&(+ *&, .'251<5&7 (6'$? *&, 1#2 (6' 0#$%#&'&( ,'.'/#%$'&(?

,'+57& 1#2 2'4+' :5// 8' (6' $*5& 0#&0'2&9 >6'2' 5+ * ,511'2'&0' 5&

2'@452'$'&(+ *&, 84+5&'++ 5,'*+ 5& (6'+' (:# 0*+'+ *&, ,511'2'&( *%%2#*06'+

*2' &'0'++*2<9 "#$%#&'&(+ *2' 845/( (# 8' 4+', *&, 2'4+', 5& $*&<

*%%/50*(5#&+? +#$' %#++58/< &#( <'( ';5+(5&7? 5& +#$' %#++58/< 4&1#2'+''& :*<

D<+('$ ,'.'/#%$'&( :5(6 0#$%#&'&(+ 5+ 1#04+', #& (6' 5,'&(5150*(5#& #1

2'4+*8/' '&(5(5'+ *&, 2'/*(5#&+ 8'(:''& (6'$? 8'75&&5&7 12#$ (6' +<+('$

2'@452'$'&(+ *&, 12#$ (6' *.*5/*85/5(< #1 0#$%#&'&(+ */2'*,< ';5+(5&79 X'

4+' g $#,'/ *+ (65+ $#,'/ 5+ :5,'/< 4+', 5& $*&< #27*&5F*(5#&+  –  (<%50*//<

/*27' #27*&5F*(5#& 845/,5&7 0#$%/'; /#&73/51' %2#,40(+? +406 *+ 0*2+ #2 2#8#(+9

A& (65+ $#,'/ (6' %2#0'++ +(*2(+ 5& * 4+4*/ :*< 8< 2'@452'$'&(+ '&75&''25&7

*&, 2'@452'$'&(+ +%'05150*(5#&? 1#//#:', 8< +<+('$ +%'05150*(5#&9 A& * &#&3

0#$%#&'&(3 8*+', *%%2#*06 (6' %2#0'++ :#4/, 0#&(5&4' :5(6 (6' 4&5(

,'+57&? 5$%/'$'&(*(5#& *&, ('+(9 A&+('*, #1 %'21#2$5&7 (65+ *0(5.5(5'+ (6*(

#1('& *2' (5$' *&, '11#2(+ 0#&+4$5&7? :' +5$%/< +'/'0( *%%2#%25*('

0#$%#&'&(+ *&, 5&('72*(' (6'$ 5& (6' +<+('$9 R#:'.'2? (:# %2#8/'$+

*%%'*2 6'2' :6506 82'*B (65+ +5$%/505(<Z S5T A( 5+ &#( #8.5#4+ (6*( (6'2' 5+ *&<

0#$%#&'&( (# +'/'0(? *&, S55T (6' +'/'0(', 0#$%#&'&( #&/< %*2(5*//< 15(+ (# #42

#.'2*// ,'+57&9 >6' 152+( 1*0( +6#:+ (6*( :' $4+( 6*.' * %2#0'++ 1#2 15&,5&7

0#$%#&'&(+9 >65+ %2#0'++ 5&0/4,'+ *0(5.5(5'+ 1#2 15&,5&7 (6' 0#$%#&'&(+? *&, (6'&

Page 12: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 12/25

(6' 0#$%#&'&( '.*/4*(5#&9 >6' +'0#&, 1*0( 5&,50*('+ 1#2 * &'', #1 0#$%#&'&(

*,#%(5#& *&, ('+(5&7 8'1#2' 5( 0*& 8' 5&('72*(', 5&(# (6' +<+('$9 C&, #1 0#42+'

(6'2' $4+( 8' * %2#0'++ #1 0#$%#&'&( ,'.'/#%$'&(? (65+ 8'5&7 5&,'%'&,'&( #1 (6'

+<+('$ ,'.'/#%$'&( %2#0'++9

W9  6&B720&#&%' <%*;A+2+ *%, 8$&42.24*'2"%Z A& (65+ %6*+' #&' 5$%#2(*&( *0(5.5(< 5+ (#

*&*/<+' (6' %#++585/5(< #1 2'*/5F5&7 (6' +#/4(5#&+ (6*( :5// $''( (6'+'

2'@452'$'&(+9 A& * 0#$%#&'&(38*+', *%%2#*06 (65+ 5$%/5'+ (6*( 5( 5+

&'0'++*2< (# *&*/<F' :6'(6'2 (6'+' 2'@452'$'&(+ 0*& 8' 14/15//', 8< *.*5/*8/'

0#$%#&'&(+9 >65+ $'*&+ (6*( (6' 2'@452'$'&(+ '&75&''2+ $4+( 8' *:*2' #1

0#$%#&'&(+ (6*( 0*& %#++58/< 8' 4+',9 D5&0' 5( 5+ &#( /5B'/< (6*( *%%2#%25*('

0#$%#&'&(+ 0*& */:*<+ 8' 1#4&,? (6'2' 5+ * 25+B (6*( (6' &': 0#$%#&'&(+

6*.' (# 8' 5$%/'$'&(',9 ># B''% :5(6 0#$%#&'&(38*+', *%%2#*06 S*&,

4(5/5F' 5(+ *,.*&(*7'+T #&' %#++585/5(< 5+ (# &'7#(5*(' (6' 2'@452'$'&(+ *&,

$#,51< (6'$ (# 8' *8/' (# 4+' (6' ';5+(5&7 0#$%#&'&(+9a9  8A+'&# *%, 8".'/*0& ?&+21%C D5$5/*2 (# (6' 2'@452'$'&(+ +%'05150*(5#& %6*+'

(6' +<+('$ +%'05150*(5#& *&, ,'+57& 5+ +(2#&7/< 2'/*(', (# (6' *.*5/*85/5(< #1

(6' 0#$%#&'&(+9 >6' %#('&(5*/ 0#$%#&'&(+ *2' 0#$%/<5&7 :5(6 * %*2(504/*2

0#$%#&'&( $#,'/9 J&' 0#4/, *++4$' (6*( 5( :#4/, 8' %#++58/' (# 4+',

0#$%#&'&(+ 5$%/'$'&(', 5& ,511'2'&( 0#$%#&'&( ('06&#/#75'+? 84( 5&

%2*0(50' 5( 5+ .'2< ,511504/( (# *065'.' 5&('2#%'2*85/5(< 8'(:''& ,511'2'&(

0#$%#&'&( $#,'/+9 P*2(504/*2 0#$%#&'&( $#,'/ 2'@452'+ * %*2(504/*2

*2065('0(42*/ 12*$':#2B? *&, (6' *%%/50*(5#& 5+ +4%%#+', (# 4+' (65+

12*$':#2B9 >65+ ,52'0(/< 6*+ 5$%*0( #& *2065('0(42*/ ,'05+5#&+9 `#2 ';*$%/' 51(6' 0#$%#&'&( $#,'/ 2'@452'+ * 0/5'&(3+'2.'2 *2065('0(42' +(</'? 5( 5+ #8.5#4+

(6*( (6' *%%/50*(5#& :5// 4+' (6*( +(</' *&, &#( *&#(6'2 S1#2 ';*$%/' %5%'3

15/('2T9 >65+ :5// %4( /5$5(*(5#&+ #& (6' +<+('$ ,'+57&9 C/+#? #(6'2 %2#%'2(5'+ #1

0#$%#&'&(+ 0*& 6*.' * ,52'0( 5&1/4'&0' #& (6' ,'+57& ,'05+5#&+9 `#2 (65+

2'*+#& (6' ,'+57& %2#0'++ 5+ (576(/< 0#&&'0(', (# (6' *.*5/*85/5(< #1 (6'

0#$%#&'&(+9

b9  D#$;&#&%'*'2"% *%, 7%2' '&+'2%1C X6'& 845/,5&7 0#$%#&'&(38*+', +<+('$?

*& 5,'*/ 0*+' 5+ (# 845/, *& *%%/50*(5#& 8< ,52'0( 5&('72*(5#& #1 0#$%#&'&(+?

i.e. directly connecting components. The “glue code” is a code that specifies

(65+ 0#&&'0(5#&9 A& %2*0(50' (6' 2#/' #1 (6' 7/4' 0#,' :5// */+# 5&0/4,'

*,*%(*(5#& #1 (6' 0#$%#&'&(+? *&, '.'& 5$%/'$'&(*(5#& #1 &': 14&0(5#&+9

A& *& 5,'*/ 0*+' (6' 0#$%#&'&(+ (6'$+'/.'+ *2' */2'*,< 845/( *&, ('+(',9

R#:'.'2 (6' 0#$%#&'&( ('+(+ 5& 5+#/*(5#& *2' &#( +411505'&(9 J1('& ,'+57&

4&5(+ :5// 8' 5$%/'$'&(', *+ *++'$8/5'+ #1 +'.'2*/ 0#$%#&'&(+ *&, %#++58/<

* 7/4' 0#,'9 >6'+' *++'$8/5'+ $4+( 8' ('+(', +'%*2*('/<? +5&0' *& *++'$8/<

#1 0#22'0( 0#$%#&'&(+ $*< 8' 5&0#22'0( */(6#476 (6' 0#$%#&'&(+

(6'$+'/.'+ *2' 0#22'0(9

Page 13: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 13/25

c9  8A+'&# D%'&10*'2"%Z >6' 5&('72*(5#& %2#0'++ 5&0/4,'+ 5&('72*(5#& #1 +(*&,*2,

5&12*+(240(42' 0#$%#&'&(+ (6*( 845/, * 0#$%#&'&( 12*$':#2B *&, (6'

*%%/50*(5#& 0#$%#&'&(+9 >6' 5&('72*(5#& #1 * %*2(504/*2 0#$%#&'&( 5&(# *

+<+('$ 5+ 0*//', * 0#$%#&'&( ,'%/#<$'&(9 A& ,511'2'&0' (# (6' '&(52' +<+('$

5&('72*(5#& * 0#$%#&'&( ,'%/#<$'&( 5+ * $'06*&5+$ 1#2 5&('72*(5#& #1%*2(504/*2 0#$%#&'&(+  –  5( 5&0/4,'+ ,#:&/#*, *&, 2'75+('25&7 #1 (6'

0#$%#&'&(9

N9  8A+'&# E&02.24*'2"% *%, 3*;2,*'2"%C  >6' +(*&,*2, ('+( *&, .'25150*(5#&

('06&5@4'+ *2' 4+', 6'2'9 >6' +%'05150 %2#8/'$ 1#2 0#$%#&'&(38*+',

approach is location of error, especially when components are of “black box”

(<%' *&, ,'/5.'2', 12#$ ,511'2'&( .'&,#2+9 ><%50*//< * 0#$%#&'&( 0*& ';6585(

*& '22#2? 84( (6' 0*4+' #1 (6' $*/14&0(5#& /5'+ 5& *&#(6'2 0#$%#&'&(9

"#&(2*0(4*/ 5&('21*0'+ %/*< *& 5$%#2(*&( 2#/' 5& 06'0B5&7 (6' %2#%'2 5&%4(*&, #4(%4( 12#$ 0#$%#&'&(+9 >6'+' 5&('21*0'+ '&*8/' * +%'05150*(5#& #1

5&%4( *&, #4(%4( *&, 06'0B5&7 (6' 0#22'0(&'++ #1 ,*(*9

\9  F$&0*'2"% *%, G*2%'&%*%4&Z >6' $*5&('&*&0' %2#0'++ 5&0/4,'+ +#$' +('%+

(6*( *2' +5$5/*2 (# (6' 5&('72*(5#& %2#0'++Z C &': #2 $#,515', 0#$%#&'&( 5+

,'%/#<', 5&(# (6' +<+('$9 C/+# 5( $*< 8' &'0'++*2< (# 06*&7' (6' 7/4' 0#,'9

A& $#+( #1 (6' 0*+'+ *& ';5+(5&7 0#$%#&'&( :5// 8' $#,515', #2 * &': .'2+5#&

#1 (6' +*$' 0#$%#&'&( :5// 8' 5&('72*(', 5&(# (6' +<+('$9 J&0' *7*5& &':

%2#8/'$+ 0*4+', 8< 5&0#$%*(585/5(< 8'(:''& 0#$%#&'&(+? #2 8< 82#B'&

,'%'&,'&05'+ $*< #00429 >65+ $'*&+? #&' *7*5& (6*( (6' +<+('$ $4+( 8'

.'2515', S'5(6'2 1#2$*//<? #2 8< +5$4/*(5#&? #2 8< ('+(5&7T9

Page 14: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 14/25

La9 3(45(%6%& 7806) =(2&>8'6 ?%@,%66',%@ Q'846>('V J+&,:,&,60Z

A1 (6' 2'@452'$'&(S+T 0*&&#( 8' 06*&7', #2 ,'/'(',? 0#&.'&(5#&*/ #2 #8='0(3#25'&(',

+#1(:*2' '&75&''25&7 $'(6#,+ *2' *%%/5', (# ,'.'/#% (6#+' &': 0#$%#&'&(+ (6*(

$4+( 8' '&75&''2', (# $''( (6' 2'@452'$'&(S+T9 )4( 1#2 (6#+' 2'@452'$'&(+ (6*( *2'

*,,2'++', :5(6 *.*5/*8/' 0#$%#&'&(+? * ,511'2'&( +'( #1 +#1(:*2' '&75&''25&7*0(5.5(5'+ 0#$$'&0'+Z

*T  "#$%#&'&( ]4*/5150*(5#&Z D<+('$ 2'@452'$'&(+ *&, *2065('0(42' ,'15&' (6'

0#$%#&'&(+ (6*( :5// 8' 2'@452',9 Y'4+*8/' 0#$%#&'&(+ S:6'(6'2 "J>D #2 5&3

6#4+'T *2' &#2$*//< 5,'&(515', 8< (6' 06*2*0('25+(50+ #1 (6'52 5&('21*0'+9 >6*( 5+?

“the services that are provided, and the means by whi06 0#&+4$'2+ *00'++ (6'+'

services” [BRO96] are described as part of the component interface.  )4( (6'

5&('21*0' ,#'+ &#( %2#.5,' * 0#$%/'(' %50(42' #1 (6' ,'72'' (# :6506 (6'

0#$%#&'&( :5// 15( (6' *2065('0(42' *&, 2'@452'$'&(+9 >6' +#1(:*2' '&75&''2

$4+( use a process of discovery and analysis to qualify each component’s  15(9

8T  "#$%#&'&( C,*%(*(5#&Z :' &#(', (6*( +#1(:*2' *2065('0(42' 2'%2'+'&(+

,'+57& %*(('2&+ (6*( *2' 0#$%#+', #1 0#$%#&'&(+ S4&5(+ #1 14&0(5#&*/5(<T?

0#&&'0(5#&+? *&, 0##2,5&*(5#&9 A& '++'&0' (6' *2065('0(42' ,'15&'+ (6' ,'+57&

24/'+ 1#2 *// 0#$%#&'&(+? 5,'&(51<5&7 $#,'+ #1 0#&&'0(5#& *&, 0##2,5&*(5#&9 A&

+#$' 0*+'+? ';5+(5&7 2'4+*8/' 0#$%#&'&(+ $*< 8' $5+$*(06', (# (6'

architecture’s design rules. These components must be  *,*%(', (# $''( (6'

&'',+ #1 (6' *2065('0(42' #2 ,5+0*2,', *&, 2'%/*0', 8< #(6'2? $#2' +45(*8/'

0#$%#&'&(+9

0T  "#$%#&'&( "#$%#+5(5#&Z C2065('0(42*/ +(</' *7*5& %/*<+ * B'< 2#/' 5& (6'

:*< 5& :6506 +#1(:*2' 0#$%#&'&(+ *2' 5&('72*(', (# 1#2$ * :#2B5&7 +<+('$9 )<

5,'&(51<5&7 0#&&'0(5#& *&, 0##2,5&*(5#& $'06*&5+$+ S'979? 24&3(5$' %2#%'2(5'+

#1 (6' ,'+57&T? (6' *2065('0(42' ,50(*('+ (6' 0#$%#+5(5#& #1 (6' '&, %2#,40(9

,T  "#$%#&'&( Q%,*('Z X6'& +<+('$+ *2' 5$%/'$'&(', :5(6 "J>D

0#$%#&'&(+? 4%,*(' 5+ 0#$%/50*(', 8< (6' 5$%#+5(5#& #1 * (652, %*2(< S59'9? (6'

#27*&5F*(5#& (6*( ,'.'/#%', (6' 2'4+*8/' 0#$%#&'&( $*< 8' #4(+5,' (6'

5$$',5*(' 0#&(2#/ #1 (6' +#1(:*2' '&75&''25&7 #27*&5F*(5#&T9

Lb9 3(45(%6%& =(2&>8'6 N'(5(06) B1 ),226'6%& $%)*0&',60Z )'0*4+' (6' %#('&(5*/

5$%*0( #1 2'4+' *&, ")DE #& (6' +#1(:*2' 5&,4+(2< 5+ '&#2$#4+? * &4$8'2 #1 $*=#2

0#$%*&5'+ *&, 5&,4+(2< 0#&+#2(5*a 6*.' %2#%#+', +(*&,*2,+ 1#2 0#$%#&'&(

+#1(:*2'Z

*T  FGHI!F69<Z >6' J8='0( G*&*7'$'&( K2#4% 6*+ %48/5+6', * 4"##"% ")J&4'

0&B7&+' )0"=&0 *04K2'&4'70& SJGKd"JY)CT9 C& #8='0( 2'@4'+( 82#B'2 SJY)T

%2#.5,'+ * .*25'(< #& +'2.50'+ (6*( '&*8/' 2'4+*8/' 0#$%#&'&(+ S#8='0(+T (#

Page 15: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 15/25

0#$$4&50*(' :5(6 #(6'2 0#$%#&'&(+? 2'7*2,/'++ #1 (6'52 /#0*(5#& :5(65& *

+<+('$9 X6'& 0#$%#&'&(+ *2' 845/( 4+5&7 (6' JGKd"JY)C +(*&,*2,? 5&('72*(5#&

#1 (6#+' 0#$%#&'&(+ S:5(6#4( $#,5150*(5#&T :5(65& * +<+('$ 5+ *++42', 51 *&

2%'&0.*4& ,&.2%2'2"% ;*%17*1& SA-VT 5&('21*0' 5+ 02'*(', 1#2 '.'2< 0#$%#&'&(9

Q+5&7 * 0/5'&(d+'2.'2 $'(*%6#2? #8='0(+ :5(65& (6' 0/5'&( *%%/50*(5#& 2'@4'+( #&'#2 $#2' +'2.50'+ 12#$ (6' JY) +'2.'29 Y'@4'+(+ *2' $*,' .5* *& A-V #2

,<&*$50*//< *( 24& (5$'9 C& 5&('21*0' 2'%#+5(#2< 0#&(*5&+ *// &'0'++*2<

information about the service’s request and response formats. 

8T  G240"+".' !FGC G502#+#1( 6*+ ,'.'/#%', * 0#$%#&'&( #8='0( $#,'/ S"JGT (6*(

%2#.5,'+ * +%'05150*(5#& 1#2 4+5&7 0#$%#&'&(+ %2#,40', 8< .*25#4+ .'&,#2+

:5(65& * +5&7/' *%%/50*(5#& 24&&5&7 4&,'2 (6' X5&,#:+ #%'2*(5&7 +<+('$9 "JG

'&0#$%*++'+ (:# '/'$'&(+Z "JG 5&('21*0'+ S5$%/'$'&(', *+ "JG #8='0(+T *&,

* +'( #1 $'06*&5+$+ 1#2 2'75+('25&7 *&, %*++5&7 $'++*7'+ 8'(:''& "JG

interfaces. From the point of view of the application, “the focus is not on how

^"JG #8='0(+ *2'_ 5$%/'$'&(',? #&/< #& (6' 1*0( (6*( (6' #8='0( 6*+ *& 5&('21*0'

(6*( 5( 2'75+('2+ :5(6 (6' +<+('$? *&, (6*( 5( 4+'+ (6' 0#$%#&'&( +<+('$ (#

0#$$4&50*(' :5(6 #(6'2 "JG #8='0(+9” 

0T  8>L M*3*9&*%+ !"#$"%&%'+C  >6' i*.*)'*& 0#$%#&'&( +<+('$ 5+ * %#2(*8/'?

%/*(1#2$ 5&,'%'&,'&( ")DE 5&12*+(240(42' ,'.'/#%', 4+5&7 (6' i*.*

%2#72*$$5&7 /*&74*7'9 >6' i*.*)'*& +<+('$ ';('&,+ (6' i*.* *%%/'(b (#

*00#$$#,*(' (6' $#2' +#%65+(50*(', +#1(:*2' 0#$%#&'&(+ 2'@452', 1#2

0#$%#&'&(38*+', ,'.'/#%$'&(9 >6' i*.*)'*& 0#$%#&'&( +<+('$ '&0#$%*++'+

* +'( #1 (##/+? 0*//', (6' 9&*% ?&3&;"$#&%' N2' S)-jT (6*( *//#:+ ,'.'/#%'2+ (#

SLT *&*/<+' 6#: ';5+(5&7 )'*&+ S0#$%#&'&(+T :#2B? SWT 04+(#$5F' (6'52 8'6*.5#42

*&, *%%'*2*&0'? SaT '+(*8/5+6 $'06*&5+$+ 1#2 0##2,5&*(5#& *&, 0#$$4&50*(5#&9

SbT -'.'/#% 04+(#$ )'*&+ 1#2 4+' 5& * +%'05150 *%%/50*(5#&? *&, ScT ('+( *&,

'.*/4*(' )'*& 8'6*.5#429

Lc9 3(44(% FBG6+& T6W*60& 7'(V6' J'+K,&6+&*'6Z

>6' "#$$#& J8='0( Y'@4'+( )2#B'2 C2065('0(42' S"JY)CT 5+ * +(*&,*2, ,'15&', 8<

(6' J8='0( G*&*7'$'&( K2#4% SJGKT (6*( '&*8/'+ +#1(:*2' 0#$%#&'&(+ :25(('& 5&

$4/(5%/' 0#$%4('2 /*&74*7'+ *&, 24&&5&7 #& $4/(5%/' 0#$%4('2+ (# :#2B (#7'(6'2

S59'9? 5( +4%%#2(+ $4/(5%/' %/*(1#2$+T9

"JY)C 5+ 4+'14/ 8'0*4+' 5( '&*8/'+ +'%*2*(' %5'0'+ #1 +#1(:*2' :25(('& 5& ,511'2'&(

/*&74*7'+ *&, 24&&5&7 #& ,511'2'&( 0#$%4('2+ (# :#2B (#7'(6'2 /5B' * +5&7/'

*%%/50*(5#& #2 +'( #1 +'2.50'+9 G#2' +%'05150*//<? "JY)C 5+ * $'06*&5+$ 5& +#1(:*2'

1#2 &#2$*/5F5&7 (6' $'(6#,30*// +'$*&(50+ 8'(:''& *%%/50*(5#& #8='0(+ 2'+5,5&7

'5(6'2 5& (6' +*$' *,,2'++ +%*0' S*%%/50*(5#&T #2 2'$#(' *,,2'++ +%*0' S+*$' 6#+(?

#2 2'$#(' 6#+( #& * &'(:#2BT9 g'2+5#& L9U :*+ 2'/'*+', 5& J0(#8'2 LMML9 "JY)C

4+'+ *& 5&('21*0' ,'15&5(5#& /*&74*7' SA-VT (# +%'051< (6' 5&('21*0'+ :6506 #8='0(+

%2'+'&( (# (6' #4('2 :#2/,9 "JY)C (6'& +%'0515'+ * #*$$2%1  12#$ A-V (# * +%'05150

Page 16: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 16/25

5$%/'$'&(*(5#& /*&74*7' /5B' "kk #2 i*.*9 D(*&,*2, $*%%5&7+ ';5+( 1#2 C,*? "? "kk? 

V5+%?  Y48<?  D$*//(*/B?  i*.*?  "J)JV?  PVdA *&, P<(6#&9  >6'2' *2' */+# &#&3+(*&,*2,

$*%%5&7+ 1#2 P'2/?  g5+4*/ )*+50?  E2/*&7?  *&, >0/ 5$%/'$'&(', 8< #8='0( 2'@4'+(

82#B'2+ SJY)+T :25(('& 1#2 (6#+' /*&74*7'+9

>6' "JY)C +%'05150*(5#& ,50(*('+ (6'2' +6*// 8' *& JY) (62#476 :6506 *& *%%/50*(5#&

:#4/, 5&('2*0( :5(6 #(6'2 #8='0(+9 A& %2*0(50'? (6' *%%/50*(5#& +5$%/< 5&5(5*/5F'+ (6'

JY)? *&, *00'++'+ *& 5&('2&*/ F)J&4' <,*$'&0 ? :6506 $*5&(*5&+ (65&7+ /5B' 2'1'2'&0'

0#4&(5&7? #8='0( S*&, 2'1'2'&0'T 5&+(*&(5*(5#& %#/505'+? *&, #8='0( /51'(5$' %#/505'+9

>6' J8='0( C,*%('2 5+ 4+', (# 2'75+('2 5&+(*&0'+ #1 (6' 1&%&0*'&, 4",& 4;*++&+9

K'&'2*(', 0#,' 0/*++'+ *2' (6' 2'+4/( #1 0#$%5/5&7 (6' 4+'2 A-V 0#,'? :6506

(2*&+/*('+ (6' 65763/'.'/ 5&('21*0' ,'15&5(5#& 5&(# *& JD3 *&, /*&74*7'3+%'05150 0/*++

8*+' 1#2 4+' 8< (6' 4+'2 *%%/50*(5#&9 >65+ +('% 5+ &'0'++*2< 5& #2,'2 (# '&1#20' "JY)C

+'$*&(50+ *&, %2#.5,' * 0/'*& 4+'2 %2#0'++ 1#2 5&('21*05&7 :5(6 (6' "JY)C5&12*+(240(42'9

D#$' A-V /*&74*7' $*%%5&7+ *2' l$#2' 6#+(5/'l (6*& #(6'2+9 `#2 ';*$%/'? ,4' (#

(6' &*(42' #1 i*.*? (6' A-V3i*.* G*%%5&7 5+ 2*(6'2 +(2*576(1#2:*2, *&, $*B'+ 4+*7'

#1 "JY)C .'2< +5$%/' 5& * i*.* *%%/50*(5#&9 >6' "kk $*%%5&7 5+ /'++ +(2*576(1#2:*2,?

84( 5( *00#4&(+ 1#2 *// "JY)C 1'*(42'+ S'979? ';0'%(5#& 6*&,/5&7T9 >6' " $*%%5&7 5+

'.'& +(2*&7'2 S+5&0' " 5+ &#( *& #8='0(3#25'&(', /*&74*7'T? 84( 5( ,#'+ $*B' +'&+'

*&, %2#%'2/< 6*&,/'+ (6' YP" +'$*&(50+9

C /*&74*7' $*%%5&7 2'@452'+ (6' ,'.'/#%'2 Sl4+'2l 5& (65+ 0*+'T (# 02'*(' +#$' A-V

0#,' (6*( 2'%2'+'&(+ (6' 5&('21*0'+ (# 65+ #8='0(+9 ><%50*//<? * "JY)C

5$%/'$'&(*(5#& 0#$'+ :5(6 * (##/ 0*//', *& A-V 0#$%5/'2 :6506 0#&.'2(+ (6' 4+'2H+

A-V 0#,' 5&(# +#$' /*&74*7'3+%'05150 7'&'2*(', 0#,'9 C (2*,5(5#&*/ 0#$%5/'2 (6'&

0#$%5/'+ (6' 7'&'2*(', 0#,' (# 02'*(' (6' /5&B*8/'3#8='0( 15/'+ 1#2 (6' *%%/50*(5#&9

>65+ ,5*72*$ 5//4+(2*('+ 6#: (6' 7'&'2*(', 0#,' 5+ 4+', :5(65& (6' "JY)C

5&12*+(240(42'Z

Page 17: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 17/25

>65+ 15742' 5//4+(2*('+ (6' 65763/'.'/ %*2*,57$ 1#2 2'$#(' 5&('2%#+'+ 0#$$4&50*(5#&+

4+5&7 "JY)C9 A++4'+ &#( *,,2'++', 6'2'? <'( *00#4&(',31#2 5& (6' "JY)C

+%'05150*(5#& 5&0/4,'Z ,*(* (<%5&7? ';0'%(5#&+? &'(:#2B %2#(#0#/? 0#$$4&50*(5#&

(5$'#4(+? '(09 `#2 ';*$%/'Z I#2$*//< (6' +'2.'2 +5,' 6*+ (6' P#2(*8/' J8='0( C,*%('2

SPJCT (6*( 2',52'0(+ 0*// '5(6'2 (# (6' /#0*/ +'2.*&(+ #2 S(# 8*/*&0' (6' /#*,T (# (6'#(6'2 +'2.'2+9 C/+#? 8#(6 +'2.'2 *&, 0/5'&( %*2(+ #1('& 6*.' 5&('20'%(#2+ (6*( *2'

,'+0258', 8'/#:9 A++4'+ "JY)C S*&, (64+ (65+ 15742'T ,# &#( *,,2'++? 84( (6*( *//

,5+(2584(', +<+('$+ $4+( *,,2'++Z #8='0( /51'(5$'+? 2',4&,*&0<d1*5/3#.'2? &*$5&7

+'$*&(50+ S8'<#&, * +5$%/' &*$'T? $'$#2< $*&*7'$'&(? ,<&*$50 /#*, 8*/*&05&7?

+'%*2*(5#& #1 $#,'/ 8'(:''& ,5+%/*<d,*(*d0#&(2#/ +'$*&(50+? '(09

O2#2'*'2"%+ ". 8'*%,*0, !F69< G",&;C

  L" +'*%,*0, /*A '" ,&$;"A ")J&4' 2#$;&#&%'*'2"%+Z A( ,5, &#( ,'15&' *

+(*&,*2, 1#2 ,'%/#<$'&( #1 #8='0( 5$%/'$'&(*(5#&+ 5& +'2.'2 %2#0'++'+9

  O2#2'&, +'*%,*0, +7$$"0' ."0 4"##"% !F69< +&03&0 $0"10*##2%1 $*''&0%+ Z

P2#.5,'+ * 2506 +'( #1 1'*(42'+ (# 5$%/'$'&( +'2.'2+

  V5$5(', ';('&+5#& #1 #8='0( 14&0(5#&*/5(<Z A& (6' (2*,5(5#&*/ "JY)C #8='0(

$#,'/? #8='0(+ 0*& 8' ';('&,', #&/< .5* 5&6'25(*&0' *&, $4/(5%/' 5&6'25(*&0' 0*&&#(

';%#+' (6' +*$' 5&('21*0' $#2' (6*& #&0'? &#2 0*& 5( */#&' ,'('2$5&' :6506

5&('21*0' +6#4/, 8' ';%#2(', (# 0/5'&(+

  C.*5/*85/5(< #1 "JY)C #8='0( D'2.'2 5+ &#( ,'15&', 5& *,.*&0'

 

I# +(*&,*2, J8='0( V51' 0<0/' G*&*7'$'&(

"L# 3FT7J 3(45(%6%& R()6; C33RD-

"JY)C "#$%#&'&( G#,'/ S""GT 5+ *& *,,5(5#& (# (6' 1*$5/< #1 "JY)C ,'15&5(5#&+9 A(

:*+ 5&(2#,40', :5(6 "JY)C a *&, 5( ,'+0258'+ * +(*&,*2, *%%/50*(5#& 12*$':#2B 1#2

"JY)C 0#$%#&'&(+9 >6#476 &#( ,'%'&,'&( #& l/*&74*7' 5&,'%'&,'&( E&('2%25+'

i*.* )'*&+ SEi)Tl? 5( 5+ * $#2' 7'&'2*/ 1#2$ #1 Ei)? %2#.5,5&7 1#42 0#$%#&'&( (<%'+

5&+('*, #1 (6' (:# (6*( Ei) ,'15&'+9 A( %2#.5,'+ *& *8+(2*0(5#& #1 '&(5(5'+ (6*( 0*&

%2#.5,' *&, *00'%( +'2.50'+ (62#476 :'//3,'15&', &*$', 5&('21*0'+ 0*//', $"0'+9

>6' ""G 6*+ * 0#$%#&'&( 0#&(*5&'2? :6'2' +#1(:*2' 0#$%#&'&(+ 0*& 8' ,'%/#<',9

>6' 0#&(*5&'2 #11'2+ * +'( #1 +'2.50'+ (6*( (6' 0#$%#&'&(+ 0*& 4+'9 >6'+' +'2.50'+

5&0/4,' S84( *2' &#( /5$5(', (#T &#(5150*(5#&?  *4(6'&(50*(5#&?  %'2+5+('&0' *&,(2*&+*0(5#& %2#0'++5&79  >6'+' *2' (6' $#+(34+', +'2.50'+ *&< ,5+(2584(', +<+('$

Page 18: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 18/25

2'@452'+? *&,? 8< $#.5&7 (6' 5$%/'$'&(*(5#& #1 (6'+' +'2.50'+ 12#$ (6' +#1(:*2'

0#$%#&'&(+ (# (6' 0#$%#&'&( 0#&(*5&'2? (6' 0#$%/';5(< #1 (6' 0#$%#&'&(+ 5+

,2*$*(50*//< 2',40',9

?2+*,3*%'*1&+ ". !!G G",&;C

  ""G D%'05150*(5#&+ *2' .'2< /*27' *&, 0#$%/';

  C+ :5(6 "JY)C +%'05150*(5#&+ +'.'2*/ <'*2+ *7#? 5( 5+ +(5// 6*2, (# '.*/4*(' (6'

@4*/5(< *&, %'21#2$*&0' #1 ""G 5$%/'$'&(*(5#&+

  A&('2/5&B5&7 #1 "#$%#&'&(+ *&, (6' 0#&(*5&'2 *2' .'2< ,511504/( (#

4&,'2+(##,

17.  3;800,21,%@ 8%) T6&',6:,%@ 3(45(%6%&0- "#&+5,'2 * /*27' 4&5.'2+5(< /582*2<9 >'&+ #1

(6#4+*&,+ #1 8##B+? %'25#,50*/+? *&, #(6'2 5&1#2$*(5#& 2'+#420'+ *2' *.*5/*8/' 1#2

4+'9 )4( (# *00'++ (6'+' 2'+#420'+? * 0*('7#25F*(5#& +06'$' $4+( 8' ,'.'/#%',9 >#

&*.57*(' (65+ /*27' .#/4$' #1 5&1#2$*(5#&? /582*25*&+ 6*.' ,'15&', * 0/*++5150*(5#&

+06'$' (6*( 5&0/4,'+ * V582*2< #1 "#&72'++ 0/*++5150*(5#& 0#,'? B'<:#2,+? *4(6#2

&*$'+? *&, #(6'2 5&,'; '&(25'+9 C// '&*8/' (6' 4+'2 (# 15&, (6' &'',', 2'+#420'

@450B/< *&, '*+5/<9 I#:? 0#&+5,'2 * /*27' 0#$%#&'&( 2'%#+5(#2<9 >'&+ #1 (6#4+*&,+

#1 2'4+*8/' +#1(:*2' 0#$%#&'&(+ 2'+5,' 5& 5(9 )4( 6#: ,#'+ * +#1(:*2' '&75&''2 15&,

(6' #&' +6' &'',+[ ># *&+:'2 (65+ @4'+(5#&? *&#(6'2 @4'+(5#& *25+'+Z R#: ,# :'

,'+0258' +#1(:*2' 0#$%#&'&(+ 5& 4&*$8574#4+? 0/*++515*8/' ('2$+[ >6'+' *2'

,511504/( @4'+(5#&+? *&, &# ,'15&5(5.' *&+:'2 6*+ <'( 8''& ,'.'/#%',9 A& (65+ +'0(5#&

:' ';%/#2' 0422'&( ,52'0(5#&+ (6*( :5// '&*8/' 14(42' +#1(:*2' '&75&''2+ (# &*.57*('

2'4+' /582*25'+9 

-'+02585&7 Y'4+*8/' "#$%#&'&(Z C 2'4+*8/' +#1(:*2' 0#$%#&'&( 0*& 8' ,'+0258',

5& $*&< :*<+? 84( *& 5,'*/ ,'+025%(5#& '&0#$%*++'+ :6*( >2*0F ^>YCMU_ 6*+ 0*//',

(6' P! #",&; —0#&0'%(? 0#&('&( *&, 0#&(';(9 >6' 4"%4&$' #1 * +#1(:*2' 0#$%#&'&(is “a description of what the component does” [WHI95]. The interface to the

0#$%#&'&( 5+ 14//< ,'+0258', *&, (6' +'$*&(50+— 2'%2'+'&(', :5(65& (6' 0#&(';( #1

%2'3 *&, %#+(0#&,5(5#&+—*2' 5,'&(515',9 >6' 0#&0'%( +6#4/, 0#$$4&50*(' (6' 5&('&(

#1 (6' 0#$%#&'&(9 >6' 4"%'&%' #1 * 0#$%#&'&( ,'+0258'+ 6#: (6' 0#&0'%( 5+

2'*/5F',9 A& '++'&0'? (6' 0#&('&( 5+ 5&1#2$*(5#& (6*( 5+ 65,,'& 12#$ 0*+4*/ 4+'2+ *&,

&'', 8' B&#:& #&/< (# (6#+' :6# 5&('&, (# $#,51< #2 ('+( (6' 0#$%#&'&(9 >6'

4"%'&Q' %/*0'+ * 2'4+*8/' +#1(:*2' 0#$%#&'&( :5(65& 5(+ ,#$*5& #1 *%%/50*85/5(<9

>6*( 5+? 8< +%'051<5&7 0#&0'%(4*/? #%'2*

Page 19: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 19/25

(5#&*/? *&, 5$%/'$'&(*(5#& 1'*(42'+? (6' 0#&(';( '&*8/'+ * +#1(:*2' '&75&''2 (# 15&,

(6' *%%2#%25*(' 0#$%#&'&( (# $''( *%%/50*(5#& 2'@452'$'&(+9

!;*++2.24*'2"% 84K&#&C

-511'2'&( %*%'2+ 6*.' 8''& %48/5+6', 8*+', #& 0/*++5150*(5#& +06'$'9 >6' $*=#25(<

#1 0/*++5150*(5#& +06'$'+ 1#2 +#1(:*2' 0#$%#&'&(+ 1*// 5&(# (62'' 0*('7#25'+Z

*T  R%7#&0*'&, !;*++2.24*'2"%Z "#$%#&'&(+ *2' ,'+0258', 8< * 65'2*20650*/ +(240(42' 5&

:6506 0/*++'+ *&, .*2<5&7 /'.'/+ #1 +480/*++'+ #1 +#1(:*2' 0#$%#&'&(+ *2' ,'15&',9

C0(4*/ 0#$%#&'&(+ *2' /5+(', *( (6' /#:'+( /'.'/ #1 *&< %*(6 5& (6' '&4$'2*(',

65'2*206<9 >6' 65'2*20650*/ +(240(42' #1 *& '&4$'2*(', 0/*++5150*(5#& +06'$' $*B'+

5( '*+< (# 4&,'2+(*&, *&, (# 4+'9 R#:'.'2? 8'1#2' * 65'2*206< 0*& 8' 845/(? ,#$*5&

'&75&''25&7 $4+( 8' 0#&,40(', +# (6*( +411505'&( B&#:/',7' #1 (6' %2#%'2 '&(25'+ 5&

(6' 65'2*206< 5+ *.*5/*8/'98T  S*4&'&, !;*++2.24*'2"%Z C ,#$*5& *2'* 5+ *&*/<F', *&, * +'( #1 8*+50 ,'+025%(5.'

1'*(42'+ *2' 5,'&(515',9 >6'+' 1'*(42'+? 0*//',  .*4&'+5 *2' (6'& 2*&B', 8< 5$%#2(*&0'

*&, 0#&&'0(', (# * 0#$%#&'&(9 C 1*0'( 0*& ,'+0258' (6' 14&0(5#& (6*( (6'

0#$%#&'&( %'21#2$+? (6' ,*(* (6*( *2' $*&5%4/*(',? (6' 0#&(';( 5& :6506 (6'< *2'

*%%/5',? #2 *&< #(6'2 1'*(42'9 >6' +'( #1 1*0'(+ (6*( ,'+0258' * 0#$%#&'&( 5+ 0*//',

(6' .*4&' ,&+402$'"0@ K'&'2*//<? (6' 1*0'( ,'+025%(5#& 5+ /5$5(', (# &# $#2' (6*& +'.'&

#2 '576( 1*0'(+9 C+ * +5$%/' 5//4+(2*(5#& #1 (6' 4+' #1 1*0'(+ 5& 0#$%#&'&(

0/*++5150*(5#&? 0#&+5,'2 * +06'$' ^VACMa_ (6*( $*B'+ 4+' #1 (6' 1#//#:5&7 1*0'(

,'+025%(#2Z e14&0(5#&? #8='0( (<%'? +<+('$ (<%'f E*06 1*0'( 5& (6' 1*0'( ,'+025%(#2(*B'+ #& #&' #2 $#2' .*/4'+ (6*( *2' 7'&'2*//< ,'+025%(5.' B'<:#2,+9 `#2 ';*$%/'? 51

 .7%4'2"% 5+ * 1*0'( #1 * 0#$%#&'&(? (<%50*/ .*/4'+ *++57&', (# (65+ 1*0'( $576( 8'

 .7%4'2"% m S4"$A5 .0"#T #2 S4"$A5 0&$;*4&5 *;; T

0T   <''02)7'&(3*;7& !;*++2.24*'2"%Z C +'( #1 *((2584('+ 5+ ,'15&', 1#2 *// 0#$%#&'&(+ 5& *

,#$*5& *2'*9 g*/4'+ *2' (6'& *++57&', (# (6'+' *((2584('+ 5& $406 (6' +*$' :*< *+

1*0'(', 0/*++5150*(5#&9 A& 1*0(? *((2584(' .*/4' 0/*++5150*(5#& 5+ +5$5/*2 (# 1*0'(',

0/*++5150*(5#& :5(6 (6' 1#//#:5&7 ';0'%(5#&+Z SLT &# /5$5( 5+ %/*0', #& (6' &4$8'2 #1

*((2584('+ (6*( 0*& 8' 4+',h SWT *((2584('+ *2' &#( *++57&', %25#25(5'+? *&, SaT (6'

(6'+*424+ 14&0(5#& 5+ &#( 4+',9

LO9 T6*06 ?%:,'(%46%&-  D#1(:*2' 0#$%#&'&( 2'4+' $4+( 8' +4%%#2(', 8< *&

'&.52#&$'&( (6*( '&0#$%*++'+ (6' 1#//#:5&7 '/'$'&(+Z

• A component database capable of storing software components and the

0/*++5150*(5#& 5&1#2$*(5#& &'0'++*2< (# 2'(25'.' (6'$9

• C /582*2< $*&*7'$'&( +<+('$ (6*( %2#.5,'+ *00'++ (# (6' ,*(*8*+'9

• A software component retrieval system S'979? *& #8='0( 2'@4'+( 82#B'2T (6*(

'&*8/'+ * 0/5'&( *%%/50*(5#& (# 2'(25'.' 0#$%#&'&(+ *&, +'2.50'+ 12#$ (6' /582*2<

+'2.'29

Page 20: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 20/25

 

• CBSE tools that support the integration of reused components into a new design

#2 5$%/'$'&(*(5#&9

C 0#$%#&'&( 0/*++5150*(5#& +06'$' +'2.'+ *+ (6' 8*+5+ 1#2 /582*2< @4'25'+9 ]4'25'+

*2' #1('& 06*2*0('25F', 4+5&7 (6' 0#&(';( '/'$'&( #1 (6' a" $#,'/ ,'+0258', '*2/5'25& (65+ +'0(5#&9 A1 *& 5&5(5*/ @4'2< 2'+4/(+ 5& * .#/4$5&#4+ /5+( #1 0*&,5,*('

0#$%#&'&(+? (6' @4'2< 5+ 2'15&', (# &*22#: (6' /5+(9 "#&0'%( *&, 0#&('&(

5&1#2$*(5#& *2' (6'& ';(2*0(', S*1('2 0*&,5,*(' 0#$%#&'&(+ *2' 1#4&,T (# *++5+( (6'

,'.'/#%'2 5& +'/'0(5&7 (6' %2#%'2 0#$%#&'&(9

LM9 $458+& (% X*8;,&1Y N'()*+&,:,&1 8%) 3(0&- "#$%#&'&(38*+', +#1(:*2' '&75&''25&7

6*+ *& 5&(45(5.' *%%'*/9 A& (6'#2<? 5( +6#4/, %2#.5,' * +#1(:*2' #27*&5F*(5#& :5(6

*,.*&(*7'+ 5& @4*/5(< *&, (5$'/5&'++9 C&, (6'+' +6#4/, (2*&+/*(' 5&(# 0#+( +*.5&7+9

)4( *2' (6'2' 6*2, ,*(* (6*( +4%%#2( #42 5&(45(5#&[ ># *&+:'2 (65+ @4'+(5#& :' $4+(152+( 4&,'2+(*&, :6*( *0(4*//< 0*& 8' 2'4+', 5& * +#1(:*2' '&75&''25&7 0#&(';( *&,

(6'& :6*( (6' 0#+(+ *++#05*(', :5(6 2'4+' 2'*//< *2'9 C+ * 0#&+'@4'&0'? 5( 5+ %#++58/'

(# ,'.'/#% * 0#+(d8'&'15( *&*/<+5+ 1#2 0#$%#&'&( 2'4+'9

*T  :7*;2'AC  A& *& 5,'*/ +'((5&7? * +#1(:*2' 0#$%#&'&( (6*( 5+ ,'.'/#%', 1#2 2'4+'

:#4/, 8' .'2515', (# 8' 0#22'0( *&, :#4/, 0#&(*5& &# ,'1'0(+9 A& 2'*/5(<? 1#2$*/

.'25150*(5#& 5+ &#( 0*225', #4( 2#4(5&'/<? *&, ,'1'0(+ 0*& *&, ,# #00429 R#:'.'2?

:5(6 '*06 2'4+'? ,'1'0(+ *2' 1#4&, *&, '/5$5&*(',? *&d a component’s quality

5$%2#.'+ *+ * 2'+4/(9 J.'2 (5$'? (6' 0#$%#&'&( 8'0#$'+ .52(4*//< ,'1'0( 12''9 A&

* +(4,< 0#&,40(', *( R':/'(( P*0B*2,? V5$ ^VAGMb_ 2'%#2(+ (6*( (6' ,'1'0( 2*('

1#2 2'4+', 0#,' 5+ U9M ,'1'0(+ %'2 jVJ"? :65/' (6' 2*(' 1#2 &':/< ,'.'/#%',

+#1(:*2' 5+ b9L ,'1'0(+ %'2 jVJ"9 `#2 *& *%%/50*(5#& (6*( :*+ 0#$%#+', #1 NO

%'20'&( 2'4+', 0#,'? (6' ,'1'0( 2*(' :*+ W9U ,'1'0(+ %'2 jVJ"—* cL %'20'&(

5$%2#.'$'&( 12#$ (6' ';%'0(', 2*('? 6*, (6' *%%/50*(5#& 8''& ,'.'/#%',

:5(6#4( 2'4+'9 R'&2< *&, `*//'2 ^REIMc_ 2'%#2( * ac %'20'&( 5$%2#.'$'&( 5&

@4*/5(<9 C/(6#476 *&'0,#(*/ 2'%#2(+ +%*& * 2'*+#&*8/< :5,' +%'0(24$ #1 @4*/5(<

5$%2#.'$'&( %'20'&(*7'+? 5( 5+ 1*52 (# +(*(' (6*( 2'4+' %2#.5,'+ * &#&(25.5*/

8'&'15( 5& ('2$+ #1 (6' @4*/5(< *&, 2'/5*85/5(< 1#2 ,'/5.'2', +#1(:*2'9

8T  T0",74'232'AC  X6'& 2'4+*8/' 0#$%#&'&(+ *2' *%%/5', (62#476#4( (6' +#1(:*2'

%2#0'++? /'++ (5$' 5+ +%'&( 02'*(5&7 (6' %/*&+? $#,'/+? ,#04$'&(+? 0#,'? *&, ,*(*

(6*( *2' 2'@452', (# 02'*(' * ,'/5.'2*8/' +<+('$9 A( 1#//#:+ (6*( (6' +*$' /'.'/ #1

14&0(5#&*/5(< 5+ ,'/5.'2', (# (6' 04+(#$'2 :5(6 /'++ 5&%4( '11#2(9 R'&0'?

%2#,40(5.5(< 5+ 5$%2#.',9 C/(6#476 %'20'&(*7' %2#,40(5.5(< 5$%2#.'$'&( 2'%#2(+

*2' &#(#25#4+/< ,511504/( (# 5&('2%2'(?O 5( *%%'*2+ (6*( aU (# cU %'20'&( 2'4+' 0*&

2'+4/( 5& %2#,40(5.5(< 5$%2#.'$'&(+ 5& (6' Wc –bU %'20'&( 2*&7'9

0T  !"+'C  >6' &'( 0#+( +*.5&7+ 1#2 2'4+' *2' '+(5$*(', 8< %2#='0(5&7 (6' 0#+( #1 (6'

%2#='0( 51 5( :'2' ,'.'/#%', 12#$ +02*(06? !+? *&, (6'& +48(2*0(5&7 (6' +4$ #1 (6'

Page 21: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 21/25

0#+(+ *++#05*(', :5(6 2'4+'? !0 ? *&, (6' *0(4*/ 0#+( #1 (6' +#1(:*2' *+ ,'/5.'2',?

!, 9 !+ 0*& 8' ,'('2$5&', 8< *%%/<5&7 #&' #2 $#2' #1 (6' '+(5$*(5#& ('06&5@4'+9

>6' 0#+(+ *++#05*(', :5(6 2'4+'? !0 ? 5&0/4,'

• Domain analysis and modeling. 

• Domain architecture development. • Increased documentat5#& (# 1*05/5(*(' 2'4+'9

• Support and enhancement of reuse components. 

• Royalties and licenses for externally acquired components. 

• Creation or acquisition and operation of a reuse repository. 

• Training of personnel in design and construction for 2'4+'9

C/(6#476 0#+(+ *++#05*(', :5(6 ,#$*5& *&*/<+5+ *&, (6' #%'2*(5#& #1 * 2'4+'

2'%#+5(#2< 0*& 8' +48+(*&(5*/? $*&< #1 (6' #(6'2 0#+(+ &#(', 6'2' *,,2'++ 5++4'+

(6*( *2' %*2( #1 7##, +#1(:*2' '&75&''25&7 %2*0(50'? :6'(6'2 #2 &#( 2'4+' 5+ *

%25#25(<.

WU9 3(0& J%8;10,0 Z0,%@ =&'*+&*'6 N(,%&0-  :' ,'15&', * +(240(42' %#5&( *+ *&

*2065('0(42*/ %*(('2& (6*( 2'042+ (62#476#4( * %*2(504/*2 *%%/50*(5#& ,#$*5&9 C

+#1(:*2' ,'+57&'2 S#2 +<+('$ '&75&''2T 0*& ,'.'/#% *& *2065('0(42' 1#2 * &':

*%%/50*(5#&? +<+('$? #2 %2#,40( 8< ,'15&5&7 * ,#$*5& *2065('0(42' *&, (6'&

%#%4/*(5&7 5( :5(6 +(240(42' %#5&(+9 >6'+' +(240(42' %#5&(+ *2' '5(6'2 5&,5.5,4*/

2'4+*8/' 0#$%#&'&(+ #2 %*0B*7'+ #1 2'4+*8/' 0#$%#&'&(+9 D5&0' *// +(240(42'

%#5&(+ S*&, 2'4+*8/' 0#$%#&'&(+ 5& 7'&'2*/T 6*.' * %*+( 65+(#2<? 0#+( ,*(* 0*& 8'

0#//'0(', 1#2 '*069 A& *& 5,'*/ +'((5&7? (6' @4*/5150*(5#&? *,*%(*(5#&? 5&('72*(5#& *&,

$*5&('&*&0' 0#+(+ *++#05*(', :5(6 '*06 0#$%#&'&( 5& * 2'4+' /582*2< 5+ $*5&(*5&',

1#2 '*06 5&+(*&0' #1 4+*7'9 >6'+' ,*(* 0*& (6'& 8' *&*/<F', (# ,'.'/#% %2#='0(',

0#+(+ 1#2 (6' &';( 5&+(*&0' #1 2'4+'9

  "#&+5,'2 * &': *%%/50*(5#&? U ? (6*( 2'@452'+ NU %'20'&( &': 0#,' *&, (6' 2'4+' #1

(62'' +(240(42' %#5&(+? DPL? DPW? *&, DPa9 E*06 #1 (6'+' 2'4+*8/' 0#$%#&'&(+ 6*+

8''& 4+', 5& * &4$8'2 #1 #(6'2 *%%/50*(5#&+ *&, *.'2*7' 0#+(+ 1#2 @4*/5150*(5#&?

*,*%(*(5#&? 5&('72*(5#&? *&, $*5&('&*&0' *2' *.*5/*8/'9

 

># '+(5$*(' (6' '11#2( 2'@452', (# ,'/5.'2 U ? (6' 1#//#:5&7 $4+( 8' ,'('2$5&',Z

#.'2*// '11#2( m R &': k R @4*/ k R *,*%( k R 5&(

:6'2'

R &': m '11#2( 2'@452', (# '&75&''2 *&, 0#&+(240( &': +#1(:*2' 0#$%#&'&(+

R @4*/ m '11#2( 2'@452', (# @4*/51< DPL? DPW? *&, DPa9

R *,*%( m '11#2( 2'@452', (# *,*%( DPL? DPW? *&, DPa9

R 5&( m '11#2( 2'@452', (# 5&('72*(' DPL? DPW? *&, DPa9

>6' '11#2( 2'@452', (# @4*/51<? *,*%(? *&, 5&('72*(' DPL? DPW? *&, DPa 5+ ,'('2$5&',

8< (*B5&7 (6' *.'2*7' #1 65+(#250*/ ,*(*

Page 22: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 22/25

 

."# 9,08):8%&8@60 (2 379-

>6' $*5& ,5+*,.*&(*7'+ #1 ")- *2' 75.'& 8'/#:Z

L9  5( 5+ .'2< ,511504/( (# 845/, (6' '&.52#&$'&( (6*( 5+ 15((', (# 0#$%#&'&(

W9 

"#&0'%( #1 2'4+'Z A,'*//< +%'*B5&7? +(*&,*2,+ *2' &'',', 2'7*2,5&7 $5,,/':*2' 5&:6506 (6' 0#$%#&'&( 5+ +4%%#+', (# :#2B9 SG5,,/':*2'Z C 0#$$4&50*(5#& /*<'2

:6506 '&*8/'+ 0#$%#&'&(+ (# 5&('2*0( :5(6 6576'2 /'.'/ 0#$%#&'&( 5& * &'(:#2BT9

)4( *$#&7 (6' (62'' +(*&,*2,+ *.*5/*8/'? #&/< "JY)C 5+ /*&74*7' 5&,'%'&,'&(9

R'&0' (6' 0#$%*25+#& 5+ &#( .5*8/' *$#&7 (6' +(*&,*2,+9

..# J):8%&8@60 (2 379-

L9  1/';585/5(<Z 24&(5$' 0#$%#&'&(+ 0*& :#2B 5&,'%'&,'&(/< 51 %2#%'2/< ,'+57&', *&,

(6'< *2' /'++ ,'%'&,'&( #& (6' '&.52#&$'&(

W9 

Y'4+'Z J&0' ,'.'/#%',? 5( 0*& 8' 4+', '.'2<:6'2' 2'7*2,5&7 (6' %2#72*$$5&7/*&74*7' *&, JD9 )4( ,#$*5& '&75&''25&7 +6#4/, 8' B'%( 5& $5&,

a9  E*+< (# $*5&(*5& 8'0*4+' 5,'*//< (6' 14&0(5#&*/5(< 5+ 5$%/'$'&(', #&0'

b9  ,'.'/#%$'&( 0#+( 5+ $406 /#:'2

c9  V'++'2 (5$' 2'@452', (# 845/, (6' +#1(:*2'

.<# J):8%+646%& ,% 3(45(%6%& 7806) J55'(8+K-

"#$%#&'&(38*+', D#1(:*2' E&75&''25&7 S")DET 6*+ '$'27', *+ * ('06&#/#7< 1#2 (6'

2*%5, *++'$8/< #1 1/';58/' +#1(:*2' +<+('$+9 ")DE 0#$85&'+ '/'$'&(+ #1 +#1(:*2'

*2065('0(42'? $#,4/*2 +#1(:*2' ,'+57&? +#1(:*2' .'25150*(5#&? 0#&15742*(5#& *&,

,'%/#<$'&(9 ># 1#+('2 ';06*&7' *&, 0#//*8#2*(5#& :5(6 (6' +#1(:*2' *2065('0(42'

0#$$4&5(<? ")DE 5+ 0#/#0*(', :5(6 (6' ]4*/5(< #1 D#1(:*2' C2065('0(42'+ "#&1'2'&0'

S]#DCT *&, (6' A&('2&*(5#&*/ D<$%#+54$ #& C2065('0(5&7 "25(50*/ D<+('$+ SADCY"DT*+

%*2( #1 (6' 1','2*(', "#$%C206 '.'&(9

>6' (6'#2'(50*/ 1#4&,*(5#&+ #1 0#$%#&'&( +%'05150*(5#&? 0#$%#+5(5#&? *&*/<+5+ *&,

.'25150*(5#& 0#&(5&4' (# %#+' 2'+'*206 06*//'&7'+9 X65/' (6' '&75&''25&7 $#,'/+ *&,

$'(6#,+ 1#2 0#$%#&'&( +#1(:*2' ,'.'/#%$'&( *2' +/#:/< $*(425&7? &': (2'&,+ 5&

7/#8*/ +'2.50'+? ,5+(2584(', +<+('$+ *2065('0(42'+? *&, /*27' +0*/' +#1(:*2' +<+('$+

(6*( 02#++ #27*&5F*(5#&*/ 8#4&,*25'+ %4+6 (6' /5$5(+ #1 '+(*8/5+6', *&, ('+(',

0#$%#&'&(38*+', $'(6#,+? (##/+ *&, %/*(1#2$+Z

  $#,'/3,25.'& ,'.'/#%$'&( *&, 725, ('06&#/#75'+ :5(6 (6'52 65763%'21#2$*&0'

,'$*&,+ 5& $*++5.' ,*(* +(#2*7'? 0#$%4(*(5#&*/ 0#$%/';5(< *&, 7/#8*/ 0#3

+06',4/5&7 #1 +05'&(5150 $#,'/+ 5& 1/*7+65% +05'&0'? ('06&#/#7< *&, $',505&'

2'+'*206h

Page 23: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 23/25

  7/#8*/ +#1(:*2' ,'.'/#%$'&( :5(6 5(+ /#:'25&7 #1 0#+( #1 +#1(:*2' 0*%*85/5(5'+ *&,

%2#,40(5#&? (62#476 *4(#$*(5#&? #113+6#25&7 *&, #4(+#4205&7 #1 B'< 0#$%#&'&(+

*&, +48+<+('$+h

  &'(:#2B', '&('2%25+' 5&1#2$*(5#& +<+('$+ *&, +'2.50'+ *2065('0(42'+ 02#++5&7

'&('2%25+'? &*(5#&? /'7*/ *&, ,5+05%/5&' 8#4&,*25'+h  +651( 12#$ S7/#8*//< ,5+(2584(',T +#1(:*2' %2#,40(+ (# %'2.*+5.' *&, 485@45(#4+

+'2.50'+ +4%%#2(', 8< ,''% +#1(:*2'35&('&+5.' 5&12*+(240(42'+ *&, $5,,/':*2' *&,

8< 5&02'*+5&7/< 1/';58/'? *,*%(5.' *&, *4(#&#$#4+ 0/5'&( *&, *%%/50*(5#& +'2.'2

+#1(:*2'9

A& (6' ")DE WULU ('06&50*/ +<$%#+54$ 1#//#:5&7 (#%50+ :'2' ,5+04++', 8*+', #&

2'0'&( *,.*&0'$'&( 5& 0#$%#&'&( 8*+', *%%2#*069

 

-'+57& #1 0#$%#&'&( $#,'/+  >6'#25'+ S5&0/4,5&7 (*;#&#$5'+T #1 +#1(:*2' 0#$%#+5(5#& *&, 85&,5&7

  "##2,5&*(5#& *&, 06#2'#72*%6< #1 0#$%#&'&( +#1(:*2'? +'2.50'+? :#2B1/#:+

  Y4&3(5$' *,*%(*(5#& #1 0#$%#&'&(38*+', +<+('$+

  A&('2*0(5#& 8'(:''& 0#$%#&'&( $#,'/+? +#1(:*2' *2065('0(42'+ *&, %2#,40(

/5&'+

  "#$%#&'&(38*+', :'8 +'2.50'+ *&, +'2.50'3#25'&(', *2065('0(42'

  -'0/*2*(5.'? 24/'38*+', $*&*7'$'&( #1 0#$%#&'&(38*+', +<+('$+

  D#1(:*2' @4*/5(< *&, ';(2*314&0(5#&*/ %2#%'2(5'+ 1#2 0#$%#&'&(+ *&,

0#$%#&'&(38*+', +<+('$+

  K/#8*/ 7'&'2*(5#&? *,*%(*(5#& *&, ,'%/#<$'&( #1 0#$%#&'&(38*+', +<+('$+

*&, +'2.50'+

  "#$%#&'&(+ *&, 7'&'2*(5.' *%%2#*06'+

  "#$%#&'&(+ *&, $#,'/3,25.'& ,'.'/#%$'&(

  D%'05150*(5#&? .'25150*(5#& *&, ('+(5&7 #1 0#$%#&'&(38*+', +<+('$+

  "#$%#+5(5#&*/ 2'*+#&5&7 ('06&5@4'+ 1#2 0#$%#&'&( $#,'/+

  K/#8*/ $'*+42'$'&(? %2',50(5#& *&, $#&5(#25&7 #1 ,5+(2584(', *&, +'2.50'

0#$%#&'&(+

  P*(('2&+ *&, 12*$':#2B+ 1#2 0#$%#&'&(38*+', +<+('$+ *&, +'2.50'+

  A&('72*(', (##/ 06*5&+ *&, $'(6#,+ 1#2 845/,5&7 0#$%#&'&(38*+', +'2.50'+

  "#$%#&'&(+ 1#2 &'(:#2B', 2'*/3(5$' 5&1#2$*(5#& +<+('$+ *&, +'&+#2

&'(:#2B+h

  A&,4+(25*/ ';%'25'&0' 4+5&7 0#$%#&'&(38*+', +#1(:*2' ,'.'/#%$'&(h

  E$%5250*/ +(4,5'+ 5& 0#$%#&'&(38*+', +#1(:*2' '&75&''25&7h

  >'*065&7 0#$%#&'&(38*+', +#1(:*2' '&75&''25&7

Page 24: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 24/25

.E# F'@8%,P8&,(% )(,%@ 379-

Y'/*(5.'/< 1': #27*&5F*(5#&+ 6*.' +(*2(', ,#5&7 ")- +'25#4+/<9 A( 5+ 8'5&7 *,#%(',

1*+('2 5& +#$' 5&,4+(25'+ (6*& #(6'2+ 3 &#(*8/< 5&+42*&0' *&, #(6'2 15&*&05*/ +'0(#2+?

*&, ('/'0#$+9 G*&< #(6'2 #27*&5F*(5#&+ *2' 6#/,5&7 * :*(065&7 825'1 3 (6'< *2'

*(('&,5&7 5&,4+(2< *&, .'&,#2 825'15&7+? #2 =#5&5&7 (6' ")- `#24$? 84( 6*.' &#( <'(

+(*2(', ,#5&7 ")- +'25#4+/<9 C &4$8'2 #1 /*27' +#1(:*2' .'&,#2+ 6*.' $*,' * $*=#2

0#$$5($'&( (# "#$%#&'&(3)*+', -'.'/#%$'&(? 5&0/4,5&7 `#2('? A)G? G502#+#1(?

DCP? D('2/5&7 *&, D4&

.H# =*448'1-

"#$%#&'&(38*+', +#1(:*2' '&75&''25&7 #11'2+ 5&6'2'&( 8'&'15(+ 5& +#1(:*2' @4*/5(<?

,'.'/#%'2 %2#,40(5.5(<? *&, #.'2*// +<+('$ 0#+(9 C&, <'(? $*&< 2#*,8/#0B+ 2'$*5& (#

8' #.'20#$' 8'1#2' (6' ")DE %2#0'++ $#,'/ 5+ :5,'/< 4+', (62#476#4( (6' 5&,4+(2<9

A& *,,5(5#& (# +#1(:*2' 0#$%#&'&(+? * .*25'(< #1 2'4+*8/' *2(51*0(+ 0*& 8' *0@452',

8< * +#1(:*2' '&75&''29 >6'+' 5&0/4,' ('06&50*/ 2'%2'+'&(*(5#&+ #1 (6' +#1(:*2'

S'979? +%'05150*(5#&+? *2065('0(42*/ $#,'/+? ,'+57&+T? ,#04$'&(+? ('+( ,*(*? *&, '.'&

%2#0'++2'/*(', (*+B+ S'979? 5&+%'0(5#& ('06&5@4'+T9 >6' ")DE %2#0'++ '&0#$%*++'+

(:# 0#&0422'&( +48%2#0'++'+—,#$*5& '&75&''25&7 *&, 0#$%#&'&(38*+',

,'.'/#%$'&(9 >6' 5&('&( #1 ,#$*5& '&75&''25&7 5+ (# 5,'&(51<? 0#&+(240(? 0*(*/#7? *&,

,5++'$5&*(' * +'( #1 +#1(:*2' 0#$%#&'&(+ 5& * %*2(504/*2 *%%/50*(5#& ,#$*5&9

"#$%#&'&(38*+', ,'.'/#%$'&( (6'& @4*/515'+? *,*%(+? *&, 5&('72*('+ (6'+'0#$%#&'&(+ 1#2 4+' 5& * &': +<+('$9 A& *,,5(5#& 0#$%#&'&(38*+', ,'.'/#%$'&(

'&75&''2+ &': 0#$%#&'&(+ (6*( *2' 8*+', #& (6' 04+(#$ 2'@452'$'&(+ #1 * &':

+<+('$? C&*/<+5+ *&, ,'+57& ('06&5@4'+ 1#2 2'4+*8/' 0#$%#&'&(+ ,2*: #& (6' +*$'

%25&05%/'+ *&, 0#&0'%(+ (6*( *2' %*2( #1 7##, +#1(:*2' '&75&''25&7 %2*0(50'9

Y'4+*8/' 0#$%#&'&(+ +6#4/, 8' ,'+57&', :5(65& *& '&.52#&$'&( (6*( '+(*8/5+6'+

+(*&,*2, ,*(* +(240(42'+? 5&('21*0' %2#(#0#/+? *&, %2#72*$ *2065('0(42'+ 1#2 '*06

*%%/50*(5#& ,#$*5&9

`': B'< %#5&(+ 2'7*2,5&7 ")DE 5+ $'&(5#&', 8'/#:Z

L9 

")DE P2#0'++ 6*+ (:# +483%2#0'++ – -#$*5& '&75&''25&7 *&, ")-9W9  ")- 6*+ b *0(5.5(5'+ – ]4*/5150*(5#&? C,*%(*(5#&? 0#$%#+5(5#&? 4%,*(5#&9

a9  g3$#,'/ 5+ 4+', 1#2 (6' 0#$%#&'&( 8*+', +#1(:*2' /51'0<0/'9

b9  >6' #8='0( $#,'/ 7'&'2*//< 0#&1#2$+ (# #&' #2 $#2' +(*&,*2,+

SJGKd"JY)C? "JG? -"JG? i*.*)'*&T9

c9  "/*++5150*(5#& +06'$'+ '&*8/' (6' ,'.'/#%'2 (# 15&, *&, 2'(25'.' (6' 2'4+*8/'

0#$%#&'&(+

N9  "JY)C #8='0( $#,'/ 5+ 5&02'*+5&7/< 7*5&5&7 *00'%(*&0' *+ (6' 5&,4+(2<

+(*&,*2,? 02#++3%/*(1#2$? 02#++3/*&74*7' ,5+(2584(', #8='0( 0#$%4(5&7 $#,'/

\9 

>6' ""G %2#72*$$5&7 $#,'/ 5+ +45(*8/' 1#2 ';5+(5&7 +'2.50' (# ,'.'/#% (6'

&';( 7'&'2*(5#& #1 6576/< +0*/*8/' ,5+(2584(', *%%/50*(5#&

Page 25: Component Based Devvv

7/23/2019 Component Based Devvv

http://slidepdf.com/reader/full/component-based-devvv 25/25

O9  C 0#$%#&'&( 8*+', *%%2#*06 0*& &#( 8' 4(5/5F', 51 (6' ,'.'/#%$'&(

%2#0'++'+ *2' &#( *,#%(', *00#2,5&7 (# ")DE %25&05%/'+

M9  ")- 6*+ * /#( #1 %2#$5+'+ 84( 5+ &#( +5/.'2 84//'(

.L# T626'6%+60-

^L_ Y#7'2 P2'++$*&? Software Engineering: A Practitioner’s Approach, Fifth Edition 

^W_ Y#8'2( J21*5/? -*& R*2B'< !;2&%' I 8&03&0 T0"10*##2%1 /2'K !F69<5 M"K% V2;&A W

8"%+ 

^a_ P9i9 -'5('/? R9G9-'5('/?  M<E< ."0 T0"10*##&0+

[4] Wang, Schimdt, O’Ryan F3&032&/ ". 'K& !F69< G",&;5 V2;&A W 8"%+ XYYY 

^c_ "2&B#.50? V*2++#&? G506'/ "6*4,2#& !"#$"%&%'()*+&, ?&3&;"$#&%' T0"4&++ *%,

!"#$"%&%' O2.&4A4;&5 <99 !"0$"0*'& 6&+&*04K 5 E*+'&0*+5 8/&&,&% ^N_ i51'&7? n5*#+6*& V5? o65$5&7 V54 !"#$"%&%' 9*+&, 8".'/*0& R%12%&&02%1 –   ZK&

L&&, '" O2%= G&'K", *%, 'K&20 ZK&"02&+5 >L> DD8Z 6&$"0' L" PPY

^\_ G*2(5& X52+5&7? < !"#$"%&%' 9*+&, <$$0"*4K '" <,*$'23& >+&0(4&%'024 T&03*+23&

 5 [P'K

 D%'&0%*'2"%*; 8A#$"+27# "% !"#$"%&%' 9*+&, 8".'/*0& R%12%&&02%15 XY[Y 

^O_ D('%6'& >6'+5&7? ZK& M"A ". :7*;2.A2%1 82.'/*0& 2% 'K& <32"%24+ <0&*5 [P'K

 

D%'&0%*'2"%*; 8A#$"+27# "% !"#$"%&%' 9*+&, 8".'/*0& R%12%&&02%15 XY[Y