|
In den letzten Jahren konnten auf dem Computermarkt im
Hardwarebereich
starke Veränderungen beobachtet werden. Die Hardware wurde
standardisiert und die Produktionskosten verringert. Im Vergleich zu
der rasanten Entwicklung blieb die Softwareentwicklung “stehen” und
damit Software weiterhin teuer und aufwendig, es konnten nur träge
Veränderungen verzeichnet werden.

|
|
|
Das Problem der Softwareindustrie verschärfte sich immer
weiter, die Benutzer und Entwickler stießen bei der Integration
von Anwendungen auf verschiedenen Plattformen an Grenzen, wie:
Sprachbarrieren, Betriebssysteme, Netzwerkprotokolle, Anwendungs- und
Entwicklungswerkzeuge und Individual- und
Standard-Entwicklungsschnittstellen. Individualentscheidungen der
Entwickler haben sich als nachteilig herausgestellt. Es wurde in
Programmiersprachen entwickelt, die nicht mehr verwendet werden. Die
Anwendungen laufen nur auf Betriebssystemen, die veraltet sind. Die
Wartung des Systems ist schwierig geworden, da kaum noch jemand das
System kennt.
Die meisten Entwicklungen sind “Standalone-Lösungen”. Es ist fast
ausgeschlossen, dass die Software in neuen Betriebssystemen oder
Anwendungen eingesetzt werden kann.

|
|
|
Das sind nur ein paar Gründe, die in der Literatur
dafür angegeben wurden, warum es zu der Entwicklung der
Komponententechnologie kam. Die komponentenbasierte Softwareentwicklung
spielt in der aktuellen Diskussion um zukunftsorientierte
Software-Entwicklungstechniken eine große Rolle.
“Komponentenbasierte Softwareentwicklung” gilt als eine Chance, noch
höhere Produktivität und Qualität bei der
Softwareentwicklung zu erreichen, als dies mit reiner
Objektorientierung möglich ist. Es können so die
Komplexität und die damit verbundenen Entwicklungskosten – durch
Wiederverwendung von “gut getesteten” und “leicht wartbaren”
Komponenten – reduziert werden.

|
|
|
Die Idee der Komponententechnologie ist vergleichbar mit den
Prinzipien, die Maschinenbau und Automobilindustrie bereits seit Jahren
anwenden. Dort werden im Baukastenprinzip komplexe Produkte erstellt.
Dabei werden die einzelnen Bauteile, wie beispielsweise ein komplettes
Armaturenbrett, als Baustein (Komponente) gefertigt, um diese
Komponente dann als eigenständige Einheit in ein Fahrzeug zu
integrieren. Dabei gibt es fest definierte Schnittstellen und die
Komponenten können eigenständig geändert werden, solange
diese Schnittstellendefinition gleich bleibt. Beim Armaturenbrett kann
das Design geändert werden, wenn die Einbaumaße und
Verschraubungen erhalten bleiben. Weiterhin kann das gleiche
Armaturenbrett durchaus in mehreren verschiedenen Fahrzeugtypen
Verwendung finden. So kann auch eine gekapselte Softwarekomponente
durchaus von verschiedenen Applikationen genutzt werden. |
|