Skip to main content

Controlled Experiment on the Supportive Effect of Architectural Component Diagrams for Design Understanding of Novice Architects

  • Conference paper
Book cover Software Architecture (ECSA 2013)

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

Included in the following conference series:

Abstract

Today, architectural component models are often used as a central view of architecture descriptions. So far, however, only a very few rigorous empirical studies relating to the use of component models in architectural descriptions of software systems have been conducted. In this paper, we present the results of a controlled experiment regarding the supportive effect of architectural component diagrams for design understandability. In particular, the goal of the experiment was to determine whether architectural component diagrams, provided in addition to a non-trivial software system’s source code, have a supportive effect on the ability of novice architects to answer design and architecture related questions about that system. Our study provides initial evidence that architectural component diagrams have a supportive effect for understanding the software design and architecture, if a direct link from the component diagram’s elements to the problem that requires understanding can be made. If such a direct link cannot be made, we found evidence that it should not be assumed that architectural component diagrams help in design understanding, for instance only by providing a big picture view or some general kind of orientation.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. IEEE Standard Glossary of Software Engineering Terminology. Tech. rep. (1990)

    Google Scholar 

  2. Babar, M.A., Bass, L., Gorton, I.: Factors influencing industrial practices of software architecture evaluation: An empirical investigation. In: Overhage, S., Ren, X.-M., Reussner, R., Stafford, J.A. (eds.) QoSA 2007. LNCS, vol. 4880, pp. 90–107. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  3. Biffl, S., Ali Babar, M., Winkler, D.: Impact of experience and team size on the quality of scenarios for architecture evaluation. In: Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering, EASE 2008, pp. 1–10. British Computer Society, Swinton (2008)

    Google Scholar 

  4. Boucké, N., Weyns, D., Holvoet, T.: Composition of architectural models: Empirical analysis and language support. J. Syst. Softw. 83(11), 2108–2127 (2010)

    Article  Google Scholar 

  5. Clements, P., Garlan, D., Bass, L., Stafford, J., Nord, R., Ivers, J., Little, R.: Documenting Software Architectures: Views and Beyond. Pearson Education (2002)

    Google Scholar 

  6. Cook, T.D., Campbell, D.T.: Quasi-Experimentation: Design and Analysis Issues for Field Settings. Houghton Mifflin (1979)

    Google Scholar 

  7. Cruz-Lemus, J.A., Genero, M., Manso, M.E., Morasca, S., Piattini, M.: Assessing the understandability of uml statechart diagrams with composite states–a family of empirical studies. Empirical Softw. Engg. 14(6), 685–719 (2009)

    Article  Google Scholar 

  8. Falessi, D., Babar, M.A., Cantone, G., Kruchten, P.: Applying empirical software engineering to software architecture: challenges and lessons learned. Empirical Softw. Engg. 15(3), 250–276 (2010)

    Article  Google Scholar 

  9. Fenton, N.E., Ohlsson, N.: Quantitative analysis of faults and failures in a complex software system. IEEE Trans. Softw. Eng. 26(8), 797–814 (2000)

    Article  Google Scholar 

  10. Fernández-Sáez, A.M., Genero, M., Chaudron, M.R.V.: Does the level of detail of uml models affect the maintainability of source code? In: Kienzle, J. (ed.) MODELS 2011 Workshops. LNCS, vol. 7167, pp. 134–148. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  11. Ferrari, R., Miller, J.A., Madhavji, N.H.: A controlled experiment to assess the impact of system architectures on new system requirements. Requir. Eng. 15(2), 215–233 (2010)

    Article  Google Scholar 

  12. Galster, M.: Dependencies, traceability and consistency in software architecture: towards a view-based perspective. In: Proceedings of the 5th European Conference on Software Architecture: Companion Volume, ECSA 2011. ACM (2011)

    Google Scholar 

  13. Genero, M., Cruz-Lemus, J.A., Caivano, D., Abrahão, S., Insfran, E., Carsí, J.A.: Assessing the influence of stereotypes on the comprehension of uml sequence diagrams: A controlled experiment. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MoDELS 2008. LNCS, vol. 5301, pp. 280–294. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  14. Graves, T.L., Karr, A.F., Marron, J.S., Siy, H.: Predicting fault incidence using software change history. IEEE Trans. Softw. Eng. 26(7), 653–661 (2000)

    Article  Google Scholar 

  15. Hansen, K.M., Jonasson, K., Neukirchen, H.: Controversy corner: An empirical study of software architectures’ effect on product quality. J. Syst. Softw. 84(7), 1233–1243 (2011)

    Article  Google Scholar 

  16. van Heesch, U., Avgeriou, P.: Naive architecting - understanding the reasoning process of students: a descriptive survey. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 24–37. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  17. van Heesch, U., Avgeriou, P., Zdun, U., Harrison, N.: The supportive effect of patterns in architecture decision recovery - a controlled experiment. Sci. Comput. Program. 77(5), 551–576 (2012)

    Article  Google Scholar 

  18. van Heesch, U., Avgeriou, P.: Mature architecting - a survey about the reasoning process of professional architects. In: Proceedings of the 2011 Ninth Working IEEE/IFIP Conference on Software Architecture, WICSA 2011, pp. 260–269. IEEE Computer Society, Washington, DC (2011)

    Chapter  Google Scholar 

  19. Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley (2000)

    Google Scholar 

  20. ISO: ISO/IEC CD1 42010, Systems and software engineering — Architecture description (January 2010)

    Google Scholar 

  21. 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, WICSA 2005, pp. 109–120. IEEE Computer Society, Washington, DC (2005)

    Google Scholar 

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

    Article  Google Scholar 

  23. Kruchten, P., Lago, P., van Vliet, H.: Building up and reasoning about architectural knowledge. In: Hofmeister, C., Crnkovic, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 43–58. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  24. Malaiya, Y.K., Denton, J.: Module size distribution and defect density. In: Proceedings of the 11th International Symposium on Software Reliability Engineering, ISSRE 2000, pp. 62–71. IEEE Computer Society, Washington, DC (2000)

    Chapter  Google Scholar 

  25. Mann, H.B., Whitney, D.R.: On a test of whether one of two random variables is stochastically larger than the other. Annals of Mathematical Statistics 18(1), 50–60 (1947)

    Article  MathSciNet  MATH  Google Scholar 

  26. Miller, J.A., Ferrari, R., Madhavji, N.H.: An exploratory study of architectural effects on requirements decisions. J. Syst. Softw. 83(12), 2441–2455 (2010)

    Article  Google Scholar 

  27. Mohagheghi, P., Conradi, R., Killi, O.M., Schwarz, H.: An empirical study of software reuse vs. defect-density and stability. In: Proceedings of the 26th International Conference on Software Engineering, ICSE 2004, pp. 282–292. IEEE Computer Society, Washington, DC (2004)

    Chapter  Google Scholar 

  28. Otero, M.C., Dolado, J.J.: Evaluation of the comprehension of the dynamic modeling in uml. Information and Software Technology 46(1), 35–53 (2004)

    Article  Google Scholar 

  29. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  30. Purchase, H.C., Colpoys, L., McGill, M., Carrington, D., Britton, C.: Uml class diagram syntax: an empirical study of comprehension. In: Proceedings of the 2001 Asia-Pacific Symposium on Information Visualisation, APVis 2001, vol. 9, pp. 113–120. Australian Computer Society, Inc., Darlinghurst (2001)

    Google Scholar 

  31. Rozanski, N., Woods, E.: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. Addison-Wesley Professional (2005)

    Google Scholar 

  32. Shapiro, S.S., Wilk, M.B.: An analysis of variance test for normality (complete samples). Biometrika 3(52) (1965)

    Google Scholar 

  33. Stevens, S.: On the theory of scales of measurement. Science 103(2684), 677–680 (1946)

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  35. Umphress, D.A., Hendrix, T.D., Cross II, J.H., Maghsoodloo, S.: Software visualizations for improving and measuring the comprehensibility of source code. Science of Computer Programming 60(2), 121–133 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  36. Wilk, M.B., Gnanadesikan, R.: Probability plotting methods for the analysis of data. Biometrika 55(1), 1–17 (1968)

    Google Scholar 

  37. Wohlin, C.: Experimentation in Software Engineering: An Introduction. Kluwer Academic (2000)

    Google Scholar 

  38. Zimmermann, O., Koehler, J., Leymann, F., Polley, R., Schuster, N.: Managing architectural decision models with dependency relations, integrity constraints, and production rules. Journal of Systems and Software 82(8), 1249–1267 (2009)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Haitzer, T., Zdun, U. (2013). Controlled Experiment on the Supportive Effect of Architectural Component Diagrams for Design Understanding of Novice Architects. In: Drira, K. (eds) Software Architecture. ECSA 2013. Lecture Notes in Computer Science, vol 7957. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39031-9_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39031-9_6

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics