Reuse revisited
Sponsored Links
This presentation is the property of its rightful owner.
1 / 19

Reuse Revisited PowerPoint PPT Presentation


  • 168 Views
  • Uploaded on
  • Presentation posted in: General

Reuse Revisited. A reminder of basic software reuse gauging techniques and additional topics. Ernest Cachia (As part of CSA404). Let’s Remember …. Banker’s “coarse” estimate of reuse percentage and reuse leverage Poulin-Caruso’s estimate of: reuse cost avoidance reuse value added

Download Presentation

Reuse Revisited

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Reuse Revisited

A reminder of basic software reuse gauging techniques and additional topics.

Ernest Cachia

(As part of CSA404)


Let’s Remember …

  • Banker’s “coarse” estimate of reuse percentage and reuse leverage

  • Poulin-Caruso’s estimate of:

    • reuse cost avoidance

    • reuse value added

    • additional development cost

    • a project’s return on investment value

  • Balda-Gustafson’s effort cost estimate based on the COnstruction COst MOdel (COCOMO)

    (Selected slides from CSM203 could be reviewed at this point)


The Benefits of Reuse(in theory)

  • Lower development costs

  • Higher product quality

  • Higher production rate

  • Reduced development process time

  • Lower failure/defect risk

  • Lower personnel training costs

  • Easier (clearer and cleaner) maintenance

  • Enhanced interoperability


The Benefits of Reuse(in practice - example 1)

  • Nippon Electric Company (NEC)

    Basic reuse of 17% translated to …

    • Productivity: +6.7 times (over 1 year)

      +10.4 times (over 7 years)

    • Software quality: +2.8 times (over 1 year)

      +8.5 times (over 7 years)

      Domain(s): Basic and communication switching systems

      (1996 data)


The Benefits of Reuse(in practice - example 2)

  • Toshiba Corporation

    Basic reuse of 60% translated to …

    • Defect reduction: 28% (over 1 year)

    • Software quality: +4.3 times (over 1 year)

      Domain(s): Control and communication systems

      (1992 data)


The Benefits of Reuse(in practice - example 3)

  • DEC

    Basic reuse of 50-80% translated to …

    • Productivity: +3-5 times (over 1 year)

    • Software quality: +2.3 times (over 1 year)

      Domain(s): Computer control systems

      (1994 data)


The Benefits of Reuse(in practice - example 4)

  • Hewlett-Packard (HP)

    Basic reuse of 70% translated to …

    • Defect reduction: 50% (avg. over 2 projects)

    • Productivity: +45% (avg. over 2 projects)

    • Timeliness:+43% (avg. over 2 projects)

      Domain(s): Basic and computer peripheral control

      systems

      (1995 data)


The Benefits of Reuse(in practice - example 5)

  • Raytheon Corporation

    Basic reuse of 60% translated to …

    • Productivity: +50% (over 2 COBOL projects)

    • Defect reduction: 44% (over 2 COBOL projects)

      Domain(s): Large-scale information systems

      (1980 data) - One of the very first “sightings” of commercial reuse… then

      hailed as a major trend for the future but not quite ripe for its

      time!


The Benefits of Reuse(in practice - example 6)

  • Software Architecture & Engineering, Inc. (SAE)

    Basic reuse of 80-90% translated to …

    • Productivity: +54% (over 3 “C” projects)

    • Defect reduction: +39% (over 3 “C” projects)

      Domain(s): Distributed software applications

      (1992 data)


The Benefits of Reuse(in practice - in general)

  • Study of 75 Ada projects in 15 firms (30+ MLOC in all):

    • Software quality (all aspects) increased by an average of 10 times in relation to just 10-18% reuse levels. (1991-92 data)

  • Study of 9 major software producing companies practising reuse:

    • Defect reduction:58%

    • Project cost:84%

    • Timeliness:+70% (all over 1 year 1994-95)


  • Main Reuse Model Types

    • Reuse level models (a post-mortem static analysis - “How much has been reused?”)

    • Reuse leverage models (a post-mortem comparative analysis - “How has reuse improved a given activity?”)

    • Reuse economic models (a predicative estimate composed of a combination of 3 basic approaches) … see slide 14


    Reuse Level

    • Very popular (widespread use)

    • Easy to relate to

    • Easy and quick to calculate

    • Widely adopted industry standard metric

      Reused software

      Reuse % = x 100%

      Total software

      Note that the above is meaningless without a “count object” definition


    Reuse Leverage

    • Not as popular as the reuse level metric

    • It is a comparative metric

    • Easy and quick to calculate

    • Based on productivity

      Productivity with reuse

      Leverage =

      Productivity without reuse

      E. g. If RL for ORGa is 1.35 this means that ORGa has increased its productivity by 35%


    Reuse Economic Models

    • Cost Avoidance (CA - estimate - “How much money will be saved?”)

    • Return On Investment (ROI - estimate - “Will money be saved in the long-run?”)

    • Cost-Benefit (C-B - estimate - “Should reuse be considered at all?”) … see cost and benefit breakdown tables on separate handouts.


    Frakes-Terry Reuse Level Metric

    • More detailed then the Banker metric

    • Specifically targeted at C (but can be re-applied with basic assumptions)

    • The basic “reusable object”, referred to as an item, is generally considered to be a function (as in C)

    • Differentiates between internal and external reuse


    Frakes-Terry Definitions

    • The main definitions:

      • ETL (External Threshold Level) - The number of times an external item must be invoked before considering an invocation as reuse.

      • ITL (Internal Threshold Level) - Same as ETL but for an internal item.

      • EU (External Usage) - Usage of items over and above ETL.

      • IU (Internal Usage) - Usage of items over and above ITL.

      • T (Total) - Total number of items in system both internal and external.


    Assumptions for the Frakes-Terry approach

    • No internal reuse (this is usually the case as items generated by a team are taken to be items included in application development and not reused). Therefore:

      ITL  

      and it follows that IU  0

    • Any invocation of external items is taken to be reuse. Therefore: ETL  0


    Frakes-Terry Reuse Level Relationships

    • Internal reuse level = IU / T

    • External reuse level = EU / T

    • Total reuse level = (IU + EU) / T

      Values range from 0 (i.e. no reuse) to 1 (i.e. system made up solely of reused items)

      Please note that the actual size of an “item”

      in the Frakes-Terry approach should

      always be taken into account. A complexity

      weighting should be used within the metric

      if straightforward LOC is not used.


    Frakes-Terry Example

    • The actual example will be discussed during lecture sessions. However, the initial conditions/assumptions of the example are shown on this slide.

    Internal items

    External items

    Main item

    15 LOC

    Item C

    20 LOC

    Item D

    10 LOC

    Item A

    25 LOC

    Item B

    30 LOC

    Item E

    25 LOC


  • Login