David Grizzanti Evaluating Software Reuse Alternatives: An Industrial Case Study.

Slides:



Advertisements
Similar presentations
Managing Hardware and Software Assets
Advertisements

ASYCUDA Overview … a summary of the objectives of ASYCUDA implementation projects and features of the software for the Customs computer system.
Software Project Management
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
ITIL: Service Transition
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson.
The Experience Factory May 2004 Leonardo Vaccaro.
0 AT&L Service-oriented Architecture (SOA) Demonstration Briefing Presented: DAMIR Conference - October 30 and 31, 2007 Gary R. Bliss Acquisition Resource.
Planning and Strategic Management
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Chapter 6 Database Design
Chapter 1 Assuming the Role of the Systems Analyst
Dr. Ralph R. Young Director of Software Engineering PRC, Inc. (703) Fifth IEEE International Symposium on Requirements Engineering.
Fundamentals of Information Systems, Second Edition
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 18-1 Accounting Information Systems 9 th Edition Marshall.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 1 Assuming the Role of the Systems Analyst
Iterative development and The Unified process
6 Chapter 6 Database Design Hachim Haddouti. 6 2 Hachim Haddouti and Rob & Coronel, Ch6 In this chapter, you will learn: That successful database design.
Chapter 10: Architectural Design
Software Life Cycle Model
Test Design Techniques
Factors affecting contractors’ risk attitudes in construction projects: Case study from China 박병권.
Software Architecture in Practice (3rd Ed) Introduction
Chapter 10 Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Reuse Standards Dr. Carma McClure Extended Intelligence, Inc. Copyright (c) 1998 by Extended Intelligence, Inc.
Managing the development and purchase of information systems (Part 1)
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Week 4 Lecture Part 3 of 3 Database Design Samuel ConnSamuel Conn, Faculty Suggestions for using the Lecture Slides.
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Acquiring Information Systems and Applications
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Introduction To Software Component Reuse
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Lecture Topics covered CMMI- - Continuous model -Staged model PROCESS PATTERNS- -Generic Process pattern elements.
Introducing Software Product Lines (SPL) Silvio Romero de Lemos Meira Eduardo Santana de Almeida
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Enabling Reuse-Based Software Development of Large-Scale Systems IEEE Transactions on Software Engineering, Volume 31, Issue 6, June 2005 Richard W. Selby,
DATA RESOURCE MANAGEMENT
CSC 480 Software Engineering Testing - I. Plan project Integrate & test system Analyze requirements Design Maintain Test units Implement Software Engineering.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Rational Unified Process (RUP)
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
Lecture 21: Component-Based Software Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Asset accounting-29.pptx This course will give an overview of the following Workbreakdown Structure Network Project Builder Project Planning.
Chapter 1 Assuming the Role of the Systems Analyst.
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
ITIL: Service Transition
Chapter 6 Database Design
12207.
Component Based Software Engineering
Software Product Lines
Introduction Software is becoming very expensive:
Evaluating Software Reuse Alternatives: An Industrial Case Study
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

David Grizzanti Evaluating Software Reuse Alternatives: An Industrial Case Study

Introduction Software reuse results in:  Lower costs  Shorter delivery time. Software reuse factors include the product line approach and the involvement of core assets Product developers decide whether to acquire these “core assets” or develop their own artifacts Decisions should be based on collected data from past reuse scenarios

Reuse takes place when an existing artifact is used in the development of a software product. Two types of reuse: black-box and white-box. Before any reuse can take place, domain analysis must be conducted. Domain Analysis begins with information gathering and results in candidates for reuse. Related Work  Using software reuse alternatives Hewlett-Packard (HP) saw a defect reduction of 15% and a 57% increase in productivity. Reuse Concepts

Cost of reuse software can be divided into 3 general categories: Production Construction: Asset Acquisition Cost Asset Development Cost Product Integration, Verification, and Validation Cost Core-Asset Construction: Asset Acquisition Cost Asset Development Cost Infrastructure Construction: Repository Establishment and Maintenance Cost Repository Storage and Cataloging Cost Domain Analysis (DA) Cost Reuse: Costing Policies

The Model Software construction in the underlying model is described along three axes: Development Maintenance Reuse Artifacts have to be stored and cataloged in the core-assest repository before being transferred between software products.

The Model Mining - Fetching products and copying them into the repository Acquisition - Copying artifacts from the repository into specific products There are two types of Assets:  Repository Assets – cataloged in core-asset repository  Private Assets – contained within a product and are available for mining or acquisition.

Elementary Operations Transformation Operations: Adaptation for Reuse (AR) New for Reuse (NR) White-Box Reuse (WB) New Development (ND) Transition Operations: Cataloged Asset Acquisition (CA) Black-Box Reuse (BB) Mining and Cataloging (MC) Copy and Paste (CP) eXternal Acquisition (XA)

Case Study Example Develop two software products Both need a queue structure One in C++, one in Java Previous product implemented the same structure, except in Ada. Reverse-engineer the Ada package to an object-oriented class design Sequence of operations: MC→ AR → CA → WB A reuse scenario was employed here To determine the best reuse scenario, compare the relative cost of alternative scenarios

Cost Components Operations involve two assets:  Source Asset  Target Asset Cost of Transformation Operations C AR (R,R’)C NR (R’) C WB (P,P’)C ND (P’) Cost of Transition Operations C CA (R,P)C CP (P) C MC (P,R)C XA (R) C BB (R’,P’)

Applying Cost Policies Costing policy table can easily be adapted to accommodate other cost directives. Empty – N/A to operation Full – Full cost to operation Part – Partial cost to operation  Costs usually incurred when activity doesn’t involve resulting artifact

Typical Reuse Scenarios Pure Development (PD)  Target components are developed from scratch Opportunistic Reuse (OR)  Artifacts exist for reuse, but must be searched for Controlled Reuse (CR)  Artifacts are cataloged unchanged then modified for use Systematic Reuse (SR)  Artifacts are mined, cataloged, and modified for future acquisition Alternative Systematic Reuse  Artifacts are created from scratch and then cataloged

Industrial Experience Model was implemented by ISWRIC (Israel SoftWare Reuse Industrial Consortium), a joint project of seven Israeli companies Three are mainly defense contractors The other four produce customizable commercial products Six of the companies defined and evaluated reuse scenarios

Industrial Experience Sytematic Reuse  Implemented by five companies Three implemented systematic reuse of reusable assets Two implemented systematic reuse on existing assets Controlled Reuse  Implemented by one company Reusable assets brought to degree where each product can use these assets for specific needs Use of this model in Industry has demonstrated its potential benefits to various reuse scenarios

Industrial Experience - TES Case Study Tadiran Electronic Systems Ltd., adopted the controlled reuse scenario Established a reuse repository Allocated resources to each “team” to perform Adaptation for Reuse Products were identified as candidates for reuse through Domain Analysis Four of the assets were software modules with sophisticated hardware elements The other three were generic human-computer interface modules

TES Case Study Results Cost, in person-hours (bold numbers were actually measured whereas others were estimated) Except for Asset 5, the implemented scenario achieved the least cover over all alternatives Asset 5, however shows that systematic reuse would have faired better

Alternative Reuse Savings Between Systematic and Controlled Reuse, largest saving was 63% (Asset 7), and lowest savings was -28% (Asset 5) Savings relative to Opportunistic Reuse were between 1-65% and in comparison to Pure Development, it was between 42-81%

Conclusions and Further Work Results based on estimated data are subject to inaccuracies If applied consistently, cumulated data can be analyzed for better estimates Two major contributions:  Cost model provides a practical tool for developers to test different scenarios  Provides a mechanism to analyze and evaluate scenarios at an organizational level Other features, such as time-to-market and product quality also improve with reusing software assets In the future, working to include models for these attributes

References Tomer, Amir; Goldin, Leah; Kuflik, Tsvi; Kimchi, Esther; Schach, Stephen R. "Evaluating Software Reuse Alternatives: A Model and Its Application to an Industrial Case Study." IEEE Transactions on Software Engineering. Volume: 30. Issue: 9. September pp: P. Clements and L.M. Northrop, Software Product Lines: Practices and Patterns. Addison-Wesley, 2001.