Advertisement

Architectural Prototyping in Industrial Practice

  • Henrik Bærbak Christensen
  • Klaus Marius Hansen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5292)

Abstract

Architectural prototyping is the process of using executable code to investigate stakeholders’ software architecture concerns with respect to a system under development. Previous work has established this as a useful and cost-effective way of exploration and learning of the design space of a system, in addressing issues regarding quality attributes, in addressing architectural risks, and in addressing the problem of knowledge transfer and conformance. Little work has been reported so far on the actual industrial use of architectural prototyping. In this paper, we report from an ethnographical study and focus group involving architects from four companies in which we have focused on architectural prototypes. Our findings conclude that architectural prototypes play an important role in resolving problems experimentally, but less so in exploring alternative solutions. Furthermore, architectural prototypes include end-user or business related functionality rather than purely architectural functionality. Based on these observations we provide recommendations for effective industrial architectural prototyping.

Keywords

Software Architect Software Architecture Industrial Practice Architectural Decision Architectural Prototype 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bardram, J.E., Christensen, H.B., Hansen, K.M.: Architectural Prototyping: An Approach for Grounding Architectural Design. In: Proceedings of Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA4), Oslo, Norway, pp. 15–24 (June 2004)Google Scholar
  2. 2.
    Bardram, J.E., Christensen, H.B., Corry, A.V., Hansen, K.M., Ingstrup, M.: Exploring Quality Attributes Using Architectural Prototyping. In: Reussner, R., Mayer, J., Stafford, J.A., Overhage, S., Becker, S., Schroeder, P.J. (eds.) QoSA 2005 and SOQUA 2005. LNCS, vol. 3712, pp. 155–170. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  4. 4.
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. Wiley, Chichester (1996)Google Scholar
  5. 5.
    Christensen, H.B.: Towards an Operational Framework for Architectural Prototyping. In: Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture (WICSA 2005), pp. 301–302 (2005)Google Scholar
  6. 6.
    Christensen, H.B., Hansen, K.M., Schougaard, K.R.: Ready! Set! Go! An Action Research Agenda for Software Architecture Research. In: Proceedings of Working IEEE/IFIP Conference on Software Architecture (WICSA) 2008 (2008)Google Scholar
  7. 7.
    Christensen, H.B., Hansen, K.M., Schougaard, K.R.: SA@Work - A Field Study of Software Architecture and Software Quality at Work (under submission, 2008)Google Scholar
  8. 8.
    Clements, P., Kazman, R., Klein, M.: Evaluating software architectures: methods and case studies. Addison-Wesley, Reading (2002)Google Scholar
  9. 9.
    Farenhorst, R., Izaks, R., Lago, P., van Vliet, H.: A Just-In-Time Architectural Knowledge Sharing Portal. In: Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008), pp. 125–134 (2008)Google Scholar
  10. 10.
    Floyd, C.: A systematic look at prototyping. In: Budde, R., Kuhlenkamp, K., Mathiassen, L., Züllighoven, H. (eds.) Approaches to Prototyping, pp. 1–18. Springer, Heidelberg (1984)Google Scholar
  11. 11.
    Grønbæk, K., Kyng, M., Mogensen, P.: Toward a cooperative experimental system development approach. In: Kyng, M., Mathiassen, L. (eds.) Computers and Design in Context, pp. 201–238. MIT Press, Cambridge (1997)Google Scholar
  12. 12.
    Hammersley, M., Atkinson, P.: Ethnography. Principles in Practice. London & New York, Routledge (1997)Google Scholar
  13. 13.
    Jørgensen, M., Sjøberg, D.: Generalization and Theory Building in Software Engineering Research. Empirical Assessment in Software Eng. Proc., 29–36 (2004)Google Scholar
  14. 14.
    Kazman, R., Klein, M., Clements, P.: ATAM: Method for Architecture Evaluation. Carnegie Mellon University, Software Engineering Institute (2000)Google Scholar
  15. 15.
    Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley Professional, Reading (2003)Google Scholar
  16. 16.
    Kruchten, P.: The 4+1 view model of architecture. IEEE Software 12(6), 42–50 (1995)CrossRefGoogle Scholar
  17. 17.
    Larman, C., Basili, V.R.: Iterative and incremental development. A brief history. IEEE Computer 36(6), 47–56 (2003)Google Scholar
  18. 18.
    Mårtensson, F., Grahn, H., Mattsson, M.: An Approach for Performance Evaluation of Software Architectures using Prototyping. In: Proc. Int’l Conference on Software Engineering and Applications (SEA 2003), pp. 605–612 (2003)Google Scholar
  19. 19.
    Miluk, G.: Results of a field study of cmmi for small settings using rapid applied ethnography. Technical Report CMU/SEI-2006-SR-001, Software Engeneering Institute, Carnegie Mellon (2006)Google Scholar
  20. 20.
    Paulish, D., Gorton, I., Tyree, J., Soni, D. (eds.): Proceedings of Working IEEE/IFIP Conference on Software Architecture (WICSA) 2007. IEEE, Los Alamitos (2007)Google Scholar
  21. 21.
    Shaw, M., Garlan, D.: Software architecture: perspectives on an emerging discipline. Prentice-Hall, Upper Saddle River (1996)zbMATHGoogle Scholar
  22. 22.
    Sjøberg, D., Dyba, T., Jørgensen, M.: The future of empirical methods in software engineering research. In: International Conference on Software Engineering, pp. 358–378 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Henrik Bærbak Christensen
    • 1
  • Klaus Marius Hansen
    • 1
  1. 1.Department of Computer ScienceUniversity of AarhusÅrhus NDenmark

Personalised recommendations