Unter Wiederverwendung versteht man den wiederholten Einsatz vorhandener Komponenten und das Zusammensetzen von Software aus diesen Komponenten. Durch Wiederverwendung kann die Anzahl neu zu erstellender Programmsegmente verringert werden, was zur Verringerung der Entwicklungskosten, zur Verkürzung der Entwicklungszeit und zur Steigerung der Produktivität und der Software-Qualität führen kann. Techniken der Software-Wiederverwendung sind Thema dieses Kapitels. Heutzutage werden zur Realisierung der Wiederverwendung oftmals objektorientierte Techniken eingesetzt, die nicht nur in der Programmierphase auf den Plan treten, wo sie sich auf Objekte, Klassen und Komponenten beschränken, sondern in allen beteiligten Schritten des Software-Entwicklungsprozesses, bspw. im Design und Entwurf des Software-Systems in Form von Frameworks, Modellen und Mustern. In diesem Kapitel werden verschiedene Techniken vorgestellt, die dazu dienen, Software flexibel und wiederverwendbar zu gestalten. Als erstes wird das Prinzip der objektorientierten Programmierung vorgestellt. Anschließend werden verschiedene Aspekte der Software-Wiederverwendung erläutert. Dabei wird zuerst der sog. unsystematische Ansatz erklärt, anschließend werden Entwurfsmuster (sog. Design Patterns) und Frameworks dargestellt. Den Abschluss des Kapitels bilden das Konzept der Software-Komponenten sowie eine Zusammenfassung. Objektorientierte Programmierung (OOP) Unsystematischer Ansatz der Wiederverwendung Design Patterns Software-Architektur Frameworks Komponenten-Software Zusammenfassung