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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
IEEE Standard Glossary of Software Engineering Terminology. Tech. rep. (1990)
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)
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)
Boucké, N., Weyns, D., Holvoet, T.: Composition of architectural models: Empirical analysis and language support. J. Syst. Softw. 83(11), 2108–2127 (2010)
Clements, P., Garlan, D., Bass, L., Stafford, J., Nord, R., Ivers, J., Little, R.: Documenting Software Architectures: Views and Beyond. Pearson Education (2002)
Cook, T.D., Campbell, D.T.: Quasi-Experimentation: Design and Analysis Issues for Field Settings. Houghton Mifflin (1979)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley (2000)
ISO: ISO/IEC CD1 42010, Systems and software engineering — Architecture description (January 2010)
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)
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)
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)
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)
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)
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)
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)
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)
Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)
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)
Rozanski, N., Woods, E.: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. Addison-Wesley Professional (2005)
Shapiro, S.S., Wilk, M.B.: An analysis of variance test for normality (complete samples). Biometrika 3(52) (1965)
Stevens, S.: On the theory of scales of measurement. Science 103(2684), 677–680 (1946)
Tyree, J., Akerman, A.: Architecture decisions: Demystifying architecture. IEEE Software 22, 19–27 (2005)
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)
Wilk, M.B., Gnanadesikan, R.: Probability plotting methods for the analysis of data. Biometrika 55(1), 1–17 (1968)
Wohlin, C.: Experimentation in Software Engineering: An Introduction. Kluwer Academic (2000)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)