Skip to main content

Nutzung bewährten Architekturwissens

  • 8975 Accesses

Part of the Xpert.press book series (XPERT.PRESS)

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.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-662-50263-1_10
  • Chapter length: 36 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   54.99
Price excludes VAT (USA)
  • ISBN: 978-3-662-50263-1
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Hardcover Book
USD   69.99
Price excludes VAT (USA)
Abb. 10.1
Abb. 10.2
Abb. 10.3
Abb. 10.4
Abb. 10.5
Abb. 10.6
Abb. 10.7
Abb. 10.8
Abb. 10.9
Abb. 10.10
Abb. 10.11
Abb. 10.12
Abb. 10.13
Abb. 10.14
Abb. 10.15
Abb. 10.16
Abb. 10.17
Abb. 10.18
Abb. 10.19
Abb. 10.20
Abb. 10.21
Abb. 10.22
Abb. 10.23
Abb. 10.24

Notes

  1. 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. 2.

    Online: https://www.r-project.org (abgerufen: 2020-01-16)

  3. 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. 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. C. Alexander, S. Ishikawa, and M. Silverstein. A Pattern Language: Towns, Buildings, Construction. Oxford University Press, 1977.

    Google Scholar 

  2. AUTOSAR. AUTomotive Open System ARchitecture Standards. Online: https://www.autosar.org/standards (abgerufen: 2020-01-02), 2020.

  3. V. Bauer. Analysing and supporting software reuse in practice. PhD thesis, Technische Universität München, November 2016.

    Google Scholar 

  4. G. Booch. Object Solutions: Managing the Object-Oriented Project. Addison-Wesley, 2 edition, October 1995.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. M. Broy. Logische und Methodische Grundlagen der Programm- und Systementwicklung. Springer Vieweg, June 2019.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. G. Chastek, P. Donohoe, K. C. Kang, and S. Thiel. Product line analysis: A practical introduction. Technical report, Software Engineering Institute, 2001.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. S. Cohen. Guidelines for developing a product line concept of operations. Technical Report CMU/SEI-99-TR-008, Software Engineering Institute, 1999.

    Google Scholar 

  12. J. Coutaz. PAC: An Oject Oriented Model for Implementing User Interfaces. SIGCHI Bull., 19(2):37–41, Oct. 1987.

    Google Scholar 

  13. T. DeMarco. Structured Analysis and System Specification. Computing Series. Yourdon Press, 1979.

    Google Scholar 

  14. A. Epple. JavaFX 8: Grundlagen und fortgeschrittene Techniken. dpunkt.verlag GmbH, April 2015.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. M. Fowler. Analysis Patterns: Reusable Object Models. Addison Wesley, October 1996.

    Google Scholar 

  17. M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Signature Series. Addison Wesley, November 2002.

    Google Scholar 

  18. M. Fowler. GUI Architectures. Online: https://www.martinfowler.com/eaaDev/uiArchs.html (abgerufen: 2020-01-17), July 2006.

  19. E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Prentice Hall, October 1994.

    Google Scholar 

  20. Google Ireland Limited. Tensorflow. Online: https://www.tensorflow.org/federated (abgerufen: 2019-12-29), 2019.

  21. 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.

    Google Scholar 

  22. U. Hammerschall. Verteilte Systeme und Anwendungen. Pearson Studium – IT. Pearson Studium, January 2005.

    Google Scholar 

  23. E. Horn and T. Reinke. Softwarearchitektur und Softwarebauelemente. Hanser, München, Wien, 2002.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. B. Liskov. Keynote Address – Data Abstraction and Hierarchy. SIGPLAN Not., 23(5):17–34, Jan. 1987.

    Google Scholar 

  26. B. H. Liskov and J. M. Wing. A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst., 16(6):1811–1841, Nov. 1994.

    Google Scholar 

  27. R. C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008.

    Google Scholar 

  28. R. C. Martin. Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall, September 2017.

    Google Scholar 

  29. R. C. Martin and M. Marin. Agile Principles, Patterns, and Practices in C#. Prentice Hall, 2007.

    Google Scholar 

  30. B. Meyer. Object-Oriented Software Construction. Prentice Hall, 2 edition, November 1998.

    Google Scholar 

  31. M. Page-Jones. The Practical Guide to Structured Systems Design. Computing Series. Yourdon Press, 2 edition, 1988.

    Google Scholar 

  32. F. Pillet, J. Bontognali, M. Todorov, and S. Gardner. RxSwift: Reactive Programming with Swift. Razeware LLC, March 2019.

    Google Scholar 

  33. R. Steyer. Webanwendungen erstellen mit Vue.js: MVVM-Muster für konventionelle und Single-Page-Webseiten. Springer Vieweg, November 2019.

    Google Scholar 

  34. 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.

    Google Scholar 

  35. R. E. Sweet. The mesa programming environment. SIGPLAN Not., 20(7):216–229, June 1985.

    Google Scholar 

  36. The Open Group. The Open Group Architecture Framework (TOGAF, Version 9). Van Haren Publishing, 10 edition, November 2011.

    Google Scholar 

  37. O. Vogel, I. Arnold, A. Chughtai, and T. Kehrer. Software Architecture – A Comprehensive Framework and Guide for Practitioners. Springer-Verlag Berlin Heidelberg, September 2011.

    Google Scholar 

  38. A. Weil. Learn WPF MVVM – XAML, C# and the MVVM pattern. lulu.com, November 2017.

    Google Scholar 

  39. K. Wickramanayake. Is MVC a design pattern or an architectural pattern? Online: http://www.swview.org/blog/mvc-design-pattern-or-architectural-pattern (abgerufen: 2020-01-17), July 2010.

  40. J. A. Zachman. A framework for information systems architecture. IBM Systems Journal, 26(3):276–292, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Manfred Broy .

Rights and permissions

Reprints and Permissions

Copyright information

© 2021 Springer-Verlag GmbH Deutschland, ein Teil von Springer Nature

About this chapter

Verify currency and authenticity via CrossMark

Cite this chapter

Broy, M., Kuhrmann, M. (2021). Nutzung bewährten Architekturwissens. In: Einführung in die Softwaretechnik. Xpert.press. Springer Vieweg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-50263-1_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-50263-1_10

  • Published:

  • Publisher Name: Springer Vieweg, Berlin, Heidelberg

  • Print ISBN: 978-3-662-50262-4

  • Online ISBN: 978-3-662-50263-1

  • eBook Packages: Computer Science and Engineering (German Language)