Bibtex

@InCollection{,
  Year    = "2019", 
  Title    = "Komponentenbasierte Softwareentwicklung", 
  Author    = "Turowski, Prof. Dr. Klaus", 
  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/architekturentwicklung/komponentenbasierte-softwareentwicklung/", 
  Note    = "[Online; Stand 18. April 2024]",
}

Komponentenbasierte Softwareentwicklung

Klaus Turowski


Die komponentenbasierte Softwareentwicklung und ihre Phasen beschreiben den Lebenszyklus einer Komponente. Wesentliche Teilaufgaben der komponentenbasierten Softwareentwicklung stellen die Standardisierung, Entwicklung, technische Anpassung, fachliche Anpassung, Komposition, Evolution und Deinstallation dar.

Lebenszyklus komponentenbasierter Anwendungssysteme

Softwarekomponenten oder Fachkomponenten (kurz: Komponenten) und die darauf aufbauenden Anwendungssysteme unterliegen einem Lebenszyklus, sodass die Darstellung der dazugehörigen Entwicklungsaufgabe die Einnahme einer dynamischen Sichtweise erfordert und die Entwicklung eines komponentenbasierten Anwendungssystems vielfältige Aufgaben umfasst, die deutlich über die originäre Entwicklung einer einzelnen Komponente hinausgehen.

Einen Überblick der einzelnen Phasen des Lebenszyklus einer Komponente gibt Abbildung 1. Der Lebenszyklus ist dabei rein qualitativ zu sehen, und zwar in dem Sinne, dass die genannten Phasen in der Regel erforderlich sind. Eine strenge Einhaltung der dargestellten Reihenfolge der einzelnen Phasen soll hiermit jedoch nicht gefordert werden.

Lebenszyklus einer Softwarekomponente

Abb. 1: Lebenszyklus einer Softwarekomponente

Standardisierung

Damit Komponenten beliebiger Hersteller zum Zwecke der kooperativen Aufgabenbearbeitung zu kundenindividuellen Anwendungssystemen zusammengesetzt werden können, bedarf es der Schaffung von Standards [Turowski 2000; Szyperski et al. 2002, S. 407].

Die Standardisierung von Komponenten betrifft zum Einen die fachliche Ebene, z. B. die Definition einheitlicher Begriffssysteme für betriebliche Aufgaben, zum Anderen bedarf es technischer Standards, die z. B. die Parameterübergabe bei Dienstaufrufen regeln.

Zwar kann ohne Standardisierung das Ziel einer beliebigen Austauschbarkeit von Komponenten nicht erreicht werden, jedoch kann auch nicht von einer vollständigen Standardisierung ausgegangen werden [Szyperski et al. 2002, S. 407]. Die Etablierung von Teil- oder Kernstandards, die nur (wichtige) Teilbereiche der betrieblichen Anwendungsdomäne betreffen, scheint dabei ein geeigneter Ausweg aus diesem Dilemma zu sein [Turowski 2003, S. 45].

Entwicklung

Die Phase der Entwicklung umfasst alle Aufgaben der Systementwicklung. Unterschiede ergeben sich jedoch besonders im Rahmen der Anforderungsdefinition und beim Systemtest. So vereinfacht sich beispielsweise die Anforderungsdefinition, da auf Vorarbeiten zur Analyse der Anwendungsdomäne aufgebaut werden kann, die im Rahmen der Standardisierung erfolgt sind.

Ein weiterer Unterschied zur Entwicklung herkömmlicher Software ergibt sich im Rahmen des Systemtests. So kann eine neu entwickelte Komponente zwar gegen verschiedene Komponenten-Anwendungs- und Komponenten-System-Frameworks und im Zusammenspiel mit anderen Komponenten getestet werden, ein vollständiger Integrationstest kann jedoch nicht erfolgen, da eine Komponente in einer Vielzahl von Kombinationen mit anderen Komponenten zu einem konkreten Anwendungssystem konfiguriert werden kann.

Technische Anpassung

Die technische Anpassung einer Komponente dient dazu, implementierungsbedingte Inkompatibilitäten zu überwinden, um sie technisch in ein komponentenbasiertes Anwendungssystem integrieren zu können.

Bei der Administration verteilter Systeme ist darauf zu achten, dass durch die Verwendung verschiedener Betriebssysteme und Hardwareplattformen Inkompatibilitäten hinzukommen können, sodass zusätzliche Maßnahmen ergriffen werden müssen um Verteilungstransparenz herzustellen. Als Technik, um die genannten Konflikte zu überwinden, ist insbesondere der Einsatz von Adaptern anzuführen [Becker et al. 2006, S. 194].

Fachliche Anpassung

Die fachliche Anpassung kann sowohl vor als auch nach der Komposition stattfinden. Sie beinhaltet die Anpassung der Eigenschaften und Dienste der jeweiligen Komponente hinsichtlich ihrer fachlichen Funktionalität.

Ferner können im Rahmen der fachlichen Anpassung komponenteninterne Abläufe festgelegt werden. Dem gegenüber können komponentenübergreifende Abläufe, für deren Realisierung insbesondere Workflowmanagementsysteme anwendbar sind, erst im Anschluss an die Komposition festgelegt werden.

Komposition

Die Komposition umfasst die technische und fachliche Integration der jeweiligen Komponente in ein Anwendungssystem. Zusammen mit der technischen und der fachlichen Anpassung wird damit die Installation einer Komponente vollendet. Die technische Integration beinhaltet z. B. die Anmeldung der neuen Dienste bei einem Object Request Broker oder die Änderungen der Adresse eines Dienstgebers in einem Skript. Die fachliche Integration beinhaltet bspw. die Behandlung fachlicher Konflikte, da auch solche Komponenten angepasst werden müssen, die schon im Anwendungssystem vorhanden sind oder deren Einführung zusätzliche Systembausteine zur Konfliktbehandlung erforderlich machen.

Evolution und Deinstallation

Die Phase der Evolution beinhaltet alle Aufgaben, die mit der Anpassung einer Komponente nach deren Installation in Verbindung stehen. Je nach Umfang der Änderungen ist dazu wieder eine technische und fachliche Anpassung sowie eine Komposition durchzuführen, sodass die oben genannten Probleme und Lösungsansätze auch hier relevant sind.

Die Phase der Deinstallation umfasst alle Aufgaben, die mit der Entfernung einer Komponente aus einem Anwendungssystem zusammenhängen.


Literatur

Becker, Steffen; Brogi, Antonio; Gorton, Ian; Overhage, Sven; Romanovsky, Alexander; Tivoli, Massimo: Towards an Engineering Approach to Component Adaptation. In Reussner, Ralf; Stafford, Judith; Szyperski, Clemens (Hrsg.): Architecting Systems with Trustworthy Components, International Seminar Dagstuhl Castle, Lecture Notes in Computer Science Nr. 3938. Springer: Heidelberg 2006, S.193-215.

Szyperski, Clemens; Gruntz, Dominik; Murer, Stephan: Component Software – Beyond Object-Oriented Programming. Addison-Wesley: Harlow 2002.

Turowski, Klaus: Establishing Standards for Business Components. In: Jakobs, Kai (Hrsg.): Information Technology Standards and Standardisation – A Global Perspective. Idea Group Publishing: Hershey 2000, S.131-151.

Turowski, Klaus: Fachkomponenten – Komponentenbasierte betriebliche Anwendungssysteme. Shaker: Aachen 2003.

Hier weiterverbreiten

Schreibe einen Kommentar

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