Skip to main content

2021 | OriginalPaper | Buchkapitel

10. Nutzung bewährten Architekturwissens

verfasst von : Manfred Broy, Marco Kuhrmann

Erschienen in: Einführung in die Softwaretechnik

Verlag: Springer Berlin Heidelberg

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

search-config
loading …

Zusammenfassung

Architekturen dienen entscheidend der Strukturierung von Softwaresystemen. Ist diese Strukturierung gut gewählt, entstehen in sich geschlossene Teilsysteme, die separat zu verstehen und zu realisieren sind. Ein so strukturiertes Softwaresystem ist auch leichter zu ändern und zu warten, da in der Regel die Änderungen nur bestimmte Teilsysteme betreffen. Dann kann über die Grenzen eines Teilsystems anhand der Spezifikation der Schnittstellen festgestellt werden, welche Änderungen sich auswirken. Ein weiterer Aspekt der Teilsysteme besteht darin, dass diese unter Umständen mehrfach, sowohl im gleichen wie auch in anderen Projekten, eingesetzt werden können. Man spricht von Wiederverwendung. Eine gut gewählte Architektur erlaubt es, vorhandene Teilsysteme in Neuentwicklungen einzubinden, aber auch Teilsysteme zu entwickeln, die in anderen Projekten sinnvoll verwendet werden können. Eine besondere Rolle spielen dabei sogenannte Muster, die bestimmte bewährte Formen von Teillösungen der Strukturierung von Architekturen beschreiben, sodass sie im Rahmen des Architekturentwurfs gezielt eingesetzt werden können. Dieses Kapitel stellt die unterschiedlichen Möglichkeiten der Wiederverwendung von bewährtem Architekturwissen dar. Zentral sind hierbei Klassenbibliotheken, Entwurfs- und Architekturmuster, sowie pragmatische Entwurfsregeln für Softwaresysteme.

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

Fußnoten
1
Jedoch ist dieser Einarbeitungsaufwand insbesondere im Umfeld von Produktlinien [8, 11, 15] als Folge von Entwicklungsaufgaben ähnlicher Softwaresysteme, die oft in proprietären Frameworks abgebildet sind, sinnvoll.
 
2
Online: https://​www.​r-project.​org (abgerufen: 2020-01-16)
 
3
Entwurfsmuster haben ihren Ursprung nicht in der Informatik, sondern waren zuerst für die Anwendung im Bauwesen und der Architektur – angeregt von Christopher Alexander [1] – gedacht.
 
4
Praktisch findet diese Konfiguration durch Konfigurationsdateien statt, welche durch die Software geladen werden. Eine Änderung der sogenannten Bindings erfordert dann keine Anpassung des Quellcodes. Die Konfiguration wird entweder direkt zur Laufzeit der Software aktualisiert oder beim nächsten Start der Software.
 
Literatur
1.
Zurück zum Zitat C. Alexander, S. Ishikawa, and M. Silverstein. A Pattern Language: Towns, Buildings, Construction. Oxford University Press, 1977. C. Alexander, S. Ishikawa, and M. Silverstein. A Pattern Language: Towns, Buildings, Construction. Oxford University Press, 1977.
3.
Zurück zum Zitat V. Bauer. Analysing and supporting software reuse in practice. PhD thesis, Technische Universität München, November 2016. V. Bauer. Analysing and supporting software reuse in practice. PhD thesis, Technische Universität München, November 2016.
4.
Zurück zum Zitat G. Booch. Object Solutions: Managing the Object-Oriented Project. Addison-Wesley, 2 edition, October 1995. G. Booch. Object Solutions: Managing the Object-Oriented Project. Addison-Wesley, 2 edition, October 1995.
5.
Zurück zum Zitat W. J. Brown, R. C. Malveau, H. W. McCormick, and T. J. Mowbray. AntiPatterns: Refactoring Software, Architecture and Projects in Crisis. John Wiley & Sons, March 1998. W. J. Brown, R. C. Malveau, H. W. McCormick, and T. J. Mowbray. AntiPatterns: Refactoring Software, Architecture and Projects in Crisis. John Wiley & Sons, March 1998.
6.
Zurück zum Zitat M. Broy. Logische und Methodische Grundlagen der Programm- und Systementwicklung. Springer Vieweg, June 2019. M. Broy. Logische und Methodische Grundlagen der Programm- und Systementwicklung. Springer Vieweg, June 2019.
7.
Zurück zum Zitat F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-orientierte Software-Architektur – Ein Pattern-System. Professionelle Softwareentwicklung. Addison-Wesley, 2 edition, January 1998. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-orientierte Software-Architektur – Ein Pattern-System. Professionelle Softwareentwicklung. Addison-Wesley, 2 edition, January 1998.
8.
Zurück zum Zitat G. Chastek, P. Donohoe, K. C. Kang, and S. Thiel. Product line analysis: A practical introduction. Technical report, Software Engineering Institute, 2001. G. Chastek, P. Donohoe, K. C. Kang, and S. Thiel. Product line analysis: A practical introduction. Technical report, Software Engineering Institute, 2001.
9.
Zurück zum Zitat G. Chastek and J. D. McGregor. Guidelines for developing a product line production plan. Technical Report CMU/SEI-2002-TR-006, Software Engineering Institute, 2002. G. Chastek and J. D. McGregor. Guidelines for developing a product line production plan. Technical Report CMU/SEI-2002-TR-006, Software Engineering Institute, 2002.
10.
Zurück zum Zitat R. Chinnici, J.-J. Moreau, A. Ryman, and S. Weerawarana. Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language. W3c recommendation, W3C, June 2007. R. Chinnici, J.-J. Moreau, A. Ryman, and S. Weerawarana. Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language. W3c recommendation, W3C, June 2007.
11.
Zurück zum Zitat S. Cohen. Guidelines for developing a product line concept of operations. Technical Report CMU/SEI-99-TR-008, Software Engineering Institute, 1999. S. Cohen. Guidelines for developing a product line concept of operations. Technical Report CMU/SEI-99-TR-008, Software Engineering Institute, 1999.
12.
Zurück zum Zitat J. Coutaz. PAC: An Oject Oriented Model for Implementing User Interfaces. SIGCHI Bull., 19(2):37–41, Oct. 1987. J. Coutaz. PAC: An Oject Oriented Model for Implementing User Interfaces. SIGCHI Bull., 19(2):37–41, Oct. 1987.
13.
Zurück zum Zitat T. DeMarco. Structured Analysis and System Specification. Computing Series. Yourdon Press, 1979. T. DeMarco. Structured Analysis and System Specification. Computing Series. Yourdon Press, 1979.
14.
Zurück zum Zitat A. Epple. JavaFX 8: Grundlagen und fortgeschrittene Techniken. dpunkt.verlag GmbH, April 2015. A. Epple. JavaFX 8: Grundlagen und fortgeschrittene Techniken. dpunkt.verlag GmbH, April 2015.
15.
Zurück zum Zitat D. M. Fernández, B. Penzenstadler, M. Broy, J. Eckhardt, and H. Femmer. AMDiRE – Artefact Model for Domain-independent RE. Research Report TUM-I1327, Technische Universität München, 2013. D. M. Fernández, B. Penzenstadler, M. Broy, J. Eckhardt, and H. Femmer. AMDiRE – Artefact Model for Domain-independent RE. Research Report TUM-I1327, Technische Universität München, 2013.
16.
Zurück zum Zitat M. Fowler. Analysis Patterns: Reusable Object Models. Addison Wesley, October 1996. M. Fowler. Analysis Patterns: Reusable Object Models. Addison Wesley, October 1996.
17.
Zurück zum Zitat M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Signature Series. Addison Wesley, November 2002. M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Signature Series. Addison Wesley, November 2002.
19.
Zurück zum Zitat E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Prentice Hall, October 1994. E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Prentice Hall, October 1994.
21.
Zurück zum Zitat M. Gudgin, M. Hadley, N. Mendelsohn, J.-J. Moreau, H. F. Nielsen, A. Karmarkar, and Y. Lafon. SOAP Version 1.2 Part 1: Messaging Framework. W3c recommendation, W3C, April 2007. M. Gudgin, M. Hadley, N. Mendelsohn, J.-J. Moreau, H. F. Nielsen, A. Karmarkar, and Y. Lafon. SOAP Version 1.2 Part 1: Messaging Framework. W3c recommendation, W3C, April 2007.
22.
Zurück zum Zitat U. Hammerschall. Verteilte Systeme und Anwendungen. Pearson Studium – IT. Pearson Studium, January 2005. U. Hammerschall. Verteilte Systeme und Anwendungen. Pearson Studium – IT. Pearson Studium, January 2005.
23.
Zurück zum Zitat E. Horn and T. Reinke. Softwarearchitektur und Softwarebauelemente. Hanser, München, Wien, 2002. E. Horn and T. Reinke. Softwarearchitektur und Softwarebauelemente. Hanser, München, Wien, 2002.
24.
Zurück zum Zitat B. Liskov. Keynote Address – Data Abstraction and Hierarchy. In Addendum to the Proceedings on Object-oriented Programming Systems, Languages and Applications (Addendum), OOPSLA ’87, pages 17–34, New York, NY, USA, 1987. ACM. B. Liskov. Keynote Address – Data Abstraction and Hierarchy. In Addendum to the Proceedings on Object-oriented Programming Systems, Languages and Applications (Addendum), OOPSLA ’87, pages 17–34, New York, NY, USA, 1987. ACM.
25.
Zurück zum Zitat B. Liskov. Keynote Address – Data Abstraction and Hierarchy. SIGPLAN Not., 23(5):17–34, Jan. 1987. B. Liskov. Keynote Address – Data Abstraction and Hierarchy. SIGPLAN Not., 23(5):17–34, Jan. 1987.
26.
Zurück zum Zitat B. H. Liskov and J. M. Wing. A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst., 16(6):1811–1841, Nov. 1994. B. H. Liskov and J. M. Wing. A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst., 16(6):1811–1841, Nov. 1994.
27.
Zurück zum Zitat R. C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008. R. C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008.
28.
Zurück zum Zitat R. C. Martin. Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall, September 2017. R. C. Martin. Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall, September 2017.
29.
Zurück zum Zitat R. C. Martin and M. Marin. Agile Principles, Patterns, and Practices in C#. Prentice Hall, 2007. R. C. Martin and M. Marin. Agile Principles, Patterns, and Practices in C#. Prentice Hall, 2007.
30.
Zurück zum Zitat B. Meyer. Object-Oriented Software Construction. Prentice Hall, 2 edition, November 1998. B. Meyer. Object-Oriented Software Construction. Prentice Hall, 2 edition, November 1998.
31.
Zurück zum Zitat M. Page-Jones. The Practical Guide to Structured Systems Design. Computing Series. Yourdon Press, 2 edition, 1988. M. Page-Jones. The Practical Guide to Structured Systems Design. Computing Series. Yourdon Press, 2 edition, 1988.
32.
Zurück zum Zitat F. Pillet, J. Bontognali, M. Todorov, and S. Gardner. RxSwift: Reactive Programming with Swift. Razeware LLC, March 2019. F. Pillet, J. Bontognali, M. Todorov, and S. Gardner. RxSwift: Reactive Programming with Swift. Razeware LLC, March 2019.
33.
Zurück zum Zitat R. Steyer. Webanwendungen erstellen mit Vue.js: MVVM-Muster für konventionelle und Single-Page-Webseiten. Springer Vieweg, November 2019. R. Steyer. Webanwendungen erstellen mit Vue.js: MVVM-Muster für konventionelle und Single-Page-Webseiten. Springer Vieweg, November 2019.
34.
Zurück zum Zitat R. E. Sweet. The mesa programming environment. In Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, SLIPE ’85, pages 216–229, New York, NY, USA, 1985. ACM. R. E. Sweet. The mesa programming environment. In Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, SLIPE ’85, pages 216–229, New York, NY, USA, 1985. ACM.
35.
Zurück zum Zitat R. E. Sweet. The mesa programming environment. SIGPLAN Not., 20(7):216–229, June 1985. R. E. Sweet. The mesa programming environment. SIGPLAN Not., 20(7):216–229, June 1985.
36.
Zurück zum Zitat The Open Group. The Open Group Architecture Framework (TOGAF, Version 9). Van Haren Publishing, 10 edition, November 2011. The Open Group. The Open Group Architecture Framework (TOGAF, Version 9). Van Haren Publishing, 10 edition, November 2011.
37.
Zurück zum Zitat O. Vogel, I. Arnold, A. Chughtai, and T. Kehrer. Software Architecture – A Comprehensive Framework and Guide for Practitioners. Springer-Verlag Berlin Heidelberg, September 2011. O. Vogel, I. Arnold, A. Chughtai, and T. Kehrer. Software Architecture – A Comprehensive Framework and Guide for Practitioners. Springer-Verlag Berlin Heidelberg, September 2011.
38.
Zurück zum Zitat A. Weil. Learn WPF MVVM – XAML, C# and the MVVM pattern. lulu.com, November 2017. A. Weil. Learn WPF MVVM – XAML, C# and the MVVM pattern. lulu.com, November 2017.
40.
Zurück zum Zitat J. A. Zachman. A framework for information systems architecture. IBM Systems Journal, 26(3):276–292, 1987. J. A. Zachman. A framework for information systems architecture. IBM Systems Journal, 26(3):276–292, 1987.
Metadaten
Titel
Nutzung bewährten Architekturwissens
verfasst von
Manfred Broy
Marco Kuhrmann
Copyright-Jahr
2021
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-662-50263-1_10