Richtlinie: Webanwendungen mit UML erstellen
Diese Richtlinie führt die Anwendungsfallanalyse einen Schritt weiter hin zum Design von Webanwendungen.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

Referenzen

In den folgenden Büchern und Dokumenten finden Sie Referenzen zu diesen Richtlinien:

Anwendungsfallanalyse ausarbeiten

Anders im Vergleich mit der Anwendungsfallanalyse ist, dass die Grenzklassen in ihrer Zielsetzung fokussierter und singulärer sind. Objekte dieser Klassen haben eine kurze Lebensdauer, und jeder Clientzustand (in Webseiten) muss explizit von speziellen Mechanismen verwaltet werden. Microsoft Active Server Pages verwenden beispielsweise "Cookies" als Index für eine Übersicht über den Zustand aller derzeit aktiven Clients.

Wenn Sie die Spezifikation eines Anwendungsfalls lesen, gilt außerdem Folgendes: 

  • Jede Erwähnung einer Webseite wird in eine Grenzklasse übersetzt.  
  • Jede Erwähnung eines Hyperlinks wird in eine Assoziation von einer Grenzklasse zu einer anderen Grenzklasse oder Controllerklasse übersetzt.  
  • Verben oder Beschreibungen von Prozessen werden in der Regel Controllerklassen zugeordnet.  
  • Nomen werden Entitätsklassen zugeordnet.  

Die Grenzklasse, über die die Kommunikation eingeleitet wird, kommuniziert mit einer Controllerklasse. Die Controllerklasse antwortet in der Regel nicht über dieselbe Instanz dieser Grenzklasse.

Interaktionsdiagramme verwenden

Während der Anwendungsfallanalyse können die Szenarios mit Ablaufdiagrammen beschrieben werden. Damit kann die Existenz von Analyseobjekten im Szenario eines Anwendungsfalls getestet werden. Wenn Analyseobjekte gefunden werden, die in keinem Ihrer Szenarios vorkommen, sind sie verdächtig und müssen erneut bewertet werden. Das Risiko hier ist, dass die Diagramme zu groß und schlecht verwaltbar werden, wenn Sie zu sehr ins Detail gehen. Sie können dies verhindern, indem Sie sich auf kurze, eindeutige Szenarios konzentrieren und nur Grenzobjekte, wichtige Controller- und Entitätsobjekte aufnehmen.

Denken Sie daran, dass Grenzobjekte in Webanwendungen eine kurze Lebensdauer haben. Eine Grenzklasse kann während der Ausführung eines Szenarios jedoch mehrfach instanziert werden, d. h. es können mehrere Grenzobjekte in derselben Klasse im Diagramm instanziert werden.

Der Akteur in einem Ablaufdiagramm auf Analyseebene interagiert mit einem Grenzobjekt. Es wird eine Navigationsnachricht vom Akteur an das Grenzobjekt gesendet.

Erste Designklassen erstellen

Erste Grenzklassendesigns

Eine Grenzklasse kann einer Clientseitenklasse zugeordnet werden.

Wenn die Grenzklasse die Eingabe von Informationen umfasst, ordnen Sie sie normalerweise durch Aggregation einem Formular (oder Webformular) zu. Ein Formular kann als verschachtelte Klasse der Clientseite modelliert werden, da sein gesamter Lebenszyklus von der Clientseite gesteuert wird. Formulare haben immer eine Übergabebeziehung zu einer Serverseite, die die Werte des Formulars verarbeitet, was letztendlich zu einer neuen zurückgegebenen Clientseite führt.

Wenn die Benutzerschnittstelle dynamisches Verhalten vom Client erfordert, kann dies am einfachsten durch die Verwendung dynamischen HTML im Client erreicht werden. Im Designmodell wird dies normalerweise mit Operationen auf der Clientseite dargestellt. Operationen auf der Clientseite werden direkt JavaScript-Funktionen zugeordnet. Attribute einer Java-Seite werden direkt den seitenbezogenen Variablen der Seite zugeordnet. Ereignis-Handler für dynamisches HTML werden als Eigenschaftswerte erfasst.

Wenn die Benutzerschnittstelle ein fortgeschrittenes Verhalten hat, sollten Sie der Grenzklasse durch Aggregation ein Applet zuordnen.

Wenn Ihre Architektur auf einem verteilten Objektsystem (z. B. RMI, IIOP oder DCOM) basiert, kann die Clientseite auf Schnittstellen zu Komponenten verweisen, die direkt über RMI, IIOP bzw. DCOM mit dem Server kommunizieren und HTTP umgehen. Diese Arten von Beziehungen haben normalerweise den Stereotyp <<RMI>> (rmi), <<IIOP>> (iiop) bzw. <<DCOM>> (dcom), um dem Designer die Bereiche anzuzeigen, in denen Netzverkehr auftritt, und somit für Engpässe in Frage kommen.

Erste Entitätsklassendesigns

Beim Design einer Webanwendung ist der einzige Unterschied bei den Entitätsklassen der folgende. Wenn das Objekt im Bereich der Clientseite liegt, wird das Entitätsobjekt einem JavaSript-Objekt zugeordnet.

Erste Controllerklassendesigns

Steuerungsklassen werden Serverseiten zugeordnet. Controller beschreiben und koordinieren die Geschäftslogik und koordinieren andere Logik. Sie befinden sich normalerweise auf dem Server. Viele Controllerobjekte sind für das Erstellen von Clientseiten verantwortlich (im Wesentlichen geben sie HTML-Datenströme aus). Controllerobjekte können mit serverseitigen Ressourcen wie Datenbanken, Komponenten der mittleren Schicht, Transaktionsmonitoren usw. interagieren.  

Controllerklassen werden normalerweise serverseitigen scriptgesteuerten Webseiten (Active Server Pages, Java Server Pages) zugeordnet.