Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
Sequenzdiagramme
Hendrik Iben([email protected])
Universität Bremen - TZI
Wintersemester 2008/09
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
Gliederung
1 Motivation
2 ToolsEinleitungUMLGraphBeispieleplotutils pic2plot
3 Anwendungsfälle für das Software-Projekt 2008/2009
4 Komplexes Beispiel
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
Gliederung
1 Motivation
2 ToolsEinleitungUMLGraphBeispieleplotutils pic2plot
3 Anwendungsfälle für das Software-Projekt 2008/2009
4 Komplexes Beispiel
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
Warum Sequenzdiagramme ?
Überprüfung der ArchitekturBenötigte KomponentenBenötigte InstanzenDatenaustausch
Zusammenspiel der KomponentenAllgemeine AbhängigkeitenReihenfolge der AufrufeSynchronität und Asynchronität
Abgleich mit AnwendungsfällenAbdeckung der Anwendungsfälle durch KomponentenErfüllbarkeit der Vorbedingungen,. . .. . . sowie der Nachbedingungen
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Gliederung
1 Motivation
2 ToolsEinleitungUMLGraphBeispieleplotutils pic2plot
3 Anwendungsfälle für das Software-Projekt 2008/2009
4 Komplexes Beispiel
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
The Right Tool for the Right Job
Viele Tools vorhanden...Microsoft Visio UMLArgoUMLUmbrelloOpenOffice Draw...
Beispiele mit pic2plot und UMLGraphpic2plot: http://www.gnu.org/software/plotutilsUMLGraph: http://www.umlgraph.orgTextuelle Definition des Sequenzdiagram (kein WYSIWYG)Rendern als Plot in Vielzahl von Ausgabeformaten
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Workflow
1. Erstellen des Sequenzdiagramms (UMLGraph)
Programmierung in der pic-SpracheDefinition der Akteure und ObjekteSequenz von NachrichtenFinalisieren
2. Erzeugen des Plots (pic2plot)
Rendern der pic-Kommandos in eine GrafikGrafik konvertieren und betrachtenFestellen, ob alles in Ordnung ist, sonst zurück zu 1. . .
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Sequenzdiagramme mit pic
UMLGraph stellt eine Datei mit pic-MakrosKeine eigenständige AnwendungMakros erzeugen Akteure, Objekte und Nachrichten(Optionale) Parameter verändern das ErscheinungsbildSequenz von Nachrichten-Makros erzeugtSequenzdiagramKeine explizite grafische Anordnung
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Einstieg - hello.pic1 #/ usr / b in / p i c 2 p l o t −Tps
.PS3 copy " sequence . p i c " ;
# Def ine the ob jec ts5 ob jec t (C , " : C l i e n t " ) ;
ob jec t (S , " : Server " ) ;7 step ( ) ;
# Message sequences9 a c t i v e (C ) ;
message (C,S , " h e l l o ( ) " ) ;11 a c t i v e (S ) ;
rmessage (S,C, " wor ld " ) ;13 i n a c t i v e (S ) ;
i n a c t i v e (C ) ;15 step ( ) ;
# Complete remaining17 complete (C ) ;
complete (S ) ;19 .PE
Abbildung: Ergebnis
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Einstieg - hello.pic - Erläuterung1 #/ usr / b in / p i c 2 p l o t −Tps
.PS3 copy " sequence . p i c " ;
# Def ine the ob jec ts5 ob jec t (C , " : C l i e n t " ) ;
ob jec t (S , " : Server " ) ;7 step ( ) ;
# Message sequences9 a c t i v e (C ) ;
message (C,S , " h e l l o ( ) " ) ;11 a c t i v e (S ) ;
rmessage (S,C, " wor ld " ) ;13 i n a c t i v e (S ) ;
i n a c t i v e (C ) ;15 step ( ) ;
# Complete remaining17 complete (C ) ;
complete (S ) ;19 .PE
1-3: Dateikopf, Laden derUMLGraph-Makros5,6: Definition zweierObjektinstanzen9: Client wird aktiviert10: Client schickt Nachrichtan Server11,12: Server wird aktiviertund antwortet13,14: Server und Clientwerden deaktiviert15-19: Platz erzeugen undDiagramm abschliessen
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Asynchrone Nachrichten - async.pic
8 # Message sequencesasync ( ) ;
10 a c t i v e (S ) ;message (S,C, " n o t i f i c a t i o n ( ) " ) ;
12 a c t i v e (C ) ;step ( ) ;
14 i n a c t i v e (S ) ;i n a c t i v e (C ) ;
16 sync ( ) ;async() schaltet inasynchronen Modussync() schaltet zurück
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Erzeugen und Löschen - create.pic
pob jec t (SES ) ;7 ob jec t (S , " : Server " ) ;
step ( ) ;9 # Message sequences
a c t i v e (C ) ;11 cmessage (C,SES , " : Session ( ) " ) ;
message (C,SES, " i n i t i a l i z e ( ) " ) ;13 a c t i v e (SES ) ;
message (SES,S , " i n i t ( ) " ) ;15 a c t i v e (S ) ;
rmessage (S,SES ) ;17 i n a c t i v e (S ) ;
rmessage (SES,C) ;19 dmessage (C,SES ) ;
i n a c t i v e (C ) ;
pobject() (6) erzeugtPlatzhaltercmessage() (11) erzeugtObjekt
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Kommentare - comment.pic
cmessage (C,SES , " : Session ( ) " ) ;12 step ( ) ;
step ( ) ;14 comment (C, , , wid 2 " C l i e n t i n i t i a l i s i e r t d ie Session " ) ;
message (C,SES, " i n i t i a l i z e ( ) " ) ;16 a c t i v e (SES ) ;
message (SES,S , " i n i t ( ) " ) ;18 a c t i v e (S ) ;
rmessage (S,SES ) ;20 i n a c t i v e (S ) ;
comment (S , , , " F e r t i g ! " ) ;22 rmessage (SES,C) ;
Ohne step() (12,13) aufgleicher Höhe (21)wid (und ht) definierenGröße (14)
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Viele weitere Möglichkeiten
Bedingungen für Lebenslinie und ObjekteRahmen um Diagramm-TeileZuordnen eines Kommentars zu mehreren Objekten→ siehe UMLGraph-Webseite
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Anwendung
UMLGraph ist keine Anwendung; erzeugt keine GrafikenKonvertierung von pic-Programmen zu Grafiken durchpic2plotAusgabe als Bitmap- oder Vektorgrafik möglichKommandozeilen-Tool, schreibt Ausgabedaten in dieStandardausgabe
Beispiel - Konvertierung nach PostScriptpic2plot -T ps hello.pic > hello.ps
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
EinleitungUMLGraphBeispieleplotutils pic2plot
Bitmap-Grafiken und PDF
Ausgabe nach Bitmap ist oft unschönKeine direkte PDF-ErzeugungBesser: Vektor-Ausgabe durch weiteres Tool umwandeln
Beispiel - Konvertierung nach PNG mit ImageMagickpic2plot -T ps hello.pic > hello.psconvert -density 300 hello.ps hello.png
Beispiel - Konvertierung nach PDF mit TransFigpic2plot -T fig hello.pic > hello.figfig2dev -L pdf hello.fig hello.pdf
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
Gliederung
1 Motivation
2 ToolsEinleitungUMLGraphBeispieleplotutils pic2plot
3 Anwendungsfälle für das Software-Projekt 2008/2009
4 Komplexes Beispiel
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
Drei Anwendungsfälle
Überprüfung der Architektur
Folgende Anwendungsfälle sollen verwendet werden, umSequenzdiagramme zu erstellen und denen alle modelliertenKomponenten vorkommen:
Einen Tagesordnungpunkt/Thema der Agenda hinzufügenDas Protokoll erstellen (alle Punkte zusammentragen undschön exportieren)Der Moderator sagt das komplette Meeting ab
In der Architektur im Kapitel 5.7 Example use einarbeiten.
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
Gliederung
1 Motivation
2 ToolsEinleitungUMLGraphBeispieleplotutils pic2plot
3 Anwendungsfälle für das Software-Projekt 2008/2009
4 Komplexes Beispiel
Hendrik Iben ([email protected]) Sequenzdiagramme
MotivationTools
Anwendungsfälle für das Software-Projekt 2008/2009Komplexes Beispiel
Beispielhafte Anwendungsfall-Darstellung
Client-Server-SystemBeispiel für Login-Prozess mit vielen Details
Hendrik Iben ([email protected]) Sequenzdiagramme
Anhang Referenzen
Referenzen I
I UMLGraph (sequence.pic)Declarative Drawing of UML Diagrams.http://www.umlgraph.org, Abruf 01.2009.
I plotutils (pic2plot)The plotutils Package.http://www.gnu.org/software/plotutils/, Abruf01.2009.
I Xfig/TransFig (fig2dev)Xfig Drawing Program for the X Windows System.http://www.xfig.org, Abruf 01.2009.
Hendrik Iben ([email protected]) Sequenzdiagramme
Anhang Referenzen
Referenzen II
I ImageMagick (convert)ImageMagick: Convert, Edit, and Compose Images.http://www.imagemagick.org, Abruf 01.2009.
Hendrik Iben ([email protected]) Sequenzdiagramme