On the efficiency of domain-based COTS product selection method. - Karl R.P.H. Leung and Hareton K.N. Leung.

Similar documents
Chapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Software Engineering

Software Process. Overview

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

The software process

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

Introduction to Software Engineering

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

LIFE-CYCLE MODELS AND PROCESS. Software Engineering 1/9/2008. CHAPTER 1, 2, and 3. Stephen R. Schach

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Introduction to Agile/Extreme Programming

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

SE curriculum in CC2001 made by IEEE and ACM: What is Software Engineering?

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

A Comparative Study on Software Development Life Cycle Models

Information Systems Development

SWE 211 Software Processes

Software Engineering Modern Approaches

Software Quality Engineering Courses Offered by The Westfall Team

Software Quality Engineering Courses Offered by The Westfall Team

Software Development Software Development Activities

3. Comparison of Above Described SDLC Models

Software Engineering QUESTION BANK

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

SE351 Roadmap. SE351a: Software Project & Process Management. W3.2: Software Development Lifecycles

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Pertemuan 2. Software Engineering: The Process

Software Engineering. M Umair.

White Paper. b+s Cloud Services - UCaaS. August, 2017 Wolfgang Ditl, Product Owner b+s Cloud Services

Command and Control Software Development Lessons Learned. Lt Col Michael D. Sarchet Deputy Director, Space Systems Command and Control Division

SOFTWARE QUALIT ASSURANCE- QUESTION BANK

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Lessons Learned in Estimating the Software Cost of a Ground Station with COTS Integration. Kathy Bradford 22 February 2001

COTS and OSS: A Comparative View

Lead Architect Enterprise Information Architecture

CMPT 275 Software Engineering

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Introduction to Software Engineering: Project Management ( Highlights )

03. Perspective Process Models

CENTRE (Common Enterprise Resource)

Project Management Methodology. Construct & Unit Test SubPhase

Enterprise Resource Planning Dr. Ebadati

Lead Architect, Enterprise Technology Architect

Selection and Evaluation of Open Source Components

ABHELSINKI UNIVERSITY OF TECHNOLOGY

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

CSE 435 Software Engineering. Sept 14, 2015

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

22C:180/55:180 Software Engineering-- Architecture & Design of Software Systems

MTAT Software Engineering Management

Achieve Powerful Business Benefits by Streamlining Document Workflows

Object-Oriented and Classical Software Engineering

Note 10: Software Process

Software Processes 1

Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius

MITA 01 MITA SS A: Achievable Strategies for the MITA Roadmap and Enterprise Maturity Overview of MMIS Procurement Strategy Process

DEPARTMENT OF DEFENSE HANDBOOK ACQUISITION OF SOFTWARE ENVIRONMENTS AND SUPPORT SOFTWARE

Spiral Increment Reuse (SIR) Software Model

Planning and the Software Lifecycle. CSCE Lecture 2-08/26/2015

Measuring and Assessing Software Quality

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

SDLC AND MODEL SELECTION: A STUDY

Object-Oriented & Classical Soft Engineering

SE420 Software Quality Assurance

Aspects of Software Quality Assurance in Open Source Software Projects: Two Case Studies from Apache Project

Advanced Software Engineering FYI

POINTS OF DEFECT CREATION

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Concepts Explore the Software Testing Lifecycle IT METHODOLOGY WEBINAR

Introduction to Systems Analysis and Design

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process

Inteligent, community-driven requirements engineering (Poster)

Tutorial Software is the differentiating characteristics in many computer based products and systems. Provide examples of two or three products

Requirements Engineering. Andreas Zeller Saarland University

Essentials of Systems Analysis and Design, 6e (Valacich) Chapter 2 The Sources of Software

Chapter 16 Software Reuse. Chapter 16 Software reuse

Cambridge University Press Agile Testing: How to Succeed in an Extreme Testing Environment John Watkins Excerpt More information

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

Khozema Ali Shabbar CS 447

System Development Life Cycle (SDLC) Project

Capability Maturity Model for Software (SW-CMM )

Research Article / Paper / Case Study Available online at: Analysis of Strengths and Weakness of SDLC Models Shikha Verma Delhi India

Homework 2. Software Development Lifecycle. Today s plan. How complex is software? How complex is software? 2/12/18

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

Disciplined Agility for the Development of Softwareintensive. Dr. Peter Hantos, I.S.T.J. Consultant

Goals of course. Themes: What can you do to evaluate a new technique? How do you measure what you are doing?

AGENCY FOR STATE TECHNOLOGY

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

CS 320 Introduction to Software Engineering Spring February 01, 2017

Software Engineering & Architecture

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

Software Engineering

Transcription:

On the efficiency of domain-based COTS product selection method. - Karl R.P.H. Leung and Hareton K.N. Leung.

Abstract The use of commercial-off-the-shelf (COTS) products is becoming a popular software development method. Increasing number of available COTS components.

Introduction A COTS component is defined as an independent unit that provides a set of related functions and is suitable for reuse. CBS COTS Based Systems - Systems that adopt COTS development as much as possible. Faster delivery with lower resource costs.

Selection methods (1) Normally classefied in two categories: Intuition approach Select components according to their experience and intuition. Direct assessment (DA) Select components directly from their source. Consider all of the descriptions and based on this takes a descision based on their suitability. More objective than intuition approach.

Selection methods (2) Indirect methods Developed by the authors of the paper. Makes use of the specific domain model of the intended system. Application specific domains Technical classification DBCS Domain based COTS selection method.

Selection methods (3) COTS selection Best fit strategy Aims at identifying the best COTS product. First fit strategy Aims at identifying the first COTS product that satisfies all of the requirements.

DA methods (1) Some DA methods: OTSO - Off the shelf option. Consists of three phases Searching Screening Ecaluation CISD - COTS baset integradet system development. Identification Evaluation Integration

DA methods (2) IIDA Infrastructure incremental development approach. This approach combine the classical waterfall and spiral development models. Two phases Analysis of prototype Design prototype

BDCS

DBCS Consists of two phases: 1. Set-up phase Vendors roll out their COTS, and map them to those modules of the domain that they find applicable. 2. Selection phase (a) The corresponding modules in a domain model are indentified for each of the modules of the CBS in question.

(b) Indentify the COTS modules that are applicable for mapping the domain model to the COTS modules. (c) Non-functional properties of the identified COTS modules are assessed. (d) The most appropriate COTS moduls are selected.

Efficiency of the COTS selection methods Analyze the efficiency of the domain based COTS product selection method and the DA method. Best fit vs. First fit

1 Development with Off-The-Shelf Components: 10 Facts Jingyue Li 17 Oct. 2008

2 Research design An industrial survey with 133 completed projects from 127 companies in Norway, Italy, and Germany 28 follow-up telephone interviews. Focused on process improvement and risk management

3 Development with OTS components: actors and activities

4 Factor 1: development process Companies use traditional processes enriched with OTS-specific activities to integrate OTS components. Waterfall and evolutionary process are not suitable? 75% chose their main development processes before they thought about using OTS-components Why do not companies adapt the development process? If companies adapt processes, how do they do so? Insights: Familiarity is important

5 Factor 2: component selection Integrators select OTS components informally. They rarely use formal selection procedures. Selected components in an ad-hoc manner, using in-house expertise and/or web-based search engines Why do not companies use formal selection processes? If a formal selection process was applied, what was done? Insights: cost effectiveness

6 Factor 3: component selection (cont ) There is no specific phase of the development process in which integrators select OTS components. Selecting components in early phases has both benefits and challenges. Most integrators selected OTS components in the early phases - prestudy (38%), requirements (30%), overall design (16%) Reasons for and issues pertaining to select OTS in the prestudy phase Reasons for and issues pertaining to select OTS in requirement/design phase Insights: tradeoff between advantages and disadvantages

7 Factor 4: component integration Component integration: Estimators use personal experience when they estimate the effort required to integrate components and most of the time they do not estimate accurately. Stakeholder-related factors will affect dramatically the accuracy of estimates. Reasons for inaccurate effort estimation Insights: provider and clients issues must be considered

8 Factor 5: quality of the integrated system Quality of the integrated system: Negative effects of OTS components on the quality of the overall system are rare. Reasons for positive feedback on the quality of OTS components Insights: quality assurance effort of the integrator must be counted

9 Factor 6: OSS and COTS components OSS and COTS components: Integrators usually used OSS components in the same way as commercial components, i.e. without modification. Reasons for changing the source code Reasons for not changing the source code Insights: commercial vs. non-commercial, long-term application vs. short term application

10 Factor 7: locating defects Locating defects is difficult: Although problems with OTS components are rare, the cost of locating (i.e. within or outside OTS components) and debugging defects in OTS-based systems is substantial. Reasons for inefficient defect location Insights: make the defect reproducible

11 Factor 8: relationship with the provider Relationship with the provider: The relationship with the OTS component provider involves much more than defect fixing during the maintenance phase. Issues related to component providers Selection Integration Maintenance Insights: know the right person

12 Factor 9: relationship with clients Relationship with the client: Involving clients in OTS component decisions is rare and sometimes unfeasible Reasons for not involving clients Insights: clarify clients interests and technical capabilities

13 Factor 10: knowledge management Knowledge management: Knowledge that goes beyond the functional features of OTS components must be managed. Which knowledge needs to be kept and shared? Component itself How to facilitate the integration stakeholders Which knowledge management mechanisms to choose? Repository, seminars, Wiki, yellow pages Insights: external knowledge share is rare

14 Conclusions Gap between theories and practices Issues to be addressed How can providers and integrators share knowledge of OTS components on a global scale? How can people working on the field establish the who to contact yellow pages for each OSS project to facilitate support from OSS communities?

1 Presentation of the article: Experiences on Product Development with Open Source Software by Ari Jaksi (2007) Presenter: Ketil Sandanger Velle Experiences on Product Development with Open Source Software

2 Agenda 1. Introduction 2. Software Architecture 3. Community collaboration 4. Benefits of open source 5. Issues and challenges 6. Summary

3 Introduction Nokia 770 & N800 Internet Tablets WLAN with internet use cases like: Voice & video calls Web browsing Messaging Media consumption These are all built using Linux and other open source components www.maemo.org web site that supports Internet Tablet development

4 Software Architecture 428 source code packets 25% unmodified OSS 50% modified OSS 25% COTS & Nokia EU report (Nokia 770): 15 000 000 lines of code 200 000 by Nokia 1,5% additional investment

5 Community collaboration [1/2] Selecting core components: Technical suitability of all components and subsystems Fit Requirements and hw specifications Good quality Mature enough for consumer products License Use GTK+ for grapic enviroment

6 Community collaboration [2/2] Work tightly with the community: Several parts of the code on N800 released before the tablet

7 Benefits of open source Efficiency Quality Flexibility Software licensing Future and roadmaps Open source and confidentiality

8 Issues and challenges Hacking vs. Stabilizing Architecture management Community allignment vs. Backwards capability Community participation in product integration Investing in community work

9 Summary OSS offers time and cost savings in form of: Readily available components and subsystems Available developers Effective development model However: The quality of the final product is Nokia s own responsibility, so some in house development must be done as well