Going beyond the Blueprint: Unravelling the Complex Reality of Software Architectures

The term Software Architecture captures a complex amalgam of representations and uses, real and figurative, that is rendered and utilized by different stakeholders throughout the software development process. Current approaches to documenting Software Architecture, in contrast, rely on the notion of a blueprint that may not be sufficient to capture this multi-faceted concept. We argue that it might not even be feasible in practice to have such a unified understanding of this concept for a given setting. We demonstrate, with the help of in-depth case studies, that four key metaphors govern the creation and use of software architecture by different communities: “blueprint”, “literature”, “language”, and “decision”. The results challenge the current, somewhat narrow, understanding of the concept of software architecture that focuses on description languages, suggesting new directions for more effective representation and use of software architecture in practice.

[1]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[2]  Wanda J. Orlikowski,et al.  CASE Tools as Organizational Change: Investigating Incremental and Radical Changes in Systems Development , 1993, MIS Q..

[3]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[4]  Kari Smolander,et al.  Four metaphors of architecture in software organizations: finding out the meaning of architecture in practice , 2002, Proceedings International Symposium on Empirical Software Engineering.

[5]  Karl Reed,et al.  Why we need a different view of software architecture , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[6]  IEEE-SA Standards Board , 2000 .

[7]  Linda S. Lotto Qualitative Data Analysis: A Sourcebook of New Methods , 1986 .

[8]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[9]  A. Strauss,et al.  Basics of qualitative research: Grounded theory procedures and techniques. , 1992 .

[10]  Christine Hofmeister,et al.  Software Architecture: System Design, Development and Maintenance, IFIP 17th World Computer Congress - TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture (WICSA3), August 25-30, 2002, Montréal, Québec, Canada , 2002 .

[11]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[12]  Kari Smolander,et al.  What is included in software architecture? A case study in three software organizations , 2002, Proceedings Ninth Annual IEEE International Conference and Workshop on the Engineering of Computer-Based Systems.

[13]  B. Glaser Theoretical Sensitivity: Advances in the Methodology of Grounded Theory , 1978 .

[14]  C. Brodsky The Discovery of Grounded Theory: Strategies for Qualitative Research , 1968 .

[15]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[16]  Kim Halskov,et al.  A guide to metaphorical design , 1994, CACM.

[17]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[18]  G. Lakoff,et al.  Metaphors We Live By , 1980 .

[19]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[20]  Kim Halskov Madsen,et al.  A guide to metaphorical design , 1994 .

[21]  G. Lakoff,et al.  Metaphors We Live by , 1981 .

[22]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[23]  Alan R. Hevner,et al.  Box-Structured Methods for Systems Development with Objects , 1993, IBM Syst. J..

[24]  David Garlan,et al.  Reconciling the needs of architectural description with object-modeling notations , 2000, Sci. Comput. Program..

[25]  Tero Päivärinta,et al.  Describing and Communicating Software Architecture in Practice: Observations on Stakeholders and Rationale , 2002, CAiSE.