22
Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben ([email protected]) Universität Bremen - TZI Wintersemester 2008/09 Hendrik Iben ([email protected]) Sequenzdiagramme

Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben ([email protected]) Universität

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 2: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 3: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 4: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 5: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 6: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 7: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 8: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 9: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 10: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 11: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 12: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 13: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 14: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 15: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 16: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 17: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 18: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 19: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 20: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 21: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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

Page 22: Sequenzdiagramme - uni-bremen.de€¦ · Motivation Tools Anwendungsfälle für das Software-Projekt 2008/2009 Komplexes Beispiel Sequenzdiagramme Hendrik Iben (hiben@tzi.de) Universität

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