Interaktions-, Samarbets- & Sekvensdiagram med exempel
Vad är interaktionsdiagram?
Interaktionsdiagram används i UML för att upprätta kommunikation mellan objekt. Den manipulerar inte data som är associerade med den specifika kommunikationsvägen. Interaktionsdiagram fokuserar mest på meddelandeöverföring och hur dessa meddelanden utgör en funktion i ett system. Interaktionsdiagram är utformade för att visa hur objekten kommer att realisera de särskilda kraven för ett system. Den kritiska komponenten i ett interaktionsdiagram är livlina och meddelanden.
Olika UML-element äger vanligtvis interaktionsdiagram. Detaljerna för interaktion kan visas med hjälp av flera notationer såsom sekvensdiagram, timingdiagram, kommunikations-/samarbetsdiagram. Interaktionsdiagram fångar det dynamiska beteendet hos vilket system som helst.
Följande är de olika typerna av interaktionsdiagram som definieras i UML:
- Sekvensdiagram
- Samarbetsdiagram
- Tidsdiagram
Syftet med ett sekvensdiagram i UML-diagram är att visualisera sekvensen av ett meddelandeflöde i systemet. Sekvensdiagrammet i mjukvaruteknik visar interaktionen mellan två livlinor som en tidsordnad händelseförlopp.
Samverkansdiagrammet i UML kallas även kommunikationsdiagram. Syftet med ett samverkansdiagram är att betona strukturella aspekter av ett system, dvs hur olika livlinor i systemet hänger ihop.
Tidsdiagram fokuserar på den instans då ett meddelande skickas från ett objekt till ett annat objekt.
Syftet med ett interaktionsdiagram
Interaktionsdiagram hjälper dig att visualisera ett systems interaktiva beteende. Interaktionsdiagram används för att representera hur ett eller flera objekt i systemet ansluter och kommunicerar med varandra.
Interaktionsdiagram fokuserar på ett systems dynamiska beteende. Ett interaktionsdiagram ger oss sammanhanget för en interaktion mellan en eller flera livlinor i systemet.
In UML, används interaktionsdiagrammen för följande syften:
- Interaktionsdiagram används för att observera ett systems dynamiska beteende.
- Interaktionsdiagram visualiserar kommunikationen och sekvensen av meddelanden som skickas i systemet.
- Interaktionsmodelleringsdiagram representerar de strukturella aspekterna av olika objekt i systemet.
- Interaktionsdiagram representerar den ordnade sekvensen av interaktioner inom ett system.
- Interaktionsdiagram ger möjlighet att visualisera realtidsdata via UML.
- UML-interaktionsdiagram kan användas för att förklara arkitekturen för ett objektorienterat eller distribuerat system.
Viktig terminologi
Ett interaktionsdiagram innehåller livlinor, meddelanden, operatörer, tillståndsinvarianter och begränsningar.
Livlina
En livlina representerar en enda deltagare i en interaktion. Den beskriver hur en instans av en specifik klassificerare deltar i interaktionen.
En livlina representerar en roll som en instans av klassificeraren kan spela i interaktionen. Följande är olika attribut för en livlina,
- Namn
- Den används för att hänvisa livlinan inom en specifik interaktion.
- Namnet på en livlina är valfritt.
- Typ
- Det är namnet på en klassificerare som livlinan representerar en instans av.
- Selector
- Det är ett booleskt villkor som används för att välja en viss instans som uppfyller kravet.
- Väljarattribut är också valfritt.
Notationen för livlina förklaras i notationsavsnittet.
Notiser
Ett meddelande är en specifik typ av kommunikation mellan två livlinor i en interaktion. Ett meddelande innefattar följande aktiviteter,
- Ett samtalsmeddelande som används för att anropa en operation.
- Ett meddelande för att skapa en instans.
- Ett meddelande om att förstöra en instans.
- För att skicka en signal.
När en livlina tar emot ett samtalsmeddelande, fungerar den som en begäran om att anropa en operation som har en liknande signatur som specificeras i meddelandet. När en livlina exekverar ett meddelande har den ett fokus på kontroll. När interaktionen fortskrider över tiden, flyttas fokus för kontroll mellan olika livlinor. Denna rörelse kallas ett flöde av kontroll.
Följande är meddelandena som används i ett systeminteraktionsdiagram:
Meddelande namn | Betydelse |
---|---|
Synchederligt meddelande | Avsändaren av ett meddelande fortsätter att vänta på att mottagaren ska återlämna kontrollen från meddelandeexekveringen. |
Asynkront meddelande | Avsändaren väntar inte på en retur från mottagaren; istället fortsätter den exekveringen av nästa meddelande. |
Returnera meddelande | Mottagaren av ett tidigare meddelande återför kontrollen till avsändaren. |
Objekt skapande | Avsändaren skapar en instans av en klassificerare. |
Objekt förstörelse | Avsändaren förstör den skapade instansen. |
Hittade meddelande | Avsändaren av meddelandet är utanför ramen för interaktion. |
Förlorat meddelande | Meddelandet når aldrig destinationen och det går förlorat i interaktionen. |
Ange invarianter och begränsningar
När en instans eller en livlina tar emot ett meddelande kan det få den att ändra tillstånd. Ett tillstånd är ett tillstånd eller en situation under en livstid för ett objekt där det uppfyller vissa krav, utför vissa operationer och väntar på någon händelse.
I interaktionsdiagram orsakar inte alla meddelanden att en instans ändras. Vissa meddelanden har inte värdena för vissa attribut. Det har inga biverkningar på ett objekts tillstånd.
Operator
En operatör specificerar en operation på hur operanderna ska exekveras. Operatörerna i UML stödjer operationer på data i form av förgrening såväl som en iteration. Olika operatörer kan användas för att säkerställa användningen av iteration och förgrening i UML-modellen. Operatörerna opt och alt används för förgreningsoperationer. Slingoperatorn används för att säkerställa iterationsoperationerna där ett tillstånd exekveras upprepade gånger tills det tillfredsställande resultatet produceras. Brytoperator används inuti slingan eller iterationsoperationer. Det säkerställer att slingan avslutas närhelst en pausoperatör påträffas. Om ett avbrottstillstånd inte anges, kör loopen ett oändligt antal gånger, vilket resulterar i att programmet kraschar.
Följande är de operatorer som används i ett interaktionsdiagram:
Operator | Namn | Betydelse |
---|---|---|
Välja | Alternativet | En operand exekveras om villkoret är sant. t.ex. Om annat |
andra | Alternativ | Operanden, vars tillstånd är sant, exekveras. t.ex. byta |
loop | loop | Den används för att loopa en instruktion under en viss period. |
Ha sönder | Ha sönder | Den bryter slingan om ett villkor är sant eller falskt, och nästa instruktion exekveras. |
Ref | Hänvisning | Det används för att referera till en annan interaktion. |
Från | Parallell | Alla operander exekveras parallellt. |
iteration
I ett interaktionsdiagram kan vi också visa iteration med hjälp av ett iterationsuttryck. Ett iterationsuttryck består av en iterationsspecifikator och en valfri iterationssats. Det finns ingen fördefinierad syntax för UML-iteration.
I iteration för att visa att meddelanden skickas parallellt, används parallell iterationsspecifikation. En parallell iterationsspecifikator betecknas med *//. Iteration i UML uppnås genom att använda loopoperatorn.
förgrening
I ett interaktionsdiagram kan vi representera förgrening genom att lägga till bevakningsvillkor till meddelandena. Vaktförhållanden används för att kontrollera om ett meddelande kan skickas vidare eller inte. Ett meddelande skickas bara vidare när dess bevakningsvillkor är sant. Ett meddelande kan ha flera bevakningsvillkor, eller flera meddelanden kan ha samma bevakningsvillkor. Förgrening i UML uppnås med hjälp av alt och opt, operatörer.
Det här är några av viktigaste terminologier som används i UML-interaktionsdiagram.
Typer av interaktionsdiagram och notationer
Följande är de olika typerna av interaktionsdiagram som definieras i UML:
- Sekvensdiagram
- Samarbetsdiagram
- Tidsdiagram
Den grundläggande notationen för interaktion är en rektangel med en femhörning i det övre vänstra hörnet av en rektangulär ruta.
Vad är ett sekvensdiagram?
A Sekvensdiagram skildrar helt enkelt interaktion mellan objekt i sekventiell ordning. Syftet med ett sekvensdiagram i UML är att visualisera sekvensen av ett meddelandeflöde i systemet. Sekvensdiagrammet visar interaktionen mellan två livlinor som ett tidsordnat händelseförlopp.
- Ett sekvensdiagram visar en implementering av ett scenario i systemet. Livlinor i systemet deltar under exekveringen av ett system.
- I ett sekvensdiagram representeras en livlina av en vertikal stapel.
- Ett meddelandeflöde mellan två eller flera objekt representeras med en vertikal streckad linje som sträcker sig längst ned på sidan.
- I ett sekvensdiagram används olika typer av meddelanden och operatörer som beskrivs ovan.
- I ett sekvensdiagram används också iteration och förgrening.
Ovanstående sekvensdiagram innehåller livslinjenotationer och notation av olika meddelanden som används i ett sekvensdiagram, såsom skapa, svara, asynkront meddelande, etc.
Exempel på sekvensdiagram
Följande exempel på sekvensdiagram representerar McDonalds beställningssystem:
Den ordnade händelseförloppet i ett givet sekvensdiagram är som följer:
- Beställa.
- Betala pengar till kassadisken.
- Orderbekräftelse.
- Beställningsförberedelse.
- Beställ servering.
Om man ändrar ordningen på operationerna kan det resultera i att programmet kraschar. Det kan också leda till att felaktiga eller buggiga resultat genereras. Varje sekvens i det ovan givna sekvensdiagrammet betecknas med en annan typ av meddelande. Man kan inte använda samma typ av meddelande för att beteckna alla interaktioner i diagrammet eftersom det skapar komplikationer i systemet.
Du måste vara försiktig när du väljer notationen för ett meddelande för en viss interaktion. Notationen måste matcha den specifika sekvensen i diagrammet.
Fördelar med ett sekvensdiagram
- Sekvensdiagram används för att utforska alla verkliga applikationer eller ett system.
- Sekvensdiagram används för att representera meddelandeflödet från ett objekt till ett annat objekt.
- Sekvensdiagram är lättare att underhålla.
- Sekvensdiagram är lättare att generera.
- Sekvensdiagram kan enkelt uppdateras enligt förändringarna inom ett system.
- Sekvensdiagram tillåter både back- och framåtteknik.
Nackdelar med ett sekvensdiagram
- Sekvensdiagram kan bli komplexa när för många livlinor är inblandade i systemet.
- Om ordningen på meddelandesekvensen ändras, produceras felaktiga resultat.
- Varje sekvens måste representeras med olika meddelandenotation, vilket kan vara lite komplicerat.
- Typen av meddelande bestämmer typen av sekvens i diagrammet.
Vad är samarbetsdiagrammet?
Samarbetsdiagram skildrar relationer och interaktioner mellan programvaruobjekt. De används för att förstå objektarkitekturen i ett system snarare än flödet av ett meddelande som i ett sekvensdiagram. De är också kända som "kommunikationsdiagram."
Enligt objektorienterad programmering (OOP) har en objektenhet olika attribut associerade med sig. Vanligtvis finns det flera objekt i ett objektorienterat system där varje objekt kan associeras med vilket annat objekt som helst i systemet. Samarbetsdiagram används för att utforska arkitekturen för objekt inuti systemet. Meddelandeflödet mellan objekten kan representeras med hjälp av ett samarbetsdiagram.
Fördelar med samarbetsdiagram
- Det kallas också som ett kommunikationsdiagram.
- Den betonar de strukturella aspekterna av ett interaktionsdiagram – hur livlinan ansluter.
- Dess syntax liknar den för sekvensdiagram förutom att livlinan inte har svansar.
- Meddelanden som passeras över sekvensering indikeras genom att varje meddelande numreras hierarkiskt.
- Jämfört med sekvensdiagrammet är kommunikationsdiagrammet semantiskt svagt.
- Objektdiagram är specialfall av kommunikationsdiagram.
- Det låter dig fokusera på elementen istället för att fokusera på meddelandeflödet som beskrivs i sekvensdiagrammet.
- Sekvensdiagram kan enkelt omvandlas till ett samarbetsdiagram eftersom samarbetsdiagram inte är särskilt uttrycksfulla.
- Medan samarbetsdiagram modelleras med sekvensdiagram kan viss information gå förlorad.
Ovanstående samarbetsdiagramnotation innehåller livlinor tillsammans med kopplingar, självslingor, framåt- och bakåtmeddelanden som används i ett samarbetsdiagram.
Nackdelar med ett samarbetsdiagram
- Samarbetsdiagram kan bli komplexa när för många objekt finns i systemet.
- Det är svårt att utforska varje objekt i systemet.
- Samarbetsdiagram är tidskrävande.
- Objektet förstörs efter att ett program avslutats.
- Ett objekts tillstånd ändras momentant, vilket gör det svårt att hålla reda på varje enskild förändring som sker inom ett objekt i ett system.
Samarbetsdiagram Exempel
Följande diagram representerar sekvenseringen över studenthanteringssystemet:
Ovanstående samarbetsdiagram representerar ett studentinformationshanteringssystem. Kommunikationsflödet i diagrammet ovan ges av,
- En elev begär inloggning via inloggningssystemet.
- En autentiseringsmekanism för programvaran kontrollerar begäran.
- Om en studentpost finns i databasen, är åtkomsten tillåten; annars returneras ett fel.
Vad är tidsdiagram?
Tidsdiagram är en vågform eller en graf som används för att beskriva tillståndet för en livlina när som helst. Det används för att beteckna omvandlingen av ett objekt från en form till en annan form. Tidsdiagrammet innehåller inte noteringar som krävs i sekvens- och samverkansdiagrammet. Flödet mellan mjukvaran vid olika tillfällen representeras med hjälp av en vågform.
- Det är en korrekt representation av interaktioner som fokuserar på de specifika tidpunkterna för meddelanden som skickas mellan olika objekt.
- Tidsdiagram används för att förklara den detaljerade tidsbearbetningen av ett visst objekt.
- Tidsdiagram används för att förklara hur ett objekt förändras under dess livstid.
- Tidsdiagram används oftast med distribuerade och inbyggda system.
- I UML läses tidsdiagram från vänster till höger enligt namnet på en livlina som anges i vänsterkanten.
- Tidsdiagram används för att representera olika förändringar som inträffar inom en livlina från tid till annan.
- Tidsdiagram används för att visa en grafisk representation av olika tillstånd av en livlina per tidsenhet.
- UML tillhandahåller olika notationer för att förenkla övergångstillståndet mellan två livlinor per tidsenhet.
Timing diagram Exempel
Tidsdiagrammet nedan representerar några faser av en mjukvaruutvecklingens livscykel.
I diagrammet ovan går mjukvaran först igenom kravfasen, sedan designen och senare utvecklingsfasen. Utsignalen från den föregående fasen vid den givna tiden ges till den andra fasen som en ingång. Således kan tidsdiagrammet användas för att beskriva SDLC (Software Development Life Cycle) i UML.
Fördelar med ett tidsdiagram
- Tidsdiagram används för att representera ett objekts tillstånd vid en viss tidpunkt.
- Timingdiagram tillåter både back- och framåtteknik.
- Tidsdiagram kan användas för att hålla reda på varje förändring i systemet.
Nackdelar med ett tidsdiagram
- Tidsdiagram är svåra att förstå.
- Tidsdiagram är svåra att underhålla.
Hur ritar man ett interaktionsdiagram?
Interaktionsdiagram används för att representera ett systems interaktiva beteende. Interaktionsdiagram fokuserar på ett systems dynamiska beteende. Ett interaktionsdiagram ger oss sammanhanget för en interaktion mellan en eller flera livlinor i systemet.
För att rita ett interaktionsdiagram måste du först bestämma scenariot för vilket du måste rita ett interaktionsdiagram. Efter att ha bestämt situationen, identifiera olika livlinor som kommer att vara involverade i interaktionen. Kategorisera alla livlinans element och utforska dem för att identifiera möjliga kopplingar och hur livlinorna är relaterade till varandra. För att rita ett interaktionsdiagram krävs följande:
- Det totala antalet livlinor som kommer att ingå i en interaktion
- är en sekvens av meddelandeflöden inom olika objekt i ett system.
- Olika operatörer för att underlätta funktionaliteten av ett interaktionsdiagram.
- Olika typer av meddelanden för att visa interaktionen tydligare och mer exakt.
- Den ordnade sekvensen av meddelanden.
- Organisation och en struktur hos ett objekt.
- Olika tidskonstruktioner av ett objekt.
Användning av ett interaktionsdiagram
Interaktionsdiagram består av ett sekvensdiagram, samarbetsdiagram och tidsdiagram. Följande är det specifika syftet med ett interaktionsdiagram:
- Sekvensdiagram används för att utforska alla verkliga applikationer eller ett system.
- Interaktionsdiagram används för att utforska och jämföra användningen av sekvens-, samarbeten och tidsdiagram.
- Interaktionsdiagram används för att fånga ett systems beteende. Den visar den dynamiska strukturen i ett system.
- Sekvensdiagram används för att representera meddelandeflödet från ett objekt till ett annat objekt.
- Samarbetsdiagram används för att förstå objektarkitekturen i ett system snarare än meddelandeflöde.
- Interaktionsdiagram används för att modellera ett system som en tidsordnad händelseförlopp.
- Interaktionsdiagram används i både back- och forward engineering.
- Interaktionsdiagram används för att organisera strukturen av interaktiva element.
Sammanfattning
- Interaktionerna är helt enkelt enheter av en klassificerares beteende.
- De kritiska delarna i ett interaktionsdiagram är livlina och budskap.
- Interaktionsdiagram fokuserar mest på meddelandeförmedling.
- Interaktionsdiagram fångar det dynamiska beteendet hos vilket system som helst.
- Interaktionsdiagram innehåller sekvensdiagram, tidsdiagram, kommunikations-/samarbetsdiagram.
- Sekvens-UML-diagrammet är till för att visualisera sekvensen av ett meddelandeflöde i systemet.
- Syftet med ett samverkansdiagram är att betona strukturella aspekter.
- Tidsdiagram fokuserar på den instans då ett meddelande skickas från ett objekt till ett annat objekt.