Per Erik Strandberg /cv /kurser /blog

Introduktion

Från Wikipedia: [...] Systems Modeling Language [...] är en UML-profil som bland annat lägger till några diagram till UML, till exempel ett diagram för kravhantering [...]. Jag försöker i den här texten diskutera vilka diagram som ingår i SysML, UML och även undersöka några som inte gör det. Men innan det gör vi en snabb analys av varför det är bra med diagram.

Men varför behöver man alla de här diagramtyperna som ingår i SysML, eller UML? Jo, för att med en formalism kan man förklara en reducerad version av verkligheten. Med en strukturerad syntax och semantik får man en abstraktion som kanske är lätta att jobba med än HELA verkligheten.

Man modellerar ofta från ett visst perspektiv, till exempel ett dataflödesperspektiv, ett funktionellt perspektiv, eller ur ett beteendeperspektiv. Detta är något jag gillar, och jag förordar att tänka först innan man välja modelltyp. Jag ritade nyligen ett slags informationsflödesdiagram för ett ganska komplext system - det blev pilar överallt, mellan databaser, användare, konfigurationsfiler och applikationer. Men när aktörerna väl är på plats och man ser pilar mellan dem inser man att varje del inte är så jobbig. Jag fick en överblick och kunde lätt hitta tre högriskområden som behöver vidare analys. Klockrent!

När jag skriver den här introduktionen har jag som mål med denna text att rikta in mig mer mot SysML av anledningarna (1) jag gillar krav och test mer än klassdiagram, (2) jag inbillar mig att jag kan mindre om SysML än om UML och (3) SysML hyllas i bland annat Boken Requirements Engineering Fundamentals.

Bakgrund

SysML har sina rötter i UML (Unified Modeling Language) som bland annat Ivar Jacobson (ni vet, svensken som uppfann användningsfallet, the use case, som modellform) var med och utvecklade på 1990-talet. 1997 tog OMG (Object Management Group) över UML och har hand om UML sedan dess. 2000 blev UML en ISO-standard och därmed en industristandard för att modellera mjukvarusystem. OMG kommer regelbundet med nya versioner av UML.

INCOSE (International Council on Systems Engineering) började anpassa UML för Systems Engineering 2001. 2004 kom det första utkastet och 2005 kom SysML 1.0a via OMG. 2007 1.0, och OMG kommer regelbundet med nya versioner.

I Wikipedias artikel om UML listas lite kritik UML fått utstå:

Jämfört med UML så ska SysML:

SysML's Fyra Pelare: Struktur, Beteende, Krav och Parametrar

En viktig del i SysML verkar vara att man enkelt vill kunna illustrera fyra aspekter av ett system. I OMG's tutorial för SysML har de en bra bild som visar detta. Den innehåller ett ABS system som exempel.

Diagramtyper

Diagramtyper i SysML

SysML har diagram av två typer: beteende eller struktur, där kravdiagramet är lite av båda och hamnar i en tredje kategori. Här kommer citaten dels från Wikipedia och från OMG's SysML Tutorial:

Diagramtyper i UML som inte finns i SysML

UML har en mängd diagram som är ganska väletablerad. Eftersom jag i denna text valt att fokusera på SysML, listar jag här det i UML som inte finns med i SysML. SysML har diagrammen block definition och internal block som nog fyller liknande funktioner som UMLs Component och Composit Structure Diagram (så dessa är inte med i listan nedanför).

Bra diagramtyper som inte ingår i UML eller SysML

Jag har försökt fundera över bra diagramtyper som inte direkt är med i varken UML eller SysML. Jag har även kikat i både Boken Requirements Engineering och Boken Requirements Engineering Fundamentals. Här är några:

Referenser/Se även


Denna sida tillhör Kategori Test - typ.