Abstract:
Over a period of time, Component-Based Software Engineering (CBSE) has emerged as a strong and widely accepted approach in the field of software engineering. This approach focuses on improving the drawbacks/ disadvantages that are commonly faced in the development of large scale software systems. In doing so, reusability of commercial off the shelf (COTS) components has become the backbone of CBSE. Based on this backbone, stand the key characteristics of cost reduction, enhanced software quality and faster time-to-market. However, different and multiple types of problems are being faced during development of a software system from COTS components. More or less, these problems are related to compatibility issues caused by the mismatches between the COTS components. Each of these problems is a domain of study in itself and much research is being carried out for their solutions. This starts from searching components from online component repositories. When found, analyzing the component for making it compatible with own system being developed, testing the component and finally integrating into system.
Although complete development lifecycle exists for component based development and solutions are being proposed to the practical problems faced during and after development, a framework lacks which can serve as a guideline for developers by following which they can overcome major problems especially faced when carrying out a change in component based systems. This thesis aims to study and propose a framework for component based development cycle, able to incorporate a change at any given time, focusing to deal with selection and mismatch resolution issues effectively so as to reduce time consumed. The proposed framework also gives a guideline for developers to search and integrate required components in their systems with constantly changing demands and requirements. This study will facilitate developers to carry out change in a running component based system. All necessary steps required will be available as guideline to developers in logical order to avoid extensive searches from online repositories and component mismatch issues and ease the testing and integration process. The scope of the thesis does not include aspects of cost and non-functional requirements. Cost and non-functional requirements are important aspects of any project. Therefore, these two factors will be a part of future enhancement of the proposed framework.