Vad är Unified Modeling Language (UML)?
Förord
UML är ett språk utvecklat för att modellera olika mjukvaru-system. Unified syftade från början på att språket kan användas för att modellera mjukvaru-system inom ett stort antal områden, men har på senare tid kommit att användas för att signalera att språket kan användas inte bara för modellering av mjukvara, utan också för att modellera system i närliggande områden (det främsta exemplet på detta är affärsprocesser).Innehåll
Språk för att visualisera mjukvaru-system har funnits i princip ända sedan mjukvara började utvecklas av större grupperingar och man kan identifiera främst tre anledningar till detta:
• Det finns ett behov av informella (inte kompletta) diagram att diskutera runt.
• Det finns ett behov av diagram för att visualisera analyserad kod (manuellt eller genom program skrivna explicit för detta ändamål).
• Det finns ett behov av diagram att generera kod utifrån (främst när det ska gå att bevisa att koden uppfyller visa krav/regler/etc., men också för att förenkla underhållet av kod).
I början av 1990-talet intensifierades användandet av mjukvaru-modellering och ett större antal språk för detta lanserades. Vart eftersom gick de flesta språken upp i gemensamma standarder, vilket nästan enbart var en lyckad utveckling då de flesta av språken egentligen inte stod så långt ifrån varandra.
Booch (utvecklat av Grady Booch) och OMT (utvecklat av James Rumbaugh) gick 1995 upp i det gemensamma språket Unified Method. Ivar Jacobson (som utvecklat språket Objectory) anslöt sig till gruppen och de tre lanserade så småningom UML. UML överlämnades 1997 till OMG (Object Management Group) som gjorde det till en av sina standarder.
UML-standarden definerar ett antal olika diagram, av vilka de mest kända är:
• Interaktionsdiagram – Används för dynamisk modellering av objekt. De mest kända varianterna är sekvensdiagram och kommunikationsinteraktionsdiagram.
• Klassdiagram – Används för att beskriva klasser, interfaces och hur de binder till varandra (d.v.s. statisk modellering av objekt).
• Aktivitetsdiagram – Används för att visa hur aktiviteter i en process hänger samman (i vilken ordning de exekverar och vilka händelser som sker samtidigt).
• Tillståndsdiagram – Används för att modellera tillståndsmaskiner i olika sammanhang (allt från användarfall till ren hårdvara kan modelleras).
• Komponentdiagram – Används för att visa hur mjukvara tilldelas till konkreta process-noder (t.ex. vilken mjukvara som exekverar på vilken core i en multi-core miljö eller vilken dator i ett nätverk av datorer).
Den nyaste versionen av UML, för tillfället en version av UML 2.0, definierar dock ett stort antal diagram utöver dessa. Denna rikedom av notationer i kombination med att språket t.o.m. innehåller stöd för användaren att utöka diagrammen med egna objekt (s.k. platshållare) har lett till ett brett användande av standarden, vilket borgar för att den kommer att leva vidare som ett av de huvudsakliga verktygen för utvecklare och arkitekter en lång tid framöver.
• Det finns ett behov av informella (inte kompletta) diagram att diskutera runt.
• Det finns ett behov av diagram för att visualisera analyserad kod (manuellt eller genom program skrivna explicit för detta ändamål).
• Det finns ett behov av diagram att generera kod utifrån (främst när det ska gå att bevisa att koden uppfyller visa krav/regler/etc., men också för att förenkla underhållet av kod).
I början av 1990-talet intensifierades användandet av mjukvaru-modellering och ett större antal språk för detta lanserades. Vart eftersom gick de flesta språken upp i gemensamma standarder, vilket nästan enbart var en lyckad utveckling då de flesta av språken egentligen inte stod så långt ifrån varandra.
Booch (utvecklat av Grady Booch) och OMT (utvecklat av James Rumbaugh) gick 1995 upp i det gemensamma språket Unified Method. Ivar Jacobson (som utvecklat språket Objectory) anslöt sig till gruppen och de tre lanserade så småningom UML. UML överlämnades 1997 till OMG (Object Management Group) som gjorde det till en av sina standarder.
UML-standarden definerar ett antal olika diagram, av vilka de mest kända är:
• Interaktionsdiagram – Används för dynamisk modellering av objekt. De mest kända varianterna är sekvensdiagram och kommunikationsinteraktionsdiagram.
• Klassdiagram – Används för att beskriva klasser, interfaces och hur de binder till varandra (d.v.s. statisk modellering av objekt).
• Aktivitetsdiagram – Används för att visa hur aktiviteter i en process hänger samman (i vilken ordning de exekverar och vilka händelser som sker samtidigt).
• Tillståndsdiagram – Används för att modellera tillståndsmaskiner i olika sammanhang (allt från användarfall till ren hårdvara kan modelleras).
• Komponentdiagram – Används för att visa hur mjukvara tilldelas till konkreta process-noder (t.ex. vilken mjukvara som exekverar på vilken core i en multi-core miljö eller vilken dator i ett nätverk av datorer).
Den nyaste versionen av UML, för tillfället en version av UML 2.0, definierar dock ett stort antal diagram utöver dessa. Denna rikedom av notationer i kombination med att språket t.o.m. innehåller stöd för användaren att utöka diagrammen med egna objekt (s.k. platshållare) har lett till ett brett användande av standarden, vilket borgar för att den kommer att leva vidare som ett av de huvudsakliga verktygen för utvecklare och arkitekter en lång tid framöver.
0 Kommentarer