Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
4.3 Muster und Rahmenwerke 31<br />
und Praxis erhalten. Ein Ergebnis war <strong>der</strong> Gedanke <strong>der</strong> Muster (patterns), <strong>der</strong> sowohl<br />
auf Architekturebene (Architekturmuster) als auch auf Klassenebene (Entwurfsmuster)<br />
angewendet werden kann. Außerdem kamen wie<strong>der</strong>verwendbare halbfertige<br />
Architekturen in Form von Rahmenwerken (frameworks) auf. Diese Begriffe werden<br />
im Folgenden näher betrachtet.<br />
4.3.1 Software-Architektur<br />
A software architecture is the development product that gives the highest return on investment<br />
with respect to quality, schedule, and cost. This is because an architecture appears early in a<br />
product’s lifetime. Getting it right sets the stage for everything to come in the system’s life:<br />
development, integration, testing, and modification. Getting it wrong means that the fabric of<br />
the system is wrong, and it cannot be fixed by weaving in a few new threads or pulling out a<br />
few existing ones, which often causes the entire fabric to unravel.<br />
(Bass et al., 1998, S. x)<br />
Die Verwendung des Begriffs Architektur als Metapher für die Struktur eines Software-Systems<br />
begann in den frühen 60er-Jahren durch Weinberg (Coplien, 1999).<br />
Zusammen mit dem Begriff wurde auch an<strong>der</strong>es Gedankengut übernommen, z. B.<br />
das Leitbild <strong>der</strong> guten Architektur von Vitruv mit den Eigenschaften Schönheit,<br />
Brauchbarkeit und Dauerhaftigkeit.<br />
Der IEEE Standard 610.12-1990 definiert die Begriffe Architektur und Architekturentwurf<br />
wie folgt:<br />
Definition 4-3 (architecture, IEEE Std. 610.12-1990)<br />
The organizational structure of a system or component.<br />
Definition 4-4 (architectural design, IEEE 610.12-1990)<br />
A collection of hardware and software components and their interfaces to establish the framework<br />
for the development of a computer system.<br />
Diese Definition führt den Begriff <strong>der</strong> Komponente ein, es fehlt allerdings ein wichtiger<br />
Aspekt: die Beziehungen zwischen den Komponenten. Dieser Aspekt kommt bei<br />
<strong>der</strong> Definition von Bass et al. (1998, S. 23) hinzu:<br />
Definition 4-5 (architecture, Bass et al., 1998)<br />
The software architecture of a program or computing system is the structure or structures of<br />
the system, which comprise software components, the externally visible properties of those<br />
components, and the relationships among them.<br />
Die Architektur definiert also eine Struktur, die aus Komponenten und ihren Beziehungen<br />
(Konnektoren) besteht. Für die Komponenten und Konnektoren werden die<br />
nach außen sichtbaren Eigenschaften, z. B. Attribute und Operationen, spezifiziert.<br />
Sie bilden die Schnittstelle.<br />
Die neueste Definition des Architekturbegriffs stammt aus dem IEEE-Standard 1471-<br />
2000 zur Beschreibung von Software-Architekturen.<br />
Definition 4-6 (architecture, IEEE Std. 1471-2000)<br />
The fundamental organization of a system embodied in its components, their relationships to<br />
each other and to the environment, and the principles guiding its design and evolution.