Softwarewartung

Grundlagen, Management und Wartungstechniken

Architektur, Reengineering und Refactoring

Langlebige Software-Architekturen

Technische Schulden analysieren, begrenzen und abbauen

Carola Lilienthal, dpunkt.verlag, 2019

In diesem Buch zeigt die Autorin, welche Fehler in Softwareprojekten bei der Umsetzung der Architektur vermieden werden sollten und welche Prinzipien eingehalten werden müssen, um langlebige Architekturen zu entwerfen oder bei bestehenden Systemen zu langlebigen Architekturen zu gelangen. Sie geht auf Muster in Softwarearchitekturen und Mustersprachen ein, erläutert verschiedene Architekturstile und zeigt, welche Vorgaben letztlich zu Architekturen führen, die für Entwickler noch gut durchschaubar sind. Mit über 200 farbigen Bildern aus real existierenden Softwaresystemen und etlichen Fallbeispielen werden schlechte und gute Lösungen verständlich und nachvollziehbar dargestellt. Empfehlungen und vielfältige Hinweise aus Praxisprojekten erlauben dem Leser einen direkten Transfer zu seiner täglichen Arbeit.

Patterns kompakt

Entwurfsmuster für effektive Software-Entwicklung

Karl Eilebrecht, Gernot Starke, Springer Vieweg, 2018

Patterns kompakt fasst die wichtigsten Entwurfsmuster zusammen, die Sie für Software-Entwicklung benötigen. Software-Entwickler, -Architekten und -Designer finden darin effektiv anwendbare Lösungen für tägliche Entwurfsprobleme. Die vierte Auflage wurde um aktuelle Patterns erweitert und komplett überarbeitet. Das Buch gliedert Patterns anhand typischer Aspekte des Software-Entwurfs: Basismuster für mehr Flexibilität und Wartbarkeit, Präsentation, Kommunikation und Verteilung, Integration und Persistenz. Patterns kompakt richtet sich an Praktiker: Software-Entwickler, -Designer, -Architekten und alle, die einen praxisorientierten Überblick zu Entwurfsmustern benötigen.

Clean Architecture

Das Praxis-Handbuch für professionelles Softwaredesign

Robert C. Martin, mitp, 2018

In diesem Buch lernen Sie:
Architektonische Zielsetzungen der Softwareentwicklung richtig abstecken und die dafür notwendigen Kerndisziplinen und -praktiken planvoll einsetzen
Die grundlegenden Prinzipien des Softwaredesigns für den Umgang mit Funktionalität, Komponententrennung und Datenmanagement meistern
Wichtige systemrelevante Programmbestandteile von bloßen »Details« unterscheiden
Optimale, hochschichtige Strukturen für Web, Datenbank, Fat Client, Konsole und eingebettete Anwendungen implementieren
Angemessene Grenzen und Layer definieren und die Komponenten und Services in Ihrem System organisieren
Faktoren für das Scheitern von Softwaredesigns und -architekturen erkennen und diese Fehler vermeiden

Refactoring

Improving the Design of Existing Code

Martin Fowler, Addison-Wesley, 2018

Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.

Design Patterns

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 2014

Mit Design Patterns lassen sich wiederkehrende Aufgaben in der objektorientierten Softwareentwicklung effektiv lösen. Die Autoren stellen einen Katalog einfacher und prägnanter Lösungen für häufig auftretende Aufgabenstellungen vor. Mit diesen 23 Patterns können Softwareentwickler flexiblere, elegantere und vor allem auch wiederverwendbare Designs erstellen, ohne die Lösungen jedes Mal aufs Neue selbst entwickeln zu müssen.