THE EVOLUTION OF COMPONENT BASED SOFTWARE ENGINEERING FROM THE TRADITIONAL APPROACH TO CURRENT PRACTICES

Reusability is a phenomenon that has been long known. Initially in a low scale, at the levels of functions in the programs, and later in it’s alter avatar, in form of Component Based Software Engineering (CBSE). Reusability was the key factor around which CBSE revolved. But later, it was observed that even a more stringent factor was involved that marked CBSE as a pioneer in the Software Development Methodologies - Evolution of Requirements. Evolution of requirements is a natural phenomenon, in the life cycles of the Software Systems in the modern era. As requirements evolve, new features are added and existing features are modified or deleted. To conform to the requirement evolution, the current working version of the implementation also has to change in most cases, to support the changed needs. Where other methodologies felt short to embrace, CBSE seems to harness this fact. In this paper, I have compared the various approaches and methodologies from the traditional times. I then survey some of the popular approaches to CBSE, and provided a comparative discussion among those approaches considering the challenges faced by component based development.

[1]  Ivica Crnkovic Component-based software engineering - new challenges in software development , 2001, Softw. Focus.

[2]  Ivica Crnkovic,et al.  Component-based development process and component lifecycle , 2005, 27th International Conference on Information Technology Interfaces, 2005..

[3]  Kung-Kiu Lau,et al.  Software Component Models , 2006, IEEE Transactions on Software Engineering.

[4]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[5]  Michael A. Cusumano,et al.  How Microsoft builds software , 1997, CACM.

[6]  Li Qiong,et al.  The W-Model for Testing Software Product Lines , 2008, 2008 International Symposium on Computer Science and Computational Technology.

[7]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[8]  Tullio Vardanega,et al.  A Component Model for On-board Software Applications , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[9]  Jeffrey M. Voas Maintaining Component-Based Systems , 1998, IEEE Softw..

[10]  J. Voas,et al.  Software Testability: The New Verification , 1995, IEEE Softw..

[11]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[12]  Luiz Fernando Capretz Y: A New Component-Based Software Life Cycle Model , 2005 .

[13]  Tullio Vardanega,et al.  On Component-Based Development and High-Integrity Real-Time Systems , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[14]  Ian Sommerville,et al.  Towards a classification model for component-based software engineering research , 2003, 2003 Proceedings 29th Euromicro Conference.

[15]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[16]  Luiz Fernando Capretz,et al.  Object-Oriented Software: Design and Maintenance , 1996, Series on Software Engineering and Knowledge Engineering.

[17]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[18]  Simon Shim,et al.  Monitoring software components and component-based software , 2000, Proceedings 24th Annual International Computer Software and Applications Conference. COMPSAC2000.

[19]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[20]  Alan W. Brown Large Scale Component Based Development , 2000 .

[21]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .