Software-Architektur: Design, UML und Schichten
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 3,23 KB
Design der Software-Architektur
Das Design der Software-Architektur definiert die wesentlichen strukturellen Komponenten der Software und deren Beziehungen. (System Design: Product Design 7)
Schlüsselaspekte des Designs
- Projektdaten (Project Data): Entwurf der Datenstruktur, die notwendig ist, um die Software zu implementieren.
- Prozessuales Design: Verfeinerung der Details und die prozedurale Beschreibung der strukturellen Komponenten der Software-Architektur.
- Schnittstellendesign (Design Interfaces): Beschreibt, wie Software mit sich selbst (interne Schnittstellen), mit anderen Systemen (externe Schnittstellen) und mit den Menschen, die sie verwenden (Benutzeroberfläche/User Interface), kommunizieren soll.
Komponentendiagramm vs. Klasse: Ähnlichkeiten
(Referenz: Architectural Design x UML: Strukturelle Items 33)
- Beide können eine Reihe von Schnittstellen besitzen oder bereitstellen.
- Beide können in verschiedenen Beziehungen zueinander stehen (z.B. Abhängigkeit, Generalisierung, Assoziation).
- Beide können verschachtelt werden.
- Beide ermöglichen die Erstellung von Instanzen.
- Beide können an Interaktionen teilnehmen.
Unterscheidung im Kontext von Knoten
Wenn das auf einem Knoten modellierte Element eine Komponente darstellt, handelt es sich um eine Komponente; andernfalls ist es eine Klasse.
Was ist ein Knoten in UML?
(Referenz: Architectural Design x UML: Strukturelle Items 38)
- Ein physisches Element, das zur Laufzeit existiert und eine Rechenressource darstellt.
- Er repräsentiert die Hardware-Komponenten, auf denen Softwarekomponenten installiert sind und ausgeführt werden.
Schichten einer Business-Anwendung
Komponenten einer Business-Anwendung können in mindestens drei Kategorien bzw. Schichten gruppiert werden (oft im Kontext von Client-Server-Software, Ref: 5):
Präsentationsschicht (Presentation Layer)
Dies ist die äußerste Schicht der Software. Ihre Funktion ist es, Reize von äußeren Ereignissen zu erfassen und eine gewisse Bearbeitung von Eingabedaten durchzuführen. Sie ist auch dafür zuständig, Antworten auf Ereignisse an die Außenwelt zu übermitteln. Generell befindet sie sich auf einem Client-Rechner, wie einem PC, dies ist jedoch keine strikte Regel.
Geschäftslogikschicht (Business Logic Layer)
Diese Schicht enthält den Code, der die Geschäftsregeln und -richtlinien des Unternehmens implementiert und durchsetzt. Regeln, Verordnungen und Berechnungen finden sich in dieser Schicht. Es ist die mobilste Schicht und kann sowohl auf zentralen Servern (Referenz: Layers Software Client-Server 54) als auch bei Remote-Clients oder an jeder anderen Zwischenposition gefunden werden.
Datenverwaltungsschicht (Data Management Layer)
Diese Schicht bietet Zugriff auf Unternehmensdaten. Sie verwaltet konkurrierende Zugriffsanforderungen auf Datenbanken sowie die Synchronisation verteilter Datenelemente. Ein großer Teil dieser Schicht befindet sich am selben physischen Ort wie die Daten.