Ernest Cachia University of Malta Reuse revisited plus

  • Slides: 19
Download presentation
Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 1 - Title

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 1 - Title Slide Reuse Revisited A reminder of basic software reuse gauging techniques and additional topics. Ernest Cachia (As part of CSA 404)

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 2 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 2 of part 1 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 CSM 203 could be reviewed at this point)

The Benefits of Reuse (in theory) • • Ernest Cachia University of Malta “Reuse

The Benefits of Reuse (in theory) • • Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 3 of part 1 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

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 4 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 4 of part 1 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)

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 5 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 5 of part 1 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)

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 6 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 6 of part 1 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)

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 7 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 7 of part 1 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

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! Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 8 of part 1

The Benefits of Reuse (in practice - example 6) • Software Architecture & Engineering,

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) Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 9 of part 1

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 10 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 10 of part 1 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 1 Reuse level models (a post-mortem static analysis - “How

Main Reuse Model Types 1 Reuse level models (a post-mortem static analysis - “How much has been reused? ”) 2 Reuse leverage models (a post-mortem comparative analysis - “How has reuse improved a given activity? ”) 3 Reuse economic models (a predicative estimate composed of a combination of 3 basic approaches) … see slide 14 Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 11 of part 1

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 12 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 12 of part 1 Reuse Level • • Very popular (widespread use) Easy to relate to Easy and quick to calculate Widely adopted industry standard metric Reuse % = Reused software Total software x 100% Note that the above is meaningless without a “count object” definition

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 13 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 13 of part 1 Reuse Leverage • • Not as popular as the reuse level metric It is a comparative metric Easy and quick to calculate Based on productivity Leverage = Productivity with reuse Productivity without reuse E. g. If RL for ORGa is 1. 35 this means that ORGa has increased its productivity by 35%

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 14 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 14 of part 1 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.

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 15 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 15 of part 1 Frakes-Terry Reuse Level Metric • More detailed then the Banker metric • Specifically targeted at C (but can be reapplied 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

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 16 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 16 of part 1 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.

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 17 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 17 of part 1 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

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 18 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 18 of part 1 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.

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 19 of part

Ernest Cachia University of Malta “Reuse revisited plus …” Slide No. 19 of part 1 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