In Anlehnung an den Rational Unified Process (RUP) ist das PiggyBank-UML-Beispielmodell in drei Modelle unterteilt, die jeweils einen anderen Aspekt des Systems beschreiben: das Anwendungsfallmodell, das Analysemodell und das Designmodell.
Anwendungsfallmodell
Das Anwendungsfallmodell beschreibt die Interaktionen zwischen Benutzern und dem System.
Neben der Dokumentation zu den Anforderungen enthält das Anwendungsfallmodell Anwendungsfalldiagramme und Aktivitätsdiagramme, die die Anforderungen des Systems grafisch darstellen.
Analysemodell
Das Analysemodell dokumentiert das Ergebnis der Analysephase. Das Analysemodell folgt dem RUP zum Identifizieren von Objekten, die mit Benutzern interagieren (Grenzen), Objekten, die innerhalb des Systems persistent sind (Entitäten), und Objekten, die die Realisierung der einzelnen Anwendungsfälle koordinieren (Controller).
Designmodell
Das Designmodell wendet auf das Analysemodell eine strukturierte Architektur an.
Das Designmodell beschreibt die Implementierung der Analyseentitäten des Systems, die als Enterprise JavaBeans (EJBs) implementiert wurden.
Diese EJB-Beans wurden unter Einsatz der folgenden bewährten Verfahren implementiert:
- Die Entitäts-EJB-Beans werden für andere Teile des Systems nicht erkennbar gemacht. Eine Facade, die als Session-EJB-Bean ohne Status erstellt wurde, verdeckt die Entitäten. Die Facade kommuniziert mit ihren Clients durch Übertragungsobjekte, die die Entitätsdaten in einer weniger komplexen Form darstellen.
- Zum Isolieren des Client-Codes von der EJB-Technologie wird die Facade in eine Stellvertreterschicht
eingeschlossen. Die Stellvertreterschicht verwaltet alle technischen Details zum Erstellen und Betreiben von EJB-Beans.
- Die Stellvertreterschicht ist in zwei Teile unterteilt: ein Framework, das das Verhalten der Stellvertreterschicht unabhängig von der Implementierung definiert, und eine EJB-Implementierung, die die EJB-Beans verwaltet.