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

Slides:



Advertisements
Similar presentations
Introduction to Product Family Engineering. 11 Oct 2002 Ver 2.0 ©Copyright 2002 Vortex System Concepts 2 Product Family Engineering Overview Project Engineering.
Advertisements

Main issues: • Why is reuse so difficult • How to realize reuse
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Metrics for Process and Projects
USC Football Recruiting Database System. Team 6 Client: Jared Blank with USC Football. Revati Kadu Natasha Karnik Akshay ArasMike Nicosia (IV & V) Abhishek.
Summary Slide Allegro Vivace (Fast and Lively) Your Logo Here Automated Financial Reconciliations Website – Automated Financial.
Product-line Architecture in Industry: A Case Study Jan Bosh University of Karlskrona/Ronneby Vanilson Burégio
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
Security strategy. What is security strategy? How an organisation plans to protect and respond to security attacks on their information technology assets.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Smi COCOMO II Calibration Status COCOMO Forum October 2004.
1 Systems Engineering Reuse Principles Jared Fortune, USC Ricardo Valerdi, MIT COSYSMO COCOMO Forum 2010 Los Angeles, CA.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
DAIMIHenrik Bærbak Christensen1 Product Lines Architectural Reuse.
Software project management (intro)
1 COSYSMO 2.0: A Cost Model and Framework for Systems Engineering Reuse Jared Fortune University of Southern California Ricardo Valerdi Massachusetts Institute.
Course Instructor: Aisha Azeem
Mgt 20600: IT Management & Applications Decision Support Systems Tuesday April 18, 2006.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Architecture and Software Product Lines A software architecture represents a significant investment of time and effort, usually by senior talent. So it.
JWST Integrated Modeling Environment James Webb Space Telescope.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2004 Session 6 Lecture # 5 – October 12, 2004.
Software Concepts. Software & Hardware? Computer Instructions or data, anything that can be stored electronically is Software. Hardware is one that is.
David Grizzanti Evaluating Software Reuse Alternatives: An Industrial Case Study.
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
Project Coordinators: Eduardo Santana de Almeida Silvio Romero de Lemos Meira Federal University of Pernambuco Informatics Center Recife Center for Advanced.
Configuration Management (CM)
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
Introduction To Software Component Reuse
Chapter 4: Project Cost Management
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Software Reusability An efficient way in Software Development By Tejaswi Peesapati
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Workshop on Software Product Archiving and Retrieving System Takeo KASUBUCHI Hiroshi IGAKI Hajimu IIDA Ken’ichi MATUMOTO Nara Institute of Science and.
Gan Wang 22 October th International Forum on COCOMO® and Systems/Software Cost Modeling in conjunction with the Practical Software and Systems.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Computing Ontology Part II. So far, We have seen the history of the ACM computing classification system – What have you observed? – What topics from CS2013.
Database Concepts Track 3: Managing Information using Database.
Empirical Estimation Models Based upon historic data Basic Structure E = A + B * (ev) C where A, B, c are empirical constants ‘ev’ is the effort in terms.
Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Guide to Computer Forensics and Investigations, 2e CC20O7N Software.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2004 Session 5 Lecture # 4 – October 5, 2004.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
ARCH-04 Before You Begin Your Transformation Project… Phillip Magnay Architect – Applied Technology.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 2 - September 14, 2004.
The overview How the open market works. Players and Bodies  The main players are –The component supplier  Document  Binary –The authorized supplier.
Agents for Case-based software reuse Stein Inge Morisbak Web:
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
 System Requirement Specification and System Planning.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Glencoe Introduction to Multimedia Chapter 2 Multimedia Online 1 Internet A huge network that connects computers all over the world. Show Definition.
Tool Support for Testing
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
System Design, Implementation and Review
CIM Modeling for E&U - (Short Version)
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Chapter 9: Research Issues in Software Engineering
Reverse Engineering: A Roadmap
Introduction Software is becoming very expensive:
Presentation transcript:

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

Introduction Project estimation fast and accurate Development artifacts Traceability Artifact repository

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

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

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]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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]

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