Bibtex

@InCollection{,
  Year    = "2019", 
  Title    = "Wiederverwendung von Softwarebausteinen", 
  Author    = "Schütte, Prof. Dr. Reinhard", 
  Booktitle    = "Gronau, Norbert ; Becker, Jörg ; Kliewer, Natalia ; Leimeister, Jan Marco ; Overhage, Sven (Herausgeber): Enzyklopädie der Wirtschaftsinformatik – Online-Lexikon",
  Publisher    = "Berlin : GITO",
  Url    = "https://wi-lex.de/index.php/lexikon/entwicklung-und-management-von-informationssystemen/systementwicklung/softwarearchitektur/wiederverwendung-von-softwarebausteinen/", 
  Note    = "[Online; Stand 29. March 2024]",
}

Wiederverwendung von Softwarebausteinen

Reinhard Schütte


Die Wiederverwendung von Software dient der Verbesserung der Entwicklungsqualität sowie der schnelleren Entwicklung durch die Nutzung bereits erprobter Programme. Dabei gibt es eine unterschiedliche Klassifizierung der Wiederverwendung von Software.

Wiederverwendung

Für die Wiederverwendung können in Abhängigkeit von der Nähe zur Implementierung die Anforderungsspezifikation (Analysemuster), die Entwurfsspezifikation (Entwurfsmuster) oder der Programmcode unterschieden werden. Bei der letztgenannten Wiederverwendung handelt es sich um die geplante oder ungeplante Nutzung von Programmen in mindestens zwei unterschiedlichen Kontextsituationen. Dabei läßt sich ein Kontext durch eine Raum-Zeit-Anwendungssituation charakterisieren, d.h. auch die zweite Implementierung einer Standardsoftware könnte bei mindestens einer abweichenden Parametrierung der Software als Wiederverwendung bezeichnet werden.

Ziele der Wiederverwendung

Der mit der geplanten Wiederverwendung verfolgte Zweck besteht in der gedanklichen Konstruktion eines Programms (synonym zu Software) zur mehrfachen Nutzung, damit die Entwicklungskosten reduziert und die Entwicklungsqualität  erhöht werden können. Eine besondere Bedeutung erlangt die Zielsetzung der Wiederverwendung vor allem bei großen Softwarepaketen, da die Komplexität derartiger Lösungen ansonsten nicht beherrschbar ist.

Art der Wiederverwendung

Bei den wiederzuverwendenden Komponenten werden zusammensetzbare Softwarebausteine (reusable building blocks), die nach den Regeln der Komposition eine Softwarelösung darstellen, mit Hilfe des White-Box- oder des Black-Box-Ansatzes in einer spezfischen Anwendungssition eingesetzt. Beim White-Box-Reuse ist eine Modifikation möglich, während beim Black-Box-Reuse eine Anpassung nicht vorgesehen ist.

Organisation der Wiederverwendung von Softwarebausteinen

Die Organisation von Software-Bausteinbibliotheken ist vor allem von dem verfolgten Entwicklungsparadigma abhängig. In einer prozedural dominierten Entwicklungsumgebung werden vor allem Funktionsbausteine als wiederverwendbare Softwareelemente in Form von Funktionsbibliotheken organisiert. Die zugehörigen Datenstrukturen sind ebenfalls durch die Nutzung von Strukturanalogien in Datenmodellen und Datenbanksystemen wiederverwendbar, wie dies beispielsweise ein Konditionen-Datenmodell für die Beschaffung und den Absatz ist. In derartigen Fällen ist häufig die Datenstruktur „nebenbei“ analog zu den Funktionsbausteinen in zwei Situationen (Beschaffung einerseits und Absatz andererseits) nutzbar.
Bei einer objektorientiert angelegten Entwicklungsumgebung werden Objekte und Klassen in Form von Klassenbibliotheken zum Zweck der Wiederverwendung organisiert. Durch die Kapselung von Struktur und Verhalten in Objekten und die Kommunikation zwischen den Objekten über Nachrichten sind insbesondere objektorientierte Programmiersprachen zur Erstellung wiederverwendbarer Softwarebausteine geeignet.

Praktische Probleme der Wiederverwendung

Bei der Entwicklung von Software stellt sich stets die Frage, ob die Umsetzung der Requirements hochspezifisch erfolgt, d.h. nur für die eine Problemlösung geeignet ist, wiederverwendbare Bausteine existieren oder wiederverwendbare Programme entwickelt werden können.

Als Entscheidungshilfe für die Entwickler ist dabei zu überlegen, ob insbesondere die Ziele Performance und Wiederverwendung in Einklang gebracht werden können. Anhand eines Praxisfalls soll dies veranschaulicht werden. In Handelsunternehmen gibt es die Notwendigkeit, Einkaufs- und Verkaufspreise von Lieferanten (beispielsweise bei Obst- und Gemüselieferanten) einzulesen. Es stellt sich nun die Frage, ob diese Schnittstelle auch bei der Migration von einer Individualsoftware auf eine Standardsoftware verwendet werden kann. Unter Gesichtspunkten der Wiederverwendbarkeit wäre dies wünschenswert, allerdings ist das Datenvolumen bei 100 Betrieben mit 150.000 Artikeln, 2 Verkaufspreisschienen sowie einem Einkaufspreis je Artikel so umfangreich, dass bei einer Migration ca. 30.000.000 Sätze bei einer betriebsspezifischen Preismigration zu importieren sind. Für eine derart performance-orientierte Anforderung wäre die wiederverwendbare Preisschnittstelle nicht geeignet gewesen.


Literatur

Sametinger, Johannes: Software Engineering with Reusable Components.Berlin et al. : Springer, 2007.

Heß, Helge: Wiederverwendung von Software. Framework für betriebliche Informationssysteme. Wiesbaden :Gabler, 1993.

 

Hier weiterverbreiten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert