Modellieren von Softwareanwendungen

Veröffentlicht: 08. Feb 2002 | Aktualisiert: 14. Jun 2004

Kunden, die komplexe verteilte Anwendungen erstellen, sind mit der Herausforderung konfrontiert, die Anwendungsarchitektur und die Anforderungen mit einer Vielzahl von Teammitgliedern erfolgreich zu kommunizieren. Diese Herausforderung wächst, wenn es um die Welt der lose verbundenen XML-Webdienste geht. Es ist allgemein bekannt, dass die Präsentation von Konzepten und Informationen in mehreren Formaten - optisch, akustisch und in Schriftform - die Wahrscheinlichkeit erhöht, dass Personen Aussagen schnell und einwandfrei verstehen. Mit diesem Mehrfachformatansatz der Kommunikation unterstützt Visual Studio .NET die Teamkoordination und -produktivität, indem eine reichhaltige Sammlung von visuellen Modellierungstools zum Angeben der Anwendungsarchitektur sowie der Anforderungen bereitgestellt wird.

Anmerkung: Einige der genannten Features sind möglicherweise in der öffentlich verfügbaren Betaversion 2 von Visual Studio .NET nicht enthalten.

* * *

Links zu verwandten Themen
Auf dieser Seite

Ein Ansatz nach Industriestandard Ein Ansatz nach Industriestandard
Anwendungsszenario: Ein           Autovermietungs-Softwaresystem Anwendungsszenario: Ein Autovermietungs-Softwaresystem
Freihandmodellierung Freihandmodellierung
Zusammenfassung Zusammenfassung

Ein Ansatz nach Industriestandard

Visual Studio .NET bietet Unterstützung für eine vollständige Palette von Entwurfs- und Modellierungsaktivitäten. Dies schließt die Freihanddiagrammfunktionen von Visio ebenso wie eine Sammlung von UML-Diagrammen (Unified Modeling Language) nach Industriestandard ein. UML ist eine Notierung zum Beschreiben und Interpretieren der Teile, Beziehungen und Aktionen, aus denen eine Softwareanwendung besteht.

Mit den Modellierungsfeatures von Visual Studio .NET können Benutzer durchdachte Diagramme zum Angeben der Anwendungsarchitektur sowie der Unternehmensanforderungen erstellen, und sie können diese in ihren Teams kommunizieren. Unternehmensexperten, Architekten, Entwickler, und alle anderen Personen, die Analysen und Entwurfsaufgaben zum Verbessern der Kommunikation sowie zum Steigern der Produktivität in ihren Entwicklungsteams durchführen möchten, können diese neuen Funktionen zu ihrem Vorteil nutzen. Das folgende Szenario zeigt, wie die Struktur eines bestimmten Softwaresystems visualisiert und effektiver kommuniziert werden kann, indem in Visual Studio .NET erstellte Softwaremodelle verwendet werden.

Anwendungsszenario: Ein Autovermietungs-Softwaresystem

Dieses Szenario erläutert, die die acht UML-Diagrammtypen zum Modellieren des Softwaresystems einer Autovermietungsagentur verwendet werden können. Beginnend mit drei einfachen Verwendungsfällen, zeigen die Beispiele die Kernprozesse im System.

Verwendungsfalldiagramm

Ein Verwendungsfall gibt eine Interaktion zwischen einem Benutzer und dem System an, in der der Benutzer ein Ziel erreichen kann. Ein typisches Softwaresystem kann Hunderte einfacher Verwendungsfälle enthalten. Die folgenden Verwendungsfälle gelten z. B. für das System der Autovermietungsagentur:

  • Kunde reserviert Auto
    Bevor er ein Auto erhält, muss ein Kunde eine Reservierung vornehmen. Der Kunde setzt sich mit der Vermietungsagentur in Verbindung und nennt seine Anforderung. Die Agentur akzeptiert diese Anforderung oder lehnt sie basierend auf mehreren Kriterien ab, z. B. Verfügbarkeit von Autos oder Miethistorie des Kunden. Wenn die Reservierung akzeptiert wird, füllt die Agentur ein Formular aus, das die Kundendetails enthält. Das Hinterlegen einer Kaution vervollständigt die Reservierung.

  • Kunde übernimmt Auto
    wenn der Kunde bei der Agentur eintrifft, weist die Vermietungsagentur das vom Kunden angeforderte Modell des Autos abhängig von den aktuellen Bestandszahlen zu. Nachdem der Gesamtpreis entrichtet wurde, erhält der Kunde das Auto.

  • Kunde gibt Auto zurück
    Der Kunde gibt das Auto an dem Tag an die Agentur zurück, der im Mietvertrag angegeben wird.

Die folgende Grafik zeigt das Verwendungsfalldiagramm für diese drei Verwendungsfälle.

 Ein einfaches Verwendungsfalldiagramm


Abbildung 1. Ein einfaches Verwendungsfalldiagramm

Statisches Strukturdiagramm (Klassendiagramm)

Die nächste Aufgabe besteht im Klassifizieren der betroffenen Objekte und ihrer Beziehungen. Das Untersuchen von Verwendungsfällen unterstützt die Identifizierung von Klassen. Klassen von Objekten werden mit statischen Strukturdiagrammen (Klassendiagrammen) modelliert, die die Gesamtstruktur des Systems sowie relationale und verhaltenstechnische Eigenschaften zeigen.

In einem Klassendiagramm werden die am Autovermietungssystem beteiligten Objekte in Klassen gruppiert. Jede Klasse enthält einen Namenabschnitt und einen Attributabschnitt. Einige Klassen enthalten auch einen Operationenabschnitt, der angibt, wie sich die Objekte in der betreffenden Klasse verhalten können.

In der Kundenklasse umfassen die Attribute den Namen, die Rufnummer, die Führerscheinnummer und die Adresse. Das Geburtsdatum ist erforderlich, damit festgestellt werden kann, ob der Kunde das erforderliche Mindestalter zum Mieten eines Fahrzeugs besitzt. Die Kundenklasse speichert außerdem Operationen, z. B. Reservierungen.

Klassendiagramme unterstützen Vererbung. In der folgenden Abbildung erben z. B. die Klassen "Mechaniker" und "Autovermieter" Attribute, beispielsweise den Namen und die Adresse, von der Klasse "Mitarbeiter".

 Ein statisches Struktur- oder Klassendiagramm


Abbildung 2. Ein statisches Struktur- oder Klassendiagramm

Abfolgediagramm

Ein Abfolgediagramm stellt eine detaillierte Ansicht eines Verwendungsfalles zur Verfügung. Es zeigt eine Interaktion, die als Abfolge in einem zeitlichen Verlauf dargestellt wird, und unterstützt die Dokumentierung des Programmlogikflusses in der Anwendung. Die Teilnehmer werden im Kontext der Nachricht dargestellt, die zwischen ihnen übermittelt wird. In einem umfassenden Softwaresystem kann das Abfolgediagramm ziemlich ausführlich sein und Tausende von Nachrichten umfassen.

Angenommen, ein Kunde möchte ein Auto reservieren. Der Autovermieter muss zuerst die Kundendaten überprüfen und ermitteln, ob der Kunde dazu berechtigt ist. Wenn der Kunde bereits zuvor ein Auto bei der betreffenden Firma gemietet hat, wurde seine Miethistorie bereits aufgezeichnet, und der Autovermieter muss nur sicherstellen, dass alle vorherigen Transaktionen problemlos abgewickelt wurden. Der Autovermieter kann z. B. bestätigen, dass die früheren Mietwagen des Kunden termingerecht zurückgegeben wurden. Nachdem der Mietstatus des Kunden bestätigt wurde, kann der Autovermieter die Reservierung für die Anmietung eines Autos genehmigen. Dieser Vorgang kann in einem Abfolgediagramm dargestellt werden, wie die Abbildung unten zeigt.

Ein Abfolgediagramm


Abbildung 3. Ein Abfolgediagramm

Zusammenarbeitsdiagramm

Ein Zusammenarbeitsdiagramm ist ein anderer Typ von Interaktionsdiagramm. Ebenso wie ein Abfolgediagramm zeigt es, wie eine Gruppe von Objekten in einem Verwendungsfall miteinander arbeitet. Jede Nachricht wird nummeriert, um die Reihenfolge zu dokumentieren, in der sie auftritt.

Ein Zusammenarbeitsdiagramm


Abbildung 4. Ein Zusammenarbeitsdiagramm

Zustandsdiagramm

Der Zustand eines Objekts wird als seine Attribute zu einem bestimmten Zeitpunkt definiert. Objekte durchlaufen mehrere Zustände, wenn sie durch externe Stimuli beeinflusst werden. Das Zustandsdiagramm bildet diese Zustände sowie die auslösenden Ereignisse ab, die bewirken, dass sich das Objekt in einem bestimmten Zustand befindet. Im Vermietungssystem ist das Objekt z. B. ein Auto. Wenn ein Auto das Vermietungssystem durchläuft, führen seine vielen Zustände zu einem komplexen Diagramm, das jedoch sehr aussagekräftig ist. Zuerst wird es z. B. zur Fahrzeugflotte hinzugefügt. Es verbleibt im Zustand InStock, bis es vermietet wird. Nach der Vermietung wird das Auto in die Fahrzeugflotte zurückgegeben und erhält wieder den Zustand InStock. Zu verschiedenen Zeitpunkten seiner kommerziellen Lebensspanne benötigt das Auto möglicherweise Reparaturen (InService). Wenn das Auto sein Nutzungsende erreicht hat, wird es entweder verkauft oder verschrottet, um Platz für ein neues Fahrzeug zu schaffen.

 Ein Zustandsdiagramm

Abbildung 5. Ein Zustandsdiagramm

Aktivitätsdiagramm

Ein Aktivitätsdiagramm zeigt die Programmlogik an, die als Reaktion auf intern generierte Aktionen auftritt. Ein Aktivitätsdiagramm bezieht sich auf eine bestimmte Klasse oder einen Verwendungsfall und zeigt die Schritte, die für das Ausführen einer bestimmten Operation erforderlich sind.

Ein Aktivitätsdiagramm


Abbildung 6. Ein Aktivitätsdiagramm

Komponentendiagramm

Ein Komponentendiagramm zeigt, wie verschiedene Softwareuntersysteme die Gesamtstruktur des Systems bilden. Dieses Diagramm baut auf einer zentralisierten Datenbank auf, die Daten zu früheren Anmietungen, Fahrzeugdetails, Wartungsdaten und Kunden- und Mitarbeiterdetails enthält. Es ist wichtig, diese Daten in einer Datenbank zu zentralisieren, da sich die Bestandszahlen stündlich ändern und alle Parteien über absolut aktuelle Informationen verfügen müssen. Das Bereitstellen aktueller Daten erfordert Informationsaktualisierungen in Echtzeit durch alle Parteien. Die Softwareuntersysteme in diesem Beispiel umfassen Fahrzeugdatensätze, Wartungsdatensätze, Verkaufsdatensätze, Kundendatensätze und Mitarbeiterdatensätze.

 Ein Komponentendiagramm


Abbildung 7. Ein Komponentendiagramm

Bereitstellungsdiagramm

Ein Bereitstellungsdiagramm zeigt, wie die Hardware und Software im System konfiguriert ist. Die Vermietungsagentur benötigt ein Client/Server-System mit einer zentralen Datenbank mit Datensätzen, auf die das Personal zugreifen kann. Autovermieter benötigen Zugriff auf die Daten zur Fahrzeugverfügbarkeit. Mechaniker müssen andererseits in der Lage sein, ein bestimmtes Auto als im Zustand InService zu markieren.

 Bereitstellungsdiagramm


Abbildung 8. Ein Bereitstellungsdiagramm

Freihandmodellierung

Viele Kunden wünschen außerdem in ihren Anwendungsmodellen eine Möglichkeit zum Hinzufügen weiterer grafischer Elemente zu den UML-Diagrammen. Da Visual Studio .NET auf Visio basierende Modellierungstools enthält, ist Freihandmodellierung möglich, z. B. Flussdiagramme und andere nichtsemantische Diagramme. Außerdem besteht die Möglichkeit, beliebige Bilder in ein Modell einzubetten. Auf diese Weise erhalten Kunden zusätzliche Flexibilität beim Kommunizieren ihrer Anwendungsarchitektur und -funktionalität. Die enge Integration von Visio in andere Microsoft Office-Anwendungen ermöglicht Entwicklungsteams die gemeinsame Verwendung von in Visual Studio .NET generierten Modellen und Diagrammen über Word-Dokumente oder E-Mail-Nachrichten.

Zusammenfassung

Während des Anwendungslebenszyklus muss eine Vielzahl von Benutzern mit unterschiedlichem technischen Hintergrund interagieren und kommunizieren können, um das gemeinsame Ziel des Erstellens einer neuen Anwendung erfolgreich zu erreichen. Visual Studio .NET stellt entscheidende Features bereit - Softwaremodellierung nach Industriestandard sowie reichhaltige Freihanddiagrammfunktionen - mit denen die Architektur angegeben und kommuniziert werden kann. Kunden, die diese Features verwenden, profitieren von effektiverer Kommunikation in ihren Entwicklungsteams, die die Effizienz von Entwicklern und die Erfolgsrate von Softwareprojekten in ihren Organisationen steigert.


Anzeigen: