Objektorientierte Analyse (OOA) ist ein Ansatz in der
Softwareentwicklung, der darauf abzielt, Probleme zu identifizieren,
Anforderungen zu definieren und Lösungen im Kontext von Objekten und
deren Interaktionen zu entwerfen. Diese Objekte repräsentieren Entitäten
der realen Welt oder Konzepte innerhalb eines Systems, komplett mit
Daten (Attributen) und Verhalten (Methoden). OOA ist der erste Schritt
im objektorientierten Entwicklungsprozess und legt den Grundstein für
die nachfolgende objektorientierte Design- (OOD) und Programmierphase
(OOP).
8.1 Ziele der Objektorientierten
Analyse
Problemverständnis: Tiefgreifendes Verständnis des
Problems und des Anwendungsbereichs erlangen, um eine fundierte Basis
für die Entwicklung zu schaffen.
Anforderungsspezifikation: Klare und präzise
Beschreibung der funktionalen und nicht-funktionalen Anforderungen des
zu entwickelnden Systems.
Modellierung von Konzepten: Identifikation und
Modellierung der Schlüsselkonzepte, Entitäten und deren Beziehungen im
Anwendungsbereich als Objekte.
Strukturierung des Systems: Definition einer
logischen Struktur für das System durch Klassifizierung der Objekte und
Definition ihrer Interaktionen.
8.2 Prozess der Objektorientierten
Analyse
Anforderungserhebung: Sammeln und Dokumentieren der
Benutzeranforderungen und Geschäftsregeln.
Systemkontext definieren: Abgrenzung des Systems
von seiner Umgebung und Definition der Schnittstellen.
Identifikation von Objekten: Erkennung der Objekte,
die für das System relevant sind, basierend auf den gesammelten
Anforderungen und dem Verständnis des Anwendungsbereichs.
Definition von Klassen und Objekten: Spezifikation
der Klassen, ihrer Attribute und Methoden, die die Objekte des Systems
repräsentieren.
Beziehung und Dynamik: Definition der Beziehungen
zwischen den Objekten sowie Modellierung der dynamischen Interaktionen
und Prozesse.
Erstellung von Modellen: Verwendung von UML
(Unified Modeling Language) oder anderen Modellierungssprachen, um die
identifizierten Objekte, ihre Beziehungen und Interaktionen grafisch
darzustellen.
8.3 Bedeutung der
Objektorientierten Analyse
OOA spielt eine entscheidende Rolle in der objektorientierten
Entwicklung, indem sie:
Eine solide Grundlage für das Design und die Implementierung
schafft.
Die Komplexität des Systems durch Abstraktion und Kapselung
managt.
Die Wiederverwendung von Softwarekomponenten durch die
Identifikation gemeinsamer Muster und Klassen fördert.
Die Kommunikation zwischen den Stakeholdern verbessert, indem sie
ein klares und verständliches Modell des Systems bereitstellt.
Indem OOA eine enge Korrespondenz zwischen der realen Welt und dem
Systemmodell herstellt, erleichtert sie die Entwicklung von Systemen,
die eng an die Bedürfnisse und Anforderungen der Benutzer und des
Geschäftsumfelds angepasst sind.
8.4 Beispiel
Um die Konzepte der objektorientierten Analyse (OOA) zu
veranschaulichen, betrachten wir ein einfaches Beispiel: die Entwicklung
eines Buchungssystems für ein Kino. Ziel ist es, die wesentlichen
Anforderungen zu identifizieren und ein objektorientiertes Modell zu
entwerfen, das die Grundlage für das spätere Design und die
Implementierung bildet.
8.4.1 Schritt 1:
Anforderungserhebung
Die primären Anforderungen des Kinosystems umfassen:
Verwaltung von Filmen, die im Kino gezeigt werden.
Verwaltung der Kinosaalinformationen, einschließlich
Sitzplatzkapazität.
Möglichkeit für Kunden, Tickets für Filme zu buchen.
Verwaltung der Buchungen und Sitzplatzzuweisungen.
8.4.2 Schritt 2: Identifikation von
Schlüsselkonzepten
Basierend auf den Anforderungen identifizieren wir die folgenden
Schlüsselkonzepte (Objekte) für unser System:
Film: Repräsentiert einen Film, der im Kino gezeigt
wird.
Kinosaal: Enthält Informationen über die
verschiedenen Kinosäle, einschließlich Sitzplatzkapazität.
Vorstellung: Eine spezifische Aufführung eines
Films in einem bestimmten Kinosaal zu einer bestimmten Zeit.
Ticket: Ein Ticket für eine Vorstellung, das einem
Kunden verkauft wird.
Kunde: Eine Person, die ein Ticket bucht.
8.4.3 Schritt 3: Definition von
Klassen und Objekten
Für jedes identifizierte Objekt definieren wir eine entsprechende
Klasse mit ihren Attributen und Methoden.
Nun definieren wir die Beziehungen zwischen den Klassen und
modellieren die Interaktionen:
Ein Film kann in mehreren
Vorstellungen gezeigt werden.
Eine Vorstellung findet in genau einem
Kinosaal statt und bezieht sich auf genau einen
Film.
Ein Kunde kann mehrere Tickets für
verschiedene Vorstellungen buchen.
Ein Ticket ist genau einer
Vorstellung zugeordnet.
8.4.5 Schritt 5: Erstellung von
Modellen
Zum Abschluss der objektorientierten Analyse erstellen wir
UML-Diagramme, um die Klassen, ihre Attribute, Methoden und Beziehungen
visuell darzustellen. Ein Klassendiagramm wäre hier besonders nützlich,
um die Struktur des Systems zu visualisieren.
Dieses Beispiel illustriert den Prozess der objektorientierten
Analyse anhand eines einfachen Kinosystems. Durch die Identifizierung
von Schlüsselobjekten, deren Eigenschaften und Beziehungen, legt die OOA
die Grundlage für ein strukturiertes Design und eine effiziente
Implementierung des Systems.