Informationsmodellering: Om struktur i flera nivåer

I en informationsmodell med många ämnesområden har vi ett behov av att gruppera dessa i större områden. Det vill säga att etablera en övergripande struktur för modellen. Sedan finns det också ofta ett behov av att dela in ett enskilt ämnesområde i mindre avsnitt. På så sätt kan vi strukturera en informationsmodell i flera nivåer. Denna artikel visar hur vi kan gestalta denna struktur grafiskt i ett ER-diagram.

Gruppering av ämnesområden

Låt mig visa ett exempel, se bild I. Detta är ett utsnitt av ett ER-diagram som är en översikt av en större informationsmodell, vilken omfattar en hel verksamhet. Modellen som helhet har ett femtiotal ämnesområden. Förutom det översiktliga ER-diagrammet finns det ett detaljerat ER-diagram och detaljerade textuella beskrivningar för varje ämnesområde.
Du kan läsa mer om ämnesområden i artikeln Informationsmodellering: Om ämnesområden

För att få till en övergripande struktur räcker det inte med ämnesområdena. Det finns ett behov av en mer övergripande struktur. För detta skapade vi femton övergripande områden med upp till kanske sex-sju ämnesområden i varje.

Lägg märke till hur vi har gestaltat denna indelning grafiskt. Varje sådan grupp av ämnesområden bildar en egen avgränsad rektangel i ER-diagrammet, med extra luft runt och en rubrik över. För att tydligt ringa in varje grupp har vi gjort en bred grå linje över gruppen, på vilken grupprubriken är skriven. Linjen spänner över hela bredden på gruppen för att tydligt markera vilka ämnesområden som ingår i gruppen. Även grupprubriken är grå, för att den inte ska framhävas lika mycket som entiteterna.

Det är viktigt att både rubrik, definition och rubriklinje är gjord i en mörkgrå färg, i likhet med ämnesområdets rubrik. Det gör att hela den underliggande strukturen hamnar på ett mentalt plan som är mindre framträdande, för att inte förvirra vårt mönstersökande synsinne. Det gör att entiteterna och deras relationslinjer framhävs i förhållande till strukturen. Allt detta gör modellen tydligare. 

Det vanligaste sättet att gruppera saker i flera nivåer i en graf brukar annars vara att rita rutor i rutor. Men det bör vi undvika. Det blir svårare att överblicka. Förmodligen för att hjärnan hela tiden söker mönster, och om rutor ibland kan vara entiteter och ibland ämnesområden och ibland grupper av ämnesområden så går en del mental kapacitet åt till att hela tiden försöka skilja mellan dessa. Synsinnet belastas ju mycket av att leta mönster bland myllret av synimpulser och försöka ge dessa mening. Vad hör ihop med vad? Vad är parallella företeelser? Vad är viktigast? Låt oss då hjälpa till, genom att göra de mönster vi vill förmedla visuellt tydliga, och låt oss avstå från sådant som förvirrar.

Bild I Exempel på gruppering av ämnesområde

Vi har lagt till en definition under, eller efter, grupprubriken när vi tyckt att det behövts, skrivet med ett mindre typsnitt. Detta har vi gjort med ämnesområdenas rubriker också, liksom med entiteterna.

Vi älskar definitioner! Inget skapar så mycket förvirring och tveksamhet helt i onödan, som en modell utan definitioner. Ett namn kan stå för lite av varje, och ofta är man osäker på vad den som gjort modellen har tänkt sig. Definitioner i ER-diagrammet ger läsaren en betydligt bättre chans att förstå.

Att skriva definitioner tvingar mig som modellerare att tänka igenom vad jag egentligen menar, och hur det kan uttryckas tydligt. Vilket ofta leder till att jag för mig själv reder ut inkonsekvenser och oklara tänkesätt. Esaias Tegnér sa det väl: ”Det dunkelt sagda är det dunkelt tänkta”. När vi tvingas att uttrycka våra uppfattningar tydligt, till exempel genom att tydligt definiera våra modellelement så som entiteter, ämnesområden, attribut och relationer, blir vi nödgade att tänka klarare och tydligare. Jag kommer i en senare artikel att berätta om vad en bra definition är och vad den inte är.

Gruppering i två dimensioner

Ibland finner man att man att det vore bra att strukturera sin modell i två dimensioner. Då kan man ordna ämnesområdena i rader och kolumner med rad- och kolumnrubriker. Se exempel bild II.

Bild II Exempel på gruppering av ämnesområde i två dimensioner

Gruppering inom ämnesområden

Vanligen finns det även ett behov av att gruppera entiteter inom ett ämnesområde. Det underlättar ofta läsningen och förståelsen av modellen.

Då använder jag ett liknande sätt att rita som för grupper av ämnesområden. Det vill säga att jag skapar en rubrik på en bred horisontell linje där linjen dras ut så den tydligt markerar vad gruppen omfattar. Det som omfattas är alltid en eller flera entiteter men kan även inkludera andra modellelement. Se bild III.

Bild III Exempel på gruppering av entiteter inom ett ämnesområde

Viktigt att vi identifierar och gestaltar meningsfulla strukturer

Jag menar att det är viktigt att vi identifierar meningsfulla strukturer i vår verksamhetsdomän, samt att vi gestaltar dessa i vår modell. På så sätt kan vi skapa en mer tydlig gemensam karta över vår data-/informationsresurs, de företeelser som hanteras och vår verksamhetslogik. Detta har ett stort värde för vår gemensamma förståelse och lärande, och därmed för verksamhetens hela hantering och utveckling.

Varning för övertro på industrimodeller.

Men se upp för att använda en generell struktur för alla verksamheter du stöter på. Det har många gånger gjorts försök i olika branscher att skapa generella strukturer som fungerar för en hel bransch. Men det är omöjligt att bedöma om en sådan struktur skulle fungera för ens egen verksamhet innan vi ens har förstått och kommit överens om vår egen struktur. Ty varje typ av verksamhet har sin egen struktur. Till och med verksamheter i samma bransch har ofta ganska olika sätt att hantera saker. Det kan bero på att de har lite annorlunda gränsdragning mot partners eller leverantörer. Eller att deras produkt- eller tjänstestruktur är annorlunda uppbyggd.

Tyvärr ser man ofta en övertro på så kallade industrimodeller. Man har grovt generaliserade strukturer för en hel bransch, och försöker tvinga alla i samma mall. Det skulle kanske fungera någorlunda om man såg till att förstå sin egen verksamhet på djupet, och i detalj, där det trixiga gömmer sig. Det vill säga om man modellerade först. Men det var ju det man hoppades slippa genom att köpa in en industrimodell.

Dock finns det mönster som återkommer både inom branscher och också tvärs över olika branscher. Men det är något annat. Det är sådant vi ska hålla utkik efter. Det är ett spännande och outforskat område som det skulle vara intressant att gräva mer i. Men det är inte alls samma sak som att tro att man bara kan applicera en industrimodell för sin egen verksamhet.
För att läsa mer om problemet med industrimodeller se artikeln: ”Varför en industrimodell är en dålig idé”

Hur gör du?

Nu har jag berättat hur jag gör för att strukturera modeller. Berätta gärna hur du gör. Kanske kan vi lära oss mer tillsammans? Hör av dig via LinkedIn eller mejl, peter.tallungs@irm.se.

/Peter Tallungs, IRM

Nästa artikel i serien publicerar vi torsdag 24 mars. Vill du prenumerera på denna artikelserie? Registrera din mailadress här.

PS Vi har tyvärr varit tvungna att ta bort möjligheten att kommentera på artiklarna för en tid. Har du tankar om innehållet i artikeln som du vill dela? Välkommen att kommentera på vår linkedin där lägger vi ut en post vid varje publiceringstilfälle. Eller skicka ett mail till Peter Tallungs: peter.tallungs(at)irm.se