Skip to main content
Erschienen in: Innovations in Systems and Software Engineering 4/2018

12.12.2018 | Original Paper

Software architectural patterns in practice: an empirical study

verfasst von: Mohamad Kassab, Manuel Mazzara, JooYoung Lee, Giancarlo Succi

Erschienen in: Innovations in Systems and Software Engineering | Ausgabe 4/2018

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Software architecture involves a series of decisions based on many factors in a wide range of software development. Architects face recurring issues in different software architecture design, and to reduce huge cost and risks, software architecture decisions can rely on a set of idiomatic patterns commonly named architectural styles or patterns. Architectural pattern determines the vocabulary of components and connectors that are used in instances of the pattern together with a set of constraints to combine the two. Little contemporary data exists to document actual practices used by software professionals when selecting and incorporating architectural patterns for their projects in industry. Therefore, a comprehensive survey of software professionals was conducted to attempt to discover these practices. This exploratory survey and its quantitative results offer opportunities for further interpretation and comparison. Data from this survey are presented in this paper and include characteristics of projects, practices, organizations, and practitioners related to the usage of architectural patterns. Some of the notable findings include that architectural patterns are widely used in software projects with the Model–View–Controller being the most common. Despite reported difficulties in incorporating architectural patterns, the majority of the software professionals revealed that patterns were the most essential for completing the projects. The most difficult pattern to implement and the most expensive to adopt was the peer-to-peer, while the easiest was the client–server.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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 "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!

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!

Literatur
2.
Zurück zum Zitat Aad G, Abbott B, Abdallah J, Abdelalim A, Abdesselam A, Abdinov O, Abi B, Abolins M, Abramowicz H, Abreu H et al (2010) The ATLAS simulation infrastructure. Eur Phys J C 70(3):823–874CrossRef Aad G, Abbott B, Abdallah J, Abdelalim A, Abdesselam A, Abdinov O, Abi B, Abolins M, Abramowicz H, Abreu H et al (2010) The ATLAS simulation infrastructure. Eur Phys J C 70(3):823–874CrossRef
3.
Zurück zum Zitat Microsoft Patterns & Practices Team (2009) Microsoft application architecture guide, 2nd edn. Microsoft Press Microsoft Patterns & Practices Team (2009) Microsoft application architecture guide, 2nd edn. Microsoft Press
4.
Zurück zum Zitat Bass RKL, Clements P (2013) Software architecture in practice, 3rd edn. Addison-Wesley, Reading Bass RKL, Clements P (2013) Software architecture in practice, 3rd edn. Addison-Wesley, Reading
5.
Zurück zum Zitat Kassab M, El-Boussaidi G, Mili H (2012) A quantitative evaluation of the impact of architectural patterns on quality requirements. In: Lee R (ed) Software engineering research, management and applications. Springer, Berlin, pp 173–487 Kassab M, El-Boussaidi G, Mili H (2012) A quantitative evaluation of the impact of architectural patterns on quality requirements. In: Lee R (ed) Software engineering research, management and applications. Springer, Berlin, pp 173–487
6.
Zurück zum Zitat Garlan D, Shaw M (1993) An introduction to software architecture. In: Advances in software engineering and knowledge engineering, vol I. World Scientic Publishing Company Garlan D, Shaw M (1993) An introduction to software architecture. In: Advances in software engineering and knowledge engineering, vol I. World Scientic Publishing Company
7.
Zurück zum Zitat Shaw M, Garlan D (1996) Software architecture: perspectives on an emerging discipline, 1st edn. Prentice Hall, Englewood CliffsMATH Shaw M, Garlan D (1996) Software architecture: perspectives on an emerging discipline, 1st edn. Prentice Hall, Englewood CliffsMATH
8.
Zurück zum Zitat Buschmann F, Henney K, Schmidt DC (2007) Pattern-oriented software architecture, on patterns and pattern languages, 5th edn. Wiley, New York Buschmann F, Henney K, Schmidt DC (2007) Pattern-oriented software architecture, on patterns and pattern languages, 5th edn. Wiley, New York
9.
Zurück zum Zitat Avgeriou P, Zdun U (2005) Modeling architectural patterns using architectural primitives. In: ACM SIGPLAN Notices, vol 40, No 10. ACM, pp 133–146 Avgeriou P, Zdun U (2005) Modeling architectural patterns using architectural primitives. In: ACM SIGPLAN Notices, vol 40, No 10. ACM, pp 133–146
10.
Zurück zum Zitat Gamma E (1995) Design patterns: elements of reusable object-oriented software. Pearson Education India, Delhi Gamma E (1995) Design patterns: elements of reusable object-oriented software. Pearson Education India, Delhi
11.
Zurück zum Zitat Bode S, Riebisch M (2010) Impact evaluation for quality-oriented architectural decisions regarding evolvability. In: European conference on software architecture. Springer, Berlin, pp 182–197 Bode S, Riebisch M (2010) Impact evaluation for quality-oriented architectural decisions regarding evolvability. In: European conference on software architecture. Springer, Berlin, pp 182–197
12.
Zurück zum Zitat Wood WG (2007) A practical example of applying attribute-driven design (add), version 2.0. Technical report, DTIC Document Wood WG (2007) A practical example of applying attribute-driven design (add), version 2.0. Technical report, DTIC Document
13.
Zurück zum Zitat Paul C, Kazman R, Klein M (2002) Evaluating software architectures: methods and case studies. Addison-Wesley Professional Paul C, Kazman R, Klein M (2002) Evaluating software architectures: methods and case studies. Addison-Wesley Professional
14.
Zurück zum Zitat Harrison NB, Avgeriou P, Zdun U (2010) Incorporating fault tolerance tactics in software architecture patterns. In: Proceedings of the 2nd international workshop on software engineering for resilient systems (ACM), pp 12–21 Harrison NB, Avgeriou P, Zdun U (2010) Incorporating fault tolerance tactics in software architecture patterns. In: Proceedings of the 2nd international workshop on software engineering for resilient systems (ACM), pp 12–21
15.
Zurück zum Zitat Kassab M, El-Boussaidi G (2013) Towards quantifying quality, tactics and architectural patterns interactions. In: The 25th international conference on software engineering and knowledge engineering, Boston, 510 MA, USA, June 27–29, pp 441–446 Kassab M, El-Boussaidi G (2013) Towards quantifying quality, tactics and architectural patterns interactions. In: The 25th international conference on software engineering and knowledge engineering, Boston, 510 MA, USA, June 27–29, pp 441–446
16.
Zurück zum Zitat Soni D, Nord RL, Hofmeister C (1995) Software architecture in industrial applications. In: Proceedings of the 17th international conference on software engineering, ICSE ’95. ACM, New York, pp 196–207 Soni D, Nord RL, Hofmeister C (1995) Software architecture in industrial applications. In: Proceedings of the 17th international conference on software engineering, ICSE ’95. ACM, New York, pp 196–207
17.
Zurück zum Zitat Gardazi SU, Shahid AA (2009) Survey of software architecture description and usage in software industry of Pakistan. In: 2009 international conference on emerging technologies, pp 395–402 Gardazi SU, Shahid AA (2009) Survey of software architecture description and usage in software industry of Pakistan. In: 2009 international conference on emerging technologies, pp 395–402
18.
Zurück zum Zitat Bardram JE, Christensen HB, Hansen KM (2004) Architectural prototyping: an approach for grounding architectural design and learning. In: Proceedings. Fourth working IEEE/IFIP conference on software architecture (WICSA 2004), pp 15–24 Bardram JE, Christensen HB, Hansen KM (2004) Architectural prototyping: an approach for grounding architectural design and learning. In: Proceedings. Fourth working IEEE/IFIP conference on software architecture (WICSA 2004), pp 15–24
19.
Zurück zum Zitat Christensen HB, Hansen KM (2010) An empirical investigation of architectural prototyping. J Syst Softw 83(1):133–142CrossRef Christensen HB, Hansen KM (2010) An empirical investigation of architectural prototyping. J Syst Softw 83(1):133–142CrossRef
20.
Zurück zum Zitat Christensen HB, Hansen KM (2008) Architectural prototyping in industrial practice. Springer, Berlin, pp 196–209 Christensen HB, Hansen KM (2008) Architectural prototyping in industrial practice. Springer, Berlin, pp 196–209
22.
Zurück zum Zitat Szolnoki G, Hoffmann D (2013) Online, face-to-face and telephone surveys–comparing different sampling methods in wine consumer research. Wine Econ Policy 2(2):57–66CrossRef Szolnoki G, Hoffmann D (2013) Online, face-to-face and telephone surveys–comparing different sampling methods in wine consumer research. Wine Econ Policy 2(2):57–66CrossRef
23.
Zurück zum Zitat Khazaal Y, van Singer M, Chatton A, Achab S, Zullino D, Rothen S, Khan R, Billieux J, Thorens G (2014) Does self-selection affect samples’ representativeness in online surveys? An investigation in online video game research. J Med Internet Res 16(7):e164CrossRef Khazaal Y, van Singer M, Chatton A, Achab S, Zullino D, Rothen S, Khan R, Billieux J, Thorens G (2014) Does self-selection affect samples’ representativeness in online surveys? An investigation in online video game research. J Med Internet Res 16(7):e164CrossRef
24.
Zurück zum Zitat Maalej W, Tiarks R, Roehm T, Koschke R (2014) On the comprehension of program comprehension. ACM Trans Softw Eng Methodol 23(4):31:1–31:37 Maalej W, Tiarks R, Roehm T, Koschke R (2014) On the comprehension of program comprehension. ACM Trans Softw Eng Methodol 23(4):31:1–31:37
25.
Zurück zum Zitat Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in software engineering. Springer, BerlinCrossRefMATH Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in software engineering. Springer, BerlinCrossRefMATH
26.
Zurück zum Zitat Qian K (2010) Software architecture and design illuminated. Jones & Bartlett Learning, Burlington Qian K (2010) Software architecture and design illuminated. Jones & Bartlett Learning, Burlington
28.
Zurück zum Zitat Wilcox M, Schuermans S, Voskoglou C (2016) Developer economics, state of the developer nation, Q3 2016. Technical report, VisionMobile Ltd Wilcox M, Schuermans S, Voskoglou C (2016) Developer economics, state of the developer nation, Q3 2016. Technical report, VisionMobile Ltd
29.
Zurück zum Zitat Harrison NB, Avgeriou P (2007) Leveraging architecture patterns to satisfy quality attributes. In: European conference on software architecture. Springer, Berlin, pp 263–270 Harrison NB, Avgeriou P (2007) Leveraging architecture patterns to satisfy quality attributes. In: European conference on software architecture. Springer, Berlin, pp 263–270
30.
Zurück zum Zitat ISO I (2001) Software engineering—Product quality—Part 1 ISO I (2001) Software engineering—Product quality—Part 1
31.
Zurück zum Zitat Campbell DT, Stanley JC (2015) Experimental and quasi-experimental designs for research. Ravenio Books, San Francisco Campbell DT, Stanley JC (2015) Experimental and quasi-experimental designs for research. Ravenio Books, San Francisco
32.
Zurück zum Zitat Hyman R (1982) Quasi-experimentation: design and analysis issues for field settings (book). J Personal Assess 46(1):96–97CrossRef Hyman R (1982) Quasi-experimentation: design and analysis issues for field settings (book). J Personal Assess 46(1):96–97CrossRef
Metadaten
Titel
Software architectural patterns in practice: an empirical study
verfasst von
Mohamad Kassab
Manuel Mazzara
JooYoung Lee
Giancarlo Succi
Publikationsdatum
12.12.2018
Verlag
Springer London
Erschienen in
Innovations in Systems and Software Engineering / Ausgabe 4/2018
Print ISSN: 1614-5046
Elektronische ISSN: 1614-5054
DOI
https://doi.org/10.1007/s11334-018-0319-4