Lehrplan „Grundlagen der Software- Architektur“ - bei BITPlan!
Lehrplan „Grundlagen der Software- Architektur“ - bei BITPlan!
Lehrplan „Grundlagen der Software- Architektur“ - bei BITPlan!
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Lehrplan</strong> <strong>„Grundlagen</strong> <strong>der</strong> <strong>Software</strong>-<strong>Architektur“</strong><br />
Third-Party-<strong>Software</strong><br />
Frameworks, Bibliotheken und Komponenten<br />
30<br />
Für rein prozedurale Sprachen haben sich in <strong>der</strong> Vergangenheit <strong>Software</strong>-Bibliotheken als Technologie<br />
bewährt, um die Wie<strong>der</strong>verwendung von <strong>Software</strong>produkten Dritter in eigenen Projekten zu<br />
ermöglichen. Das Konzept <strong>der</strong> Bibliotheken wird zudem in großen <strong>Software</strong>projekten als Strukturierungsmittel<br />
und als Mittel zur unternehmensweiten Wie<strong>der</strong>verwendung eingesetzt.<br />
In den Bereichen <strong>der</strong> objektorientierten und komponentenbasierten Programmierung kann dieses<br />
Prinzip in wesentlich mächtigerer und vielfältiger Form angewandt werden. Grundsätzlich lassen sich<br />
hier drei Arten <strong>der</strong> Wie<strong>der</strong>verwendung unterscheiden: Komponentenbibliotheken, Klassenbibliotheken<br />
und Frameworks.<br />
Komponentenbibliotheken enthalten Sammlungen von <strong>Software</strong>-Komponenten zur direkten Verwendung<br />
in eigenen Projekten. Komponenten sind Standard-<strong>Software</strong>-Bausteine, die jeweils für sich abgeschlossen<br />
sind und genau definierte externe Schnittstellen haben. Für den Einsatz <strong>der</strong> Komponenten<br />
muss es eine übergeordnete Schnittstellenspezifikation geben. Diese wird unter dem Begriff<br />
„Standard-Plattform“ geführt.<br />
Klassenbibliotheken enthalten eine o<strong>der</strong> mehrere Hierarchien von objektorientierten Klassen und<br />
sind daher an eine bestimmte Programmiersprache gebunden. Die Klassen können in eigenen Projekten<br />
direkt verwendet werden o<strong>der</strong> als Basis für weitere Ableitung dienen.<br />
Frameworks ermöglichen die Wie<strong>der</strong>verwendung für spezifische Anwendungsfel<strong>der</strong>. Die Stärke von<br />
Frameworks ist, dass nicht nur <strong>Software</strong> auf <strong>der</strong> Ebene <strong>der</strong> Implementierung wie<strong>der</strong>verwendet werden<br />
kann, son<strong>der</strong>n auch auf <strong>der</strong> Ebene von Design und <strong>Software</strong>-Architektur (design reuse).<br />
Frameworks gehorchen dem Hollywood-Prinzip: Don’t call us, we call you!<br />
Hausinterne Frameworks und Bibliotheken<br />
Gerade in großen Unternehmen, aber auch in mittleren Entwicklungsabteilungen muss in die Technologieauswahl<br />
auch die bereits existierende <strong>Software</strong> einbezogen werden. Als Mechanismen zur<br />
Wie<strong>der</strong>verwendung bieten sich hier ebenfalls obige Methoden an: Frameworks, Klassenbibliotheken<br />
und Komponenten sind mächtige Mechanismen zur Steigerung von Produktivität und Qualität innerhalb<br />
von Entwicklungsabteilungen und Unternehmen. Natürlich entsteht durch das Aufsetzen dieser<br />
Mechanismen zunächst zusätzlicher Aufwand, <strong>der</strong> erst durch mehrfache Verwendung in späteren<br />
Projekten wie<strong>der</strong> kompensiert wird.<br />
v1.0 Seite 41 von 46<br />
© iSQI – Veröffentlichung, auch auszugsweise, nur mit schriflicher Genehmigung