Software component reuse in information systems development: a review of challenges and strategies

The development of information systems projects has always been plagued by high incidences of failure which can be attributed to the sheer complexity of the problem at hand coupled with uncertainties brought about by the dynamic business environment and constantly evolving technologies. With component-based software development (CBSD), organisations can now utilise component technology to increase the likelihood of project success. This is made possible by component reuse which can be leveraged to minimise the effort required to develop applications. Component reuse needs to be organised and implemented well by the adopting organisation to ensure success. To maximise the likelihood of success, the organisation must ensure that the effort is systematically planned and addresses a wide array of technical as well as non-technical issues. More importantly, the organisation must not be fixated on the technology itself; instead adequate attention must be given to the non-technical issues which are often sidelined by project managers. This paper will briefly introduce the key concepts of CBSD and component reuse before providing a detailed discussion on the various technical and non-technical issues that need to be considered in software component reuse. The main contribution of this paper is that it provides a discussion of the issues that need to be considered by the organisation in implementing component reuse programmes.

[1]  Andrew Martin,et al.  Information Systems Project Redefinition in New Zealand: Will We Ever Learn? , 1996, Aust. Comput. J..

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

[3]  Alan W. Brown Component-Based Software Engineering: Selected Papers from the Software Engineering Institute , 1996 .

[4]  Oliver Sims,et al.  Business Component Factory : A Comprehensive Overview of Component-Based Development for the Enterprise , 1999 .

[5]  Capers Jones,et al.  Patterns of Large Software Systems: Failure and Success , 1995, Computer.

[6]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[7]  Len Bass,et al.  Software architecture design principles , 2001 .

[8]  Steve Latchem Component infrastructures: placing software components in context , 2001 .

[9]  Richard Dué The Economics of Component-Based Development , 2000, Inf. Syst. Manag..

[10]  Alan Cameron Wills Components and connectors: catalysis techniques for designing component infrastructures , 2001 .

[11]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[12]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[13]  Bill Councill,et al.  Definition of a software component and its elements , 2001 .

[14]  John Williams The business case for components , 2001 .

[15]  T. C. Nicholas Graham,et al.  ClockWorks: Visual Programming of Component-Based Software Architectures , 1996, J. Vis. Lang. Comput..

[16]  Liqing Wang,et al.  Teaching Component-Based Software Engineering: A Formal Approach and Its Evaluation , 2002, Comput. Sci. Educ..

[17]  Donald J. Reifer Implementing a practical reuse program for software components , 2001 .

[18]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[19]  Kweku Ewusi-Mensah,et al.  Critical issues in abandoned information systems development projects , 1997, CACM.

[20]  Kelli Houston,et al.  Software components and the UML , 2001 .

[21]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[22]  H. Kagerman Analysis: Manufacturing IT - Building blocks of success , 2005 .

[23]  Martin L. Griss Product-line architectures , 2001 .