Understanding 'variation' in component-based development: case findings from practice

Abstract This paper discusses the importance of understanding and capturing variation in component-based development using the context of a six-month action research project carried out within a major system solution provider. The issues raised in the empirical context show that the norms of given development disciplines need to adapt for component-based development projects and that this is neither trivial nor easy. In addressing such issues, the implications of adopting a domain-based approach to component-based development are explored alongside the means by which this may be undertaken. This exploration highlights the need to provide an explicit understanding of variation and the ramifications of providing a component with varying degrees of context independence are explored via a scenario developed in practice. The scenario shows that neither reuse nor variation should be allowed to be chaotic if component-based development is to handle flexibility in a more cost-effective and coherent manner than system maintenance currently does. The paper concludes by presenting an example of an elaborated use case to illustrate how existing techniques can be modified to provide a structured environment for understanding variation. Holistically, the discussion shows that component-based development should not be viewed as a singular discipline, but rather as an umbrella activity that requires the melding of a number of important research areas.

[1]  Rubén Prieto-Díaz,et al.  Domain analysis: an introduction , 1990, SOEN.

[2]  N. Denzin The research act: A theoretical introduction to sociological methods , 1977 .

[3]  L. Bickman,et al.  Handbook of Applied Social Research Methods , 1998 .

[4]  Peter Eeles,et al.  Building Business Objects , 1998 .

[5]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

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

[7]  Martin L. Griss,et al.  Making Reuse Work At Hewlett-Packard , 1995, IEEE Softw..

[8]  Tobias Murer The Challenge of the Global Software Process , 1997, ECOOP Workshops.

[9]  Kim B. Clark,et al.  The Microstructure of Designs , 1997 .

[10]  Alistair Cockburn,et al.  Structuring Use Cases with Goals , 2000 .

[11]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[12]  Oscar Nierstrasz,et al.  Component-oriented software development , 1992, CACM.

[13]  Victor R. Basili,et al.  How reuse influences productivity in object-oriented systems , 1996, CACM.

[14]  H. Klein,et al.  Information systems research: contemporary approaches and emergent traditions , 1991 .

[15]  Geoff Walsham,et al.  Interpreting Information Systems in Organizations , 1993 .

[16]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[17]  Kendall Scott,et al.  UML distilled - applying the standard object modeling language , 1997 .

[18]  Ian M. Graham,et al.  Migrating to object technology , 1994 .

[19]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[20]  M. Patton,et al.  Qualitative evaluation and research methods , 1992 .

[21]  Alistair Cockburn,et al.  Goals and Use Cases , 1997, J. Object Oriented Program..

[22]  P. Checkland From framework through experience to learning: The essential nature of action research , 1991 .

[23]  Geoff Walsham,et al.  Interpretive case studies in IS research: nature and method , 1995 .

[24]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[25]  Sue Holwell,et al.  Information, Systems and Information Systems: Making Sense of the Field , 1998 .

[26]  Richard Baskerville,et al.  Diversity in information systems action research methods , 1998 .

[27]  Brian Randell,et al.  Software Engineering: Concepts and Techniques , 1976 .

[28]  Oscar Nierstrasz,et al.  Beyond Objects: Components , 1997 .

[29]  Geoffrey A. Moore Crossing the chasm : marketing and selling technology products to mainstream customers , 1991 .

[30]  Dennis A. Gioia,et al.  Mapping Strategic Thought. , 1992 .

[31]  R M Holmes,et al.  C3 Domain Analysis, Lessons Learned , 1993 .