Producing Reusable Object-Oriented Components: A Domain-and-Organization-Specific Perspective Margaretha W. Price
Donald M. Needham
Steven A. Demurjian, Sr.
Electric Boat General Dynamics 75 Eastern Point Road Groton, CT 06340 USA
Computer Science Department United States Naval Academy Annapolis, MD 21402 USA
Computer Science & Engineering Department The University of Connecticut Storrs, CT 06269 USA
[email protected]
[email protected]
[email protected] ABSTRACT
! " Keywords
# $ % & ! ' 1.
INTRODUCTION
( ) * + , - . ) * / ) Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SSR’01, May 18-20, 2001, Toronto, Ontario, Canada. Copyright 2001 ACM 1-58113-358-8/01/0005 ... 5.00.
0
1 * . 2 345 & 3675
1 $ 38 95 " : $ : & $ 1 " " 1 : " ( " ; 35 - , , . "
( " ? " 3@5 " ( " ;
" " 1 ; "
) * A 6 & > B & @ & ( : C > : C B C @ C B C < C @ " . C 4 " 2.
REUSE CHARACTERIZATIONS
C >6 >>
2.1 Characterizing Class Reusability
:
D C 3665 ? , , ? , )D * D . Æ : Æ ) * D C : ,
, $ ? , ( D ( , ), * C
) *
Æ
) *
E ) *
F )C*
G . 6 ; E ; F
E C
H, ; 2.2 Relating the Class Hierarchies
( D +C " ? )
* )
* , )
*
: . > D ;
. > D ? D ! /
% ( 3665 , ? , . ,
? ! . > ? D
; , ?
?
!
%
C
C
C
) * 1 . , . B
1
A I E E E C
I : D
: 1 D "
, ( D +C %
! "
!
( % : % " ( (
% C >>6 , % C >>> >>B ) * ) * 2.2.1 Is-a/Related Relationships Transitivity
( % ( ? % ! ! ? ! : . @ ( ? I ? I G
? I ? I - ? ! I ? % I !
# $ % ! &'
? , . , ( B ) ( 6 * ) * ;
%
%
- .
%
%
/ .
: 1 " ( , D C -
D
C B ) D C * 4.1 Background Concepts
, D C ( ( 6 A 6 ( 6 , ; > ( > B @ ,
, , B ( < 8 ( 6 @ ( 4 9 , ( + + ) * $ + . , . = ) * D ( B ) * C
C ? . = ) * ( 8 - ( ( 6 C ( B ( "
( , ( 6 " + A ( D C " D ) ( 6 . = * L : D )( >* ( @ ) * : C 1 , ) *
C , ( C D C D ! L . 67 C D ( ) * ( 4 ) * (
( > (
" " " "
! " # $ % ! ! " #
& ' ( ) !
* + ( ) !
$ ! 0 & ! %
( B
) *
1 & 2 )"
. 67 ( 8 9 -
( B @ ( C C , : D ( B @ ( 6 > ( $ : 1 " - ) C B %'* 4.2 General to Specific Coupling
? D C ( D , , A
( 8 ) *
! !
! " # ) * 2 A 6 2 3
( ( 6 ( C D ) >* ( A J > 2 , ( ( 8 / "
( 6 ) * ( 8 ( D ) * A J B 2 , 3
(
) *
$ ( 6 ( A J M @ , ( " ( 8 ( A J
" %' ) * " " %' , ' !
) ?"* + " G$2 ( ) * G$2 ( G$2 N +MM $ ( G$2 ( , 7. ACKNOWLEDGMENTS
( " " ' !
2
. $ C. $
! $ C ! $
2
# $ ) ! %
) $
C/267=76@ ( , ' ! ? 8.
REFERENCES
365 / . C &H & ' ( &C &
6==8 3>5 . " % & ., O ?%'A ? % ' P ) * + 6==9 6>