logo

Diagrami zaporedja | Unified Modeling Language (UML)

Unified Modeling Language (UML) je jezik za modeliranje na področju inženiringa programske opreme, katerega namen je določiti standardne načine za vizualizacijo zasnove sistema. UML vodi ustvarjanje več vrst diagramov, kot so interakcijski, strukturni in vedenjski diagrami. A diagram zaporedja je najpogosteje uporabljen interakcija diagram.

Zaporedni diagrami-2



Diagram interakcije

Za prikaz se uporablja interakcijski diagram interaktivno vedenje sistema. Ker je vizualizacija interakcij v sistemu lahko težavna, uporabljamo različne vrste interakcijskih diagramov, da zajamemo različne značilnosti in vidike interakcije v sistemu.

  • Diagram zaporedja preprosto prikazuje interakcijo med objekti v zaporednem vrstnem redu, tj. vrstnem redu, v katerem se te interakcije pojavljajo.
  • Za označevanje diagrama zaporedja lahko uporabimo tudi izraza diagrami dogodkov ali scenariji dogodkov.
  • Diagrami zaporedja opisujejo, kako in v kakšnem vrstnem redu delujejo objekti v sistemu.
  • Te diagrame pogosto uporabljajo poslovneži in razvijalci programske opreme za dokumentiranje in razumevanje zahtev za nove in obstoječe sisteme.

Pomembne teme za diagrame zaporedja

1. Zapis diagrama zaporedja

1.1. Igralci

Igralec v diagramu UML predstavlja vrsto vloge, kjer je v interakciji s sistemom in njegovimi objekti. Tukaj je pomembno omeniti, da je akter vedno zunaj obsega sistema, ki ga želimo modelirati z uporabo diagrama UML.



Igralec-11

Igralce uporabljamo za upodobitev različnih vlog, vključno s človeškimi uporabniki in drugimi zunanjimi subjekti. Akterja v diagramu UML predstavljamo z uporabo zapisa osebne palice. V diagramu zaporedja imamo lahko več akterjev.

Na primer:



Tukaj je uporabnik v sistemu za rezervacijo sedežev prikazan kot akter, kjer obstaja zunaj sistema in ni del sistema.

Interakcija uporabnika s sistemom-rezervacije sedežev

1.2. Rešilne vrvi

Reševalna vrv je poimenovan element, ki prikazuje posameznega udeleženca v diagramu zaporedja. Torej je v bistvu vsak primerek v diagramu zaporedja predstavljen z rešilno vrvjo. Elementi rešilne črte se nahajajo na vrhu v diagramu zaporedja. Standard v UML za poimenovanje rešilne vrvi sledi naslednji obliki:

Ime primerka : Ime razreda

Zaporedni diagrami

char + int v Javi

Rešilno vrv prikažemo v pravokotniku, imenovanem glavo s svojim imenom in vrsto. Glava se nahaja na vrhu navpične črtkane črte (imenovane steblo), kot je prikazano zgoraj.

  • Če želimo modelirati neimenovani primerek, sledimo istemu vzorcu, le da je zdaj del imena življenjske črte prazen.
  • Razlika med rešilno vrvjo in igralcem
    • Življenjska črta vedno prikazuje objekt znotraj sistema, medtem ko se akterji uporabljajo za prikaz objektov zunaj sistema.

Sledi primer diagrama zaporedja:

Diagram zaporedja-223

1.3. Sporočila

Komunikacija med predmeti je prikazana s pomočjo sporočil. Sporočila se prikažejo v zaporednem vrstnem redu na rešilni vrvici.

  • Sporočila predstavljamo s puščicami.
  • Življenjske linije in sporočila tvorijo jedro zaporednega diagrama.

Različne-vrste-sporočil

Sporočila lahko na splošno razvrstimo v naslednje kategorije:

Sinhronizirana sporočila

Sinhrono sporočilo čaka na odgovor, preden se lahko interakcija nadaljuje. Pošiljatelj počaka, dokler prejemnik ne zaključi obdelave sporočila. Klicatelj nadaljuje šele, ko ve, da je prejemnik obdelal prejšnje sporočilo, tj. prejme odgovor.

  • Veliko število klicev v objektno usmerjenem programiranju je sinhronih.
  • Uporabljamo a trdna puščica predstavljati sinhrono sporočilo.

Synchronus-Sporočilo-22

Asinhrona sporočila

Asinhrono sporočilo ne čaka na odgovor prejemnika. Interakcija se premika naprej ne glede na to, ali je prejemnik obdelal prejšnje sporočilo ali ne. Uporabljamo a obrobljena puščica predstavljati asinhrono sporočilo.

Asinhrono sporočilo

1.4. Ustvari sporočilo

Uporabimo sporočilo Ustvari, da ustvarimo nov objekt v diagramu zaporedja. Obstajajo situacije, ko določen klic sporočila zahteva ustvarjanje predmeta. Predstavljen je s pikčasto puščico in besedo za ustvarjanje, označeno na njej, ki določa, da je to simbol za ustvarjanje sporočila.

dolžina java niza

Na primer:

Ustvarjanje novega naročila na spletnem mestu e-trgovine bi zahtevalo ustvarjanje novega predmeta razreda naročila.

Ustvari sporočilo

1.5. Izbriši sporočilo

Sporočilo za brisanje uporabljamo za brisanje predmeta. Ko je objekt sprosti pomnilnik ali je uničen v sistemu, uporabimo simbol za brisanje sporočila. Uniči pojavnost predmeta v sistemu. Predstavljen je s puščico, ki se konča z x.

Na primer:

V spodnjem scenariju, ko uporabnik prejme naročilo, se lahko objekt razreda naročila uniči.

Izbriši sliko

1.6. Self Message

Določeni scenariji se lahko pojavijo, ko mora objekt sam sebi poslati sporočilo. Takšna sporočila se imenujejo lastna sporočila in so predstavljena z a Puščica v obliki črke U .

samopodoba-1

Še en primer:

Razmislite o scenariju, ko želi naprava dostopati do svoje spletne kamere. Takšen scenarij je predstavljen z uporabo lastnega sporočila.

Samopodoba-2

1.7. Odgovori na sporočilo

Odgovori se uporabljajo za prikaz sporočila, ki ga prejemnik pošilja pošiljatelju. Povratno/odgovorno sporočilo predstavljamo z uporabo odprta puščica s pikčasto črto . Interakcija se premakne naprej šele, ko prejemnik pošlje odgovor.

Odgovor-Sporočilo

Na primer:

Razmislite o scenariju, ko naprava od uporabnika zahteva fotografijo. Tukaj je sporočilo, ki prikazuje poslano fotografijo, odgovor.

Odgovor-Sporočilo-Primer

1.8. Najdeno sporočilo

Najdeno sporočilo se uporablja za predstavitev scenarija, kjer neznani vir pošlje sporočilo. Predstavljen je z uporabo puščica, usmerjena proti rešilni vrvi od končne točke.

Na primer:

Razmislite o scenariju okvare strojne opreme.

najdeno-sporočilo

Lahko je posledica več razlogov in nismo prepričani, kaj je povzročilo okvaro strojne opreme.

najdeno-sporočilo-primer

1.9. Izgubljeno sporočilo

Izgubljeno sporočilo se uporablja za predstavitev scenarija, kjer sistem ne pozna prejemnika. Predstavljena je s puščico, usmerjeno proti končni točki reševalne črte.

Na primer:

Razmislite o scenariju, kjer se ustvari opozorilo.

izgubljena slika

Opozorilo je lahko ustvarjeno za uporabnika ali drugo programsko opremo/predmet, s katerim je reševalna vrv v interakciji. Ker destinacija ni znana vnaprej, uporabimo simbol izgubljenega sporočila.

Primer izgubljene slike

1.10. Stražarji

Za modeliranje pogojev uporabljamo varovala v UML. Uporabljajo se, ko moramo omejiti pretok sporočil pod pretvezo, da je pogoj izpolnjen. Stražarji igrajo pomembno vlogo pri obveščanju razvijalcev programske opreme o omejitvah, povezanih s sistemom ali določenim procesom.

Na primer:

Da bi lahko dvignili gotovino, je stanje, večje od nič, pogoj, ki mora biti izpolnjen, kot je prikazano spodaj.

Stražarji

kakec

Primer-diagram-zaporedja-2

Zgornji diagram zaporedja prikazuje diagram zaporedja za predvajalnik glasbe, ki temelji na čustvih:

  1. Aplikacijo najprej odpre uporabnik.
  2. Naprava nato dobi dostop do spletne kamere.
  3. Spletna kamera posname sliko uporabnika.
  4. Naprava uporablja algoritme za zaznavanje obraza in napovedovanje razpoloženja.
  5. Nato zahteva bazo podatkov za slovar možnih razpoloženj.
  6. Razpoloženje se pridobi iz baze podatkov.
  7. Razpoloženje je prikazano uporabniku.
  8. Glasba se zahteva iz baze podatkov.
  9. Seznam predvajanja je ustvarjen in končno prikazan uporabniku.

2. Kako ustvariti diagrame zaporedja?

Ustvarjanje diagrama zaporedja vključuje več korakov in se običajno izvaja med fazo načrtovanja razvoja programske opreme, da ponazori, kako različne komponente ali predmeti medsebojno delujejo skozi čas. Tukaj je vodnik po korakih za ustvarjanje diagramov zaporedja:

  1. Prepoznajte scenarij:
    • Razumeti določen scenarij ali primer uporabe, ki ga želite predstaviti v diagramu zaporedja. To je lahko določena interakcija med predmeti ali pretok sporočil v določenem procesu.
  2. Seznam udeležencev:
    • Identificirajte udeležence (predmete ali igralce), ki so vključeni v scenarij. Udeleženci so lahko uporabniki, sistemi ali zunanji subjekti.
  3. Določite življenjske črte:
    • Narišite navpično črtkano črto za vsakega udeleženca, ki predstavlja življenjsko linijo vsakega predmeta skozi čas. Življenjska črta predstavlja obstoj predmeta med interakcijo.
  4. Uredi rešilne vrvice:
    • Reševalne vrvi postavite vodoravno v vrstnem redu njihove vpletenosti v interakcijo. To pomaga pri vizualizaciji pretoka sporočil med udeleženci.
  5. Dodajte aktivacijske vrstice:
    • Za vsako sporočilo narišite aktivacijsko vrstico na rešilni vrvi udeleženca pošiljatelja. Aktivacijska vrstica predstavlja trajanje časa, v katerem udeleženec aktivno obdeluje sporočilo.
  6. Nariši sporočila:
    • S puščicami predstavljajte sporočila med udeleženci. Sporočila tečejo vodoravno med rešilnimi linijami in nakazujejo komunikacijo med predmeti. Različne vrste sporočil vključujejo sinhrona (polna puščica), asinhrona (črtkana puščica) in lastna sporočila.
  7. Vključi povratna sporočila:
    • Če udeleženec pošlje odgovorno sporočilo, narišite črtkano puščico, ki se vrne k izvirnemu pošiljatelju, da predstavlja povratno sporočilo.
  8. Navedite čas in vrstni red:
    • S številkami označite vrstni red sporočil v zaporedju. Uporabite lahko tudi navpične črtkane črte, da predstavite dogodke ali čas.
  9. Vključi pogoje in zanke:
    • Uporabite kombinirane fragmente za predstavitev pogojev (na primer stavkov if) in zank v interakciji. To dodaja zapletenost diagramu zaporedja in pomaga pri podrobnostih nadzornega toka.
  10. Razmislite o vzporedni izvedbi:
    • Če potekajo vzporedne dejavnosti, jih predstavite tako, da narišete vzporedne navpične črtkane črte in ustrezno postavite sporočila.
  11. Pregled in izboljšanje:
    • Preglejte diagram zaporedja za jasnost in pravilnost. Zagotovite, da natančno predstavlja predvideno interakcijo. Po potrebi izboljšajte.
  12. Dodajte opombe in komentarje:
    • Vključite vse dodatne informacije, opombe ali komentarje, ki nudijo kontekst ali pojasnila za elemente v diagramu.
  13. Predpostavke in omejitve dokumenta:
    • Če obstajajo kakršne koli predpostavke ali omejitve v zvezi z interakcijo, jih dokumentirajte poleg diagrama.
  14. Orodja:
    • Uporabite orodje za modeliranje UML ali programsko opremo za diagrame, da ustvarite čeden in profesionalen diagram zaporedja. Ta orodja pogosto ponujajo funkcije za enostavno urejanje, sodelovanje in dokumentacijo.

3. Primeri uporabe zaporednih diagramov

  • Vizualizacija vedenja sistema:
    • Diagrami zaporedja se uporabljajo za ponazoritev dinamičnega obnašanja sistema s prikazom interakcij med različnimi komponentami, predmeti ali akterji skozi čas.
    • Zagotavljajo jasno in vizualno predstavitev toka sporočil in dogodkov v določenem scenariju.
  • Oblikovanje in arhitektura programske opreme:
    • Med fazo načrtovanja razvoja programske opreme diagrami zaporedja pomagajo razvijalcem in arhitektom načrtovati in razumeti, kako bodo različne komponente in objekti medsebojno delovali, da bi dosegli določene funkcionalnosti.
    • Zagotavljajo načrt za vedenje sistema.
  • Komunikacija in sodelovanje:
    • Diagrami zaporedja služijo kot komunikacijsko orodje med zainteresiranimi stranmi, vključno z razvijalci, oblikovalci, vodji projektov in strankami.
    • Pomagajo pri posredovanju zapletenih interakcij v lahko razumljivi vizualni obliki, spodbujajo sodelovanje in skupno razumevanje.
  • Pojasnilo zahtev:
    • Pri izpopolnjevanju sistemskih zahtev je mogoče uporabiti diagrame zaporedja za pojasnitev in določitev pričakovanih interakcij med komponentami sistema ali med sistemom in zunanjimi entitetami.
    • Pomagajo zagotoviti skupno razumevanje vedenja sistema med vsemi zainteresiranimi stranmi.
  • Razhroščevanje in odpravljanje težav:
    • Razvijalci uporabljajo diagrame zaporedja kot orodje za odpravljanje napak za prepoznavanje in analizo težav, povezanih z vrstnim redom in časovnim razporedom sporočil med sistemskimi interakcijami.
    • Zagotavlja vizualno predstavitev toka nadzora in pomaga pri lociranju in reševanju težav.

4. Izzivi uporabe zaporednih diagramov

  • Kompleksnost in velikost:
    • Ko sistemi postajajo kompleksnejši, lahko diagrami zaporedja postanejo veliki in zapleteni. Upravljanje velikosti diagrama ob hkratnem natančnem predstavljanju interakcij je lahko izziv, preveč zapletene diagrame pa lahko postane težko razumljivo.
  • Raven abstrakcije:
    • Iskanje pravega ravnovesja v smislu abstrakcije je lahko izziv. Diagrami zaporedja morajo biti dovolj podrobni, da posredujejo potrebne informacije, vendar preveč podrobnosti lahko bralce preobremeni. Pomembno je, da se osredotočite na najbolj kritične interakcije, ne da bi se zapletli v podrobnosti.
  • Dinamična narava:
    • Diagrami zaporedja predstavljajo dinamične vidike sistema in se posledično lahko med razvojnim procesom pogosto spreminjajo. Posodabljanje diagramov zaporedja z razvijajočim se sistemom je lahko izziv, zlasti v hitro spreminjajočih se ali agilnih razvojnih okoljih.
  • Dvoumnost v sporočilih:
    • Včasih je lahko težko definirati natančno naravo sporočil med objekti. Dvoumnost v vsebini ali pomenu sporočila lahko povzroči nesporazume med zainteresiranimi stranmi in vpliva na natančnost diagrama zaporedja.
  • Sočasnost in vzporednost:
    • Predstavljanje sočasnih in vzporednih procesov je lahko zapleteno. Medtem ko imajo diagrami zaporedja mehanizme za označevanje vzporednega izvajanja, je vizualizacija več interakcij, ki potekajo hkrati, lahko izziv in lahko zahteva dodatne diagramske elemente.
  • Omejitve v realnem času:
    • Predstavljanje omejitev v realnem času in natančnih časovnih zahtev je lahko izziv. Medtem ko diagrami zaporedja zagotavljajo zaporedno predstavitev, lahko natančno zajemanje in sporočanje vidikov v realnem času zahteva dodatno dokumentacijo ali komplementarne diagrame.