Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

UML Sequenzdiagramm

Maik Aicher25:03 40.695 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 145 Zeilen
Herunterladen
  1. [Musik] ich kann es euch zu einem weiteren video der berufsschule 7 diesmal soll es um speziellen jetzt um
  2. die sequenz diagramm gehen zielgruppe ist die elfte klasse fachinformatiker aber auch durchaus zwölfte klasse die sich das ganze noch
  3. mal anschauen wollen vor vonns die eigenschaften ansehen überlegen wir erst mal wofür wir einen sequenz diagramm brauchen und zwar ein
  4. sequenz diagramm modelliert den zeitlichen ablauf von nachrichten flüssen zwischen objekten oder eigentlich kommunikations teilnehmern
  5. und auf diesem grund oder auf dieser basis definieren sich auch die wichtigsten eigenschaften zum einen ist es ablauf orientiert das heißt wir
  6. können den ablauf die sequenzen der nachrichten nachverfolgen dann ist wie ich schon gesagt hat der fokus auf den nachrichtenaustausch das
  7. heißt darum soll es wirklich gehen es gibt eine zeitachse die läuft von oben nach unten die ist fest definiert beim sequenz diagramm und wir wollen
  8. hier auch die nutzeraktivitäten modellieren das heißt wann kann der nutzer irgendeine aktion ausführen und deswegen geht es auch so ein bisschen
  9. hand in hand mit dem use case diagramm wo eben der nutzer eben eigentlich auch definieren oder sieht wasser machen kann was er machen möchte und das sequenz
  10. diagramm würde das noch etwas mehr detaillieren kommen wir zu den innovations- elementen das wichtigste notation element vom
  11. sequenz diagramm ist die lebenslinien zwar wenn die jetzt beispielsweise eine person haben die in irgendeiner form interagiert dann gibt es hier so eine
  12. lebenslinie und diese lebenslinie existiert so lange der teilnehmer interagiert das heißt solange irgendwie mit diesem prozess was zu tun hat für
  13. personen also wie wir es jetzt hier gerade gezeichnet hat mit diesen typischen uml strichmännchen gilt wenn er nicht mehr an diesen gesamten
  14. kommunikationsprozess beteiligt ist dann endet diese lebenslinie und wir werden dann gleich sehen bei objekten dutzend andere möglichkeiten diese lebenslinie
  15. zu beenden dann gibt es den typ der lebenslinie das ist hier jetzt der user aber es ist oftmals auch wenn du jetzt nicht von
  16. usern oder personen sprechen ein klassen name und das während der instanz name oder in dem fall jetzt der name des der person
  17. es ist allerdings so dass man auch gerne mal den namen der person weglässt einfach weil das bringt üblicherweise keinen mehrwert und macht die ganze
  18. sache nur ja voller die zeitachse habe ich ja schon erwähnt geht immer von oben nach unten sie wird aber nicht gezeichnet das heißt jeder der ein
  19. sequenz diagramm sieht weiß die zeit läuft einfach von oben nach unten kommen wir nun zu einem anderen typ von lebenslinie und das wird jetzt so
  20. aussehen dass wir jetzt ein ein teilnehmer des systems wie man so schön sagt im wesentlichen ist es jetzt irgendein technisches gerät oder für uns
  21. eben im regelfall ein objekt und dieses objekt hatten nahmen das wäre dann hier die bestellung und was für eine klasse ist es dass die mail das heißt es wäre
  22. jetzt eine bestellen melden und das sind so die beiden wesentlichen typen wie ihr sie oftmals eben in sequenz diagramm sehen links eben die
  23. person rechts ein objekt das eben auch interagiert jetzt kommt noch ein wichtiger punkt und zwar so wie wir die beiden teilnehmer jetzt gezeichnet haben
  24. sind sie einfach nur da wenn sie aber aktiv was tun dann zeichnet man das durch so ein balken 1 das symbolisiert mir jetzt die aktive
  25. zeit des teilnehmers und während in dieser aktiven zeit dann kann er wirklich was tun ein mails erstellen und nachrichten
  26. senden empfangen usw das ist eben an der stelle wahrscheinlich der wichtigste oder das wichtigste elemente der lebenslinie wenn
  27. wir das obere aktive nennen das unseren natürlich auch einen namen und dann hat man das einfach passive zeit des teilnehmers genannt also liegt
  28. eigentlich auf der hand jetzt können wir auch notieren dass der user so eine mail erstellt und in der
  29. objektorientierung wäre das ja einen aufruf des konstrukteurs- und in ml ist es eine 1 erzeugungs nachricht dass mit diesem pfeil erzeugen wir ein objekt der
  30. klasse mail ja und das netz bestellung weil wir wissen dass soll die bestell mail sein und dann kann eben der user im rahmen
  31. seiner aktiven zeit auch interagieren mit diesen mit dieser mail und kann jetzt nachrichten oder aufrufe an dieses objekt schicken nachrichten wenn man
  32. gleich noch mal etwas genauer uns anschauen und jetzt ist es auch so wenn der user die mails losschickt dann verschwindet
  33. sie ja aus seinem interaktions bereich und dann würden wir eben diese mail terminieren und dazu hat die der sequenz diagramm eigenes symbol dass das hier
  34. dieses stopp symbol und dadurch wird jetzt auch diese diese senden nachrichte destruktion nachricht da das wiederum nach noch mal wenn wir über die
  35. nachrichten sprechen aber so viel sei schon mal gesagt hiermit können wir dieses ding dann eben auch stoppen
  36. gut jetzt schauen wir uns nochmal was interessantes an und zwar hab ich jetzt hier ein mailprogramm also ein etwas aufwendigeres konstrukt also das muss
  37. nicht immer eine einzelne klasse sein sondern es kann auch etwas aufwendiger sein und wenn ich jetzt in dieses programm
  38. rein gucken möchte und die inneren kommunikation auch darstellen möchte dann kann ich eine die komposition vornehmen das heißt ich kann jetzt hier
  39. gehen wir mal davon aus das ist ein nach dem mvz angeschrieben dieses mail programm kann ich jetzt beispielsweise diese drei elemente eben auch
  40. detailliert darstellen so und dann kann ich hier intern auch irgendwelche nachrichten hin und herschieben und kann dann sozusagen den internen
  41. datentransfer die nachrichtenaustausch den intern auch modellieren und gerade das ist für manche situationen hilfreich die die komposition sieht man es nicht
  42. allzu häufig aber wie gesagt es ist es ist machbar also es ist erlaubt so diese internen kommunikation kann man auch etwas komprimierter darstellen wenn
  43. ich jetzt nicht zeigen möchte wie mein element mein teilnehmer intern aufgebaut ist und dazu kann man ihn sozusagen interne nachrichten auf einer ebene
  44. darstellen das würde dann so aussehen das wäre zu sagen eine nachricht an sich selbst hier
  45. kann man rückmeldungen machen muss man nicht zwingend durchführen man sieht relativ häufig dass diese get data data gestrichelte rückmeldung fall nicht da
  46. ist weil wir sowieso innerhalb dieser dieses programms oder dieses teilnehmer sind aber wie gesagt so würde jetzt eine nachricht an sich selbst aussehen das
  47. wäre wenn ich sozusagen intern in meinem programm einen unter programm aufrufen würde und da in entsprechend eine nachricht schicken würde
  48. so die nächste notation elemente die uns anschauen sind die nachrichten ich habe jetzt mal zwei teilnehmer hingeschrieben also eine applikation und
  49. eine datenbank also zwei technische teilnehmer keine news mehr und die wollen jetzt in irgendeiner form miteinander kommunizieren beginnen wir
  50. mal mit einer einfachen nachricht und zwar ein insert statement das jetzt bei der datenbank aus geführt werden soll und das ist jetzt hier als sogenannte
  51. asynchrone nachricht modelliert und das bedeutet dass die applikation wenn diese nachricht geschickt wird nicht auf irgendein feedback wartet das heißt die
  52. applikation kann jetzt sofort mit einem neuen statement oder irgendeiner anderen aktivität weitermachen das heißt in der konsequenz dass die
  53. datenbank keine antwort schickt also kein keine bestätigung oder sonst irgendwas das jetzt dem der applikation indiziert dass jetzt diese diese dieser
  54. internet funktioniert hat diese nachrichten sind in der realen welt entweder irgendwelche funktions aufrufe oder methoden aufrufe und was auch
  55. möglich ist so genannte signale das heißt wenn irgendwo ein signal passiert und dass irgendein anderen teilnehmer geschickt wird dann wäre das in aller
  56. regel auch eine asynchrone nachricht gut wenn es synchrone nachrichten gibt gibt es offensichtlich auch synchrone nachrichten dass wir jetzt hier
  57. beispielsweise select statement select soldaten auf einer datenbank rausholen und dann würde ich auch gerne wissen welche daten die datenbank ausgespuckt
  58. hat also warte ich hier auf eine nachricht und die antwort nachricht wird dann eben mit so einer gestrichelten linie modelliert und und damit haben wir
  59. eben den der den informationsaustausch einmal zur datenbank wieder zurück fertig wenn man sich jetzt die asynchronen nachricht des inns
  60. statements und die synchrone nachricht des select seitens ansieht fällt uns auf dass bei dem einen ein offener pfeil ist beim in statement und beim select
  61. statement ein geschlossener pfeil und zwar ausgemalt und uml ist es ja grundsätzlich so dass die die formen von pfeilen symbolen et cetera immer sehr
  62. klar definiert sind und das bedeutet auch wenn wir das per hand zeichnen dass wir uns eben daran diese vorgaben auch halten müssen also asynchronen
  63. nachrichten haben eine offene fall spitze synchrone nachrichten eine ausgefüllte geschlossene pfeilspitze so bei einer synchronen nachricht ist es so
  64. dass der anrufer tatsächlich wartet bis er irgendwas neues machen kann und bekommt in aller regel eine antwort man modelliert manchmal auch ohne aber
  65. eigentlich sollte man immer eine antwort wirklich ein malen modellieren und diese antwort pfeil ist eine gestrichelte linie mit einem offenen pfeil sowie was
  66. hier gerade sehen was sind das für situation synchrone nachrichten sind eigentlich immer funktions aufrufe keine signale signale sind in aller regel als
  67. synchron und synchron sind dann die funktions aufrufe aber es gibt auch asynchrone funktions aufrufen
  68. jetzt schauen wir uns nochmal diese nachrichten etwas genauer an wir haben ziehe eine nachricht ohne einen parameter
  69. das heißt wir informieren denn lesen denn des ml diagramms einfach darüber es soll irgendein select passieren und die antwort nachricht sieht in aller
  70. regel so aus dass dieses dieser begriff select an der stelle so der name der anfrage dass das der ersten nachricht in der replay oder return nachrichten sich
  71. wiederfindet so dass wir wissen h von dem select ist das eben das ergebnis dann steht nach dem doppelpunkt der rückgabe wert da werden uns nachher
  72. nochmal ein paar alternativen anschauen aber das wäre jetzt die information dass die das leck statement hat jetzt hier irgendwelche daten zurück liefern
  73. und wie ich vorhin schon gesagt habe bei signalen finden wir so was in aller regel nicht hier habe ich jetzt mal eine nachricht
  74. mit einem parameter modelliert dass jetzt diese 123 in diesen runden klammern und diese nachricht dieser parameter kann entweder als die
  75. dezidierte wert oder als variable formuliert werden und in der antwort nachricht habe ich jetzt hier entsprechend dann den antwort wert aber
  76. auch das kann ein wert oder eine variable sein so ja das ist doch schon mal nicht schlecht da kann man schon einigermaßen was modellieren
  77. jetzt kann es aber auch so machen dass ich eine variable eine zuweisung oder einer variablen eine zuweisung meinem eines methoden aufrufs mache und dann
  78. würde ich hier stehen name ist gleich ein ganzer username 123 da gibt es noch ein paar andere möglichkeiten aber das was ich jetzt gerade gezeigt habe das
  79. sind so die eigentlich die sinnvollsten dann gibt's noch ein paar spezielle nachrichten
  80. zum einen sei da erwähnt die sogenannte gefundene nachricht also eine gefundene nachricht ist etwas wo der absender unbekannt ist das hat erst mal außerhalb
  81. unseres betrachtung des rahmens die kommt hat irgendwo her und das ist so sagen würde mir jetzt keinen mehrwert liefern diesen die den ursprung dieser
  82. temperaturänderung in dem fall jetzt in irgendeiner form zu modellieren und das wäre dann wie gesagt eine gefundene nachrichtenportal dazu wird die
  83. verlorene nachricht das heißt wenn ich irgendeine nachricht raus schicke und es ist mir jetzt für diesem für dieses modellierungs diagramm jetzt erst mal
  84. egal wer was damit macht dann würde ich das als eine sogenannte verlorene nachrichten modellieren und als indikator dafür haben wir hier eben
  85. diesen punkt der eben hier sein schwarzes loch fungiert die idee hinter einem einer verlorenen nachricht ist eben dass ich keinerlei relevante
  86. informationen in meinem himmel diagramm hinterlegen möchte oder kann die für die verarbeitung dieses signals irgendwie wichtig ist und deswegen ist es eine
  87. verlorene nachricht die aber durchaus gesendet wird also modelliert sie dann gibt es noch eine spezielle nachricht über die haben wir schon ein
  88. bisschen gesprochen und zwar die erzeugungs nachricht das ist eine nachricht die ein objekt oder ein teilnehmer in irgendeiner form erzeugt
  89. im programmieren werde es ein konstrukt der aufruf und das wird eben mit so einem fall dargestellt dann aber auch schon darüber gesprochen dass wir wenn
  90. wir jetzt fertig sind mit unserer interaktion mit der mail eine destruktion nachricht durchführen oder oder senden und die wird dadurch auch
  91. impliziert dass am ende dieses diese destruktion nachricht hier auch dieses stopp symbol auftaucht und dadurch getrieben dass die destruktion nachricht
  92. ein weiteres element ist der sogenannte interaktions rahmen der soll diese ganze kommunikation kapseln und ja fast im ganzen auch einen namen das heißt alles
  93. was in diesem rahmen abläuft ist eben für genau diese interaktion wichtig in dem fall user laden ass de steht für sequenz diagramm und damit infizieren
  94. wir eben auch dass es sich um eine sequenz diagramm handelt das wird so von uml vorgegeben und dann macht er das auch so
  95. beim interaktions rahmen oder gerkan wir auch parameter übergeben das heißt es im aufruf dieses interaktions rahmens in dem fall wer ist
  96. jetzt die id des users das dass wir dann beispielsweise für die select benötigen und es taucht dann hier unten wieder auf es gibt noch mehrere möglichkeiten mit
  97. variablen und ähnlichen innerhalb von einem mail sequenz diagramm zu arbeiten aber das wird jetzt an der stelle glaube ich doch zu weit führen und ich glaube
  98. mit diesem mit dieser mutation kann man die allermeisten dinge schon erschlagen dann gibt es noch den rückgabe wert der würde hier oben mit doppelpunkt und den
  99. datentyp formuliert werden und das würde man dann so realisieren dass wir hier unten so ein objekt erzeugt nennt das genauso wie den interaktions rahmen und
  100. ausgabewert an den string das wäre dann so etwas wie ich sozusagen mit dem eingabe parameter daten rein kriege um rückgabe wert oder rückgabe
  101. parameter nennt müsse auch wieder rausbekommen jetzt haben noch ein paar spezial symbole die nennt man auch kombinierte
  102. fragmente oder nur fragmente und ich fange mal mit der alternative an dazu schauen wir uns mal folgendes an ich habe wieder ein user und ein server
  103. und der möchte jetzt hier irgendein login machen mit weiteren passwort der server checkers und liefert jetzt die op zurück
  104. aber das soll ja nur dann durchgeführt werden wenn die log in informationen korrekt sind das heißt was mache ich wenn er jetzt
  105. beispielsweise was falsches rein schickt das heißt hier brauche ich irgendeine art verzweigung eben in sequenz diagramm sprich alternative und das ganze sieht
  106. dann so aus ich habe jetzt hier den positiven 2 das heißt wenn passwort okay in diesen eckigen klammern
  107. dann wird eben login passwort ok zurückgegeben und im elz zweig dann was sich die neue beispielsweise diese dieses passwort ok diesen ecken klammer
  108. nennt man das und die müssen im falle der alternative des jungs sein dh ich darf hier keine überschneidungen haben und deswegen macht man meistens am
  109. schluss einfach elsen und das ist sagen alles andere her also wenn quasi keines der vorigen bedingungen gilt und ich habe schon erwähnt das heißt es
  110. gibt eben quasi auch die möglichkeit mehrfach verzweigungen zu realisieren das sehen wir jetzt hier ich habe jetzt hier passwort okay dann wird eben ok
  111. zurückgeliefert wenn es nicht okay ist und der fehler zähler kleiner drei dann werden einfach nur die neue zurückgeschickt und wenn es eben nicht
  112. kleiner 13 größer gleich drei das wäre 12 dann würde irgendein passen der user gelockt werden was auch immer und das wäre jetzt inflation führen drei zweige
  113. so das stück das wir jetzt die option und bei auktionen ist es so dass ich nur prüfe ob etwas der fall ist und wenn nicht wird alles
  114. wird sozusagen dieser bereich innerhalb dieser option einfach übersprungen ich habe jetzt hier beispielsweise wenn das passwort nicht okay ist dann wird diese
  115. bereiche übersprung da merkt man gleich auf irgendwelche allgemein sind informationen und wenn es eben okay ist dann liefert mir mein mann mein server
  116. irgendwelche user präferenz ist fast immer so dass wir die option in der rotation für die struck programme wie hat es eine so genannte einseitige
  117. verzweigung so dann fehlt uns noch die schleife das sieht so aus dass ich hier das
  118. schlüsselwort luca oben drin habe und dann gibt es hier eine schleife bedingung für die wiederholung man interpretiert ist in aller regel als
  119. kopfgesteuert schleife und so halt dass die bei einem war heizwert die wiederholung durchgeführt wird hier steht eben entweder ein guter wert
  120. drin der eben die wiederholung darstellt es gibt aber auch eine andere möglichkeit wenn ich ein min oder bis max werthein trage dann wäre das eine
  121. zeitschleife also null zehn hätte ich nichts schleife von 0 bis 10 oder eine dritte option wäre an der stelle ein stern das würde dann einfach bedeuten
  122. die schleife million endlich laufen dann würde man noch abbruch bedingungen formulieren können aber das würde jetzt auch hier an der stelle zu weit führen
  123. das video wird ohnehin wahrscheinlich sehr lang es gibt noch weitere fragmente aber da würde ich einfach sagen wer wirklich da noch tiefer rein will
  124. in solche sachen wie kritische bereiche relevante relevante nachrichten usw sollte sich das dann eben anderweitig noch mal näher bringen ich glaube das
  125. was wir jetzt haben sind aus meiner sicht wirklich die wichtigsten elemente ja dann kommen wir schon zu einem beispiel wo wir das ganze mal anwenden
  126. und ich habe nicht alles drin aber doch einiges und deswegen habe ich jetzt einfach mal geld page täter genannt wir haben hier einen user der
  127. interagiert einen server und eine datenbanken beginnen wir damit dass der user jetzt irgendwie page informationen benötigt
  128. mit ergibt seine regieren und würde der server irgendwelche login-daten irgendwelche passworteingabe meldungen oder sowas zeigen und wir haben eine
  129. zwei phasen authentifizierung das heißt er schreibt jetzt irgendwie oder erzeugt jetzt erstmals ohne so eine mail wohin eine code erzeugt wird dann sagt er
  130. schickt email los der user kriegt jetzt die mail und holt sich dort eben diesen code raus und parallel dazu liefert jetzt der server die die information
  131. also die page täter geben dann braucht um eben den login und seinen code einzugeben
  132. so damit er das machen kann oder damit er sich auch mal vertippen kann habe ich jetzt hier einfach loop eingebaut das ist jetzt nicht besonders festgekettet
  133. also keinen abbruch und ohne alles aber egal das wesentliche kommt darüber der user gibt es ein login ein code id und passwort und der server verifiziert ist
  134. das der jackpot ob das alles so weit okay ist und solange es nicht okay sollte halt noch ein geben bis zum jüngsten tag und wenn das komplett
  135. verpasst muss halt einfach den kompletten prozess neu starten das ist jetzt hier nicht modelliert am schluss gibt dann der server wenn er eben über
  136. diesen coup hinaus ist diese user data usd/t soll ist für user data stehen das eben der user eben seinen persönlichen kram auf der seite sieht
  137. und entsprechend dann an der stelle weitermachen kann jetzt habe ich hier noch eine alternative eingebaut dh wenn der user
  138. kein atmen ist dann sagt einfach bitte gebt mir meine userdaten mit der id der server holt sich von der datenbank jetzt sehen diese userdaten die werden
  139. zurückgeschickt und dann an den user weitergeleitet um 11 2 also wenn es ein admin ist dann sagte schick mir alle daten erhalten weil sie eine andere
  140. funktionalität wird dann aufgerufen diese funktionalität holt sich dann von der datenbank eben entsprechend auch alle daten die gehen zurück und werden
  141. dann eben an den user zurückgeliefert und er sitzt dann okay ja damit einmal die wesentlichen elemente des sequenz diagramm sitz uns
  142. angeguckt und hoffentlich verstanden ich glaube das ist auch wirklich das wichtigste es gibt noch mehr das ist richtig aber da kann man sich dann auch
  143. entsprechend online dann noch mal schlau machen dann wirklich noch mehr in die tiefe gehen will aber das was wir jetzt hier heute
  144. irgendwie sehen haben das sind aus meiner sicht wirklich die wesentlichen elemente und ich glaube damit komme auf jeden fall ganz gut über die runden
  145. das war s dann von meiner seite ich bedanke mich für die aufmerksamkeit und ihr habt es zum nächsten video

Zum Nachlesen