Skip to main content
Top

2020 | OriginalPaper | Chapter

Teaching Students Software Architecture Decision Making

Authors : Rafael Capilla, Olaf Zimmermann, Carlos Carrillo, Hernán Astudillo

Published in: Software Architecture

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Making the right decisions is challenging for architects on all levels of seniority. Less experienced architects in particular perceive the transition from design problems to their solutions as hard; it is not always clear how to find suitable concepts and technologies, how to compare alternatives, and how to build consensus. Lack of experience makes it difficult to train software engineering students in the identification, selection, and collective evaluation of design alternatives. Moreover, human factors such as cognitive bias make “soft” topics like architecture decisions rather hard to teach. To overcome these issues and let students gain the required experience, a Spanish University ran two experiments. Undergraduate computer science students assumed different roles in collaborative decision-making tasks and design activities. They used a novel decision-modeling tool to capture and challenge the relevant design decisions. This paper describes this new teaching setup and reports on lessons learned.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
ISO/IEC/IEEE 42010 – Systems and software engineering – architecture description. Available at: https://​www.​iso.​org/​standard/​50508.​html.
 
2
The IBM e-business reference architecture taught about the importance of architectural decisions; decision capturing was a recommended practice at IBM since, at least, 1998.
 
Literature
1.
go back to reference Alkadhi, R., Nonnenmacher, M., Guzman, E., Bruegge, B.: How do developers discuss rationale? In: International Conference on Software Analysis, Evolution and Reengineering (SANER 2018). IEEE DL (2018) Alkadhi, R., Nonnenmacher, M., Guzman, E., Bruegge, B.: How do developers discuss rationale? In: International Conference on Software Analysis, Evolution and Reengineering (SANER 2018). IEEE DL (2018)
2.
go back to reference Babb, J., Hoda, R., Norbjerg, J.: Embedding Reflection and Learning into Agile Software Development (2014) Babb, J., Hoda, R., Norbjerg, J.: Embedding Reflection and Learning into Agile Software Development (2014)
3.
go back to reference Bang, J.Y., Krka, I., Medvidovic, N., Kulkarni, N.N., Padmanabhuni, S.: How software architects collaborate: insights from collaborative software design in practice. In: 6th International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 41–48. IEEE (2013) Bang, J.Y., Krka, I., Medvidovic, N., Kulkarni, N.N., Padmanabhuni, S.: How software architects collaborate: insights from collaborative software design in practice. In: 6th International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 41–48. IEEE (2013)
4.
go back to reference Capilla, R.: Embedded design rationale in software architecture. In: Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, pp. 305–308. IEEE DL (2009) Capilla, R.: Embedded design rationale in software architecture. In: Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, pp. 305–308. IEEE DL (2009)
5.
go back to reference Capilla, R., Jansen, A., Tang, A., Avgeriou, P., Ali Babar, M.: A 10 years of software architecture knowledge management: practice and future. J. Syst. Softw. 116, 191–205 (2016)CrossRef Capilla, R., Jansen, A., Tang, A., Avgeriou, P., Ali Babar, M.: A 10 years of software architecture knowledge management: practice and future. J. Syst. Softw. 116, 191–205 (2016)CrossRef
6.
go back to reference Cervantes, H., Kazman, R.: Designing Software Architectures: A Practical Approach. SEI Series in Software Engineering. Addison-Wesley, Boston (2016) Cervantes, H., Kazman, R.: Designing Software Architectures: A Practical Approach. SEI Series in Software Engineering. Addison-Wesley, Boston (2016)
7.
go back to reference Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. SEI Series in Software Engineering. Addison-Wesley, Boston (2001) Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. SEI Series in Software Engineering. Addison-Wesley, Boston (2001)
8.
go back to reference van Deursen, A., et al.: A collaborative approach to teaching software architecture. In: ACM SIGCSE Technical Symposium on Computer Science Education SIGCSE, pp. 591–596. ACM (2017) van Deursen, A., et al.: A collaborative approach to teaching software architecture. In: ACM SIGCSE Technical Symposium on Computer Science Education SIGCSE, pp. 591–596. ACM (2017)
9.
go back to reference Dingsoyr, T., Lago, P., van Vliet, H.: Rationale promotes learning about architectural knowledge. In: 8th International Workshop on Learning Software Organizations (LSO), Rio de Janeiro, Brazil. ACM (2006) Dingsoyr, T., Lago, P., van Vliet, H.: Rationale promotes learning about architectural knowledge. In: 8th International Workshop on Learning Software Organizations (LSO), Rio de Janeiro, Brazil. ACM (2006)
10.
go back to reference Dittmar, A., Forbrig, P.: A case study on supporting teachers’ collective reflection in higher education. In: 36th European Conference on Cognitive Ergonomics ECCE 2018, pp. 4:1–4:8. ACM DL (2018) Dittmar, A., Forbrig, P.: A case study on supporting teachers’ collective reflection in higher education. In: 36th European Conference on Cognitive Ergonomics ECCE 2018, pp. 4:1–4:8. ACM DL (2018)
11.
go back to reference Dorst, K.: Design problems and design paradoxes. Des. Issues 22, 4–17 (2006)CrossRef Dorst, K.: Design problems and design paradoxes. Des. Issues 22, 4–17 (2006)CrossRef
12.
go back to reference Hohpe, G., Ozkaya, I., Zdun, U., Zimmermann, O.: The software architect’s role in the digital age. IEEE Softw. 33(6), 30–39 (2016)CrossRef Hohpe, G., Ozkaya, I., Zdun, U., Zimmermann, O.: The software architect’s role in the digital age. IEEE Softw. 33(6), 30–39 (2016)CrossRef
13.
go back to reference Hwang, W.-Y., Shadiev, R., Wang, C.-Y., Huang, Z.-H.: A pilot study of cooperative programming learning behavior and its relationship with students’ learning performance. Comput. Educ. 58(4), 1267–1281 (2012)CrossRef Hwang, W.-Y., Shadiev, R., Wang, C.-Y., Huang, Z.-H.: A pilot study of cooperative programming learning behavior and its relationship with students’ learning performance. Comput. Educ. 58(4), 1267–1281 (2012)CrossRef
14.
go back to reference Kopp, O., Armbruster, A., Zimmermann, O.: Markdown architectural records: format and tool support. In: 10th Central European Workshop on Services and their Composition, pp. 55–62 (2018) Kopp, O., Armbruster, A., Zimmermann, O.: Markdown architectural records: format and tool support. In: 10th Central European Workshop on Services and their Composition, pp. 55–62 (2018)
15.
go back to reference Larkin, J.H., Simon, H.A.: Why a diagram is (sometimes) worth ten thousand words. Cogn. Sci. 11(1), 65–99 (1987)CrossRef Larkin, J.H., Simon, H.A.: Why a diagram is (sometimes) worth ten thousand words. Cogn. Sci. 11(1), 65–99 (1987)CrossRef
16.
go back to reference Mangano, N., LaToza, T.D., Petre, M., van der Hoek, A.: How software designers interact with sketches at the whiteboard. IEEE Trans. Softw. Eng. 41(2), 135–156 (2015)CrossRef Mangano, N., LaToza, T.D., Petre, M., van der Hoek, A.: How software designers interact with sketches at the whiteboard. IEEE Trans. Softw. Eng. 41(2), 135–156 (2015)CrossRef
17.
go back to reference Männistö, T., Savolainen, J., Myllärniemi, V.: Teaching software architecture design. In: Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008), pp. 117–124. IEEE DL (2008) Männistö, T., Savolainen, J., Myllärniemi, V.: Teaching software architecture design. In: Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008), pp. 117–124. IEEE DL (2008)
19.
go back to reference Nylén, A., Isomöttönen, V.: Exploring the critical incident technique to encourage reflection during project-based learning. In: Koli Calling, pp. 88–97. ACM DL (2017) Nylén, A., Isomöttönen, V.: Exploring the critical incident technique to encourage reflection during project-based learning. In: Koli Calling, pp. 88–97. ACM DL (2017)
20.
go back to reference Pedraza-Garcia, G., Astudillo, H., Correal, D.: DVIA: understanding how software architects make decisions in design meetings. In: ECSA Workshops 2015, pp. 51:1–51:7. ACM DL (2015) Pedraza-Garcia, G., Astudillo, H., Correal, D.: DVIA: understanding how software architects make decisions in design meetings. In: ECSA Workshops 2015, pp. 51:1–51:7. ACM DL (2015)
21.
go back to reference Razavian, M., Paech, V., Tang, A.: Empirical research for software architecture decision making. J. Syst. Softw. 149(3), 360–381 (2018) Razavian, M., Paech, V., Tang, A.: Empirical research for software architecture decision making. J. Syst. Softw. 149(3), 360–381 (2018)
22.
go back to reference Razavian, M., Tang, A., Capilla, R., Lago, P.: In two minds: how reflections influence software design thinking. J. Softw. Evol. Process 28(6), 394–426 (2016)CrossRef Razavian, M., Tang, A., Capilla, R., Lago, P.: In two minds: how reflections influence software design thinking. J. Softw. Evol. Process 28(6), 394–426 (2016)CrossRef
23.
go back to reference Razavian, M., Tang, A., Capilla, R., Lago, P.: Reflective approach for software design decision making. In: Qualitative Reasoning About Software Architectures, pp. 19–26. IEEE DL (2016) Razavian, M., Tang, A., Capilla, R., Lago, P.: Reflective approach for software design decision making. In: Qualitative Reasoning About Software Architectures, pp. 19–26. IEEE DL (2016)
24.
go back to reference Rupakheti, C.R., Chenoweth, S.V.: Teaching software architecture to undergraduate students: an experience report. In: 37th IEEE/ACM International Conference on Software Engineering, vol. 2, pp. 445–454. IEEE CS (2015) Rupakheti, C.R., Chenoweth, S.V.: Teaching software architecture to undergraduate students: an experience report. In: 37th IEEE/ACM International Conference on Software Engineering, vol. 2, pp. 445–454. IEEE CS (2015)
25.
go back to reference Schön, D.A.: The Reflective Practitioner: How Professionals Think in Action. Basic Books, Nueva York (1983) Schön, D.A.: The Reflective Practitioner: How Professionals Think in Action. Basic Books, Nueva York (1983)
26.
go back to reference Schoormann, T., Hofer, J., Knackstedt, R.: Software tools for supporting reflection in design thinking projects. In: 53rd Hawaii International Conference on System Sciences (HICSS 2020), ScholarSpace, pp. 1–10 (2020) Schoormann, T., Hofer, J., Knackstedt, R.: Software tools for supporting reflection in design thinking projects. In: 53rd Hawaii International Conference on System Sciences (HICSS 2020), ScholarSpace, pp. 1–10 (2020)
27.
go back to reference Schubanz, M., Lewerentz, C.: What matters to students – a rationale management case study in agile software development. In: 17. Workshops “Software Engineering im Unterricht der Hochschulen (SEUH 2020)”, CEUR Workshop Proceedings, pp. 17–26 (2020) Schubanz, M., Lewerentz, C.: What matters to students – a rationale management case study in agile software development. In: 17. Workshops “Software Engineering im Unterricht der Hochschulen (SEUH 2020)”, CEUR Workshop Proceedings, pp. 17–26 (2020)
28.
go back to reference Smrithi Rekha, V., Muccini, H.: Group decision-making in software architecture: a study on industrial practices. Inf. Softw. Technol. 101, 51–63 (2018)CrossRef Smrithi Rekha, V., Muccini, H.: Group decision-making in software architecture: a study on industrial practices. Inf. Softw. Technol. 101, 51–63 (2018)CrossRef
29.
go back to reference Talby, D., Hazzan, O., Dubinsky, Y., Keren, A.: Reflections on reflection in agile software development. In: Agile Conference, pp. 11–112. IEEE (2006) Talby, D., Hazzan, O., Dubinsky, Y., Keren, A.: Reflections on reflection in agile software development. In: Agile Conference, pp. 11–112. IEEE (2006)
30.
go back to reference Tang, A., Aleti, A., Burge, J., van Vliet, H.: What makes software design effective? Des. Stud. 31, 614–640 (2010)CrossRef Tang, A., Aleti, A., Burge, J., van Vliet, H.: What makes software design effective? Des. Stud. 31, 614–640 (2010)CrossRef
31.
go back to reference Tang, A., Lau, M.F.: Software architecture review by association. J. Syst. Softw. 88(2), 87–101 (2014)CrossRef Tang, A., Lau, M.F.: Software architecture review by association. J. Syst. Softw. 88(2), 87–101 (2014)CrossRef
33.
go back to reference Tang, A., Bex, F., Schriek, C., van der Werf, J.M.E.M.: Improving software design reasoning - a reminder card approach. J. Syst. Softw. 144, 22–40 (2018)CrossRef Tang, A., Bex, F., Schriek, C., van der Werf, J.M.E.M.: Improving software design reasoning - a reminder card approach. J. Syst. Softw. 144, 22–40 (2018)CrossRef
34.
go back to reference Tofan, D., Galster, M., Avgeriou, P., Schuitema, W.: Past and future of software architectural decisions - a systematic mapping study. Inf. Softw. Technol. 56(8), 850–872 (2014)CrossRef Tofan, D., Galster, M., Avgeriou, P., Schuitema, W.: Past and future of software architectural decisions - a systematic mapping study. Inf. Softw. Technol. 56(8), 850–872 (2014)CrossRef
35.
go back to reference Tofan, D., Galster, M., Lytra, I., Avgeriou, P., Zdun, U., Fouche, M.-A., de Boer, R.C., Solms, F.: Empirical evaluation of a process to increase consensus in group architectural decision making. Inf. Softw. Technol. 72, 31–47 (2016)CrossRef Tofan, D., Galster, M., Lytra, I., Avgeriou, P., Zdun, U., Fouche, M.-A., de Boer, R.C., Solms, F.: Empirical evaluation of a process to increase consensus in group architectural decision making. Inf. Softw. Technol. 72, 31–47 (2016)CrossRef
37.
go back to reference Wachenchauzer, R.: Work in progress – promoting critical thinking while learning programming language concepts and paradigms. In: Proceedings of IEEE International Conference on Frontiers in Education, Savannah, GA, USA, pp. 13–14 (2004) Wachenchauzer, R.: Work in progress – promoting critical thinking while learning programming language concepts and paradigms. In: Proceedings of IEEE International Conference on Frontiers in Education, Savannah, GA, USA, pp. 13–14 (2004)
38.
go back to reference Zimmermann, O., Koehler, J., Leymann, F.: Architectural decision models as micro-methodology for service-oriented analysis and design. In: Lübke, D. (ed.) Proceedings of the Workshop on Software Engineering Methods for Service-oriented Architecture 2007 (SEMSOA 2007), Hannover, Germany, vol. 244. CEUR-WS.org (2007) Zimmermann, O., Koehler, J., Leymann, F.: Architectural decision models as micro-methodology for service-oriented analysis and design. In: Lübke, D. (ed.) Proceedings of the Workshop on Software Engineering Methods for Service-oriented Architecture 2007 (SEMSOA 2007), Hannover, Germany, vol. 244. CEUR-WS.org (2007)
39.
go back to reference Zimmermann, O., Wegmann, L., Koziolek, H., Goldschmidt, T.: Architectural decision guidance across projects. In: Proceedings of IEEE/IFIP WICSA (2015) Zimmermann, O., Wegmann, L., Koziolek, H., Goldschmidt, T.: Architectural decision guidance across projects. In: Proceedings of IEEE/IFIP WICSA (2015)
Metadata
Title
Teaching Students Software Architecture Decision Making
Authors
Rafael Capilla
Olaf Zimmermann
Carlos Carrillo
Hernán Astudillo
Copyright Year
2020
DOI
https://doi.org/10.1007/978-3-030-58923-3_16

Premium Partner