Sequentiediagram Tutorial: complete gids met voorbeelden

Deze sequentiediagram tutorial is om je te helpen sequentiediagrammen beter te begrijpen; om alles uit te leggen wat je moet weten, van hoe je een sequentiediagram moet tekenen tot de veelvoorkomende fouten die je moet vermijden bij het tekenen van een sequentiediagram.

Er zijn 3 soorten Interactiediagrammen; Sequentiediagrammen, communicatiediagrammen en timingdiagrammen. Deze diagrammen de interacties tussen onderdelen binnen een systeem illustreren. Van de drie hebben zowel de ontwikkelaars als de lezers de voorkeur voor sequentiediagrammen vanwege hun eenvoud.

In deze sequentiediagram tutorial leer je over;

Wat is een sequentiediagram?

Sequentiediagrammen, vaak gebruikt door ontwikkelaars, modelleren de interacties tussen objecten in een enkelvoudig usecase. Ze illustreren hoe de verschillende onderdelen van een systeem op elkaar interactie met elkaar om een ​​functie uit te voeren, en de volgorde waarin de interacties plaatsvinden wanneer een bepaalde use case wordt uitgevoerd.

In eenvoudiger woorden, een sequentiediagram laat zien dat verschillende onderdelen van een systeem in een ‘volgorde’ werken om iets gedaan te krijgen.

Sequentiediagram Notaties

Een sequentiediagram is zo gestructureerd dat het een tijdlijn voorstelt die bovenaan begint en geleidelijk afdaalt om de volgorde van de interacties te markeren. Elk object heeft een kolom en de berichten die tussen hen worden uitgewisseld worden weergegeven door pijlen.

Een snel overzicht van de verschillende onderdelen van een sequentiediagram

Levenslijnnotatie

Sequence diagram - LifelineEenEen sequentiediagram bestaat uit een aantal van deze levenslijnnotaties die horizontaal over de bovenkant van het diagram moeten worden gerangschikt. Geen twee levenslijnnotaties zou moeten overlappen elkaar. Ze vertegenwoordigen de verschillende objecten of onderdelen die met elkaar in interactie zijn in het systeem tijdens de sequentie.

Een levenslijnnotatie met een actorelement-symbool wordt gebruikt wanneer het betreffende specifieke sequentiediagram eigendom is van een use-case.
reddingslijn met een actor-element-symbool Een reddingslijn met een entiteit-element staat voor systeemgegevens. In een klantenservicetoepassing zou de klantentiteit bijvoorbeeld alle gegevens met betrekking tot een klant beheren. Entity LifelineEen levenslijn met een begrenzingselement geeft een grens/software-element in een systeem aan; bijvoorbeeld gebruikersinterfaceschermen, databasegateways of menu’s waar gebruikers mee interageren, zijn begrenzingen.

Boundary Lifeline En een levenslijn met een besturingselement geeft een controlerende entiteit of manager aan. Het organiseert en plant de interacties tussen de grenzen en entiteiten en fungeert als de bemiddelaar tussen hen. Control Lifeline Activatiebalken

Activatiebalk is het vakje dat op de levenslijn is geplaatst. Het wordt gebruikt om aan te geven dat een object actief (of geïnstantieerd) is tijdens een interactie tussen twee objecten. De lengte van de rechthoek geeft aan hoe lang de objecten actief blijven.

In een sequentiediagram treedt een interactie op tussen twee objecten wanneer het ene object een bericht naar het andere stuurt. Het gebruik van de activeringsbalk op de levenslijnen van de Berichtoproeper (het object dat het bericht verzendt) en de Berichtontvanger (het object dat het bericht ontvangt) geeft aan dat beide actief zijn/zijn tijdens de uitwisseling van het bericht.

Bericht pijl

Een pijl van de Berichtoproeper naar de Ontvanger van het bericht specificeert een bericht in een sequentiediagram. Een bericht kan in elke richting stromen; van links naar rechts, van rechts naar links of terug naar de Berichtoproeper zelf. Terwijl u het bericht dat van het ene naar het andere object wordt verzonden op de pijl kunt beschrijven, kunt u met verschillende pijlpunten het type bericht aangeven dat wordt verzonden of ontvangen.

De berichtpijl komt met een beschrijving, die bekend staat als een berichtsignatuur, erop. Het formaat voor de ondertekening van dit bericht is hieronder weergegeven. Alle onderdelen behalve de bericht_naam zijn optioneel.

attribuut = bericht_naam (argumenten): retour_type

  • Synchroon bericht

Zoals in het voorbeeld van de activeringsbalken wordt een synchroon bericht gebruikt wanneer de verzender wacht tot de ontvanger het bericht verwerkt en terugkeert alvorens verder te gaan met een ander bericht. De pijlpunt die wordt gebruikt om dit type bericht aan te geven is een solide bericht, zoals het bericht hieronder. Synchrone berichtenpijl

  • Asynchroon bericht

Een asynchroon bericht wordt gebruikt wanneer de beller niet wacht tot de ontvanger het bericht verwerkt en terugkeert voordat hij andere berichten naar andere objecten binnen het systeem stuurt. De pijlpunt die wordt gebruikt om dit type bericht te tonen is een lijnpijl zoals in het onderstaande voorbeeld.

Asynchroon bericht voorbeeld

  • Retourbericht

Een retourbericht wordt gebruikt om aan te geven dat de ontvanger van het bericht klaar is met het verwerken van het bericht en de controle over het bericht terugbrengt naar de beller. Retourberichten zijn optionele notatiestukken, want een activeringsbalk die wordt geactiveerd door een synchroon bericht impliceert altijd een retourbericht.

Tip: U kunt voorkomen dat uw schema’s worden vertroebeld door het gebruik van retourberichten tot een minimum te beperken, aangezien de waarde van de retourberichten in de pijl van het oorspronkelijke bericht zelf kan worden gespecificeerd. Retourbericht Voorbeeld

  • Bericht voor het aanmaken van deelnemers

Objecten leven niet noodzakelijkerwijs voor de gehele duur van de opeenvolging van gebeurtenissen. Objecten of deelnemers kunnen worden aangemaakt op basis van het bericht dat wordt verzonden.

De dropped participant box notatie kan gebruikt worden wanneer u moet aantonen dat de betreffende deelnemer niet bestond totdat de create call werd verzonden. Als de aangemaakte deelnemer direct na de aanmaak iets doet, moet u een activeringsvakje direct onder het deelnemersvakje toevoegen. Voorbeeld van de aanmaak van een deelnemer

  • Bericht van deelnemersvernietiging

Ook kunnen deelnemers die niet meer nodig zijn, uit een sequentiediagram worden verwijderd. Dit gebeurt door een ‘X’ toe te voegen aan het einde van de levenslijn van de genoemde deelnemer.

Deelname Vernietigingsbericht

  • Reflexief bericht

Wanneer een object een bericht naar zichzelf stuurt, wordt het een reflexief bericht genoemd. Het wordt aangegeven met een berichtpijl die begint en eindigt bij dezelfde levenslijn als in het onderstaande voorbeeld.

Reflexibel bericht Commentaar

UML-diagrammen maken het over het algemeen mogelijk om commentaar te geven in alle UML-diagramtypen. Het commentaarobject is een rechthoek met een gevouwen hoek zoals hieronder weergegeven. Het commentaar kan met een dashedllijn aan het betreffende verwant object worden gekoppeld.

Commentaar object voorbeeld

Opmerking: Bekijk de beste praktijken van het sequentiediagram om meer te weten te komen over sequentiefragmenten.

Sequentiediagram beste praktijken

  • Beheer van complexe interacties met sequentie-fragmenten

Een sequentie-fragment wordt weergegeven als een kader dat een deel van de interacties tussen objecten (zoals in de voorbeelden hieronder) in een sequentie-diagram omkadert.

Het wordt gebruikt om complexe interacties zoals alternatieve stromen en lussen op een meer gestructureerde manier te laten zien. In de linkerbovenhoek van het fragment zit een operator. Dit – de fragmentbeheerder – geeft aan wat voor soort fragment het is.

Alternatieven

Het alternatieve combinatie-fragment wordt gebruikt wanneer een keuze moet worden gemaakt tussen twee of meer berichtreeksen. Het modelleert de “als dan” logica.

Het alternatieve fragment wordt weergegeven door een grote rechthoek of een kader; het wordt gespecificeerd door het vermelden van ‘alt’ in het naamsvakje van het kader (ook wel fragmentbeheerder genoemd).

Om twee of meer alternatieven te laten zien, wordt de grotere rechthoek vervolgens met behulp van een stippellijn verdeeld in zogenaamde interactie-operanden, zoals in het voorbeeld van het sequentiediagram hierboven. Elke opera is voorzien van een bewaker om te testen en deze is linksboven in de opera geplaatst.

Alternatief fragment voorbeeld - sequentiediagram tutorial

Opties

De optiecombinatie fragment wordt gebruikt om een sequentie aan te geven die alleen onder een bepaalde voorwaarde zal voorkomen, anders zal de sequentie niet voorkomen. Het model van de “als dan” verklaring.

Net als het alternatieve fragment wordt ook het optie-fragment weergegeven met een rechthoekig kader waarin ‘opt’ in het naamsvakje is geplaatst.

In tegenstelling tot het alternatieve fragment is een optie-fragment niet in twee of meer operanden verdeeld. Optie’s beschermer is geplaatst in de linkerbovenhoek.

(Zoek een voorbeeld van een sequentiediagram met een optie-fragment in de sectie Sequence Diagram Templates en Examples).

Lussen

Lusfragment wordt gebruikt om een repetitieve reeks weer te geven. Plaats de woorden ‘lus’ in het naamboos en de bewakingsconditie in de linkerbovenhoek van het frame

Naast de Booleaanse test kan de bewaker in een lusfragment nog twee andere speciale condities laten testen. Dit zijn minimale iteraties (geschreven als minint = [het getal] en maximale iteraties (geschreven als maxint = [het getal]).

Als het een minimum iteratiescherm is, moet de lus niet minder dan het vermelde aantal uitvoeren, en als het een maximum iteratiescherm is, mag de lus niet meer dan het vermelde aantal uitvoeren.

(Zoek een voorbeeld van een lusfragment in de onderstaande sequentiediagrammen en voorbeeldsectie).

Referentiefragment

U kunt het ref-fragment gebruiken om de grootte van grote sequentiediagrammen te beheren. Het stelt u in staat om een deel van het ene sequentiediagram te hergebruiken in een ander diagram, of met andere woorden, u kunt een deel van een diagram verwijzen naar een ander diagram met behulp van het ref-fragment.

Om het referentiefragment te specificeren, moet u ‘ref’ vermelden in het naamsvakje van het kader en de naam van het sequentiediagram dat binnen het kader wordt gerefereerd.

Referentiefragment voorbeeld

Voor meer sequentiële fragmenten zie Beyond the Basics of Sequence Diagrams: Deel 1, Deel 2 en Deel 3.

  • Teken kleinere sequentieschema’s die de essentie van de use case weergeven

In plaats van je sequentiediagram te vertroebelen met verschillende objecten en groepen berichten die de lezer in verwarring brengen, teken je een paar kleinere sequentiediagrammen die treffend uitleggen wat je systeem doet. Zorg ervoor dat het schema op één pagina past en dat er ook ruimte is voor een toelichting.

Ook in plaats van tientallen sequentiediagrammen te tekenen, zoek je uit wat er in de scenario’s gebruikelijk is en richt je je daar op. En als de code expressief is en op zichzelf kan staan, is het niet nodig om in de eerste plaats een sequentiediagram te tekenen.

Hoe teken je een sequentiediagram?

Een sequentiediagram geeft het scenario of de stroom van gebeurtenissen weer in een enkelvoudig gebruik. De berichtenstroom van het sequentiediagram is gebaseerd op het verhaal van de specifieke use case.

Vervolgens moet u, voordat u het sequentiediagram gaat tekenen of beslist welke interacties erin moeten worden opgenomen, het use-case-diagram tekenen en klaar zijn met een uitgebreide beschrijving van wat de specifieke use-case doet.

Hoe een sequentiediagram te tekenen Een sequentiediagram geeft het scenario of de stroom van gebeurtenissen weer in een enkelvoudig gebruik. De berichtenstroom van het sequentiediagram is gebaseerd op het verhaal van de specifieke use case. Voordat u het sequentiediagram gaat tekenen of beslist welke interacties er in het sequentiediagram moeten worden opgenomen, moet u een uitgebreide beschrijving maken van wat de specifieke use-case doet.

Uit het bovenstaande use-case-diagramvoorbeeld van ‘Maak een nieuw online bibliotheekaccount aan’  zullen we ons richten op de use-case met de naam ‘Maak een nieuw gebruikersaccount aan’ om ons sequentiediagramvoorbeeld te tekenen.

Voordat het sequentiediagram wordt getekend, is het noodzakelijk om de objecten of actoren te identificeren die betrokken zouden zijn bij het aanmaken van een nieuwe gebruikersaccount. Dit zou zijn;

  • Bibliothecaris
  • Online bibliotheekbeheersysteem
  • Gebruikersdatabank
  • E-mailsysteem

Zodra u de objecten identificeert, is het belangrijk om een gedetailleerde beschrijving te schrijven over wat de use case doet. Uit deze beschrijving kunt u eenvoudig de interacties (die in het sequentiediagram moeten gaan) afleiden die zouden optreden tussen de bovenstaande objecten, als de use case eenmaal is uitgevoerd.

Hier zijn de stappen die voorkomen in de use case ‘Nieuwe bibliotheekgebruikersaccount aanmaken’.

  • De bibliothecaris vraagt het systeem om een nieuwe online bibliotheekaccount aan te maken
  • De bibliothecaris selecteert vervolgens het type gebruikersaccount van de bibliotheek
  • De bibliothecaris voert de gegevens van de gebruiker in
  • De gegevens van de gebruiker worden gecontroleerd met behulp van de Credentials Database van de gebruiker
  • De nieuwe bibliotheekgebruikersaccount is aangemaakt
  • Een samenvatting van de gegevens van het nieuwe account wordt vervolgens naar de gebruiker gemaild

Vanuit elk van deze stappen kunt u eenvoudig aangeven welke berichten moeten worden uitgewisseld tussen de objecten in het sequentiediagram. Zodra het duidelijk is, kunt u beginnen met het tekenen van het sequentiediagram.

Het onderstaande sequentiediagram laat zien hoe de objecten in het online bibliotheekbeheersysteem met elkaar omgaan om de functie ‘Nieuwe bibliotheekgebruikersaccount aanmaken’ uit te voeren.

Hoe u een sequentiediagram kunt tekenen - sequentiediagram tutorial

Sequentiediagram Gemeenschappelijke fouten

Bij het tekenen van sequentiediagrammen hebben ontwerpers de neiging om deze veelvoorkomende fouten te maken. Door deze fouten te vermijden kunt u de kwaliteit van uw diagram waarborgen.

  • Het toevoegen van te veel details. Dit maakt het diagram onhandig en moeilijk leesbaar.
  • Verouderde en verouderde sequentieschema’s die niet relevant zijn in vergelijking met de interfaces, werkelijke architecturen, enz. van het systeem. Vergeet niet ze te vervangen of aan te passen.
  • Er wordt geen spatie gelaten tussen de tekst van de use-case en de berichtpijl; dit maakt het voor iedereen moeilijk om het diagram te lezen.
  • het niet zorgvuldig overwegen van de oorsprong van de berichtpijlen

Zie deze veel voorkomende fouten in detail uitgelegd in de Sequentiediagram Guide: Veel voorkomende fouten die moeten worden vermeden bij het tekenen van sequentiediagrammen.

Voorbeelden van sequentieschema’s en sjablonen

Hieronder volgen enkele sequentiediagrammen en sjablonen die met behulp van Creately worden getekend. Maak online sequentiediagram met behulp van de online tool van Creately. Klik op het sjabloon om het te openen in de editor.

Sequentiediagram van een Online Examensysteem

Online Onderzoek - Sequentie Diagram Sjabloon

Klik op de afbeelding om deze online te bewerken

Sequentiediagram Voorbeeld van een Schoolmanagementsysteem

Schoolmanagementsysteem - Sequence Diagram Template

Voorbeeld van een optie-combinatie-fragment

Voorbeeld van een optiefragment

Voorbeeld van een Lus Sequentie

 Lussen - Sequence Diagram Voorbeeld Hier zijn nog wat meer sequentiediagrammen en voorbeelden die je meteen kunt bewerken.

Sequentiediagram Tutorial – SlideShare Presentatie

Terugkoppeling over het sequentiediagram Tutorial

Deze sequentiediagram tutorial behandelt alles wat je moet weten over sequentiediagrammen en het tekenen ervan. Als u suggesties of vragen heeft met betrekking tot de sequentiediagraaftutorial, laat dan gerust een commentaar achter.

Meer Diagram Tutorials

Leave a comment

*
*

20 + three =

Back to top