System-Modellierung statisches & dynamisches Modell
System-Modellierung statisches & dynamisches Modell
System-Modellierung statisches & dynamisches Modell
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>System</strong> Model<br />
<strong>System</strong>-<strong><strong>Modell</strong>ierung</strong><br />
erarbeiten der:<br />
• der <strong>System</strong>-UseCases<br />
• des konzeptionellen<br />
Analysemodells<br />
• des Architekturmodells<br />
• des Designmodells<br />
Setzt auf dem<br />
BusinessModel auf<br />
Martin Jud NDS-I SWE II / WBK 312 1<br />
<strong>System</strong> Model<br />
<strong>statisches</strong> & <strong>dynamisches</strong> <strong>Modell</strong><br />
• Die Beziehungen zwischen<br />
Klassen (Assoziation,<br />
Aggregation und Vererbung)<br />
bilden das statische <strong>Modell</strong>.<br />
• Die zeitlichen Abläufe und die<br />
Interaktion der Nutzer mit dem<br />
<strong>System</strong> bzw. der Objekte unter<br />
sich (Use Cases, Objektszenarien,<br />
Ablaufszenarien)<br />
bilden das dynamische <strong>Modell</strong>.<br />
Martin Jud NDS-I SWE II / WBK 312 2
<strong>System</strong> UseCases<br />
UseCases (<strong>System</strong> Model)<br />
– <strong>System</strong>anwendungsfälle sind die Leistungen die ein<br />
IT-<strong>System</strong> AnwenderInnen und Drittsystemen bietet.<br />
Definition UseCase<br />
Ein Anwendungsfall beschreibt eine Menge von Abläufen<br />
(inkl. Varianten) die ein <strong>System</strong> ausführen kann und die<br />
einen erkennbaren Nutzen für den jeweiligen Akteur<br />
bringen.<br />
Martin Jud NDS-I SWE II / WBK 312 3<br />
UseCases (<strong>System</strong> Model)<br />
Beziehungen zwischen UseCases<br />
<br />
Teile die in mehreren UseCases vorkommen, können in einen<br />
eigenen UseCase ausgelagert und mit wieder<br />
eingebunden werden.<br />
<br />
erlaubt einen UseCase an einem festgelegten ExtensionPoint mit<br />
einem andern UseCase zu erweitern wenn eine bestimmte Bedingung<br />
erfüllt ist.<br />
Generalisierung / Spezialisierung<br />
Mittels Vererbung lässt sich das UseCase <strong>Modell</strong> hierarchisch<br />
strukturieren, dabei werden Abläufe und Akteur-Beziehungen vererbt.<br />
Tipp: Make only little use of relations between use cases.<br />
Martin Jud NDS-I SWE II / WBK 312 4<br />
Adapted from SWEED, Martin Kropp
UseCases (<strong>System</strong> Model)<br />
<br />
Course Registration<br />
Customer<br />
<br />
Browse Course<br />
Catalog<br />
<br />
Register for<br />
Course<br />
Request for<br />
Information<br />
<br />
Enter<br />
Personal Data<br />
<br />
Billing<br />
Send<br />
Comment<br />
Martin Jud NDS-I SWE II / WBK 312 5<br />
© 2001 by SWEED, Martin Kropp<br />
UseCases (<strong>System</strong> Model)<br />
Vererbung und <br />
Base Use Case<br />
Specialized<br />
Use Case<br />
Spezialisierung / Generalisierung<br />
Extending<br />
Use Case<br />
<br />
Base<br />
Use Case<br />
extensionPoint1<br />
extensionPoint2<br />
Extension<br />
Martin Jud NDS-I SWE II / WBK 312 6<br />
© 2001 by SWEED, Martin Kropp
UseCases (<strong>System</strong> Model)<br />
Oesterreich: Sekundäre Anwendungsfälle<br />
Das primäre Anwendungsfallmodell wird in Entwurfsphase und in<br />
Konstruktionsphase um sekundäre Anwendungsfälle ergänzt.<br />
– Durch Umstrukturierung und Herausfaktorisierung von<br />
Gemeinsamkeiten sowie durch Generalisierung entstehen neue<br />
(sekundäre, d.h. abgeleitete) Anwendungsfälle. Diese werden mit<br />
Include-, Extend- und Vererbungsbeziehungen in das vorhandene<br />
<strong>Modell</strong> eingefügt.<br />
– Dabei vorrangig keine neuen Anforderungen aufgenommen,<br />
sondern die vorhandene Problem- und Anforderungsbeschreibung<br />
umstrukturiert.<br />
– Ziel ist es, die Problemdarstellung überschaubarer und<br />
redundanzfrei zu machen.<br />
Martin Jud NDS-I SWE II / WBK 312 7<br />
© 1999 by oose.de GmbH, Hamburg<br />
Analysemodell<br />
RUP Stereotypen für Analyse-<strong>Modell</strong>e<br />
Boundary-Klassen: Klassen für die Präsentation und<br />
Manipulation. Jeder Akteur eines UseCases benötigt ein<br />
eigenes Boundary-Objekt.<br />
z.B.: Window, Dialog-Box, Komm.-kanal<br />
Control-Klassen: Verbinden Boundary-Klassen mit Entity-<br />
Klassen. Behandeln das Verarbeiten der Entity Klassen. In<br />
einem ersten Schritt kann gesagt werden: Für jeden Use-Case<br />
eine Control-Klasse.<br />
Entity-Klassen: <strong>Modell</strong>ieren Information, die meist auch<br />
gespeichert werden muss. Business-Objekte.<br />
Martin Jud NDS-I SWE II / WBK 312 8<br />
Aus der Vorlesung SW-Architektur von Jörg Hofstetter HTA Luzern
Analysemodell<br />
Geldautomat: UseCaseDiagramm<br />
abheben<br />
Kunde<br />
einzahlen<br />
Kontentransfer<br />
Martin Jud NDS-I SWE II / WBK 312 9<br />
Analysemodell<br />
Entwurf der Analyse-Klassen – 1 Control<br />
Bargeld abheben<br />
Abhebung<br />
Bargeld einzahlen<br />
Einzahlung<br />
Kontentransfer<br />
Transfer<br />
Martin Jud NDS-I SWE II / WBK 312 10
Analysemodell<br />
Entwurf der Analyse-Klassen – 2 Entity<br />
Bargeld abheben<br />
Abhebung<br />
Bargeld einzahlen<br />
Einzahlung<br />
Konto<br />
Kontentransfer<br />
Transfer<br />
Martin Jud NDS-I SWE II / WBK 312 11<br />
Analysemodell<br />
Entwurf der Analyse-Klassen – 3 Boundary<br />
Bargeld abheben<br />
Geldausgabe<br />
Abhebung<br />
User<br />
Interface<br />
Bargeld einzahlen<br />
Geldannahme<br />
Einzahlung<br />
Konto<br />
Kontentransfer<br />
Transfer<br />
Martin Jud NDS-I SWE II / WBK 312 12
Analysemodell<br />
Geldautomat: Analysemodell<br />
Geldausgabe<br />
Abhebung<br />
1<br />
2<br />
Bank<br />
Kunde<br />
User Interface<br />
Transfer<br />
1<br />
Konto<br />
Geldannahme<br />
Einzahlung<br />
Konzeptionelles <strong>Modell</strong>.<br />
Domain-Begriffe und deren Beziehungen.<br />
Martin Jud NDS-I SWE II / WBK 312 13<br />
Übung<br />
UseCases (<strong>System</strong> Model)<br />
1. erarbeiten Sie die <strong>System</strong>-UseCases<br />
für die Bibliotheksverwaltung<br />
und verfeinern Sie diese mit den - /<br />
- und Vererbungs-Beziehungen<br />
– <strong>System</strong> UseCases<br />
siehe Folien 3 . . 7 und Buch Kap. 2.1.9, S. 35<br />
Beziehungen: Buch Kap. 2.1.4, S. 23<br />
2. erarbeiten Sie das konzeptionelle Analysemodell<br />
für die Bibliotheksverwaltung<br />
– siehe Folien 8 . . 13<br />
Martin Jud NDS-I SWE II / WBK 312 14
Staying Agile<br />
Focus on keeping it<br />
as simple as possible.<br />
– Create diagrams<br />
on a whiteboard<br />
– Content is more<br />
important than<br />
representation<br />
– It’s also perfectly<br />
okay that the<br />
diagram isn’t<br />
complete – we can<br />
always modify<br />
as we need to.<br />
Martin Jud NDS-I SWE II / WBK 312 15<br />
© 2004 by Scott W. Ambler UML 2 Use Case Diagram Overview