Businesses today are faced with a highly competitive market and fast-changing technologies. In order to meet demanding customers’ needs, they rely on high quality software. A new field of study, soft computing techniques, is needed to estimate the efforts invested in component-based software.
Component-Based Systems: Estimating Efforts Using Soft Computing Techniques is an important resource that uses computer-based models for estimating efforts of software. It provides an overview of component-based software engineering, while addressing uncertainty involved in effort estimation and expert opinions. This book will also instruct the reader how to develop mathematical models.
This book is an excellent source of information for students and researchers to learn soft computing models, their applications in software management, and will help software developers, managers, and those in the industry to apply soft computing techniques to estimate efforts.
Author(s): Kirti Seth, Ashish Seth, Aprna Tripathi
Publisher: CRC Press
Year: 2020
Language: English
Pages: 112
City: Boca Raton
Cover
Half Title
Title Page
Copyright Page
Table of Contents
Preface
Acknowledgments
Authors
Abbreviations
Chapter 1 An Introduction to Component-Based Software Systems
1.1 Component-Based Development
1.1.1 Component
1.1.2 General Component Properties
1.1.3 Components as Objects and Frameworks
1.2 Component-Based Software Engineering
1.3 Advantages of Component-Based Software Engineering
1.4 Conventional Software Reuse and CBSE
1.4.1 CBSE Approach
1.5 Architecture
1.6 Problems and Pitfalls of CBD
1.7 Five Problems of Effort Estimation
Exercise
References
Chapter 2 Effort Estimation Techniques for Legacy Systems
2.1 Introduction
2.2 The Importance of Precise Effort Estimation Terminology
2.3 Traditional Techniques of Effort Estimation
2.3.1 Rule of Thumb
2.3.2 Estimation by Analogy
2.3.3 Function Point Methods and Their Limitations
2.4 Effort Estimation for Object-Oriented Systems
2.4.1 UML-Based Approach
2.4.2 Class Points
2.4.3 The Constructive Cost Model (COCOMO)
2.5 Effort Estimation Techniques Available In CBSD
2.5.1 Parameterized Approach
2.5.2 COCOMO II
2.5.3 COCOTS
2.6 Function Points and Other Size Metrics: Similarities and Differences
Exercise
References
Chapter 3 An Introduction to Soft Computing Techniques
3.1 Introduction
3.2 Soft Computing Techniques
3.2.1 Four Factors of Soft Computing
3.2.2 Fuzzy Logic
Why Use Fuzzy Logic?
Adaptive Neuro-Fuzzy Inference System (ANFIS)
Fuzzy Logic Toolbox
Key Features of the Fuzzy Logic Toolbox
3.3 Evolutionary Algorithms
3.4 Applicability of Soft Computing Techniques in Software Engineering
3.4.1 Fuzzy Logic Concepts Usage in Software Engineering
3.4.2 Artificial Neural Network (ANN) Concepts Usage in Software Engineering
3.4.3 Genetic Algorithm Concepts Usage in Software Engineering
3.4.4 Support Vector Machine (SVM) Concepts Usage in Software Engineering
Exercise
References
Chapter 4 Fuzzy Logic-Based Approaches for Estimating Efforts Invested in Component Selection
4.1 Introduction
4.2 Factors Affecting Component Selection Efforts
4.2.1 Reusability
4.2.2 Portability
4.2.3 Functionality
4.2.4 Security
4.2.5 Performance
4.3 Fuzzy Logic
4.3.1 Fuzzy Number
4.4 Five Inputs Fuzzy Model
4.5 Five Inputs Methodology
4.6 Empirical Evaluation
4.7 Weight Assignment Factors for Component Selection Efforts
4.8 Correlation Coefficient Definition
4.9 Empirical Validation
Exercise
Case Study 1
Case Study 2
References
Chapter 5 Estimating Component Integration Efforts: A Neural Network-Based Approach
5.1 Introduction
5.1.1 Formulation
5.1.2 Conduct
5.1.3 Report
5.2 Problems in Integrating COTS Components
5.2.1 To Find Details of Available Products
5.2.2 Not a Fixed Product Scope
5.2.3 Late Maintenance of Highly Complex Areas
5.3 Factors Affecting Component Integration Efforts
5.3.1 Interaction Complexity
5.3.2 Understanding
5.3.3 Component Quality
5.4 Artificial Neural Network-Based Approach
5.5 Neural Network Architecture
5.6 MATLAB® Neural Network Toolbox
5.7 Experimental Design
5.8 Results
Case Study
References
Appendix A: Data Tables Used for Use Cases
Appendix B: Review Questions
Recent Trends
Index