an improved approach to project estimation based on software artifact reuse by david t. henrickson
TRANSCRIPT
![Page 1: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/1.jpg)
An Improved Approach to Project Estimation
Based on Software Artifact Reuse
by
David T. Henrickson
![Page 2: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/2.jpg)
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
![Page 3: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/3.jpg)
Introduction
• Project estimation fast and accurate
• Development artifacts
• Traceability
• Artifact repository
![Page 4: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/4.jpg)
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
![Page 5: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/5.jpg)
Reuse Capability Model
• Measures reuse efficiency and proficiency
• Reuse Opportunity
• Potential Reuse Opportunity
• Targeted Reuse Opportunity
• Actual Reuse Opportunity
![Page 6: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/6.jpg)
Reuse Capability• Reuse Proficiency
RPROFICIENCY = RA / RP
• Reuse EfficiencyREFFICIENCY = RA / RT
• Reuse Effectiveness
REFFECTIVENESS = N(CNR – CR) / CD
N = Number of systems
CNR = Cost of developing without reuse
CR = Cost of utilizing reuse
CD = Cost of Domain engineering
© Davis [1993]
![Page 7: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/7.jpg)
Potential Opportunities
Target Opportunities
Actual Opportunities
Low Reuse Capability
© Davis [1993]
reuse efficiency = 0.10
reuse proficiency = 0.08
![Page 8: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/8.jpg)
Potential Opportunities
Target Opportunities
Actual Opportunities
High Reuse Capability
© Davis [1993]
reuse efficiency = 0.95
reuse proficiency = 0.65
![Page 9: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/9.jpg)
What is Reuse?
• The use of existing software in the development of new software– Lim[1998]
![Page 10: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/10.jpg)
Artifact Reuse
• Requirement
• Specification
• System Models
• Architecture
• Source Code
• Use-case Scenarios
• Test Scenarios
![Page 11: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/11.jpg)
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
![Page 12: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/12.jpg)
Corporation
Consumer
Producer
Some examples of reuse organizations
© Wiles [1999]
![Page 13: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/13.jpg)
RARE IDIOM
• RARE – Reuse Assisted Requirements Elicitation
• IDIOM – Informal Document Interpreter Organizer and Manager
![Page 14: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/14.jpg)
RARE IDIOM
• Highly complex tool to identify reuse opportunities
• Uses Bayesian weights based on keywords also called facets
![Page 15: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/15.jpg)
Premise
• Similar requirements produce similar artifacts
• If an artifact has already been produced, we know what its value is
![Page 16: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/16.jpg)
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
![Page 17: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/17.jpg)
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
![Page 18: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/18.jpg)
Domain Engineering
• Identify and document commonalities across products in a particular domain
• Creating reusable and modifiable domain models
![Page 19: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/19.jpg)
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
![Page 20: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/20.jpg)
Project AWord Processor
Project BSpread Sheet
Project CData Base System
Project DFinancial Planner
Project EInternet Search Engine
New Project Being Consideredwill need to:
Create invoicesStore dataCreate forms (paper)Create Reports
Transfer data on a network
![Page 21: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/21.jpg)
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.
![Page 22: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/22.jpg)
Levels of Reuse
• Requirement
• Specification
• System Models
• Architecture
• Source Code
• Use-case Scenarios
• Test Scenarios
![Page 23: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/23.jpg)
User RequirementsUserNatural LanguageImpreciseNon-TechnicalApplication Terminology
SpecificationSoftware EngineerFormal LanguagePreciseTechnicalSoftware Terminology
versus
Requirements vs. Specification Dichotomy
© Cybulski [1995]
![Page 24: An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson](https://reader035.vdocuments.us/reader035/viewer/2022081515/56649cfb5503460f949ccec1/html5/thumbnails/24.jpg)
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