Producing Reusable Object-Oriented Components: A Domain-and ...

4 downloads 23666 Views 232KB Size Report
Producing Reusable Object-Oriented Components: A Domain-and-Organization-Specific Perspective. Margaretha W. Price. Electric Boat. General Dynamics.
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>

Suggest Documents