an improved approach to project estimation based on software artifact reuse by david t. henrickson

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

Upload: beverley-kelly

Post on 17-Dec-2015

225 views

Category:

Documents


2 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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