Vuorovaikutus, yhteistyö ja sekvenssikaaviot esimerkkeineen

Mikä on vuorovaikutuskaavio?

Vuorovaikutuskaavio käytetään UML:ssä kommunikoinnin luomiseen objektien välillä. Se ei käsittele tiettyyn viestintäpolkuun liittyviä tietoja. Vuorovaikutuskaaviot keskittyvät enimmäkseen viestien välitykseen ja siihen, kuinka nämä viestit muodostavat yhden järjestelmän toiminnon. Vuorovaikutuskaaviot on suunniteltu näyttämään, kuinka objektit toteuttavat järjestelmän erityisvaatimukset. Vuorovaikutuskaavion kriittinen komponentti on elinehto ja viestit.

Useat UML-elementit omistavat tyypillisesti vuorovaikutuskaavioita. Vuorovaikutuksen yksityiskohdat voidaan esittää useilla merkinnöillä, kuten sekvenssikaavio, ajoituskaavio, viestintä/yhteistyökaavio. Vuorovaikutuskaaviot kuvaavat minkä tahansa järjestelmän dynaamista käyttäytymistä.

Vuorovaikutuskaavio
Vuorovaikutuskaavion merkintä

Seuraavat ovat UML:ssä määritellyt erityyppiset vuorovaikutuskaaviot:

  • Järjestyskaavio
  • Yhteistyökaavio
  • Ajoituskaavio

Sekvenssikaavion tarkoitus UML-kaavio on visualisoida viestivirran järjestys järjestelmässä. Ohjelmistotekniikan sekvenssikaavio näyttää kahden elinlinjan välisen vuorovaikutuksen aikajärjestyksessä määrättynä tapahtumasarjana.

UML:n yhteistyökaaviota kutsutaan myös viestintäkaavioksi. Yhteistyökaavion tarkoituksena on korostaa järjestelmän rakenteellisia puolia eli sitä, kuinka järjestelmän eri elinlinjat liittyvät toisiinsa.

Ajoituskaaviot keskittyvät tapaukseen, jossa viesti lähetetään objektista toiseen.

Vuorovaikutuskaavion tarkoitus

Vuorovaikutuskaaviot auttavat sinua visualisoimaan järjestelmän vuorovaikutteisen toiminnan. Vuorovaikutuskaavioita käytetään kuvaamaan, kuinka yksi tai useampi järjestelmän objekti muodostaa yhteyden ja kommunikoi keskenään.

Vuorovaikutuskaaviot keskittyvät järjestelmän dynaamiseen käyttäytymiseen. Vuorovaikutuskaavio tarjoaa meille kontekstin yhden tai useamman järjestelmän elinlinjan väliselle vuorovaikutukselle.

In UML, vuorovaikutuskaavioita käytetään seuraaviin tarkoituksiin:

  • Vuorovaikutuskaavioita käytetään tarkkailemaan järjestelmän dynaamista käyttäytymistä.
  • Vuorovaikutuskaavio visualisoi viestinnän ja viestien välityksen järjestelmässä.
  • Vuorovaikutusmallinnuskaavio edustaa järjestelmän eri objektien rakenteellisia näkökohtia.
  • Vuorovaikutuskaavio edustaa järjestettyä vuorovaikutusten sarjaa järjestelmän sisällä.
  • Vuorovaikutuskaavio tarjoaa välineet reaaliaikaisen datan visualisointiin UML:n kautta.
  • UML-vuorovaikutuskaavioita voidaan käyttää oliokeskeisen tai hajautetun järjestelmän arkkitehtuurin selittämiseen.

Tärkeä terminologia

Vuorovaikutuskaavio sisältää elinlinjoja, viestejä, operaattoreita, tilainvariantteja ja rajoitteita.

elinehto

Pelastusköysi edustaa yhtä vuorovaikutuksen osallistujaa. Se kuvaa, kuinka tietyn luokittelijan esiintymä osallistuu vuorovaikutukseen.

Pelastusköysi edustaa roolia, joka luokittelijan esiintymällä voi olla vuorovaikutuksessa. Seuraavassa on erilaisia ​​pelastusköyden ominaisuuksia,

  1. Nimi
    1. Sitä käytetään viittaamaan elinehtoon tietyssä vuorovaikutuksessa.
    2. Pelastusköyden nimi on valinnainen.
  2. Tyyppi
    1. Se on luokittelijan nimi, jonka elinehto edustaa esiintymää.
  3. Valitsin
    1. Se on Boolen ehto, jota käytetään valitsemaan tietty esiintymä, joka täyttää vaatimuksen.
    2. Valitsinmäärite on myös valinnainen.

Elinviivan merkintä selitetään merkintäosassa.

viestit

Viesti on tietyntyyppinen kommunikaatio kahden elinehtojen välillä vuorovaikutuksessa. Viesti sisältää seuraavat toiminnot,

  1. Puheluviesti, jota käytetään kutsumaan toimintoa.
  2. Viesti esiintymän luomiseksi.
  3. Viesti ilmentymän tuhoamiseksi.
  4. Signaalin lähettämiseen.

Kun elinehto vastaanottaa soittoviestin, se toimii pyyntönä käynnistää toiminto, jolla on samanlainen allekirjoitus kuin viestissä. Kun pelastusköysi toteuttaa viestiä, sillä on hallinnan painopiste. Vuorovaikutuksen edetessä ajan myötä hallinnan painopiste siirtyy eri elinlinjojen välillä. Tätä liikettä kutsutaan ohjauksen virtaukseksi.

Seuraavat ovat järjestelmän vuorovaikutuskaaviossa käytetyt viestit:

Viestin nimi Merkitys
Synchurja viesti Viestin lähettäjä odottaa, että vastaanottaja palauttaa ohjauksen viestin suorittamisesta.
Asynkroninen viesti Lähettäjä ei odota palautusta vastaanottajalta; sen sijaan se jatkaa seuraavan viestin suorittamista.
Palautusviesti Aiemman viestin vastaanottaja palauttaa ohjauksen fokuksen lähettäjälle.
Objektin luominen Lähettäjä luo luokittelijan esiintymän.
Objektin tuhoaminen Lähettäjä tuhoaa luodun ilmentymän.
Viesti löytyi Viestin lähettäjä on vuorovaikutuksen ulkopuolella.
Viesti hukassa Viesti ei koskaan saavuta määränpäätä, ja se katoaa vuorovaikutuksessa.

Tilainvariantit ja rajoitukset

Kun esiintymä tai elinehto vastaanottaa viestin, se voi muuttaa sen tilaa. Tila on tila tai tilanne kohteen elinkaaren aikana, jossa se täyttää jonkin rajoituksen, suorittaa joitain toimintoja ja odottaa jotakin tapahtumaa.

Vuorovaikutuskaaviossa kaikki viestit eivät muuta ilmentymän tilaa. Joillakin viesteillä ei ole joidenkin määritteiden arvoja. Sillä ei ole sivuvaikutuksia esineen tilaan.

OperaTor

Operaattori määrittää toiminnon, jolla operandit suoritetaan. UML:n operaattorit tukevat datan operaatioita haaroittamisen ja iteroinnin muodossa. UML-mallissa voidaan varmistaa iteroinnin ja haaroittamisen käyttö useilla eri operaattoreilla. Opt- ja alt-operaattoreita käytetään haarautumistoimintoihin. Silmukkaoperaattoria käytetään varmistamaan iteraatiooperaatiot, joissa ehto suoritetaan toistuvasti, kunnes tyydyttävä tulos on tuotettu. Break-operaattoria käytetään silmukan tai iteraatiooperaatioiden sisällä. Se varmistaa, että silmukka päättyy aina, kun katkosoperaattori kohdataan. Jos katkosehtoa ei ole määritetty, silmukka suorittaa äärettömän määrän kertoja, mikä johtaa ohjelman kaatumiseen.

Vuorovaikutuskaaviossa käytetyt operaattorit ovat seuraavat:

OperaTor Nimi Merkitys
Valita Vaihtoehto Operandi suoritetaan, jos ehto on tosi.
esim, jos muuten
muut Vaihtoehto Operandi, jonka ehto on tosi, suoritetaan.
esim. kytkin
Silmukka Silmukka Sitä käytetään käskyn silmukointiin tietyn ajan.
Tauko Tauko Se katkaisee silmukan, jos ehto on tosi tai epätosi, ja seuraava käsky suoritetaan.
Viite Viite Sitä käytetään viittaamaan toiseen vuorovaikutukseen.
mukaan Parallel Kaikki operandit suoritetaan rinnakkain.

iteraatio

Vuorovaikutuskaaviossa voimme myös näyttää iteroinnin käyttämällä iteraatiolauseketta. Iteraatiolauseke koostuu iteraatiomäärityksestä ja valinnaisesta iteraatiolausekkeesta. UML-iteraatiolle ei ole ennalta määritettyä syntaksia.

Iteraatiossa, joka osoittaa, että viestejä lähetetään rinnakkain, käytetään rinnakkaisiteraatiomääritystä. Rinnakkaisen iteroinnin määritys on merkitty *//. Iterointi UML:ssä saadaan aikaan silmukkaoperaattorilla.

haarautuvan

Vuorovaikutuskaaviossa voimme esittää haaroittumista lisäämällä viesteihin suojaehdot. Vartiointiehtoja käytetään tarkistamaan, voidaanko viesti lähettää eteenpäin vai ei. Viesti lähetetään eteenpäin vain, kun sen suojaehto on tosi. Viestillä voi olla useita suojaehtoja tai useilla viesteillä voi olla sama suojaehto. Haaroittuminen UML:ssä saadaan aikaan alt- ja opt-operaattoreiden avulla.

Nämä ovat joitakin Tärkein UML-vuorovaikutuskaaviossa käytetyt terminologiat.

Vuorovaikutuskaaviot ja merkinnät

Seuraavat ovat UML:ssä määritellyt erityyppiset vuorovaikutuskaaviot:

  • Järjestyskaavio
  • Yhteistyökaavio
  • Ajoituskaavio

Vuorovaikutuksen perusmerkintä on suorakulmio, jossa on viisikulmio suorakaiteen muotoisen laatikon vasemmassa yläkulmassa.

Mikä on sekvenssikaavio?

A Sekvenssikaavio yksinkertaisesti kuvaa objektien välistä vuorovaikutusta peräkkäisessä järjestyksessä. Sekvenssikaavion tarkoitus UML:ssä on visualisoida viestivirran järjestys järjestelmässä. Sekvenssikaavio näyttää kahden elinlinjan välisen vuorovaikutuksen aikajärjestyksessä määrättynä tapahtumasarjana.

  • Järjestyskaavio näyttää skenaarion toteutuksen järjestelmässä. Järjestelmän elinlinjat osallistuvat järjestelmän suorittamiseen.
  • Sekvenssikaaviossa pelastuslinjaa edustaa pystysuora palkki.
  • Kahden tai useamman objektin välinen viestikulku esitetään pystysuoralla katkoviivalla, joka ulottuu sivun alareunaan.
  • Sekvenssikaaviossa käytetään erityyppisiä viestejä ja operaattoreita, jotka on kuvattu edellä.
  • Sekvenssikaaviossa käytetään myös iteraatiota ja haarautumista.
Sekvenssikaavio
Merkinnät sekvenssikaaviossa

Yllä oleva järjestyskaavio sisältää elinehtomerkintöjä ja erilaisten viestien merkintöjä, joita käytetään sekvenssikaaviossa, kuten luonti-, vastaus-, asynkroninen viesti jne.

Esimerkki sekvenssikaaviosta

Seuraava sekvenssikaavioesimerkki edustaa McDonald'sin tilausjärjestelmää:

Sekvenssikaavio
McDonald'sin tilausjärjestelmän sekvenssikaavio

Järjestetty tapahtumien järjestys tietyssä järjestyskaaviossa on seuraava:

  1. Tee tilaus.
  2. Maksa rahat kassalle.
  3. Tilausvahvistus.
  4. Tilauksen valmistelu.
  5. Tilaa tarjoilu.

Jos toimintojen järjestystä muutetaan, se voi johtaa ohjelman kaatumiseen. Se voi myös johtaa väärien tai bugisten tulosten tuottamiseen. Jokainen yllä olevan sekvenssikaavion sekvenssi on merkitty käyttämällä erityyppistä viestiä. Kaikkia vuorovaikutuksia kaaviossa ei voi käyttää samantyyppisellä viestillä, koska se aiheuttaa järjestelmän komplikaatioita.

Sinun on oltava varovainen valitessasi viestin merkintää mille tahansa tietylle vuorovaikutukselle. Merkintöjen tulee vastata tiettyä kaavion sisällä olevaa sekvenssiä.

Sekvenssikaavion edut

  • Sekvenssikaavioita käytetään minkä tahansa todellisen sovelluksen tai järjestelmän tutkimiseen.
  • Sekvenssikaavioita käytetään edustamaan viestikulkua objektista toiseen.
  • Sekvenssikaavioita on helpompi ylläpitää.
  • Sekvenssikaaviot on helpompi luoda.
  • Sekvenssikaavioita voidaan helposti päivittää järjestelmän muutosten mukaan.
  • Sekvenssikaavio mahdollistaa sekä taaksepäin että eteenpäin suunnitellun.

Sekvenssikaavion haitat

  • Sekvenssikaaviot voivat muuttua monimutkaisiksi, kun järjestelmään liittyy liian monta elinehtoa.
  • Jos sanomajärjestyksen järjestystä muutetaan, saadaan virheellisiä tuloksia.
  • Jokainen sekvenssi on esitettävä eri viestimerkinnöillä, mikä voi olla hieman monimutkaista.
  • Viestin tyyppi määrittää kaavion sisällä olevan sekvenssin tyypin.

Mikä on yhteistyökaavio?

Yhteistyökaavio kuvaa ohjelmistoobjektien välisiä suhteita ja vuorovaikutuksia. Niitä käytetään ymmärtämään järjestelmän objektiarkkitehtuuria eikä viestin kulkua, kuten sekvenssikaaviossa. Ne tunnetaan myös "viestintäkaavioina".

Object-Oriented Programming (OOPs) -ohjelmoinnin mukaan objektientiteettiin liittyy useita attribuutteja. Yleensä oliopohjaisessa järjestelmässä on useita objekteja, joissa jokainen objekti voidaan liittää mihin tahansa muuhun järjestelmän sisällä olevaan objektiin. Yhteistyökaavioita käytetään tutkimaan järjestelmän sisällä olevien objektien arkkitehtuuria. Objektien välinen viestivirta voidaan esittää yhteistyökaaviolla.

Yhteistyökaavion edut

  • Sitä kutsutaan myös viestintäkaavioksi.
  • Se korostaa vuorovaikutuskaavion rakenteellisia näkökohtia – kuinka elinehto yhdistää.
  • Sen syntaksi on samanlainen kuin sekvenssikaavion, paitsi että elinlinjalla ei ole häntää.
  • Sekvensoinnin kautta välitetyt viestit osoitetaan numeroimalla kukin viesti hierarkkisesti.
  • Sekvenssikaavioon verrattuna viestintäkaavio on semanttisesti heikko.
  • Objektikaaviot ovat viestintäkaavion erikoistapauksia.
  • Sen avulla voit keskittyä elementteihin sen sijaan, että keskittyisit viestivirtaan sekvenssikaaviossa kuvatulla tavalla.
  • Sekvenssikaaviot voidaan helposti muuntaa yhteistyökaavioiksi, koska yhteistyökaaviot eivät ole kovin ilmeikkäitä.
  • Kun mallinnetaan yhteistyökaavioita wrt sekvenssikaavioilla, osa tiedoista voi kadota.

Yhteistyökaavion merkinnät
Yhteistyökaavion merkinnät

Yllä oleva yhteistyökaavion merkintä sisältää pelastuslinjoja sekä liittimiä, itsesilmukoita sekä yhteistyökaaviossa käytettyjä eteenpäin- ja taaksepäinviestejä.

Yhteistyökaavion haitat

  • Yhteistyökaavioista voi tulla monimutkaisia, kun järjestelmässä on liian monta objektia.
  • On vaikea tutkia jokaista esinettä järjestelmän sisällä.
  • Yhteistyökaaviot ovat aikaa vieviä.
  • Objekti tuhoutuu ohjelman lopettamisen jälkeen.
  • Objektin tila muuttuu hetkellisesti, mikä vaikeuttaa jokaisen järjestelmän objektin sisällä tapahtuvan muutoksen seuraamista.

Yhteistyökaavio Esimerkki

Seuraava kaavio esittää sekvensointia opiskelijahallintajärjestelmän yli:

Yhteistyökaavio

Yhteistyökaavio opiskelijahallintajärjestelmään

Yllä oleva yhteistyökaavio edustaa opiskelijan tiedonhallintajärjestelmää. Viestintävirta yllä olevassa kaaviossa on annettu seuraavasti:

  1. Opiskelija pyytää kirjautumista sisäänkirjautumisjärjestelmän kautta.
  2. Ohjelmiston todennusmekanismi tarkistaa pyynnön.
  3. Jos tietokannassa on opiskelijamerkintä, pääsy on sallittu; muussa tapauksessa palautetaan virhe.

Mikä on ajoituskaavio?

Ajoituskaavio on aaltomuoto tai kaavio, jota käytetään kuvaamaan elinlinjan tilaa milloin tahansa. Sitä käytetään osoittamaan esineen muuntamista muodosta toiseen muotoon. Ajoituskaavio ei sisällä järjestys- ja yhteistyökaaviossa vaadittuja merkintöjä. Ohjelmiston välinen virtaus eri ajankohtina esitetään aaltomuodolla.

  • Se on oikea esitys vuorovaikutuksista, joka keskittyy eri objektien välillä lähetettyjen viestien tiettyihin ajoituksiin.
  • Ajoituskaavioita käytetään selittämään tietyn kohteen yksityiskohtaista aikakäsittelyä.
  • Ajoituskaavioita käytetään selittämään, kuinka objekti muuttuu elinkaarensa aikana.
  • Ajoituskaavioita käytetään enimmäkseen hajautettujen ja sulautettujen järjestelmien kanssa.
  • UML:ssä ajoituskaavioita luetaan vasemmalta oikealle vasemmassa reunassa määritellyn elinlinjan nimen mukaan.
  • Ajoituskaavioita käytetään esittämään erilaisia ​​muutoksia, joita tapahtuu ajoittain elinlinjassa.
  • Ajoituskaavioita käytetään näyttämään graafinen esitys elämänlinjan eri tiloista aikayksikköä kohti.
  • UML tarjoaa erilaisia ​​merkintöjä, jotka yksinkertaistavat siirtymätilaa kahden elinlinjan välillä aikayksikköä kohti.

Esimerkki ajoituskaaviosta

Alla oleva ajoituskaavio edustaa muutamia a:n vaiheita ohjelmistokehityksen elinkaari.

Ajoituskaavio

Esimerkki ajoituskaaviosta

Yllä olevassa kaaviossa ohjelmisto käy ensin vaatimusvaiheen läpi, sitten suunnitteluvaiheen ja myöhemmin kehitysvaiheen. Edellisen vaiheen lähtö kyseisellä aikainstanssilla annetaan toiselle vaiheelle tulona. Siten ajoituskaaviota voidaan käyttää kuvaamaan SDLC:tä (Software Development Life Cycle) UML:ssä.

Ajoituskaavion edut

  • Ajoituskaavioita käytetään esittämään objektin tilaa tietyllä hetkellä.
  • Ajoituskaavio mahdollistaa sekä taaksepäin että eteenpäin suunnitellun.
  • Ajoituskaavion avulla voidaan seurata jokaista muutosta järjestelmän sisällä.

Ajoituskaavion haitat

  • Ajoituskaavioita on vaikea ymmärtää.
  • Ajoituskaavioita on vaikea ylläpitää.

Kuinka piirtää vuorovaikutuskaavio?

Vuorovaikutuskaavioita käytetään kuvaamaan järjestelmän interaktiivista käyttäytymistä. Vuorovaikutuskaaviot keskittyvät järjestelmän dynaamiseen käyttäytymiseen. Vuorovaikutuskaavio tarjoaa meille kontekstin yhden tai useamman järjestelmän elinlinjan väliselle vuorovaikutukselle.

Vuorovaikutuskaavion piirtämistä varten sinun on ensin määritettävä skenaario, jota varten sinun on piirrettävä vuorovaikutuskaavio. Kun olet päättänyt tilanteen, tunnista erilaisia ​​elinehtoja, jotka ovat mukana vuorovaikutuksessa. Luokittele kaikki elinehtoelementit ja tutki niitä tunnistaaksesi mahdolliset yhteydet ja kuinka elinlinjat liittyvät toisiinsa. Vuorovaikutuskaavion piirtäminen edellyttää seuraavia asioita:

  1. Niiden elinlinjojen kokonaismäärä, jotka tulevat olemaan osa vuorovaikutusta
  2. on viestivirran sekvenssi järjestelmän eri objektien sisällä.
  3. Erilaisia ​​operaattoreita vuorovaikutuskaavion toimivuuden helpottamiseksi.
  4. Erilaisia ​​viestejä vuorovaikutuksen näyttämiseksi selkeämmin ja täsmällisemmin.
  5. Järjestetty viestisarja.
  6. Objektin organisaatio ja rakenne.
  7. Erilaiset esineen aikarakenteet.

Vuorovaikutuskaavion käyttö

Vuorovaikutuskaaviot koostuvat järjestyskaaviosta, yhteistyökaaviosta ja ajoituskaavioista. Seuraava on vuorovaikutuskaavion erityinen tarkoitus:

  • Sekvenssikaavioita käytetään minkä tahansa todellisen sovelluksen tai järjestelmän tutkimiseen.
  • Vuorovaikutuskaavioita käytetään sekvenssi-, yhteistyö- ja ajoituskaavioiden käytön tutkimiseen ja vertailuun.
  • Vuorovaikutuskaavioita käytetään kuvaamaan järjestelmän käyttäytymistä. Se näyttää järjestelmän dynaamisen rakenteen.
  • Sekvenssikaavioita käytetään edustamaan viestikulkua objektista toiseen.
  • Yhteistyökaavioita käytetään ymmärtämään järjestelmän objektiarkkitehtuuria viestivirran sijaan.
  • Vuorovaikutuskaavioita käytetään mallintamaan järjestelmää aikajärjestettynä tapahtumasarjana.
  • Vuorovaikutuskaavioita käytetään sekä taaksepäin että eteenpäin suuntautuvassa suunnittelussa.
  • Vuorovaikutuskaavioita käytetään vuorovaikutteisten elementtien rakenteen järjestämiseen.

Yhteenveto

  • Vuorovaikutukset ovat yksinkertaisesti luokittelijan käyttäytymisen yksiköitä.
  • Vuorovaikutuskaavion kriittisiä elementtejä ovat elinehto ja viestit.
  • Vuorovaikutuskaaviot keskittyvät enimmäkseen viestien välittämiseen.
  • Vuorovaikutuskaaviot kuvaavat minkä tahansa järjestelmän dynaamista käyttäytymistä.
  • Vuorovaikutuskaavio sisältää sekvenssikaavion, ajoituskaavion, viestintä-/yhteistyökaavion.
  • Sekvenssi-UML-kaavion tarkoituksena on visualisoida viestivirran järjestys järjestelmässä.
  • Yhteistyökaavion tarkoituksena on korostaa rakenteellisia näkökohtia.
  • Ajoituskaaviot keskittyvät tapaukseen, jossa viesti lähetetään objektista toiseen.