Tutorial diagramă secvență – Ghid complet cu exemple

Publicat: 2017-01-27

Acest tutorial cu diagrame de secvență este pentru a vă ajuta să înțelegeți mai bine diagramele de secvență; pentru a explica tot ce trebuie să știți, de la cum să desenați o diagramă secvență până la greșelile comune pe care ar trebui să le evitați când desenați una.

Există 3 tipuri de diagrame de interacțiune; Diagrame de secvențe, diagrame de comunicare și diagrame de timp. Aceste diagrame sunt folosite pentru a ilustra interacțiunile dintre părțile dintr-un sistem. Dintre cele trei, diagramele de secvență sunt preferate atât de dezvoltatori, cât și de cititori pentru simplitatea lor.

În acest tutorial cu diagrama de secvență veți afla despre;

  • Ce este o diagramă de secvență
  • Notații de diagramă de secvență
  • Cele mai bune practici pentru diagrama secvenței
  • Cum să desenezi o diagramă de secvență
  • Diagrama secvenței Greșeli frecvente
  • Șabloane și exemple de diagrame de secvență
  • Diagrama secvenței SlideShare Prezentare
  • Feedback cu privire la Ghidul diagramei secvențe

Ce este o diagramă de secvență?

Diagramele de secvență, utilizate în mod obișnuit de dezvoltatori, modelează interacțiunile dintre obiecte într-un singur caz de utilizare. Ele ilustrează modul în care diferitele părți ale unui sistem interacționează între ele pentru a îndeplini o funcție și ordinea în care interacțiunile apar atunci când este executat un anumit caz de utilizare.

Cu cuvinte mai simple, o diagramă de secvență arată diferite părți ale unui sistem care lucrează într-o „secvență” pentru a face ceva.

arată diferite părți ale unui sistem care lucrează într-o „secvență” pentru a face ceva.

Notații de diagramă de secvență

O diagramă de secvență este structurată în așa fel încât să reprezinte o linie temporală care începe din partea de sus și coboară treptat pentru a marca succesiunea interacțiunilor. Fiecare obiect are o coloană iar mesajele schimbate între ele sunt reprezentate prin săgeți.

O prezentare rapidă a diferitelor părți ale unei diagrame secvențe

Notație Lifeline

Diagrama secvenței - Lifeline

O diagramă de secvență este alcătuită din mai multe dintre aceste notații care ar trebui să fie aranjate orizontal în partea de sus a diagramei. Nu ar trebui să se suprapună două notații de salvare. Ele reprezintă diferitele obiecte sau părți care interacționează între ele în sistem în timpul secvenței.

O notație de salvare cu un simbol de element actor este utilizată atunci când diagrama de secvență particulară este deținută de un caz de utilizare.

linia de salvare cu simbolul elementului actor

O linie de salvare cu un element de entitate reprezintă datele sistemului. De exemplu, într-o aplicație de serviciu pentru clienți, entitatea Client ar gestiona toate datele legate de un client.

Linia de salvare a entității

O linie de salvare cu un element de limită indică o limită de sistem/element software într-un sistem; de exemplu, ecranele interfeței cu utilizatorul, gateway-urile bazei de date sau meniurile cu care utilizatorii interacționează sunt limite.

Linie de salvare de graniță

Și o linie de salvare cu un element de control indică o entitate de control sau un manager. Acesta organizează și programează interacțiunile dintre granițe și entități și servește ca mediator între ele.

Control Lifeline

Bare de activare

Bara de activare este cutia plasată pe linia de salvare. Este folosit pentru a indica faptul că un obiect este activ (sau instanțiat) în timpul unei interacțiuni între două obiecte. Lungimea dreptunghiului indică durata în care obiectele rămân active.

Într-o diagramă de secvență, o interacțiune între două obiecte are loc atunci când un obiect trimite un mesaj altuia. Utilizarea barei de activare pe liniile de salvare ale Apelantului de mesaje (obiectul care trimite mesajul) și a receptorului de mesaje (obiectul care primește mesajul) indică faptul că ambele sunt active/este instanțiate în timpul schimbului de mesaj.

Diagrama secvenței - Bare de activare

Săgeți pentru mesaje

O săgeată de la apelantul mesajului la receptorul de mesaje specifică un mesaj într-o diagramă de secvență. Un mesaj poate curge în orice direcție; de la stânga la dreapta, de la dreapta la stânga sau înapoi la Apelantul mesajului însuși. În timp ce puteți descrie mesajul trimis de la un obiect la altul pe săgeată, cu diferite vârfuri de săgeată puteți indica tipul de mesaj trimis sau primit.

Săgeata mesaj vine cu o descriere, care este cunoscută sub numele de semnătură de mesaj, pe ea. Formatul pentru semnătura acestui mesaj este mai jos. Toate părțile, cu excepția numelui_mesajului, sunt opționale.

atribut = nume_mesaj (argumente): tip_return

  • Mesaj sincron

După cum se arată în exemplul barelor de activare, un mesaj sincron este utilizat atunci când expeditorul așteaptă ca receptorul să proceseze mesajul și să revină înainte de a continua cu un alt mesaj. Capul de săgeată folosit pentru a indica acest tip de mesaj este unul solid, ca cel de mai jos.

Săgeată pentru mesaje sincrone
  • Mesaj asincron

Un mesaj asincron este utilizat atunci când apelantul mesajului nu așteaptă ca receptorul să proceseze mesajul și să revină înainte de a trimite alte mesaje către alte obiecte din sistem. Capul de săgeată folosit pentru a afișa acest tip de mesaj este o săgeată de linie, așa cum se arată în exemplul de mai jos.

Exemplu de mesaj asincron
  • Retur mesaj

Un mesaj de retur este folosit pentru a indica faptul că receptorul mesajului a terminat de procesat mesajul și îi revine controlul asupra apelantului mesajului. Mesajele de retur sunt piese de notare opționale, pentru o bară de activare care este declanșată de un mesaj sincron implică întotdeauna un mesaj de retur.

Exemplu de mesaj de returnare

Sfat: Puteți evita aglomerarea diagramelor prin minimizarea utilizării mesajelor returnate, deoarece valoarea returnată poate fi specificată chiar în săgeata mesajului inițial.

  • Mesaj de creare a participanților

Obiectele nu trăiesc neapărat pe întreaga durată a secvenței de evenimente. Obiectele sau participanții pot fi creați în funcție de mesajul care este trimis.

Notarea casetei participantului abandonat poate fi folosită atunci când trebuie să arătați că respectivul participant nu a existat până când a fost trimis apelul de creare. Dacă participantul creat face ceva imediat după crearea sa, ar trebui să adăugați o casetă de activare chiar sub caseta de participant.

Exemplu de creare a unui participant
  • Mesaj de distrugere a participanților
Mesaj de distrugere a participării

De asemenea, participanții, atunci când nu mai sunt necesari, pot fi, de asemenea, șterși dintr-o diagramă de secvență. Acest lucru se face prin adăugarea unui „X” la sfârșitul liniei de viață a participantului menționat.

  • Mesaj reflexiv

Când un obiect își trimite un mesaj, se numește mesaj reflexiv. Este indicat cu o săgeată cu mesaj care începe și se termină la aceeași linie de salvare, așa cum este prezentat în exemplul de mai jos.

Mesaj reflexiv

cometariu

Diagramele UML permit, în general, adnotarea comentariilor în toate tipurile de diagrame UML. Obiectul de comentariu este un dreptunghi cu un colț îndoit, așa cum se arată mai jos. Comentariul poate fi legat de obiectul asociat cu o linie întreruptă.

Exemplu de obiect de comentariu

Notă:   Vizualizați cele mai bune practici pentru diagrama secvenței pentru a afla despre fragmentele de secvență.

Cele mai bune practici pentru diagrama secvenței

  • Gestionați interacțiunile complexe cu fragmente de secvență

Un fragment de secvență este reprezentat ca o casetă care încadrează o secțiune de interacțiuni între obiecte (așa cum se arată în exemplele de mai jos) într-o diagramă de secvență.

Este folosit pentru a afișa interacțiuni complexe, cum ar fi fluxuri și bucle alternative, într-un mod mai structurat. În colțul din stânga sus al fragmentului se află un operator. Acesta – operatorul fragment – ​​specifică ce fel de fragment este.

Alternative

Fragmentul de combinație alternativă este utilizat atunci când trebuie făcută o alegere între două sau mai multe secvențe de mesaje. Modelează logica „dacă atunci altfel”.

Fragmentul alternativ este reprezentat printr-un dreptunghi mare sau un cadru; este specificat prin menționarea „alt” în interiorul casetei de nume a cadrului (aka operator fragment).

Pentru a afișa două sau mai multe alternative, dreptunghiul mai mare este apoi împărțit în ceea ce se numește operanzi de interacțiune folosind o linie întreruptă, așa cum se arată în exemplul de diagramă de secvență de mai sus. Fiecare operand are o protecție împotriva căruia să fie testat și este plasat în colțul din stânga sus al operandului.

Exemplu de fragment alternativ - tutorial diagramă secvență

Opțiuni

Fragmentul de combinație de opțiuni este folosit pentru a indica o secvență care va apărea numai într-o anumită condiție, altfel, secvența nu va apărea. Modelează afirmația „dacă atunci”.  

Similar cu fragmentul alternativ, fragmentul de opțiune este reprezentat și cu un cadru dreptunghiular unde „opt” este plasat în interiorul casetei de nume.

Spre deosebire de fragmentul alternativ, un fragment de opțiune nu este împărțit în doi sau mai mulți operanzi. Apărătorul opțiunii este plasat în colțul din stânga sus.

(Găsiți un exemplu de diagramă de secvență cu un fragment de opțiune în secțiunea Șabloane și exemple de diagrame de secvență).

Bucle

Fragmentul de buclă este folosit pentru a reprezenta o secvență repetitivă. Puneți cuvintele „buclă” în caseta de nume și starea de protecție lângă colțul din stânga sus al cadrului.

Pe lângă testul boolean, garda dintr-un fragment de buclă poate avea alte două condiții speciale testate. Acestea sunt iterații minime (scrise ca minint = [numărul] și iterații maxime (scrise ca maxint = [numărul]).

Dacă este o gardă de iterații minime, bucla trebuie să se execute nu mai puțin decât numărul menționat, iar dacă este o gardă de iterații maxime, bucla nu trebuie să execute mai mult decât numărul indicat.

(Găsiți un exemplu de fragment de buclă mai jos în șabloanele diagramei de secvență și secțiunea de exemple)

Fragment de referință

Puteți utiliza fragmentul de referință pentru a gestiona dimensiunea diagramelor secvențe mari. Vă permite să reutilizați o parte dintr-o diagramă de secvență în alta sau, cu alte cuvinte, puteți face referire la o parte a unei diagrame într-o altă diagramă folosind fragmentul de referință.

Pentru a specifica fragmentul de referință, trebuie să menționați „ref” în caseta de nume a cadrului și numele diagramei de secvență la care se face referire în interiorul cadrului.

Exemplu de fragment de referință

Pentru mai multe fragmente de secvență, consultați Dincolo de elementele de bază ale diagramelor de secvență: Partea 1 , Partea 2 și Partea 3 .

  • Desenați diagrame de secvențe mai mici care surprind esența cazului de utilizare

În loc să vă aglomerați diagrama de secvență cu mai multe obiecte și grupuri de mesaje care vor deruta cititorul, desenați câteva diagrame de secvență mai mici care să explice în mod adecvat ceea ce face sistemul dumneavoastră. Asigurați-vă că diagrama se potrivește pe o singură pagină și că lasă spațiu și pentru note explicative.

De asemenea, în loc să desenezi zeci de diagrame de secvență, află ce este comun între scenarii și concentrează-te pe asta. Și dacă codul este expresiv și poate sta pe cont propriu, nu este nevoie să desenați o diagramă de secvență în primul rând.

Cum să desenezi o diagramă de secvență

O diagramă de secvență reprezintă scenariul sau fluxul de evenimente într-un singur caz de utilizare. Fluxul de mesaje al diagramei secvențe se bazează pe narațiunea cazului de utilizare particular.

Apoi, înainte de a începe să desenați diagrama de secvență sau să decideți ce interacțiuni ar trebui incluse în ea, trebuie să desenați diagrama cazului de utilizare și să pregătiți o descriere cuprinzătoare a ceea ce face cazul particular de utilizare.

Cum se desenează o diagramă de secvență O diagramă de secvență reprezintă scenariul sau fluxul de evenimente într-un singur caz de utilizare. Fluxul de mesaje al diagramei secvențe se bazează pe narațiunea cazului de utilizare particular. Apoi, înainte de a începe să desenați diagrama de secvență sau să decideți ce interacțiuni ar trebui incluse în ea, trebuie să pregătiți o descriere cuprinzătoare a ceea ce face cazul particular de utilizare.

Din exemplul de diagramă de caz de utilizare de mai sus „Creează un nou cont de bibliotecă online”, ne vom concentra pe cazul de utilizare numit „Creează un cont de utilizator nou” pentru a desena exemplul nostru de diagramă de secvență.

Înainte de a desena diagrama de secvență, este necesar să se identifice obiectele sau actorii care ar fi implicați în crearea unui nou cont de utilizator. Acestea ar fi;

  • Bibliotecar
  • Sistem de management al bibliotecii online
  • Baza de date cu acreditările utilizatorului
  • Sistemul de e-mail

Odată ce identificați obiectele, este important să scrieți o descriere detaliată despre ceea ce face cazul de utilizare. Din această descriere, vă puteți da seama cu ușurință de interacțiunile (care ar trebui să meargă în diagrama de secvență) care ar avea loc între obiectele de mai sus, odată ce cazul de utilizare este executat.

Iată pașii care au loc în cazul de utilizare numit „Creare New Library User Account”.

  • Bibliotecarul solicită sistemului să creeze un nou cont de bibliotecă online
  • Bibliotecarul selectează apoi tipul de cont de utilizator al bibliotecii
  • Bibliotecarul introduce datele utilizatorului
  • Detaliile utilizatorului sunt verificate folosind baza de date de acreditări a utilizatorului
  • Este creat noul cont de utilizator al bibliotecii
  • Un rezumat al detaliilor noului cont este apoi trimis utilizatorului prin e-mail

Din fiecare dintre acești pași, puteți specifica cu ușurință ce mesaje trebuie schimbate între obiectele din diagrama de secvență. Odată ce este clar, puteți continua și începe să desenați diagrama secvenței.

Diagrama de secvență de mai jos arată modul în care obiectele din sistemul de management al bibliotecii online interacționează între ele pentru a îndeplini funcția „Creează un nou cont de utilizator al bibliotecii”.

Cum să desenezi o diagramă de secvență - tutorial de diagramă de secvență

Diagrama secvenței Greșeli frecvente

Atunci când desenează diagrame de secvență, designerii tind să facă aceste greșeli comune. Evitând aceste greșeli, puteți asigura calitatea diagramei dvs.

  • Adăugând prea multe detalii. Acest lucru aglomera diagrama și o face dificil de citit.
  • Diagrame de secvențe învechite și depășite care sunt irelevante în comparație cu interfețele, arhitecturile actuale etc. ale sistemului. Nu uitați să le înlocuiți sau să le modificați.
  • Nu lăsați spațiu liber între textul cazului de utilizare și săgeata mesajului; acest lucru face dificil pentru oricine să citească diagrama.
  • Nu luați în considerare cu atenție originile săgeților mesajului.

Vedeți aceste greșeli obișnuite explicate în detaliu în Ghidul diagramei secvenței: Greșeli obișnuite de evitat la desenarea diagramelor de secvență.

Exemple și șabloane de diagrame de secvență

Mai jos sunt câteva exemple de diagrame de secvență și șabloane care sunt desenate folosind Creately. Creați diagrame de secvență online folosind instrumentul online Creately. Faceți clic pe șablon pentru a-l deschide în editor.

Diagrama secvenței unui sistem de examen online

Examinare online - Șablon de diagramă de secvență
Faceți clic pe imagine pentru a o edita online

Sistem de examinare online – Diagrama de clasă (UML)

Exemplu de diagramă de secvență a unui sistem de management școlar

Sistemul de management al școlii - șablon de diagramă de secvență

Exemplu de fragment de combinație de opțiuni

Exemplu de fragment de opțiune

Exemplu de secvență de buclă

Bucle - Exemplu de diagramă de secvență

Iată mai multe șabloane de diagrame de secvență și exemple pe care le puteți edita imediat.

Tutorial diagramă secvență – Prezentare SlideShare

Ghidul diagramei secvențe Power Point (PPT) de la Creately

Feedback cu privire la tutorialul diagramei secvenței

Acest tutorial cu diagramele de secvență acoperă tot ce trebuie să știți despre diagramele de secvență și desenarea acestora. Dacă aveți sugestii sau întrebări cu privire la tutorialul diagramei secvențe, nu ezitați să lăsați un comentariu.

Mai multe tutoriale pentru diagrame

  • Tutorial de modelare a proceselor de afaceri (Ghidul BPM pentru explicarea caracteristicilor)
  • Ghid final de diagramă de flux ( Tutorial complet de diagramă de flux cu exemple)
  • Tutorial diagramă de caz de utilizare (ghid cu exemple)