1 / 19

Reuse Revisited

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

cjessie
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reuse Revisited A reminder of basic software reuse gauging techniques and additional topics. Ernest Cachia (As part of CSA404)

  2. 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)

  3. 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

  4. 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)

  5. 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)

  6. 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)

  7. 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)

  8. 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!

  9. 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)

  10. 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)

  11. 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

  12. 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

  13. 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%

  14. 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.

  15. 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

  16. 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.

  17. 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

  18. 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.

  19. 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

More Related