logo

Sekvenssikaaviot | Unified Modeling Language (UML)

Unified Modeling Language (UML) on ohjelmistotekniikan alan mallinnuskieli, jonka tavoitteena on asettaa standardit tapoja visualisoida järjestelmän suunnittelua. UML ohjaa monentyyppisten kaavioiden, kuten vuorovaikutus-, rakenne- ja käyttäytymiskaavioiden, luomista. A järjestyskaavio on yleisimmin käytetty vuorovaikutusta kaavio.

Sekvenssikaaviot-2



Vuorovaikutuskaavio

Vuorovaikutuskaaviota käytetään osoittamaan interaktiivinen käyttäytyminen järjestelmästä. Koska vuorovaikutuksen visualisointi järjestelmässä voi olla vaikeaa, käytämme erilaisia ​​vuorovaikutuskaavioita järjestelmän erilaisten vuorovaikutuksen ominaisuuksien ja näkökohtien kuvaamiseen.

  • Sekvenssikaavio yksinkertaisesti kuvaa objektien välistä vuorovaikutusta peräkkäisessä järjestyksessä, eli siinä järjestyksessä, jossa nämä vuorovaikutukset tapahtuvat.
  • Voimme myös käyttää termejä tapahtumakaaviot tai tapahtumaskenaariot viittaamaan sekvenssikaavioon.
  • Sekvenssikaaviot kuvaavat kuinka ja missä järjestyksessä järjestelmän objektit toimivat.
  • Liikemiehet ja ohjelmistokehittäjät käyttävät näitä kaavioita laajalti dokumentoidakseen ja ymmärtääkseen uusien ja olemassa olevien järjestelmien vaatimuksia.

Tärkeitä aiheita sekvenssikaavioille

1. Sekvenssikaavion merkintä

1.1. Näyttelijät

Toimija UML-kaaviossa edustaa roolia, jossa se on vuorovaikutuksessa järjestelmän ja sen objektien kanssa. Tässä on tärkeää huomata, että toimija on aina UML-kaavion avulla mallinnettavan järjestelmän ulkopuolella.



Näyttelijä-11

Käytämme näyttelijöitä kuvaamaan erilaisia ​​rooleja, mukaan lukien ihmiskäyttäjiä ja muita ulkopuolisia aiheita. Esitämme näyttelijää UML-kaaviossa käyttämällä stick person -merkintää. Meillä voi olla useita toimijoita sekvenssikaaviossa.

Esimerkiksi:



Tässä käyttäjä paikkavarausjärjestelmässä näytetään toimijana silloin, kun se on järjestelmän ulkopuolella eikä ole osa järjestelmää.

Käyttäjä on vuorovaikutuksessa paikanvarausjärjestelmän kanssa

1.2. Lifelines

Lifeline on nimetty elementti, joka kuvaa yksittäistä osallistujaa sekvenssikaaviossa. Joten periaatteessa jokaista esiintymää sekvenssikaaviossa edustaa elinehto. Lifeline-elementit sijaitsevat sekvenssikaavion yläosassa. UML:n standardi elinehtojen nimeämiselle noudattaa seuraavaa muotoa:

Ilmentymän nimi: Luokan nimi

Sekvenssikaaviot

ekta kapoor näyttelijä

Näytämme pelastuslinjan suorakulmiossa nimeltä pää sen nimen ja tyypin kanssa. Pää sijaitsee pystysuoran katkoviivan päällä (kutsutaan varreksi), kuten yllä on esitetty.

  • Jos haluamme mallintaa nimettömän ilmentymän, noudatamme samaa kaavaa, paitsi että nyt osa elinlinjan nimestä jätetään tyhjäksi.
  • Ero pelastusköyden ja näyttelijän välillä
    • Pelastusköysi kuvaa aina järjestelmän sisäistä objektia, kun taas toimijoita käytetään kuvaamaan järjestelmän ulkoisia esineitä.

Seuraavassa on esimerkki sekvenssikaaviosta:

Sekvenssikaavio-223

1.3. Viestit

Objektien välinen viestintä on kuvattu viestien avulla. Viestit näkyvät peräkkäisessä järjestyksessä pelastuslinjalla.

  • Esitämme viestejä nuolilla.
  • Elämänlinjat ja viestit muodostavat sekvenssikaavion ytimen.

Erityyppiset viestit

Viestit voidaan luokitella laajasti seuraaviin luokkiin:

Synkroniset viestit

Synkroninen viesti odottaa vastausta, ennen kuin vuorovaikutus voi siirtyä eteenpäin. Lähettäjä odottaa, kunnes vastaanottaja on käsitellyt viestin. Soittaja jatkaa vain tiedossa, että vastaanottaja on käsitellyt edellisen viestin eli vastaanottanut vastausviestin.

  • Olio-ohjelmoinnissa suuri määrä kutsuja on synkronisia.
  • Käytämme a kiinteä nuolenpää edustamaan synkronista viestiä.

Synkroninen viesti-22

Asynkroniset viestit

Asynkroninen viesti ei odota vastausta vastaanottajalta. Vuorovaikutus etenee eteenpäin riippumatta siitä, käsitteleekö vastaanottaja edellisen viestin vai ei. Käytämme a vuorattu nuolenpää edustamaan asynkronista viestiä.

Asynkroninen viesti

1.4. Luo viesti

Käytämme Luo-sanomaa luomaan uuden objektin sekvenssikaavioon. On tilanteita, joissa tietty viestipuhelu edellyttää objektin luomista. Sitä edustaa pisteviiva nuolella ja luo sana, joka on merkitty siihen osoittamaan, että se on viestin luontisymboli.

Esimerkiksi:

Uuden tilauksen luominen verkkokauppasivustolle edellyttäisi uuden tilausluokan objektin luomista.

Luo viesti

1.5. Poista viesti

Käytämme Poista viestiä objektin poistamiseen. Kun objektin muisti vapautuu tai se tuhoutuu järjestelmässä, käytämme Delete Message -symbolia. Se tuhoaa objektin esiintymisen järjestelmässä. Sitä edustaa nuoli, joka päättyy x:ään.

Esimerkiksi:

Alla olevassa skenaariossa tilausluokan kohde voidaan tuhota, kun käyttäjä vastaanottaa tilauksen.

Poista-kuva

1.6. Oma Viesti

Tietyt skenaariot voivat syntyä, kun objektin on lähetettävä viesti itselleen. Tällaisia ​​viestejä kutsutaan itseviesteiksi ja niitä edustaa a U-muotoinen nuoli .

minäkuva-1

Toinen esimerkki:

kuinka luoda satunnaislukuja javassa

Harkitse tilannetta, jossa laite haluaa käyttää verkkokameraansa. Tällainen skenaario esitetään käyttämällä itseviestiä.

Omakuva-2

1.7. Vastaa Viesti

Vastausviestejä käytetään näyttämään viestin, jonka vastaanottaja lähettää lähettäjälle. Edustamme palautus-/vastausviestiä käyttämällä avoin nuolenpää katkoviivalla . Vuorovaikutus etenee vain, kun vastaanottaja lähettää vastausviestin.

Vastaus-viesti

Esimerkiksi:

Harkitse tilannetta, jossa laite pyytää valokuvaa käyttäjältä. Tässä viesti, joka näyttää lähetettävän valokuvan, on vastausviesti.

Vastaus-viesti-esimerkki

1.8 Löytyi viesti

Found-sanomaa käytetään kuvaamaan skenaariota, jossa tuntematon lähde lähettää viestin. Se esitetään käyttämällä an nuoli suunnattu kohti pelastusköyttä päätepisteestä.

Esimerkiksi:

Harkitse laitteistovian skenaariota.

löydetty-viesti

Se voi johtua useista syistä, emmekä ole varmoja siitä, mikä aiheutti laitteistovian.

löytyi-viesti-esimerkki

a-b karsiminen

1.9. Kadonnut Viesti

Kadonnutta viestiä käytetään kuvaamaan skenaariota, jossa vastaanottaja ei ole järjestelmän tiedossa. Se esitetään nuolella, joka on suunnattu kohti päätepistettä elinlinjasta.

Esimerkiksi:

Harkitse skenaariota, jossa varoitus luodaan.

kadonnut kuva

Varoitus voidaan luoda käyttäjälle tai muulle ohjelmistolle/objektille, jonka kanssa pelastusköysi on vuorovaikutuksessa. Koska kohdetta ei tiedetä etukäteen, käytämme Kadonnut viesti -symbolia.

Kadonnut kuva-esimerkki

1.10. Vartijat

Käytämme olosuhteiden mallintamiseen UML:n vartijoita. Niitä käytetään, kun meidän on rajoitettava viestien kulkua sillä verukkeella, että ehto täyttyy. Vartijoilla on tärkeä rooli, kun ohjelmistokehittäjät saavat tietää järjestelmään tai tiettyyn prosessiin liittyvät rajoitukset.

Esimerkiksi:

Jotta voit nostaa käteistä, yli nollan saldo on ehto, joka on täytettävä alla olevan kuvan mukaisesti.

Vartijat

Esimerkki-sekvenssi-kaavio-2

Yllä oleva järjestyskaavio kuvaa tunnepohjaisen musiikkisoittimen järjestyskaavion:

  1. Ensin käyttäjä avaa sovelluksen.
  2. Laite saa sitten pääsyn verkkokameraan.
  3. Verkkokamera tallentaa kuvan käyttäjästä.
  4. Laite käyttää algoritmeja kasvojen tunnistamiseen ja mielialan ennustamiseen.
  5. Sitten se pyytää tietokantaa mahdollisten tunnelmien sanakirjaa varten.
  6. Tunnelma haetaan tietokannasta.
  7. Tunnelma näytetään käyttäjälle.
  8. Musiikkia pyydetään tietokannasta.
  9. Soittolista luodaan ja lopulta näytetään käyttäjälle.

2. Kuinka luodaan sekvenssikaavioita?

Sekvenssikaavion luominen sisältää useita vaiheita, ja se tehdään yleensä ohjelmistokehityksen suunnitteluvaiheessa havainnollistamaan eri komponenttien tai objektien vuorovaikutusta ajan mittaan. Tässä on vaiheittaiset ohjeet sekvenssikaavioiden luomiseen:

  1. Tunnista skenaario:
    • Ymmärrä skenaario tai käyttötapaus, jota haluat esittää sekvenssikaaviossa. Tämä voi olla tietty vuorovaikutus objektien välillä tai viestivirta tietyssä prosessissa.
  2. Listaa osallistujat:
    • Tunnista skenaarioon osallistuvat osallistujat (objektit tai toimijat). Osallistujat voivat olla käyttäjiä, järjestelmiä tai ulkoisia kokonaisuuksia.
  3. Määrittele elämänlinjat:
    • Piirrä kullekin osallistujalle pystysuora katkoviiva, joka edustaa kunkin kohteen elinlinjaa ajan kuluessa. Lifeline edustaa esineen olemassaoloa vuorovaikutuksen aikana.
  4. Järjestä Lifelines:
    • Sijoita elinlinjat vaakasuoraan siinä järjestyksessä, missä ne osallistuvat vuorovaikutukseen. Tämä auttaa visualisoimaan osallistujien välisen viestivirran.
  5. Lisää aktivointipalkkeja:
    • Piirrä jokaisen viestin kohdalla aktivointipalkki lähettävän osallistujan elinehtoon. Aktivointipalkki edustaa aikaa, jonka osallistuja aktiivisesti käsittelee viestiä.
  6. Piirrä viestit:
    • Käytä nuolia edustamaan osallistujien välisiä viestejä. Viestit virtaavat vaakasuunnassa elinlinjojen välillä, mikä osoittaa objektien välistä viestintää. Erityyppisiä viestejä ovat synkroniset (yhtenäinen nuoli), asynkroniset (katkoviivanuoli) ja itseviestit.
  7. Sisällytä vastausviestit:
    • Jos osallistuja lähettää vastausviestin, piirrä katkoviiva nuoli, joka palaa alkuperäiseen lähettäjään edustamaan vastausviestiä.
  8. Ilmoita ajoitus ja järjestys:
    • Käytä numeroita viestien järjestyksen osoittamiseen järjestyksessä. Voit myös käyttää pystysuuntaisia ​​katkoviivoja kuvaamaan tapahtumia tai ajan kulumista.
  9. Sisällytä ehdot ja silmukat:
    • Käytä yhdistettyjä fragmentteja edustamaan ehtoja (kuten if-lauseita) ja silmukoita vuorovaikutuksessa. Tämä lisää sekvenssikaavion monimutkaisuutta ja auttaa tarkentamaan ohjausvirtaa.
  10. Harkitse rinnakkaista suoritusta:
    • Jos rinnakkaisia ​​toimintoja tapahtuu, esitä ne piirtämällä yhdensuuntaisia ​​pystysuuntaisia ​​katkoviivoja ja sijoittamalla viestit niiden mukaisesti.
  11. Tarkista ja tarkenna:
    • Tarkista järjestyskaavio selkeyden ja oikeellisuuden vuoksi. Varmista, että se edustaa tarkasti aiottua vuorovaikutusta. Tarkenna tarpeen mukaan.
  12. Lisää huomautuksia ja kommentteja:
    • Sisällytä kaikki lisätiedot, huomautukset tai kommentit, jotka tarjoavat kontekstin tai selventävät kaavion elementtejä.
  13. Asiakirjan oletukset ja rajoitukset:
    • Jos vuorovaikutukseen liittyy oletuksia tai rajoituksia, dokumentoi ne kaavion rinnalle.
  14. Työkalut:
    • Käytä UML-mallinnustyökalua tai kaavioohjelmistoa luodaksesi siisti ja ammattimaisen näköinen sekvenssikaavio. Nämä työkalut tarjoavat usein ominaisuuksia, jotka helpottavat muokkausta, yhteistyötä ja dokumentointia.

3. Sekvenssikaavioiden käyttötapaukset

  • Järjestelmän toiminnan visualisointi:
    • Sekvenssikaavioita käytetään havainnollistamaan järjestelmän dynaamista käyttäytymistä näyttämällä eri komponenttien, objektien tai toimijoiden välisiä vuorovaikutuksia ajan kuluessa.
    • Ne tarjoavat selkeän ja visuaalisen esityksen viestien ja tapahtumien kulusta tietyssä skenaariossa.
  • Ohjelmistosuunnittelu ja -arkkitehtuuri:
    • Ohjelmistokehityksen suunnitteluvaiheessa järjestyskaaviot auttavat kehittäjiä ja arkkitehtejä suunnittelemaan ja ymmärtämään, kuinka eri komponentit ja objektit toimivat vuorovaikutuksessa tiettyjen toimintojen saavuttamiseksi.
    • Ne tarjoavat suunnitelman järjestelmän käyttäytymisestä.
  • Viestintä ja yhteistyö:
    • Sekvenssikaaviot toimivat viestintävälineenä sidosryhmien, mukaan lukien kehittäjät, suunnittelijat, projektipäälliköt ja asiakkaat, kesken.
    • Ne auttavat välittämään monimutkaisia ​​vuorovaikutuksia helposti ymmärrettävässä visuaalisessa muodossa, edistäen yhteistyötä ja yhteisymmärrystä.
  • Vaatimusten selvennys:
    • Järjestelmävaatimuksia tarkennettaessa voidaan käyttää sekvenssikaavioita selventämään ja määrittelemään odotettavissa olevia vuorovaikutuksia järjestelmän komponenttien välillä tai järjestelmän ja ulkoisten kokonaisuuksien välillä.
    • Ne auttavat varmistamaan, että kaikki sidosryhmät ymmärtävät järjestelmän käyttäytymisen.
  • Vianetsintä ja vianetsintä:
    • Kehittäjät käyttävät järjestyskaavioita virheenkorjaustyökaluna tunnistaakseen ja analysoidakseen viestien järjestykseen ja ajoitukseen liittyviä ongelmia järjestelmän vuorovaikutuksen aikana.
    • Se tarjoaa visuaalisen esityksen hallinnan kulusta ja auttaa ongelmien paikallistamisessa ja ratkaisemisessa.

4. Sekvenssikaavioiden käytön haasteet

  • Monimutkaisuus ja koko:
    • Kun järjestelmät monimutkaistuvat, sekvenssikaavioista voi tulla suuria ja monimutkaisia. Kaavion koon hallinta ja vuorovaikutusten tarkka esittäminen voi olla haastavaa, ja liian monimutkaisia ​​kaavioita voi olla vaikea ymmärtää.
  • Abstraktiotaso:
    • Oikean tasapainon löytäminen abstraktion suhteen voi olla haastavaa. Sekvenssikaavioiden on oltava riittävän yksityiskohtaisia ​​välittääkseen tarvittavat tiedot, mutta liian paljon yksityiskohtia voi yllättää lukijat. On tärkeää keskittyä kriittisimpiin vuorovaikutuksiin takertumatta yksityiskohtiin.
  • Dynaaminen luonto:
    • Sekvenssikaaviot edustavat järjestelmän dynaamisia puolia, ja sen seurauksena ne voivat muuttua usein kehitysprosessin aikana. Järjestyskaavioiden pitäminen ajan tasalla kehittyvän järjestelmän mukaan voi olla haastetta erityisesti nopeasti muuttuvissa tai ketterissä kehitysympäristöissä.
  • Epäselvyys viesteissä:
    • Joskus voi olla haastavaa määrittää objektien välisten viestien tarkka luonne. Viestin sisällön tai merkityksen epäselvyys voi johtaa väärinkäsityksiin sidosryhmien keskuudessa ja vaikuttaa sekvenssikaavion tarkkuuteen.
  • Samanaikaisuus ja rinnakkaisuus:
    • Samanaikaisten ja rinnakkaisten prosessien esittäminen voi olla monimutkaista. Vaikka järjestyskaavioissa on mekanismeja, jotka osoittavat rinnakkaisen suorituksen, useiden samanaikaisesti tapahtuvien vuorovaikutusten visualisointi voi olla haastavaa ja saattaa vaatia lisää kaaviollisia elementtejä.
  • Reaaliaikaiset rajoitukset:
    • Reaaliaikaisten rajoitusten ja tarkkojen ajoitusvaatimusten esittäminen voi olla haastavaa. Vaikka järjestyskaaviot tarjoavat peräkkäisen esityksen, reaaliaikaisten näkökohtien tarkka sieppaus ja viestiminen saattaa vaatia lisädokumentaatiota tai täydentäviä kaavioita.