<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Komponentenbasierte_Entwicklung</id>
	<title>Komponentenbasierte Entwicklung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Komponentenbasierte_Entwicklung"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Komponentenbasierte_Entwicklung&amp;action=history"/>
	<updated>2026-05-22T09:56:19Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Komponentenbasierte_Entwicklung&amp;diff=439312&amp;oldid=prev</id>
		<title>imported&gt;Predatorix: Vektorisierte Versionen eingebunden</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Komponentenbasierte_Entwicklung&amp;diff=439312&amp;oldid=prev"/>
		<updated>2023-07-15T18:51:02Z</updated>

		<summary type="html">&lt;p&gt;Vektorisierte Versionen eingebunden&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In der [[angewandte Informatik|angewandten Informatik]] ist die &amp;#039;&amp;#039;&amp;#039;Komponentenbasierte Entwicklung&amp;#039;&amp;#039;&amp;#039; ({{enS|&amp;#039;&amp;#039;Component Based Development&amp;#039;&amp;#039;}}, &amp;#039;&amp;#039;CBD&amp;#039;&amp;#039; oder auch {{lang|en|&amp;#039;&amp;#039;Component Based Software Engineering&amp;#039;&amp;#039;}}, &amp;#039;&amp;#039;CBSE&amp;#039;&amp;#039;) ein aus früheren Ansätzen entwickeltes [[Programmierparadigma|Paradigma]]. Grundlage dieses Konzeptes sind [[Komponente (Software)|Software-Komponenten]], die die [[Wiederverwendbarkeit]] von [[Artefakt (Programmierung)|Software-Artefakten]] verbessern sollen. &lt;br /&gt;
&lt;br /&gt;
[[Datei:Komponentenbasierte_Entwicklung.svg|400px|zentriert|Diagramm über die Entwicklung von Programmierparadigmen bis zur Komponentenbasierten Entwicklung]]&lt;br /&gt;
&lt;br /&gt;
Über die [[Funktion (Programmierung)|Funktion]], bzw. [[Prozedur (Programmierung)|Prozedur]] in der &amp;#039;&amp;#039;[[Prozedurale Programmierung|Prozeduralen Programmierung]]&amp;#039;&amp;#039;, das [[Objekt (Programmierung)|Objekt]] in der &amp;#039;&amp;#039;[[Objektorientiert]]en Programmierung&amp;#039;&amp;#039; und das &amp;#039;&amp;#039;[[CORBA]] Objekt&amp;#039;&amp;#039; beim &amp;#039;&amp;#039;[[Distributed Object Computing]]&amp;#039;&amp;#039; bis hin zur [[Komponente (Software)|Komponente]] in der &amp;#039;&amp;#039;Komponentenbasierten Programmierung&amp;#039;&amp;#039; werden die zentralen Elemente immer komplexer und mächtiger. Objektorientierte Programmierung stellt dabei die Grundlage der Komponentenbasierten Programmierung dar.&lt;br /&gt;
&lt;br /&gt;
Der Grundgedanke komponentenbasierter Entwicklung ist die Unterteilung von Anwendungen in wiederverwendbare Komponenten, um möglichst wenig Code neu programmieren zu müssen. Mit der Zeit kann so ein „Komponentenmarktplatz“ entstehen, aus dem heraus Anwendungen nach dem Baukastenprinzip zusammengestellt werden. Zusätzliche Komponenten müssen nur für Funktionalität entwickelt werden, für die es bisher keine Implementierung gibt.&lt;br /&gt;
&lt;br /&gt;
Vorteile sind neben einer Zeitersparnis bei der Entwicklung auch eine erhöhte [[Softwarequalität|Qualität]] der Komponenten durch eine große Nutzeranzahl und verschiedene [[Szenariobasierte Architekturbewertung|Anwendungsszenarien]], die automatisch als Testszenarien dienen. In einem Softwaresystem werden in der Regel Annahmen über einen Kontext impliziert, in dem das System funktioniert. Die CBSE verlangt, dass alle diese Annahmen explizit definiert werden, damit das System in verschiedenen Kontexten (von Dritten) &amp;#039;&amp;#039;[[Wiederverwendbarkeit|wiederverwendet]]&amp;#039;&amp;#039; werden kann.&lt;br /&gt;
&lt;br /&gt;
In der Praxis verschiedener [[Komponentenmodell|Komponentenmodelle]] wie zum Beispiel [[Common Object Request Broker Architecture|CORBA]], [[DCOM]], [[Common Component Architecture|CCA]], [[JavaBeans]], wird eine Trennung von [[Implementierung]] und [[Schnittstelle]] vorausgesetzt, was allerdings nur einer syntaktischen Kontextspezifikation entspricht. Der Begriff des [[contract|Kontrakts]] fordert dagegen eine explizite Kontextspezifikation, die über die rein syntaktische Spezifikation hinausgeht.&lt;br /&gt;
&lt;br /&gt;
Die [[semantisch]]e Kontextbeschreibung zum Beispiel durch die Spezifikation von legalen Reihenfolgen von [[Methodenaufruf]] einer Komponente, werden von der Theorie vorausgesetzt, haben den Weg in die breite Praxis aber noch nicht gefunden. In der Praxis wird aus diesem Grund der Begriff der Softwarekomponente häufig auf zustandslose Dienste beschränkt, da für diese eine solche semantische Spezifikation technisch nicht unbedingt notwendig ist (siehe [[Service Oriented Architecture]]).&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[CORBA Component Model]] (CCM)&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Andreas Andresen: &amp;#039;&amp;#039;Komponentenbasierte Softwareentwicklung mit MDA, UML und XML&amp;#039;&amp;#039;, Hanser Fachbuchverlag, 2003, ISBN 3-446-22282-0 &lt;br /&gt;
* George T. Heineman, William T. Councill: &amp;#039;&amp;#039;Component-Based Software Engineering: Putting the Pieces Together&amp;#039;&amp;#039;, Addison-Wesley Professional, 2001, ISBN 0-201-70485-4 &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Softwaretechnik]]&lt;br /&gt;
[[Kategorie:Softwarekomponente]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Predatorix</name></author>
	</entry>
</feed>