Interaksjons-, samarbeids- og sekvensdiagrammer med eksempler
Hva er interaksjonsdiagram?
Interaksjonsdiagram brukes i UML for å etablere kommunikasjon mellom objekter. Den manipulerer ikke dataene knyttet til den bestemte kommunikasjonsveien. Interaksjonsdiagrammer fokuserer for det meste på meldingsoverføring og hvordan disse meldingene utgjør én funksjonalitet i et system. Interaksjonsdiagrammer er designet for å vise hvordan objektene vil realisere de spesielle kravene til et system. Den kritiske komponenten i et interaksjonsdiagram er livline og meldinger.
Ulike UML-elementer eier typisk interaksjonsdiagrammer. Detaljene om interaksjon kan vises ved hjelp av flere notasjoner som sekvensdiagram, tidsdiagram, kommunikasjons-/samarbeidsdiagram. Interaksjonsdiagrammer fanger opp den dynamiske oppførselen til ethvert system.

Følgende er de forskjellige typene interaksjonsdiagrammer definert i UML:
- Sekvensdiagram
- Samarbeidsdiagram
- Tidsdiagram
Hensikten med et sekvensdiagram i UML diagram er å visualisere sekvensen av en meldingsflyt i systemet. Sekvensdiagrammet i programvareteknikk viser samspillet mellom to livslinjer som en tidsordnet sekvens av hendelser.
Samarbeidsdiagrammet i UML kalles også et kommunikasjonsdiagram. Hensikten med et samarbeidsdiagram er å understreke strukturelle aspekter ved et system, dvs. hvordan ulike livslinjer i systemet henger sammen.
Tidsdiagrammer fokuserer på forekomsten der en melding sendes fra ett objekt til et annet objekt.
Hensikten med et interaksjonsdiagram
Interaksjonsdiagrammer hjelper deg med å visualisere den interaktive oppførselen til et system. Interaksjonsdiagrammer brukes til å representere hvordan ett eller flere objekter i systemet kobles sammen og kommuniserer med hverandre.
Interaksjonsdiagrammer fokuserer på den dynamiske oppførselen til et system. Et interaksjonsdiagram gir oss konteksten for en interaksjon mellom en eller flere livslinjer i systemet.
In UML, brukes interaksjonsdiagrammene til følgende formål:
- Interaksjonsdiagrammer brukes til å observere den dynamiske oppførselen til et system.
- Interaksjonsdiagram visualiserer kommunikasjonen og sekvensen av meldinger som sendes i systemet.
- Interaksjonsmodelleringsdiagram representerer de strukturelle aspektene ved ulike objekter i systemet.
- Interaksjonsdiagram representerer den ordnede sekvensen av interaksjoner i et system.
- Interaksjonsdiagram gir mulighet for å visualisere sanntidsdata via UML.
- UML-interaksjonsdiagrammer kan brukes til å forklare arkitekturen til et objektorientert eller distribuert system.
Viktig terminologi
Et interaksjonsdiagram inneholder livslinjer, meldinger, operatører, tilstandsinvarianter og begrensninger.
Lifeline line~~POS=HEADCOMP
En livline representerer en enkelt deltaker i en interaksjon. Den beskriver hvordan en forekomst av en spesifikk klassifikator deltar i interaksjonen.
En livslinje representerer en rolle som en forekomst av klassifisereren kan spille i interaksjonen. Følgende er ulike attributter til en livline,
- Navn
- Den brukes til å referere livlinen innenfor en spesifikk interaksjon.
- Et navn på en livline er valgfritt.
- typen
- Det er navnet på en klassifikator som livslinjen representerer en instans av.
- Selector
- Det er en boolsk tilstand som brukes til å velge en bestemt instans som tilfredsstiller kravet.
- Velgerattributt er også valgfritt.
Notasjonen av livline er forklart i notasjonsdelen.
meldinger
Et budskap er en spesifikk type kommunikasjon mellom to livslinjer i en interaksjon. En melding innebærer følgende aktiviteter,
- En anropsmelding som brukes til å ringe en operasjon.
- En melding for å opprette en forekomst.
- En melding om å ødelegge en instans.
- For å sende et signal.
Når en livlinje mottar en anropsmelding, fungerer den som en forespørsel om å påkalle en operasjon som har en lignende signatur som spesifisert i meldingen. Når en livline utfører en melding, har den et fokus på kontroll. Ettersom interaksjonen skrider frem over tid, flytter fokuset for kontroll mellom ulike livslinjer. Denne bevegelsen kalles en flyt av kontroll.
Følgende er meldingene som brukes i et systeminteraksjonsdiagram:
Meldingsnavn | Betydning |
---|---|
Syncærefull melding | Avsenderen av en melding fortsetter å vente på at mottakeren skal returnere kontroll fra meldingskjøringen. |
Asynkron melding | Avsenderen venter ikke på retur fra mottakeren; i stedet fortsetter den kjøringen av en neste melding. |
Returner melding | Mottakeren av en tidligere melding returnerer fokus for kontroll til avsenderen. |
Objektopprettelse | Avsenderen oppretter en forekomst av en klassifiserer. |
Ødeleggelse av objekter | Avsenderen ødelegger den opprettede forekomsten. |
Funnet melding | Avsenderen av meldingen er utenfor interaksjonsområdet. |
Mistet melding | Meldingen når aldri målet, og den går tapt i interaksjonen. |
Angi invarianter og begrensninger
Når en instans eller en livslinje mottar en melding, kan det føre til at den endrer tilstanden. En tilstand er en tilstand eller en situasjon i løpet av livet til et objekt der det tilfredsstiller en begrensning, utfører noen operasjoner og venter på en hendelse.
I interaksjonsdiagram fører ikke alle meldinger til å endre tilstanden til en forekomst. Noen meldinger har ikke verdiene til noen attributter. Det har ingen bivirkninger på tilstanden til et objekt.
Operator
En operatør spesifiserer en operasjon på hvordan operandene skal utføres. Operatørene i UML støtter operasjoner på data i form av forgrening samt en iterasjon. Ulike operatører kan brukes for å sikre bruk av iterasjon og forgrening i UML-modellen. Operatorene opt og alt brukes til forgreningsoperasjoner. Sløyfeoperatoren brukes til å sikre iterasjonsoperasjonene der en tilstand utføres gjentatte ganger til det tilfredsstillende resultatet er produsert. Break-operator brukes inne i loopen eller iterasjonsoperasjoner. Det sikrer at sløyfen avsluttes hver gang en pauseoperatør støtes på. Hvis en pausebetingelse ikke er spesifisert, kjører loopen et uendelig antall ganger, noe som resulterer i at programmet krasjer.
Følgende er operatørene som brukes i et interaksjonsdiagram:
Operator | Navn | Betydning |
---|---|---|
opt | Alternativ | En operand utføres hvis betingelsen er sann. f.eks. Hvis annet |
andre | Alternativ | Operaanden, hvis tilstand er sann, utføres. for eksempel bytte |
Loop | Loop | Den brukes til å sløyfe en instruksjon for en spesifisert periode. |
Break | Break | Den bryter sløyfen hvis en betingelse er sann eller usann, og neste instruksjon utføres. |
Ref | Referanse | Det brukes til å referere til en annen interaksjon. |
Par | Parallel | Alle operander utføres parallelt. |
køyring
I et interaksjonsdiagram kan vi også vise iterasjon ved hjelp av et iterasjonsuttrykk. Et iterasjonsuttrykk består av en iterasjonsspesifikator og en valgfri iterasjonsledd. Det er ingen forhåndsspesifisert syntaks for UML-iterasjon.
I iterasjon for å vise at meldinger sendes parallelt, brukes parallell iterasjonsspesifikasjon. En parallell iterasjonsspesifikasjoner er merket med *//. Iterasjon i UML oppnås ved å bruke loop-operatoren.
forgrening
I et interaksjonsdiagram kan vi representere forgrening ved å legge til vaktforhold til meldingene. Vaktforhold brukes for å sjekke om en melding kan sendes videre eller ikke. En melding sendes videre bare når dens vakttilstand er sann. En melding kan ha flere vaktbetingelser, eller flere meldinger kan ha samme vakttilstand. Forgrening i UML oppnås ved hjelp av alt og opt, operatører.
Dette er noen av viktigst terminologier brukt i UML-interaksjonsdiagram.
Typer interaksjonsdiagram og notasjoner
Følgende er de forskjellige typene interaksjonsdiagrammer definert i UML:
- Sekvensdiagram
- Samarbeidsdiagram
- Tidsdiagram
Den grunnleggende notasjonen for interaksjon er et rektangel med en femkant i øvre venstre hjørne av en rektangulær boks.
Hva er et sekvensdiagram?
A Sekvensdiagram skildrer ganske enkelt interaksjon mellom objekter i sekvensiell rekkefølge. Hensikten med et sekvensdiagram i UML er å visualisere sekvensen til en meldingsflyt i systemet. Sekvensdiagrammet viser samspillet mellom to livslinjer som et tidsordnet hendelsesforløp.
- Et sekvensdiagram viser en implementering av et scenario i systemet. Livslinjer i systemet deltar under utførelse av et system.
- I et sekvensdiagram er en livslinje representert av en vertikal strek.
- En meldingsflyt mellom to eller flere objekter er representert ved hjelp av en vertikal stiplet linje som strekker seg over bunnen av siden.
- I et sekvensdiagram brukes ulike typer meldinger og operatører som er beskrevet ovenfor.
- I et sekvensdiagram brukes også iterasjon og forgrening.
Sekvensdiagrammet ovenfor inneholder livslinjenotasjoner og notasjon av forskjellige meldinger som brukes i et sekvensdiagram, for eksempel opprettelse, svar, asynkron melding, etc.
Sekvensdiagrameksempel
Følgende eksempel på sekvensdiagram representerer McDonald's bestillingssystem:
Den ordnede hendelsesforløpet i et gitt sekvensdiagram er som følger:
- Legg inn en bestilling.
- Betal penger til kassen.
- Ordrebekreftelse.
- Ordreforberedelse.
- Bestill servering.
Hvis man endrer rekkefølgen på operasjonene, kan det føre til at programmet krasjer. Det kan også føre til å generere feil eller feilaktige resultater. Hver sekvens i det ovenfor angitte sekvensdiagrammet er angitt med en annen type melding. Man kan ikke bruke samme type melding for å betegne alle interaksjonene i diagrammet fordi det skaper komplikasjoner i systemet.
Du må være forsiktig når du velger notasjonen til en melding for en bestemt interaksjon. Notasjonen må samsvare med den spesielle sekvensen inne i diagrammet.
Fordeler med et sekvensdiagram
- Sekvensdiagrammer brukes til å utforske en hvilken som helst applikasjon eller et system.
- Sekvensdiagrammer brukes til å representere meldingsflyt fra ett objekt til et annet objekt.
- Sekvensdiagrammer er lettere å vedlikeholde.
- Sekvensdiagrammer er lettere å generere.
- Sekvensdiagrammer kan enkelt oppdateres i henhold til endringene i et system.
- Sekvensdiagram muliggjør reversering så vel som fremoverteknikk.
Ulemper med et sekvensdiagram
- Sekvensdiagrammer kan bli komplekse når for mange livlinjer er involvert i systemet.
- Hvis rekkefølgen på meldingssekvensen endres, produseres feil resultater.
- Hver sekvens må representeres ved hjelp av forskjellig meldingsnotasjon, som kan være litt komplisert.
- Meldingstypen bestemmer typen sekvens inne i diagrammet.
Hva er samarbeidsdiagrammet?
Samarbeidsdiagram skildrer relasjoner og interaksjoner mellom programvareobjekter. De brukes til å forstå objektarkitekturen i et system i stedet for flyten av en melding som i et sekvensdiagram. De er også kjent som "kommunikasjonsdiagrammer."
I henhold til objektorientert programmering (OOPs), har en objektenhet forskjellige attributter knyttet til seg. Vanligvis er det flere objekter til stede i et objektorientert system hvor hvert objekt kan assosieres med et hvilket som helst annet objekt inne i systemet. Samarbeidsdiagrammer brukes til å utforske arkitekturen til objekter inne i systemet. Meldingsflyten mellom objektene kan representeres ved hjelp av et samarbeidsdiagram.
Fordeler med samarbeidsdiagram
- Det kalles også som et kommunikasjonsdiagram.
- Det understreker de strukturelle aspektene ved et interaksjonsdiagram – hvordan livslinjen henger sammen.
- Syntaksen ligner på sekvensdiagrammet bortsett fra at livslinjen ikke har haler.
- Meldinger som sendes over sekvensering indikeres ved å nummerere hver melding hierarkisk.
- Sammenlignet med sekvensdiagrammet er kommunikasjonsdiagrammet semantisk svakt.
- Objektdiagrammer er spesielle tilfeller av kommunikasjonsdiagram.
- Den lar deg fokusere på elementene i stedet for å fokusere på meldingsflyten som beskrevet i sekvensdiagrammet.
- Sekvensdiagrammer kan enkelt konverteres til et samarbeidsdiagram da samarbeidsdiagrammer ikke er veldig uttrykksfulle.
- Mens du modellerer samarbeidsdiagrammer i forhold til sekvensdiagrammer, kan noe informasjon gå tapt.
Samarbeidsdiagramnotasjonen ovenfor inneholder livslinjer sammen med koblinger, selvløkker, frem- og tilbakemeldinger som brukes i et samarbeidsdiagram.
Ulemper med et samarbeidsdiagram
- Samarbeidsdiagrammer kan bli komplekse når for mange objekter er tilstede i systemet.
- Det er vanskelig å utforske hvert objekt inne i systemet.
- Samarbeidsdiagrammer er tidkrevende.
- Objektet blir ødelagt etter avslutning av et program.
- Tilstanden til et objekt endres momentant, noe som gjør det vanskelig å holde styr på hver eneste endring som skjer innenfor et objekt i et system.
Samarbeidsdiagram Eksempel
Følgende diagram representerer sekvenseringen over studentstyringssystemet:
Samarbeidsdiagrammet ovenfor representerer et studentinformasjonsstyringssystem. Kommunikasjonsflyten i diagrammet ovenfor er gitt av,
- En student ber om pålogging gjennom påloggingssystemet.
- En autentiseringsmekanisme for programvare sjekker forespørselen.
- Hvis det finnes en studentoppføring i databasen, er tilgangen tillatt; ellers returneres en feil.
Hva er tidsdiagram?
Tidsdiagram er en bølgeform eller en graf som brukes til å beskrive tilstanden til en livline til enhver tid. Det brukes til å betegne transformasjonen av et objekt fra en form til en annen form. Tidsdiagrammet inneholder ikke notasjoner som kreves i sekvens- og samarbeidsdiagrammet. Flyten mellom programvaren på forskjellige tidspunkter er representert ved hjelp av en bølgeform.
- Det er en riktig representasjon av interaksjoner som fokuserer på de spesifikke tidspunktene for meldinger sendt mellom ulike objekter.
- Tidsdiagrammer brukes til å forklare den detaljerte tidsbehandlingen av et bestemt objekt.
- Tidsdiagrammer brukes til å forklare hvordan et objekt endres i løpet av sin levetid.
- Tidsdiagrammer brukes mest med distribuerte og innebygde systemer.
- I UML leses tidsdiagrammer fra venstre til høyre i henhold til navnet på en livslinje spesifisert i venstre kant.
- Tidsdiagrammer brukes til å representere ulike endringer som skjer innenfor en livlinje fra tid til annen.
- Tidsdiagrammer brukes til å vise en grafisk representasjon av ulike tilstander av en livslinje per tidsenhet.
- UML gir ulike notasjoner for å forenkle overgangstilstanden mellom to livlinjer per tidsenhet.
Tidsdiagram Eksempel
Tidsdiagrammet nedenfor representerer noen få faser av en programvareutvikling livssyklus.
I diagrammet ovenfor går programvaren først gjennom kravfasen, deretter design og senere utviklingsfasen. Utgangen fra den forrige fasen ved det gitte tidspunktet gis til den andre fasen som en inngang. Dermed kan tidsdiagrammet brukes til å beskrive SDLC (Software Development Life Cycle) i UML.
Fordeler med et tidsdiagram
- Tidsdiagrammer brukes til å representere tilstanden til et objekt på et bestemt tidspunkt.
- Tidsdiagrammet tillater revers så vel som forover engineering.
- Tidsdiagram kan brukes til å holde styr på hver endring inne i systemet.
Ulemper med et tidsdiagram
- Tidsdiagrammer er vanskelige å forstå.
- Tidsdiagrammer er vanskelige å vedlikeholde.
Hvordan tegne et interaksjonsdiagram?
Interaksjonsdiagrammer brukes til å representere den interaktive oppførselen til et system. Interaksjonsdiagrammer fokuserer på den dynamiske oppførselen til et system. Et interaksjonsdiagram gir oss konteksten for en interaksjon mellom en eller flere livslinjer i systemet.
For å tegne et interaksjonsdiagram, må du først bestemme scenariet du må tegne et interaksjonsdiagram for. Etter å ha bestemt situasjonen, identifiser ulike livslinjer som skal være involvert i samhandlingen. Kategoriser alle livslinjeelementene og utforsk dem for å identifisere mulige sammenhenger og hvordan livslinjene er relatert til hverandre. For å tegne et interaksjonsdiagram kreves følgende:
- Det totale antallet livliner som skal være en del av en interaksjon
- er en sekvens av meldingsflyt innenfor ulike objekter i et system.
- Ulike operatører for å lette funksjonaliteten til et interaksjonsdiagram.
- Ulike typer meldinger for å vise samhandlingen tydeligere og på en presis måte.
- Den ordnede sekvensen av meldinger.
- Organisasjon og en struktur av et objekt.
- Ulike tidskonstruksjoner av et objekt.
Bruk av et interaksjonsdiagram
Interaksjonsdiagrammer består av et sekvensdiagram, samarbeidsdiagram og tidsdiagrammer. Følgende er det spesifikke formålet med et interaksjonsdiagram:
- Sekvensdiagrammer brukes til å utforske en hvilken som helst applikasjon eller et system.
- Interaksjonsdiagrammer brukes til å utforske og sammenligne bruken av sekvens-, samarbeids- og tidsdiagrammer.
- Interaksjonsdiagrammer brukes til å fange oppførselen til et system. Den viser den dynamiske strukturen til et system.
- Sekvensdiagrammer brukes til å representere meldingsflyt fra ett objekt til et annet objekt.
- Samarbeidsdiagrammer brukes til å forstå objektarkitekturen til et system i stedet for meldingsflyt.
- Interaksjonsdiagrammer brukes til å modellere et system som en tidsordnet sekvens av hendelser.
- Interaksjonsdiagrammer brukes i revers så vel som fremoverteknikk.
- Interaksjonsdiagrammer brukes til å organisere strukturen til interaktive elementer.
Sammendrag
- Interaksjonene er ganske enkelt enheter av oppførselen til en klassifikator.
- De kritiske elementene i et interaksjonsdiagram er livline og meldinger.
- Interaksjonsdiagrammer fokuserer for det meste på overføring av meldinger.
- Interaksjonsdiagrammer fanger opp den dynamiske oppførselen til ethvert system.
- Interaksjonsdiagram inneholder sekvensdiagram, tidsdiagram, kommunikasjons-/samarbeidsdiagram.
- Sekvens UML-diagrammet er for å visualisere sekvensen til en meldingsflyt i systemet.
- Hensikten med et samarbeidsdiagram er å legge vekt på strukturelle aspekter.
- Tidsdiagrammer fokuserer på forekomsten der en melding sendes fra ett objekt til et annet objekt.