Skip to main content

Naive Architecting - Understanding the Reasoning Process of Students

A Descriptive Survey

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6285))

Abstract

Software architecting entails making architecture decisions, which requires a lot of experience and expertise. Current literature contains several methods and processes to support architects with architecture design, documentation and evaluation but not with the design reasoning involved in decision-making. In order to derive a systematic reasoning process we need to understand the current state of practice and propose ways to improve it. In this paper we present the results of a survey that was conducted with undergraduate software engineering students, aiming to find out the innate reasoning process during architecting. The results of the survey are compared to the existing architecture literature in order to identify promising directions towards systematic reasoning processes.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Amazon.com (2010), http://www.amazon.com

  2. IEEE-Std-1471-2000. Recommended Practice for Architectural Description of Software-Intensive Systems. Technical report, IEEE (2000)

    Google Scholar 

  3. Bass, L., Clements, P., Kazman, R.: Software architecture in practice. Pearson Education, London (2003)

    Google Scholar 

  4. Bosch, J.: Software architecture: The next step. LNCS, pp. 194–199. Springer, Heidelberg (2004)

    Book  Google Scholar 

  5. Bosch, J., Molin, P.: Software architecture design: evaluation and transformation. In: Proceedings of IEEE Conference and Workshop on Engineering of Computer-Based Systems, ECBS 1999, pp. 4–10 (1999)

    Google Scholar 

  6. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns, vol. 1. John Wiley & Sons, Inc., New York (1996)

    Google Scholar 

  7. Clements, P., Garlan, D., Bass, L., Stafford, J., Nord, R., Ivers, J., Little, R.: Documenting software architectures: views and beyond. Pearson Education, London (2002)

    Google Scholar 

  8. Clerc, V., Lago, P., Van Vliet, H.: The Architect’s Mindset. In: Overhage, S., Szyperski, C., Reussner, R., Stafford, J.A. (eds.) QoSA 2007. LNCS, vol. 4880, pp. 231–249. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Farenhorst, R., Hoorn, J.F., Lago, P., Vliet, H.V.: The Lonesome Architect. In: Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture (WICSA/ECSA 2009), Cambridge, UK (September 14-17, 2009)

    Google Scholar 

  10. Hofmeister, C., Kruchten, P., Nord, R., Obbink, H., Ran, A., America, P.: Generalizing a Model of Software Architecture Design from Five Industrial Approaches. In: Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture. IEEE Computer Society, Los Alamitos (2005)

    Google Scholar 

  11. Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley Professional, Reading (2009)

    Google Scholar 

  12. Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture, pp. 109–120 (2005)

    Google Scholar 

  13. Jansen, A., Bosch, J., Avgeriou, P.: Documenting after the fact: Recovering architectural design decisions. The Journal of Systems & Software 81(4), 536–557 (2008)

    Article  Google Scholar 

  14. Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The architecture tradeoff analysis method. In: ICECCS. IEEE Computer Society, Los Alamitos (1998)

    Google Scholar 

  15. Kitchenham, B., Pfleeger, S., Pickard, L., Jones, P., Hoaglin, D., El Emam, K., Rosenberg, J.: Preliminary guidelines for empirical research in software engineering. IEEE Transactions on Software Engineering 28, 721–734 (2002)

    Article  Google Scholar 

  16. Kruchten, P.: The 4+ 1 view of architecture. IEEE software 12(6), 45–50 (1995)

    Article  Google Scholar 

  17. Kruchten, P.: What do software architects really do? Journal of Systems and Software 81, 2413–2416 (2008)

    Article  Google Scholar 

  18. Kazman, R., Bass, L., Webb, M., Abowd, G.: SAAM: A method for analyzing the properties of software architectures. In: Proceedings of the 16th international conference on Software engineering, pp. 81–90. IEEE Computer Society Press, Los Alamitos (1994)

    Chapter  Google Scholar 

  19. Williams, L., Smith, C.: PASA SM: a method for the performance assessment of software architectures. In: Proceedings of the 3rd International Workshop on Software and Performance, p. 189. ACM, New York (2002)

    Google Scholar 

  20. Lethbridge, T., Sim, S., Singer, J.: Studying software engineers: Data collection techniques for software field studies. Empirical Software Engineering 10(3), 311–341 (2005)

    Article  Google Scholar 

  21. Kruchten, P.: The Rational Unified Process An Introduction. Addison Wesley-Publishing Company, Reading (2000)

    Google Scholar 

  22. Shull, F., Singer, J., Sjøberg, D.: Guide to Advanced Empirical Software Engineering. Springer, New York (2007)

    Google Scholar 

  23. Tang, A., Babar, M., Gorton, I., Han, J.: A survey of architecture design rationale. Journal of systems and software 79(12), 1792–1804 (2006)

    Article  Google Scholar 

  24. Tang, A., Lago, P.: Notes on design reasoning tactics. Technical report, Swinburne University of Technology (2009)

    Google Scholar 

  25. Tang, A., Tran, M., Han, J., Vliet, H.: Design reasoning improves software design quality. In: Becker, S., Plasil, F., Reussner, R. (eds.) QoSA 2008. LNCS, vol. 5281, pp. 28–42. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  26. Trochim, W.: The Research Methods Knowledge Base. Atomic Dog Publishing (2001)

    Google Scholar 

  27. Tyree, J., Akerman, A.: Architecture Decisions: Demystifying Architecture. IEEE Software 22, 19–27 (2005)

    Article  Google Scholar 

  28. Van Der Ven, J., Jansen, A., Avgeriou, P., Hammer, D.: Using architectural decisions. In: Hofmeister, C., Crnković, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, Springer, Heidelberg (2006)

    Google Scholar 

  29. Van Der Ven, J., Jansen, A., Nijhuis, J., Bosch, J.: Design Decisions: The Bridge between Rationale and Architecture. In: Rationale management in software engineering, pp. 329–348. Springer, Heidelberg (2006)

    Google Scholar 

  30. Wohlin, C., Host, M., Henningsson, K.: Empirical research methods in software engineering. In: Empirical Methods and Studies in Software Engineering, pp. 145–165. Springer, Heidelberg (2003)

    Google Scholar 

  31. Clements, P., Kazman, R., Klein, M., Devesh, D., Reddy, E., Verma, P.: The Duties, Skills, and Knowledge of Software Architects. In: Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture (2007)

    Google Scholar 

  32. Zdun, U.: Systematic pattern selection using pattern language grammars and design space analysis. Software Practice and Experience 37(9), 1016 (2007)

    Article  Google Scholar 

  33. Zimmermann, O., Zdun, U., Gschwind, T., Leymann, F.: Combining Pattern Languages and Reusable Architectural Decision Models into a Comprehensive and Comprehensible Design Method. In: Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008), pp. 157–166 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

van Heesch, U., Avgeriou, P. (2010). Naive Architecting - Understanding the Reasoning Process of Students. In: Babar, M.A., Gorton, I. (eds) Software Architecture. ECSA 2010. Lecture Notes in Computer Science, vol 6285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15114-9_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15114-9_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15113-2

  • Online ISBN: 978-3-642-15114-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics