Component-Based Software Engineering: Methods and Metrics

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book focuses on a specialized branch of the vast domain of software engineering: component-based software engineering (CBSE). Component-Based Software Engineering: Methods and Metrics enhances the basic understanding of components by defining categories, characteristics, repository, interaction, complexity, and composition. It divides the research domain of CBSE into three major sub-domains: (1) reusability issues, (2) interaction and integration issues, and (3) testing and reliability issues. This book covers the state-of-the-art literature survey of at least 20 years in the domain of reusability, interaction and integration complexities, and testing and reliability issues of component-based software engineering.

The aim of this book is not only to review and analyze the previous works conducted by eminent researchers, academicians, and organizations in the context of CBSE, but also suggests innovative, efficient, and better solutions. A rigorous and critical survey of traditional and advanced paradigms of software engineering is provided in the book.

 

Features:

  • In-interactions and Out-Interactions both are covered to assess the complexity.
  • In the context of CBSE both white-box and black-box testing methods and their metrics are described.
  • This work covers reliability estimation using reusability which is an innovative method.
  • Case studies and real-life software examples are used to explore the problems and their solutions.

 

Students, research scholars, software developers, and software designers or individuals interested in software engineering, especially in component-based software engineering, can refer to this book to understand the concepts from scratch. These measures and metrics can be used to estimate the software before the actual coding commences.

Author(s): Umesh Kumar Tiwari, Santosh Kumar
Publisher: CRC Press
Year: 2020

Language: English
Pages: 226
City: Boca Raton

Cover
Half Title
Title Page
Copyright Page
Dedication
Table of Contents
List of Figures and Tables
Preface
Acknowledgements
Authors
Chapter 1: Introduction to Software Engineering and Component-Based Software Engineering
1.1 Introduction
1.2 Software Engineering
1.3 Paradigms of Software Engineering
1.4 Traditional Software Engineering Paradigms
1.4.1 Classic Life-Cycle Paradigms
1.4.1.1 The Basic Waterfall Development Paradigm
1.4.1.1.1 Key Findings
1.4.1.1.2 Critiques
1.4.2 Incremental Development Paradigms
1.4.2.1 The Incremental Development Paradigm
1.4.2.1.1 Key Findings
1.4.2.1.2 Critiques
1.4.2.2 The Rapid Application Development (RAD) Paradigm
1.4.2.2.1 Key Findings
1.4.2.2.2 Critiques
1.4.3 Evolutionary Development Paradigms
1.4.3.1 The Prototyping Development Paradigm
1.4.3.1.1 Key Findings
1.4.3.1.2 Critiques
1.4.3.2 The Spiral Development Paradigm
1.4.3.2.1 Key Findings
1.4.3.2.2 Critiques
1.5 Advanced Software Engineering Paradigms
1.5.1 Agile Development Paradigm
1.5.1.1 Key Findings
1.5.1.2 Critiques
1.5.2 Aspect-Oriented Development Paradigm
1.5.2.1 Key Findings
1.5.2.2 Critiques
1.5.3 Cleanroom Development Paradigm
1.5.3.1 Key Findings
1.5.3.2 Critiques
1.5.4 Component-Based Development Paradigm
1.5.4.1 Key Findings
1.5.4.2 Critiques
1.6 Component-Based Software Engineering (CBSE)
1.6.1 Evolution of Component-Based Software Engineering
1.6.1.1 Phase 1: The Preparatory Phase
1.6.1.2 Phase 2: The Defined Phase
1.6.1.3 Phase 3: The Progression Phase
1.6.1.4 Phase 4: The Expansion Phase
1.6.2 Characteristics of Component-Based Software Engineering
1.6.3 Componentization
1.7 Components
1.7.1 Types of Components
1.7.2 Characteristics of Components
1.7.3 Component Repository
1.7.4 Component Selection
1.7.5 Component Interaction
1.7.6 Component Dependency
1.7.7 Component Composition
Summary
References
Chapter 2: Component-Based Development Models
2.1 Introduction
2.2 Y Life-Cycle Model
2.2.1 Key Findings
2.2.2 Critiques
2.3 BRIDGE Model
2.3.1 Key Findings
2.3.2 Critique
2.4 X Model
2.4.1 Key Findings
2.4.2 Critiques
2.5 Umbrella Model
2.5.1 Key Findings
2.5.2 Critique
2.6 Knot Model
2.6.1 Key Findings
2.6.2 Critiques
2.7 Elite Model
2.7.1 Key Findings
2.7.2 Critiquess
Summary
References
Chapter 3: Major Issues in Component-Based Software Engineering
3.1 Introduction
3.2 Reuse and Reusability Issues
3.3 Interaction and Integration Issues
3.3.1 Key Findings
3.3.2 Metrics Used
3.3.3 Factors Affecting Interaction and Integration Complexity
3.3.4 Critique
3.3.5 Key Findings:
3.3.6 Metrics Used
3.3.7 Factors Affecting Interaction and Integration Complexity
3.3.8 Critique
3.3.9 Key Findings
3.3.10 Metrics Used
3.3.11 Factors Affecting Interaction and Integration Complexity
3.3.12 Critique
3.3.13 Key Findings
3.3.14 Metrics Used
3.3.15 Factors Affecting Interaction and Integration Complexity
3.3.16 Critique
3.3.17 Key Findings
3.3.18 Key Findings
3.3.19 Metrics Used
3.3.20 Factors Affecting Interaction and Integration Complexity
3.3.21 Critique
3.4 Complexity Issues
3.5 Design and Coding Issues
3.6 Testing Isssues
3.6.1 Black-Box Testing
3.6.1.1 Boundary-Value Analysis (BVA)
3.6.1.2 Equivalence-Class Partitioning (ECP)
3.6.1.3 Decision Table-Based Testing (DTB)
3.6.1.4 Cause-Effect Graphing
3.6.2 White-Box Testing
3.7 Reliability Issues
3.8 Quality Issues
Summary
References
Chapter 4: Reusability Metric-Based Selection and Verification of Components
4.1 Introduction
4.2 Reuse and Reusability
4.3 Reusable Artifacts and Work Products
4.4 Reusability Metrics
4.4.1 Common Acronyms and Notations
4.4.2 Function-Point (FP) Acronyms and Notations
4.4.3 Lines-of-Code (LOC) Acronyms and Notations
4.4.4 Adaptable Reusability Metric (RM Adaptable)
4.4.4.1 Fully Qualified Components
4.4.4.2 Partially Qualified Components
4.4.5 Off-the-Shelf Reusability Metric (RM Off-the-shelf)
4.5 Component Selection and Verification Using Reusability Metrics
4.5.1 Reusability Matrix
4.5.2 Case Study
4.5.3 Selection and Verification of Components
4.5.3.1 Selection of Components When All the Parts of the Component Are Considered
4.5.3.2 Selection of Components When Reused Components Are Considered
4.5.3.3 Selection of Components When Adaptable Components Are Considered
Summary
References
Chapter 5: Interaction and Integration Complexity Metrics for Component-Based Software
5.1 Introduction
5.2 In-Out Interaction Complexity
5.2.1 In-Out Interaction Complexity Graph
5.2.2 Notations
5.2.3 Total Interactions of a Component
5.2.4 Total Interactions of Component-Based Software
5.2.5 Interaction Ratio of a Component
5.2.6 Interaction Ratio of Component-Based Software
5.2.7 Average Interactions Among Components
5.2.8 Interaction Percentage of a Component
5.2.9 Case Study
5.3 Cyclomatic Complexity for Component-Based Software
5.3.1 Flow Graph for Component Integration
5.3.2 Cyclomatic Complexity Metric
5.3.3 Case Study
Summary
References
Chapter 6: Component-Based Software Testing Techniques and Test-Case Generation Methods
6.1 Introduction
6.2 Testing Techniques
6.2.1 Black-Box Testing
6.2.2 White-Box Testing
6.3 Testing Levels for Component-Based Software
6.3.1 Component Testing Strategy at Individual Component Level
6.3.2 Test Specification
6.3.3 Test Plan
6.3.4 Test Cases
6.3.5 Test Documentation
6.4 Test-Case Generation Technique for Black-Box Components
6.4.1 Component Integration-Effect Graph
6.4.2 Test-Case Generation Using Integration-Effect Graph
6.5 Test-Case Generation Technique for White-Box Components
6.5.1 Cyclomatic Complexity for Component-Based Software
6.5.2 Case Study
6.5.3 Performance Results
Summary
References
Chapter 7: Estimating Execution Time and Reliability of Component-Based Software
7.1 Introduction
7.2 Interaction Metric
7.2.1 Basic Definitions and Terminologies
7.2.2 Average Execution Time of a Component
7.2.3 Execution Time of a Path
7.2.4 Actual Execution Time of Paths
7.2.5 Actual Execution Time of CBS
7.3 Case Study and Discussion
7.4 Reliability Estimation
7.4.1 Hardware Reliability and Software Reliability
7.4.2 Reliability Measures and Metrics Available
7.5 Reliability Estimation Method Using Reusability Metrics
7.5.1 Component Reusability Metric
7.5.1.1 Fully Qualified Reusability Metric at Component Level (RMC i-Full-qualified)
7.5.1.2 Partially Qualified Adaptable Reusability Metric at Component Level (RMC i-Part-qualified)
7.5.1.3 Off-the-Shelf Reusability Metric at Component Level (RMC i-Off-the-shelf)
7.5.2 Reliabilities of Individual Components
7.5.3 Reliability of a Path (Re-P i)
7.5.4 Reliability of Component-Based Software (Re-CBS)
7.5.5 Case Studies
Summary
References
Index