Visuelles Modellieren von Softwareanwendungen

Veröffentlicht: 20. Jul 2001 | Aktualisiert: 19. Jun 2004

Anmerkung: Einige Features werden u.U. nicht in der auf dem Markt erhältlichen Visual Studio.NET-Version Beta 2 verfügbar sein.

Kunden, die komplexe verteilte Anwendungen erstellen, stehen vor der Herausforderung, die Anwendungsarchitektur und die Anforderungen der Anwendung einer großen Gruppe von Teammitgliedern zu erläutern. Diese Herausforderung wird größer, sobald wir in die Welt der lose gekoppelten XML-Webdienste vordringen. Es ist allgemein bekannt, dass die Präsentation von Konzepten und Informationen in mehreren Formaten - ob visuell, gesprochen oder geschrieben - das Vermögen des Menschen, Botschaften schnell und genau aufzunehmen, wesentlich verbessert. Visual Studio.NET greift diesen Ansatz mit mehreren Formaten auf und stützt somit die Teamkoordination und Produktivität, indem es für die Festlegung der Anwendungsarchitektur und -anforderungen eine Fülle von visuellen Modellierungstools bereitstellt.

Visually Model Software Applications
Auf dieser Seite

 Ein Ansatz, der dem Industriestandard gerecht wird
 Anwendungsszenario: Softwaresystem einer Autovermietung
 Freiformmodellierung
 Zusammenfassung

Ein Ansatz, der dem Industriestandard gerecht wird

Visual Studio.NET unterstützt eine Vielzahl von Entwurfs- und Modellierungsaktivitäten, z.B. Freiformdiagramm-Erstellungsfunktionen sowie eine Auswahl professioneller UML-Diagramme (UML = Unified Modeling Language). UML ist eine Notation zum visuellen Beschreiben und Interpretieren der Teile, Beziehungen und Aktionen, die eine Softwareanwendung ausmachen.

Mit den Modellierungsfeatures in Visual Studio.NET können Benutzer hochentwickelte Diagramme erstellen, um Anwendungsarchitekturen und Geschäftsanforderungen festzulegen und diese dem Team zu erläutern. Geschäftsanalytiker, Architekten, Entwickler und andere Personen, die Analyse- und Entwurfsaufgaben durchführen möchten, um die Kommunikation zu verbessern und die Produktivität ihrer Entwicklungsteams zu steigern, können diese neuen Funktionen jetzt direkt nutzen. Im folgenden Szenario veranschaulichen wir, wie die Struktur eines bestimmten Softwaresystems visualisiert und erfolgreicher vermittelt wird, indem die in Visual Studio.NET erstellten Softwaremodelle verwendet werden.

 

Anwendungsszenario: Softwaresystem einer Autovermietung

In diesem Szenario wird behandelt, wie die acht UML-Diagrammtypen verwendet werden können, um das Softwaresystem einer Autovermietung zu modellieren. Die Beispiele beginnen zunächst mit drei einfachen Use Cases; sie demonstrieren die Kernprozesse des Systems.

Use Case-Diagramm
Ein Use Case legt eine Interaktion zwischen einem Benutzer und einem System fest, bei der der Benutzer im Stande ist, ein Ziel zu erreichen. Ein typisches Softwaresystem kann Hunderte von einfachen Use Cases enthalten. Einige Use Cases, die für das System der Autovermietung zutreffen, sind folgende:

  • Kunde reserviert Auto
    Bevor der Kunde ein Auto erhält, muss eine Reservierung gemacht werden. Der Kunde wendet sich an die Autovermietung und fragt an. Die Agentur akzeptiert die Anfrage oder weist sie ab, basierend auf mehreren Kriterien, z.B. der Verfügbarkeit der Autos oder des Mietverlaufs des Kunden. Wenn die Reservierung akzeptiert wird, füllt die Agentur ein Formular aus, das die Kundendetails enthält. Durch die Zahlung einer Kaution wird die Reservierung abgeschlossen.

  • Kunde nimmt Auto entgegen
    Nachdem der Kunde bei der Agentur eingetroffen ist, weist die Mietagentur den vom Kunden angeforderten Fahrzeugtyp zu, entsprechend der aktuellen Verfügbarkeit auf dem Platz. Nachdem er die volle Gebühr bezahlt hat, erhält der Kunde sein Auto.

  • Kunde bringt Auto zurück
    Der Kunde bringt das Auto an dem Tag zur Agentur zurück, der im Mietvertrag angegeben ist.

In der folgenden Abbildung ist das Use Case-Diagramm für diese drei Use Cases dargestellt.

Bild01

Abbildung 1. Einfaches Use Case-Diagramm

Statisches Struktur- oder Klassendiagramm
Als Nächstes müssen die beteiligten Objekte und ihre Beziehungen klassifiziert werden. Die Untersuchung von Use Cases hilft beim Identifizieren von Klassen. Objektklassen werden mit Hilfe von statischen Strukturdiagrammen oder Klassendiagrammen modelliert. Diese Diagramme zeigen die Gesamtstruktur des Systems sowie Beziehungs- und Verhaltenseigenschaften.

In einem Klassendiagramm sind die Objekte, die in einem Autovermietungssystem beteiligt sind, in Klassen gruppiert. Jede Klasse enthält einen Namensabschnitt und einen Attributabschnitt. Einige Klassen enthalten einen Vorgangsabschnitt, der festlegt, wie sich Objekte innerhalb dieser Klasse verhalten dürfen.

In der Klasse Kunde gibt es die Attribute Name, Rufnummer, Führerschein-Nr. und Adresse. Das Geburtsdatum ist erforderlich, um zu überprüfen, ob der Kunde die Altersvoraussetzungen erfüllt, um ein Fahrzeug mieten zu können. In der Klasse Kunde werden auch Vorgänge gespeichert, z.B. Reservierungen.

Klassendiagramme unterstützen Vererbung. In der folgenden Abbildung erben z.B. die Klassen Mechaniker und Autovermieter Attribute wie Name und Adresse von der Klasse Mitarbeiter.

Bild02

Abbildung 2. Statisches Struktur- oder Klassendiagramm

Sequenzdiagramm
Ein Sequenzdiagramm bietet eine detaillierte Ansicht eines Use Case. Es zeigt eine Interaktion, die in einer Sequenz über eine Zeit angeordnet ist, und unterstützt Benutzer bei der Dokumentation des Logikflusses innerhalb der Anwendung. Die Teilnehmer werden im Kontext der Nachrichten dargestellt, die zwischen ihnen ausgetauscht werden. In einem umfangreichen Softwaresystem kann das Sequenzdiagramm sehr detailliert sein und Tausende von Nachrichten umfassen.

Angenommen, ein Kunde möchte ein Auto reservieren. Der Agenturmitarbeiter muss zunächst den Datensatz des Kunden überprüfen, um sicherzustellen, dass der Kunde dazu berechtigt ist. Wenn der Kunde in der Vergangenheit ein Auto von dieser Firma gemietet hat, ist sein oder ihr Mietverlauf bereits protokolliert, und der Mitarbeiter muss lediglich sicherstellen, dass bei früheren Transaktionen alles korrekt ablief. Der Mitarbeiter kann sich z.B. bestätigen lassen, dass die in der Vergangenheit vom Kunden gemieteten Autos rechtzeitig wieder abgegeben wurden. Wenn der Mietstatus des Kunden genehmigt ist, kann der Mitarbeiter der Agentur die Reservierung des Mietfahrzeugs genehmigen. Dieser Prozess kann in einem Sequenzdiagramm dargestellt werden (siehe folgende Abbildung).

Bild03

Abbildung 3. Sequenzdiagramm

Zusammenarbeitsdiagramm
Ein Zusammenarbeitsdiagramm ist eine weitere Form des Interaktionsdiagramms. Ähnlich wie das Sequenzdiagramm zeigt es, wie eine Gruppe von Objekten in einem Use Case zusammenarbeitet. Jede Nachricht ist nummeriert, um die Reihenfolge zu dokumentieren, in der sie auftritt.

Bild04

Abbildung 4. Zusammenarbeitsdiagramm

Statusdiagramm
Ein Objektstatus wird durch seine Attribute in einem bestimmten Augenblick definiert. Objekte durchlaufen mehrere Zustände, während sie äußeren Einflüssen ausgesetzt sind. Das Statusdiagramm kartografiert diese Zustände sowie die auslösenden Ereignisse, die verursachen, dass das Objekt diesen bestimmten Zustand hat. In unserem Mietsystem ist das Objekt z.B. ein Auto. Während das Auto das Mietsystem durchläuft, erstellen seine Zustände ein komplexes, aber anschauliches Diagramm. Zunächst wird es dem Wagenpark hinzugefügt. Es behält solange den Status Am Lager, bis es gemietet wird. Nach der Vermietung wird es wieder dem Wagenpark und damit dem Status Am Lager hinzugefügt. Während seines Gebrauchlebens benötigt das Auto evtl. zu verschiedenen Zeiten Reparaturen (In Wartung). Wenn das Auto seinen Zweck erfüllt hat, wird es entweder verkauft oder verschrottet, um Platz für ein neues Fahrzeug zu schaffen.

Bild05

Abbildung 5. Statusdiagramm

Aktivitätsdiagramm
Ein Aktivitätsdiagramm zeigt die Logik an, die als Antwort auf intern erzeugte Aktionen erfolgt. Ein Aktivitätsdiagramm bezieht sich auf eine bestimmte Klasse oder einen bestimmten Use Case und zeigt die Schritte an, die beim Durchführen eines bestimmten Vorgangs erforderlich sind.

Bild06

Abbildung 6. Aktivitätsdiagramm

Komponentendiagramm
Ein Komponentendiagramm zeigt, wie verschiedene Softwaresubsysteme eine Gesamtstruktur des Systems bilden, die um eine zentrale Datenbank aufgebaut ist. Diese Datenbank enthält Datensätze zu vergangenen Mietvorgängen, Fahrzeugdetails, Wartungsprotokolle sowie Kunden- und Mitarbeiterdetails. Es ist entscheidend, dass diese Daten zentral in einer Datenbank gesammelt werden, da sich der Lagerbestand stündlich ändert und alle beteiligten Parteien aktuellste Informationen haben müssen. Die Aktualität der Daten setzt voraus, dass die Informationen in Echtzeit von allen Beteiligten aktualisiert werden. Die Softwaresubsysteme für dieses Beispiel lauten: Fahrzeugdatensätze, Wartungsdatensätze, Vertriebsdatensätze, Kundendatensätze und Mitarbeiterdatensätze.

Bild07

Abbildung 7. Komponentendiagramm

Weitergabediagramm
Ein Weitergabediagramm zeigt, wie die Hard- und Software im System konfiguriert ist. Die Autovermietung benötigt ein Client/Server-System mit einer zentralen Datenbank, auf deren Datensätze das Personal zugreifen kann. Die Agenturmitarbeiter benötigen Zugriff auf die Daten zur Fahrzeugverfügbarkeit. Gleichzeitig müssen Mechaniker in der Lage sein können, den Status eines bestimmten Autos als In Wartung ermitteln zu können.

Bild08

Abbildung 8. Weitergabediagramm

 

Freiformmodellierung

Viele Kunden möchten auch die Möglichkeit haben, andere grafische Elemente in die UML-Diagramme ihrer Anwendungsmodelle einzufügen. Visual Studio.NET ermöglicht eine freie Modellierung, z.B. Flussdiagramme und andere nichtsemantische Diagramme, sowie die Möglichkeit, beliebige Bilder in ein Modell einzubetten. Das bietet den Kunden zusätzliche Flexibilität beim Vermitteln der Architektur und Funktionalität ihrer Anwendungen.

 

Zusammenfassung

Während des Lebenszyklus einer Anwendung müssen viele Personen mit unterschiedlichen technischen Wissenshintergründen miteinander kommunizieren und interagieren, um dem gemeinsamen Ziel, eine neue Anwendung zu erstellen, ein Stückchen näher zu kommen. Visual Studio.NET bietet die Schlüsselfeatures dafür - Industriestandard-Softwaremodellierungs- und umfangreiche freie Diagrammerstellungsfunktionen, mit denen die Festlegung und Vermittlung der Architektur erfolgt. Kunden, die diese Features nutzen, profitieren von der effektiven Kommunikation innerhalb ihrer Entwicklungsteams, die die Effizienz von Entwicklern und die Erfolgsrate von Softwareprojekten in ihren Organisationen steigern wird.