Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson.

Similar presentations


Presentation on theme: "An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson."— Presentation transcript:

1 An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson

2 Overview Introduction What is Reuse Approaches to Project Estimation A comparison of Domain Engineering and Artifact Repository Levels of Reuse to be Considered Adapting an Artifact –Tracking Tool for Reuse of Project Costs Summary

3 Introduction Project estimation fast and accurate Development artifacts Traceability Artifact repository

4 Reuse Opportunities Potential –the set of reuse opportunities that will result in actual reuse when exploited Targeted –the set of reuse opportunities toward which an organization directs its effort Actual –the set of reuse opportunities exploited

5 Reuse Capability Model Measures reuse efficiency and proficiency Reuse Opportunity Potential Reuse Opportunity Targeted Reuse Opportunity Actual Reuse Opportunity

6 Reuse Capability Reuse Proficiency R PROFICIENCY = R A / R P Reuse Efficiency R EFFICIENCY = R A / R T Reuse Effectiveness R EFFECTIVENESS = N(C NR – C R ) / C D N = Number of systems C NR = Cost of developing without reuse C R = Cost of utilizing reuse C D = Cost of Domain engineering © Davis [1993]

7 Potential Opportunities Target Opportunities Actual Opportunities Low Reuse Capability © Davis [1993] reuse efficiency = 0.10 reuse proficiency = 0.08

8 Potential Opportunities Target Opportunities Actual Opportunities High Reuse Capability © Davis [1993] reuse efficiency = 0.95 reuse proficiency = 0.65

9 What is Reuse? The use of existing software in the development of new software –Lim[1998]

10 Artifact Reuse Requirement Specification System Models Architecture Source Code Use-case Scenarios Test Scenarios

11 Basic Concepts of Reuse In order to reuse software there must be software to reuse –Tracz[1995] Consumer –person who actually reuses the software Producer –person who initially produces the software being reused

12 Corporation Consumer Producer Some examples of reuse organizations © Wiles [1999]

13 RARE IDIOM RARE – Reuse Assisted Requirements Elicitation IDIOM – Informal Document Interpreter Organizer and Manager

14 RARE IDIOM Highly complex tool to identify reuse opportunities Uses Bayesian weights based on keywords also called facets

15 Premise Similar requirements produce similar artifacts If an artifact has already been produced, we know what its value is

16 Approaches to Project Estimation Top-Down (FPA) –Underestimates costs Bottom-up (COCOMO II) –Overestimates costs Artifact Repository –Reuse must become a way of life –Repository must be built

17 Artifact Repository Approach File records key on requirement Decide which artifacts to reuse Decide how many are unique –Develop for reuse Estimate Tailoring costs Total: # of assets  [ value associated with each asset ] + tailoring costs a=1

18 Domain Engineering Identify and document commonalities across products in a particular domain Creating reusable and modifiable domain models

19 Artifact Repository Identify and document common requirements and their artifacts Attach a value to each artifact for project estimation Reuse artifacts as products of requirements regardless of domain

20 Project A Word Processor Project B Spread Sheet Project C Data Base System Project D Financial Planner Project E Internet Search Engine New Project Being Considered will need to: Create invoices Store data Create forms (paper) Create Reports Transfer data on a network

21 Requirement Code Graphic User Interface Hardware Control Number Each entity in the set includes a dollar value. In this way if we only use some of the artifacts we only charge for what we use.

22 Levels of Reuse Requirement Specification System Models Architecture Source Code Use-case Scenarios Test Scenarios

23 User Requirements User Natural Language Imprecise Non-Technical Application Terminology Specification Software Engineer Formal Language Precise Technical Software Terminology versus Requirements vs. Specification Dichotomy © Cybulski [1995]

24 Summary Introduction What is Reuse Approaches to Project Estimation A comparison of Domain Engineering and Artifact Repository Levels of Reuse to be Considered Adapting an Artifact –Tracking Tool for Reuse of Project Costs Summary


Download ppt "An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson."

Similar presentations


Ads by Google