Informationsmodellering: Integrera text och grafik

En modell – informationsmodell eller annan modell – är inte komplett förrän den är gestaltad i både grafik och text. Och vi bör sträva efter att integrera texten och grafiken så långt det är möjligt.

Det vanliga är att en informationsmodell endast görs som ett ER-diagram. Så vanligt att många till och med sätter likhetstecken mellan informationsmodell och ER-diagram. Ibland kan diagrammet åtföljas av text vid sidan av. Men då ser man vanligen inte texten som en fullvärdig del av modellens gestaltning utan som en bifogad förklaring av modellen. Skillnaden kan tyckas subtil men är avgörande menar jag, för vår förståelse av vad en modell är.

En komplett modell bör vara gestaltad i både diagram och text

Jag menar att en informationsmodell bör vara gestaltad i både text och grafik. Det är sant att en bild säger mer än tusen ord. Men det är likafullt sant att en text säger mer än tusen bilder. Och ännu mera sant att med text och bild tillsammans så får vi en synergi som når ännu längre i tydlighet och klarhet. När vi behöver uttrycka oss både visuellt och verbalt, blir det inte bara tydligare utan vi kan även tänka klarare.

Modeller är våra centrala verktyg. Och hur vi gestaltar dem är avgörande för hur effektiva de blir, både som analys- och tankeverktyg i sig själva samt för att kommunicera det vi kommit fram till. Vi bör därför använda oss av alla till buds stående medel för att gestalta våra modeller. Då behöver vi både diagram och text, samt att vi låter diagram och text stödja varandra så mycket det bara går.

Diagram är för informationsmodeller först och främst alltid ett eller flera ER-diagram av något slag. Men också andra typer av diagram kan behövas, så som förekomstdiagram (instance diagrams) och tillståndsdiagram (state charts). Text innebär strukturerad text av olika slag.

Den amerikanske statistikern och grafikern Edward Tufte, som jag nämnt i tidigare artiklar, menar att detta är viktigt. De grafer som vi gör för att förmedla data, information eller kunskap, bör ha texter som är så tätt integrerade med själva grafen som det bara går. Bild och text ska samverka tätt.

Historien om förhållande mellan text och bild

Varför är vi så inställda på att separera text och bild? Det har nämligen inte alltid varit så. Det finns en historisk förklaring sägs det. Före den moderna tiden, före tryckkonsten, då man alltid skrev och ritade för hand var det vanligt att text och bild följdes åt på ett fullständigt integrerat sätt. Text och illustrationer löpte tillsammans på samma sidor i dokumenten.

Se exempel bild I och II nedan.

Bild I: Nicolaus Copernicus: Diagram som illustrerar den heliocentriska teorin om solsystemet, cirka 1520.
Bild II: Leonardo da Vinci: Penna-och-bläckstudier av mänskligt foster, cirka 1510.

När så tryckkonsten kom på 1500-talet blev det tekniskt omöjligt att integrera text och bild på det sättet. Boktryckare tryckte text med hjälp av typer, först i trä och sedan i bly. Bildsnidare och gravörer tryckte bilder med hjälp av träsnitt och graverade plåtar. Bokbindare band ihop det hela till böcker. Illustrationerna hamnade på det sättet för sig själva i slutet av bandet.

Integrera text och bild!

Idag är vi fria från den begränsningen som tryckerikonsten orsakade. Vi har nu teknik som ger oss alla möjligheter att kombinera text och illustrationer.

Men det finns en tröghet som låter föreställningen att vi ska hålla isär text och illustrationer leva kvar. I de modeller jag möter ser jag nästan alltid diagram för sig och text för sig.  I de lyckliga fall det finns text över huvud taget vill säga.

Men låt oss släppa den vanföreställningen och börja integrera text och bild.

Hur integrerar vi text och bild

Text och diagram ska samverka, vilket innebär att de behöver visas och hanteras tillsammans så gott det går.

Microsoft Word är ett utmärkt verktyg för att sätta samman text och bild till en helhet. Fast det fungerar bara för mindre diagram, som ryms på samma sida som åtföljande text.

I övrigt kan vi se till att ha förklarande texter i och i anslutning till våra diagram där så är lämpligt.

Exempel från informationsmodeller

Jag har i olika sammanhang strävat efter att integrera text och bild så mycket det går för att få till modeller som förmedlar mer kunskap och gör det på ett tydligare sätt. Jag visar i det följande några exempel från informationsmodeller som jag jobbat med i olika sammanhang. Jag vill visa hur man kan göra och vill också illustrera att det inte finns ett sätt utan vi måste vara kreativa och göra på olika sätt i olika sammanhang.

Bild III: Utsnitt av informationsmodell från bank: Förekomstdiagram med förklarande text. Modellen visar med exempel hur olika lokala avtalsstrukturer översätts till en global, för analys och rapportering.
Bild IV: Utsnitt av informationsmodell från försäkringsbolag: Förekomstdiagram med förklarande text. Förklarar med exempel de två olika typfallen av motorfordonsförsäkring.
Bild V: Utsnitt av informationsmodell från försäkringsbolag: ER-diagram med förklarande text. Förklarar hur försäkringsvillkor förekommer på olika nivåer i produkt- och avtalsstrukturen.
Bild VI: Utsnitt av informationsmodell från försäkringsbolag: ER-diagram med förklarande texter. Förklarar hur beloppen för skadeutbetalningar, premievolymer och försäkrade belopp rapporteras centralt.
Bild VII: Utsnitt av informationsmodell: ER-diagram med förklarande texter. Presenterar förslag på modell för bonushantering på en bank.
Bild VIII: Utsnitt av informationsmodell från bank: Beskrivning av möjliga värden för attributet som visar vilket tillstånd ett kundavtal befinner sig i. Hur tillstånden kan följa varandra över tid visas med ett tillståndsdiagram.
Bild IX: Utsnitt av informationsmodell från bank: Utsnitt av en scenariobeskrivning med text och åtföljande förekomstdiagram. Visar i en serie av händelser hur en dispyt om en betalningstransaktion hanteras.

Ett av många sätt för bättre modeller

Som sagt, för oss arkitekter är modeller av olika slag de centrala verktygen. Vårt jobb kokar ner till att analysera och beskriva verksamheter med hjälp av modeller av olika slag. Och att använda dessa modeller för att hjälpa och guida alla dessa som tillsammans utvecklar våra verksamheter.

Detta med att integrera text och bild är bara ett av många områden jag menar att vi behöver utveckla för att göra bättre modeller, de vill säga modeller som tjänar oss bättre i vårt arbete. Övriga idéer hittar du i de tidigare artiklarna jag skrivit, och mer kommer framöver.

/Peter Tallungs, IRM

Nu tar denna artikelserie ett sommaruppehåll. Nästa artikel publiceras i mitten av augusti. Vill du prenumerera på denna artikelserie? Registrera din mailadress här.

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

Maximera innehållet – men snåla med bläcket!

Om vi ska göra riktigt bra modelldiagram bör vi behärska uttrycksmedlen. Grundläggande är hur vi dimensionerar linjer, typsnitt och färger.  Den kände amerikanske grafikern och statistikern Edward Tufte har skrivit en serie böcker om hur man använder grafik för att förmedla data, information och kunskap. Han förespråkar en minimalism i uttrycket.

Edward Tuftes idé om maximal information med minimal mängd bläck

Edward Tufte menar att varje uns bläck i en graf ska finnas där av en anledning. Om den inte tillför någon information ska den ovillkorligen tas bort.

Först och främst ska allt som bara är dekor bort. Sedan ska vi använda så tunna linjer som möjligt. Färg ska vi bara använda då den verkligen har betydelse, och då i så ljus nyans som möjligt. På så sätt finns det inget som skymmer och våra grafer blir tydligare. Vi nyttjar då de grafiska uttrycksmedlen effektivt och ändamålsenligt för att förmedla informationen.

Däremot då det gäller innehållet, det vill säga vilken information som förmedlas, förordar han motsatsen till minimalism. Vi ska kombinera så mycket kunskap som möjligt i en graf. Det är då en graf blir riktigt intressant. Alla riktigt intressanta grafer sammanför och kombinerar flera olika dimensioner.

Tufte har infört begreppet ”Data-Ink Ratio”, det vill säga en tänkt kvot mellan det bläck som verkligen förmedlar någon data i en graf och den totala mängden bläck som använts. Den kvoten ska hållas så hög som möjligt. Det innebär att vi ska anstränga oss att få in mer data, information och kunskap i våra grafer utan att använda mer bläck än vi behöver. Likaså ska vi försöka minska mängden bläck utan att förlora information.

En onödigt stor mängd bläck kan betyda onödigt tjocka linjer, för mycket svärta i linjerna, onödiga linjer eller detaljer som inte fyller någon funktion utöver att vara dekorativa. Det kan också betyda att vi använder färg där den inte tillför något som inte kan förmedlas på ett enklare sätt. Eller att vi använder en kraftig färg där en ljusare nyans skulle göra jobbet.

Edward Tuftes exempel

I sin första bok om informationsdesign, The Visual Display of Quantitative Information från 1983, exemplifierar Tufte detta med ett tänkt exempel.

Han utgår från ett stapeldiagram där han i fem steg tar bort grafiska element utan att minska datainnehållet.

Det första han gör är att ta bort onödiga stödlinjer i bakgrunden. Sedan tar han bort den blå bakgrundsfärgen som ju faktiskt inte tillför något. ”Chart-junk” (diagramskräp) är vad han kallar riktigt dåliga exempel på onödiga grafiska element. I nästa steg ryker ramlinjen på två sidor, den övre och den högra. Därefter ramlinjen på vänstra sidan, fast han ersätter på samma gång de horisontella stödlinjer han tog bort tidigare med horisontella slitsar i staplarna. Till sist tar han bort ramlinjen i underkant.
Det här kanske är ett lite väl extremt exempel, men illustrerar ändå hur vi kan ifrågasätta grafiska element och plocka bort dem när de inte tillför något.

Många av de mer avskräckande exempel på chart-junk har Tufte hittat från sammanhang då upphovspersonen inte har kunnat bärga sig från att leka med datorgrafiken. Här ser vi en karta med Nordmakedoniens regioner. Illustratören har använt olika blåa färger för landets regioner. Dessutom har hen tyckt det varit snitsigt med en färggradient i varje fält. Varken färgerna eller gradienterna tillför någon information över huvud taget.

Vad betyder det för oss

Hur kan vi tillämpa Tuftes tänk i de diagram vi designar: ER-diagram, förekomstdiagram, tillståndsdiagram, förmågekartor, processdiagram med mera?

Jag gör så här:

  • Linjer
    Jag ritar så tunna linjer jag kan, och byter svarta linjer mot mörkgrå när det är något jag vill hålla ur fokus. På så sätt spar jag den kraft som ligger i den svarta färgen till när den behövs, det vill säga när jag vill rikta fokus mot något särskilt element. Att rita tjocka svarta linjer i onödan är som att ständigt skrika. Vi utnyttjar då inte den möjlighet till dynamik vi har oss till buds.
  • Texter
    Jag fetmarkerar text endast då jag vill lyfta fram något som rubriker och liknande. Och de texter jag vill tona ner skriver jag i grått.
  • Färgade linjer och texter
    Jag spar färger till när de verkligen behövs. Färger är kraftfulla grafiska medel. Därför bör de användas med måtta och sparas till de tillfällen då de tillför något. Varje färg måste då ges en mening, någon egenskap man vill förmedla. I annat fall behövs den ju inte. Färger är en begränsad tillgång som betydelsebärare. Eftersom olika nyanser av samma färg inte tydligt kan skiljas från varandra återstår det inte så många kulörer som vi kan använda. För linjer och texter mot en ljus bakgrund fungerar endast kraftiga kulörer. Då har vi förutom svart och mörkgrått, endast blå, grön, röd och mörkgul att tillgå.
  • Färgade ytor
    Färgade ytor behöver man sällan, oftast tillför de inget. Men där man ska färglägga ytor bör man välja mycket ljusa färger, annars slår de emot en med alldeles för stark effekt.

Fortsättning följer

Jag kommer att berätta mer om Edward Tuftes idéer framöver och hur de kan hjälp oss att göra bättre modeller. Bland annat kommer jag berätta om vikten av att integrera text och grafik, samt om hur vi kan få riktigt intressanta modeller genom att sammanställa olika dimensioner i en och samma graf.

/Peter Tallungs, IRM

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

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

Informationsmodellering: Om verksamhetsregler

Verksamhetsregler har sin naturliga plats i informationsmodellen. Då beskriver man inte bara allt det som verksamheten hanterar utan också vilka regler som gäller för detta. På det sättet fångar man hela den operativa verksamhetslogiken.

Verksamhetsregler har sin naturliga plats i informationsmodellen. Då beskriver man inte bara allt det som verksamheten hanterar utan också vilka regler som gäller för detta. På det sättet fångar man hela den operativa verksamhetslogiken.

/Peter Tallungs, IRM, 2022-06-09

Verksamhetsregler styr hur en verksamhet ska fungerar dagligdags. Därmed kan man tro att verksamhetsregler hanteras på ett strukturerat sätt i våra verksamheter, att de dokumenteras, vårdas, hanteras och tillgängliggörs för de som behöver dem.

Men så är det knappast. Få organisationer har något sätt att hantera sina verksamhetsregler. Jag har aldrig sett någon kurs eller ramverk för verksamhetsarkitektur som haft någon praktisk genomförbar idé för detta.

I sammanhang där verksamhetsarkitektur behandlas undviker man ämnet. Man nämner kanske att verksamhetsregler är viktiga men går inte in på vad de är eller hur de kan hanteras.

Men låt oss ta tag i ämnet, här och nu! Vi börjar med att titta på vad verksamhetsregler är.

Vad är en verksamhetsregel?

För att du ska få en känsla för vad vi pratar om ges här några exempel på verksamhetsregler.

”Att en student är behörig innebär att studenten har en styrkt behörighet.”

”Endast behörig student får antas till kurs.”

”Endast registrerad student kan få betyg på kurs.”

”En kund måste registreras i kundregistret innan order relaterade till kunden kan skapas.”

”En kund som har order knuten till sig kan inte tas bort.”

”En kund tillåts inte att lägga ny order om kunden inte har en godkänd kredit.”

”En kund som lägger order för mer än 500 SEK får gratis frakt.

”En kund som lägger order under årets kampanj får 20 procents rabatt.”

Vad är verksamhetsregler? – Enkelt förklarat

Verksamhetsregler är de specifika regler som verksamheter ständigt tillämpar i sin operativa verksamhet. En del är mer eller mindre permanenta, andra är tillfälliga. Varje verksamhet har ett otal sådana regler, fast ofta slarvigt hanterade eller oskrivna eller dolda på olika ställen eller otydliga. Därför sker ofta missöden i den dagliga hanteringen.

Vad är verksamhetsregler? – Teori

Det finns gott om teori runt verksamhetsregler. Det var ett hett ämne inom verksamhetsutveckling under 00-talet, men verkar ha gått i stå i brist på exempel på praktisk tillämpning. De som skrev och pratade mycket om ämnet var ett gäng framträdande personer vars idéer gick under baneret ”The Business Rules Approach”. Mest kända var kanske Donald G. Ross och Barbara von Halle. Jag tycker de framförde vettiga saker, och jag följde dem noga. Det som var vettigt var dock endast teorin. Då det gällde hur man rent praktiskt skulle hantera verksamhetsregler var idéerna svagare.

Wikipedia ger följande beskrivning av verksamhetsregler, översatt till svenska av mig:

”Verksamhetsregler beskriver de operationer, definitioner och begränsningar som en organisation behöver tillämpa för att nå sina mål.

Till exempel kan en verksamhetsregel säga att en kreditkontroll inte behöver göras för en återkommande kund. Andra exempel är en lista på utvalda leverantörer eller leveransscheman.

Dessa regler används för att organisationen bättre ska uppnå sina mål, kommunicera mellan medarbetare och intressenter, kommunicera med tredje-parter, visa hur man fullföljer legala krav, opererar mer effektivt, automatiserar hantering, göra analyser med mera.

En definition som har använts är följande: En verksamhetregel är ett uttryck som definierar eller begränsar någon aspekt av verksamheten.”

Om själva namnet ”Verksamhetsregler”

På engelska heter det vi här talar om Business rules. Ofta översätts det till svenska med affärsregler. Men jag menar att det är en felaktig översättning som leder tanken fel. Business kan betyda två olika saker. Det kan betyda affär och det kan betyda verksamhet.

Verksamhet är allt en organisation, del av en organisation eller flera samverkande organisationer gör, stort som smått.

Affär däremot handlar bara om det mest grundläggande eller yttersta aspekterna hos verksamheten; För vilka finns vi till? Hur når vi dem? Vad gör vi för dem? Hur fortsätter vi att vara relevanta?
Många skulle säga att det handlar om pengar. Fast det är ju bara ett mått som används. Det finns viktigare aspekter av en affär. Man kan mycket väl prata om affär också i icke-kommersiella organisationer. En förening, kommun eller statligt verk behöver på samma sätt finnas till för några och vara relevant.

Så anledningen till att jag tycker att Business i många fall bör översättas till verksamhet och inte affär är att det är att det senare är ett specifikt begrepp som är avgränsat till de existentiella frågorna för en organisation.

Vad är inte verksamhetsregler?

Det finns en annan typ av regler som ibland förväxlas med verksamhetsregler men som bör benämnas och hanteras på ett annat sätt. Det är bestämmelser, styrande regler, policys, affärsbestämmelser med mera. Både sådana som påläggs verksamheter utifrån och sådana som organisationer tar fram själva.

Allt sådant hör hemma i strategisk ledning och ska inte hänföras till det som menas med verksamhetsregler som är mer direkt operativa. Verksamhetsregler är ett av de medel med vilka strategier är implementerade. Verksamhetsregler säger en organisation vad som går att göra i den detaljerade operativa hanteringen medans strategin fokuserar på organisationens inriktning på makronivå.

Man kan också uttrycka det på följande sätt: Strategi ger organisationen en riktning i vad den ska göra. Verksamhetsregler ger detaljerad styrning om exakt hur en strategi ska översättas till handling i en specifik situation.

Principer för hur vi ska hantera verksamhetsregler

Verksamhetsregler är viktiga för en verksamhet och behöver därför hanteras. Vad innebär hantering i detta fall? Nedan principer för detta togs fram av gänget bakom The Business Rules Approach.

Verksamhetsregler ska

  • vara nedskrivna och tydliggjorda.
  • uttryckas i naturligt språk.
  • utformas så de inte är bundna till specifika procedurer och arbetsflöden.
  • beskrivas diskret, icke-redundant och icke-procedurellt.
  • bygga på fakta, begrepp och termer.
  • vara åtkomliga för de som behöver dem.
  • Hanteras.

Typer av verksamhetsregler

En verksamhetregel ska formuleras så den blir atomär, vilket betyder att den ska vara på sådan detaljnivå att den inte kan brytas ner i fler detaljerade regler utan att information förloras.

Varje (atomär) verksamhetregel måste vara någon av följande typer:

  • Strukturregel (Structural assertion)
    Ett definierat begrepp eller redogörelse av fakta som uttrycker någon aspekt av någon struktur i verksamheten. Det omfattar både termer och fakta sammansatt av dessa termer.
  • Handlingsregel (Action assertion)
    En begränsning eller villkor sombegränsar eller styr en handling i verksamheten.
  • Härledd regel (Derivation)
    Ett uttryck för kunskap som är härledd från annan kunskap i verksamheten.

Verksamhetsregler i informationsmodellen

Grafen nedan visar hur jag menar att de olika typerna av verksamhetsregler uttrycks i en informationsmodell. Många av reglerna är sådana som vi uttrycker i själva strukturen. Andra regler behöver vi uttrycka i text. För handlingsregler och härledda regler blir textdelen av informationsmodellen särskilt viktig.

Informationsmodellen är platsen för alla verksamhetsregler

Jag menar att den struktur som bäst hanterar verksamhetsregler är informationsmodellen. Detta av två orsaker:

  • Verksamhetsregler är överlappande och tätt förknippade med det som informationsmodellen beskriver i övrigt
    Ty informationsmodellen beskriver inte information i första hand menar jag. Den beskriver de företeelse som verksamheten hanterar samt reglerna för detta, det vill säga strukturer, begränsningar med mera. Detta är en del av verksamhetsreglerna. Andra verksamhetsregler uttrycks i text, och de använder alla de begrepp som definieras i informationsmodellen. Därför är det svårt att separera verksamhetsreglerna från informationsmodellen.
  • Informationsmodellen ger en naturlig struktur för verksamhetsreglerna
    En rik informationsmodell är strukturerad i ämnesområden som i sin tur är indelade i ett avsnitt per entitet. Varje avsnitt för en entitet är sedan indelad i ett underavsnitt per attribut. En verksamhetsregel handlar alltid om en viss entitet eller attribut eller i vissa fall relationen mellan två entiteter eller attribut. Därmed har varje verksamhetsregel en naturlig plats i informationsmodellen. Till exempel finns då allt som gäller för kunder under avsnittet ”Kund”. Inte bara alla definierade begrepp och termer som har med kunder att göra och vilken information som hanteras och var den hanteras. Utan också alla de regler som gäller för hanteringen av kunder.

Informationsmodellen kan bli bärare av hela den operativa verksamhetslogiken

Jag menar att våra informationsmodeller på detta sätt kan bli bärare av hela den operativa verksamhetslogiken. Detta då en informationsmodell kan beskriver både allt det som verksamheten hanterar och vilka regler som gäller för denna.

Det som inte beskrivs av informationsmodellen är av vem och var hanteringen sker. Inte heller varför. Men detta är i sig inte heller del av den operativa verksamhetslogiken, utan snarare hur denna exekveras. Det har vi andra modeller för.

Men om informationsmodellen ska kunna bära hela denna operativa verksamhetslogik krävs det att vi gör på rätt sätt, både i hur vi bygger upp vår modell och hur vi arbetar med den i verksamheten.

Jag har varit med om det i olika verksamheter, så jag vet att det är praktiskt genomförbart och har sett den stora nyttan det ger. Hur man som informationsarkitekt kan driva detta är i själva verket det jag egentligen vill förmedla med hela den här artikelserien.

Men allt detta förutsätter att vi, förutom att vi blir bra på att fånga, formulera och hantera verksamhetsregler

  • gör rika informationsmodeller, det vill säga modeller som inte bara är ett ER-diagram utan integrerar text och bild, och bär mer kunskap än vanligt.
  • verkligen utvecklar och använder våra modeller i en kontinuerlig dialog tvärs över verksamhet och it.

Hur gör ni?

Hur hanterar ni verksamhetsregler i er verksamhet? Hur hanterar och förmedlar ni verksamhetslogiken? Hur fungerar det?

/Peter Tallungs

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

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

Informationsmodellering: Om namngivning

Hur ska vi namnge alla de element i en informationsmodell som representerar verksamhetsbegrepp?

När vi tar fram en informationsmodell för en verksamhet eller en tjänst behöver vi besluta om namn för många olika saker. Det är inte bara entiteter, attribut och relationer som ska han namn utan också de specifika attributvärdena i det fall de utgör ett bestämt värdeförråd för något attribut. Alla dessa är verksamhetsbegrepp och bör ges korrekta och tydliga namn. Vad ska vi tänka på då? Vad är ett bra namn? Och hur gör vi med de namn som redan är etablerade på olika sätt i verksamheten, men kanske inte så lämpliga alla gånger?

Begrepp har namn och definition

Varje element i en informationsmodell, vare sig det är en entitet, ett attribut, en relation eller ett visst attributvärde, representerar en företeelse för vilket vi behöver ett namn.

Ibland handlar det om en helt ny företeelse i denna verksamhet men oftast om något som redan finns. Ett begrepp har två viktiga aspekter som bägge behöver uttryckas i naturligt språk. Dels behöver vi ta fram en korrekt och tydlig definition för att ringa in betydelsen, och dels behöver vi ett bra och tydligt namn.

Det kan till exempel vara att vi erbjuder våra kunder olika varor eller tjänster. Namnet vi bestämmer blir kanske ”Produkt”, och definitionen blir ”Det vi erbjuder våra kunder”.

Märk att det inte är själva namnet ”Produkt” som är begreppet i fråga utan det som namnet och definitionen står för. Namnet ”Produkt” är som ett handtag, en symbol eller ett tecken med vilket vi kan framkalla begreppet i våra hjärnor.

Om synonymer

Vi kan använda ett annat namn för samma begrepp (”Produkt”). Vi kan till exempel säga ”Vara”, ”Artikel” eller uttrycka oss på engelska och säga ”Product”, och ändå mena samma begrepp. Det kallas synonymer när ett och samma begrepp har flera namn. Det kan också finnas homonymer. Det är att ett och samma namn har flera betydelser.  

Vad är ett bra namn?

Ett bra namn ska vara korrekt, det vill säga så tydligt som möjligt peka på betydelsen hos det begrepp man vill använda namnet för. På sätt och vis fungerar det då som en liten definition i sig. Idealet är att man direkt förstår vad som menas och vad som inte menas. Åtminstone om man har lämplig förförståelse, som en allmän kunnighet om området i fråga. Namnet får inte ha en för bred betydelse och inte heller för snäv.

Vikten av bra namn

När vi sätter namn på detta sätt bygger vi de facto verksamhetens språk. Det är svårt att tänka sig en mer central och ansvarsfull uppgift som vi som modellerar kan ha. Med en korrekt och tydlig terminologi blir all kommunikation tydligare, i varje interaktion och integration. Risken för oklarhet och missförstånd minskar i varje punkt.

Men det finns också en annan minst lika tung aspekt som man kanske inte alltid tänker på. Vi använder språk inte bara för att kommunicera utan även för att tänka. Med en rik och tydlig vokabulär kan vi tänka klarare, både som individer och som grupp.

Råd för namn i informationsmodeller

Här följer ett antal saker att tänka på då vi bestämmer namn:

Förkorta inte

Jag anser att man i det längsta bör undvika förkortningar i de namn man sätter. Dels ökar det risken för misstolkning, och dels blir det en extra börda att hålla reda på alla förkortningar. Ty vi vill ju vara konsekventa så en term alltid förkortas på samma sätt överallt. Undantaget är några få mycket allmänna och etablerade förkortningar som ”SEK”, ”kg” etcetera.

Låt namnet uttrycka den fulla betydelsen

Om ett attribut heter ”Vikt” kan det förr eller senare bli osäkert i vilken viktenhet som avses.
Ändra till ”Vikt – kg”.

Använd verksamhetens språk

Det vill säga svenska i helsvenska verksamheter och engelska i verksamheter som ser sig som mer internationella. Det är ju verksamhetens språk vi normerar, inget annat.

Inom it-utveckling har det vuxit fram en informell standard att skriva namnen på programkonstrukter som moduler, klasser, metoder och variabler med mera samt även kommentarer på engelska. Därför tror ibland it-utvecklare att man ska skriva även verksamhetsbegrepp på engelska, även i det fall där verksamhetsspråket är svenska. Eftersom man vill vara konsekvent händer det också att engelskan fortplantar sig till andra sammanhang som rapporter med mera.

Därför ser man ibland amatörmässiga och ofta helt missvisande försök till engelsk översättning av svenska facktermer.

Jag menar att verksamhetstermer alltid ska vara på verksamhetens språk och det bör vara konsekvent överallt. Alltså även i programkod, databaser och filer, som ju är en integrerad del av verksamheten. 

Använd naturligt språk

Det innebär till exempel att man använder både versaler och gemener samt blanksteg.

Det förekommer annars att man i it-funktioner är påverkad av det skrivsätt som blivit standard i programkod på grund av att man där är begränsad till sammanskrivning av ord, så kallad ”Camel Casing”. Man skriver ”numberOfPieces” i stället för ”Number of pieces”. Men det finns alltså ingen anledning att tillämpa det skrivsättet utanför programkod.

Hur gör vi med redan etablerade men dåliga namn?

Det händer ofta att man sedan tidigare har namn i databaser och i system som är felaktiga och missvisande. Då kan det kännas som att vi i konsekvensens namn behöver fortsätta att använda de namnen. Namn har en tendens att bita sig fast väldigt hårt.

Men en dålig terminologi hämmar en verksamhets möjligheter framgent. Vår hållning måste vara att vi tar språk på allvar och att vi tar vårt ansvar. Vi kan inte bara fortsätta att propagera fel bara för att de en gång har uppstått. Vi behöver rätta till felen, även om det känns jobbigt för stunden. Vi behöver ju kontinuerligt vårda och utveckla verksamhetens terminologi.

Men om vi bara byter en term mot en annan, vet ingen vad vi menar med den nya termen. Förvirringen blir stor, man kanske tror att det är ett nytt begrepp, och inte ett nytt namn på ett befintligt begrepp.

Vi behöver hantera detta på ett ansvarsfullt sätt, det vill säga rätta till felaktigheter utan att ändringen skapar onödig förvirring. Det går till så här: I informationsmodellen anger vi det namn vi gemensamt kommit fram till är bäst, utan hänsyn till de misstag som har gjorts tidigare. Samtidigt anger vi i informationsmodellen det gamla etablerade namnet som en synonym som förekommer i verksamheten.

På så sätt får vi en spårbarhet från den äldre termen till den nyare. Våra informationsmodeller blir på så sätt på samma gång deskriptiv (beskriver befintligt språkbruk i verksamhet och it-system) och normerande (beskriver vad vi kommit fram till att det korrekta språket bör vara).

Exempel

Jag vill här visa exempel på hur det kan se ut i en informationsmodell. Detta är ett utsnitt från ett ER-diagram som visar en entitet med många attribut. I det följande beskriver jag de olika delarna av diagrammet.

  • Entitetens namn: ”Företagskonkurs – Statushändelse”
    Fetstil för att lyfta fram namnet, tydligt utskrivet och med versaler och gemener. Namnet är valt för att så tydligt som möjligt förmedla vad en förekomst av entiteten står för.
  • Källa för informationen: ”BLV (Daglig avisering via Bisnode)”
    Anger källan för informationen (BLV står för Bolagsverket). I detta fall hade vi många olika informationskällor och det var viktigt att lyfta fram dessa, därför rött typsnitt.
  • Entitetens definition: ”Händelsen att en företagskonkurs fått en ny status”.
    Försöker ge en så bra definition som möjligt för en förekomst av entiteten. Mörkgrått typsnitt för att tona ner uppgiften i förhållande till entitetens namn.
  • Grupprubriker för attribut: ”Identitet”, ”Typ av statushändelse” etc.
    Vi har strävat efter att ordna (sortera och gruppera) attributen i en ordning som känns naturlig och meningsfull. Detta är ett enkelt grepp för att öka modellens läsbarhet och begriplighet. Grupprubrikerna är mörkblå för att skilja ut dem från attributnamnen.
  • Attributnamn
    Vi har valt namn som försöker att ge en fullständig och tydlig betydelse.Logisk datatyp är med på många ställen som suffix. Vi har inte varit rädda för att skriva ut även långa namn och namn i flera led då det ökat tydligheten.
  • Teknisk datatyp och fältlängd: ”chr 1”, ”int”, ”dat” ”dat tid” etc.
    Skrivet i blått. Viktigt för att tolka data rätt.
  • Markering för obligatoriska attribut: ”obl”
    Behövs också för att tolka data rätt.
  • Fysiska fältnamn: ”PRIMARYKEY” ”KODFORDOMSTOLSOMUPPHAVTKONK” etc.
    Detta är vad attributen i fråga råkar heta i it-systemet, och som vi idag inte kan ändra. Detta är en typ av synonymer. Vi har använt ett grått typsnitt för att tona ner dessa i förhållande till de normerande attributnamnen.Det är viktigt att ha med fysiska namn för att få en spårbarhet till fysiskt data. Om vi inte har med dessa så blir det som att vår modell ”hänger i luften” utan koppling till en fysisk verklighet.

Användning av namnen i informationsmodellen

I de flesta sammanhang jag jobbat har vi på detta sätt använt informationsmodellen som en normering av den gemensamma terminologin i hela verksamheten. De namn vi satt är de som vi vill ska användas genomgående, som verksamhetens gemensamma språk. Det kommer dock att finnas synonymer alltjämt. Man kan inte bygga om alla rapporter och system bara för att vi har infört normerade begrepp.

Vi dokumenterar alla synonymer vi stöter på och i vilket sammanhang de förekommer. Men i allt nytt som görs kommer denna nya standardiserade terminologi att användas.

Namn i programkod, databaser och filer

Det är viktigt att detta normerade språk används i alla sammanhang. Många tror att man i programkod och liknande kan ha ”tekniska namn” som är annorlunda. Det är inte bra. Det ökar friktionen i kommunikationen. Jag menar att det är ett arv från den tiden då namn behövde vara korta och endast i versaler i programkod och databaser, av tekniska skäl. Så är inte fallet längre, i något sammanhang tror jag. Det man kan behöva göra det är en viss transkribering av namnen för de tekniska sammanhang där man inte har samma teckenuppsättning. Jag brukar då göra den transkriberingen redan i informationsmodellens textdel. 

Transkriberingsmetod

Den transkriberingsmetod vi då väljer bör vara den som gör minsta våld på namnen och har störst läsbarhet. Den metod vi har valt ofta är följande:

  • Ersätt Å, Ä med A, liksom å och ä med a.
  • Ersätt Ö med O, liksom ö med o
  • Ersätt blanksteg med understreck ”_”
  • Ersätt bindestreck med understreck ”_”  

”Konkurs avslutad – datum” blir då ”Konkurs_avslutad_datum”

Denna metod har en tradition inom databasdesign, vilket är en fördel.

Det finns dock en annan transkriberingsmetod som kommer från programvaruutveckling. Den kallas för ”Camel casing” eller mer anekdotiskt för ”Hungarian C”. Den består i att man använder versaler endast för att avdela mellan ord.

”Konkurs avslutad – datum” blir då ”konkursAvslutadDatum”.

Jag menar att den första metoden är att föredra och detta av tre skäl:

  1. Metoden gör inte onödigt våld på namnet. Läsbarheten är bästa möjliga. 
  2. Versalerna har samma funktion som före transkriberingen.
  3. Metoden har en tradition inom databasutveckling vilket ligger kulturellt och historiskt närmare informations- och databehandling än programvaruutveckling.  

Hur gör ni?

Vad sägs om detta? Hur gör ni i er verksamhet?

/Peter Tallungs, IRM

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

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

17 missuppfattningar om arbetet med verksamhetens begrepp

Som informationsarkitekter behöver vi arbeta med verksamhetens begrepp, både benämningar och definitioner. Men vi har stött på många missuppfattningar om hur det ska gå till. Här är min favoritlista.

Missuppfattning 1: Namn och definitioner är inte så viktiga

Det är inte alla som förstår att det är viktigt för en verksamhet hur man arbetar med det gemensamma språket. Hur centralt det är att man har bra gemensamma begrepp med korrekta och tydliga namn, och bra definitioner på saker och ting. Inte bara på företeelser (entiteter) utan också på egenskaper (attribut), relationer, möjliga egenskapsvärden, dataelement med mera.

Ofta har man inte när man definierat en verksamhetsfunktion eller informationsmängd gjort ett aktivt valt namn utan bara accepterat vad det råkar heta i ett it-system. Eller så har någon bestämt att man ska ha ett namn som är på modet och låter tjusig, men som inte säger vad det är. Det är även mycket vanligt att man tagit en mycket allmän term och låst den i en specifik betydelse.

Jag har ibland sett att arkitekter har tyckt att detta varit okej, och inte tyckt det varit viktigt. Det enda man krävt är att de namn som satts ska användas konsekvent.

Allt inte se värdet i bra benämningar och definitioner underminerar vår gemensamma förståelse och förstör vårt verksamhetspråk i stället för att vårda och utveckla förståelse och språk. Jag kan nästan inte tänka mig något effektivare sätt att begränsa en verksamhet i det långa loppet. Ty utan ett effektivt gemensamt språk kommer vi hela tiden att prata förbi varandra och sent bli varse att vi inte har menat samma saker.    

För att läsa mer om vikten av namn och definitioner, se tidigare artikeln ”Om det viktigaste du gör som informationsarkitekt – Arbetet med verksamhetens begrepp och språk, 2022-05-12”

Missuppfattning 2: Namn och definitioner ingår inte i informationsmodellering

Det händer att de som informationsmodellerar inte förstår att en kärna i informationsmodellering är verksamhetens begrepp, och att vi därför hela tiden måste arbeta med namn och definitioner. 

Det är inte så konstigt att den uppfattningen florerar när arbetet med definitioner och benämningar sällan eller aldrig ens berörs på kurser eller i böcker om informationsmodellering.

Missuppfattning 3: Namn och definitioner är något vi bör överlåta åt verksamhetsexperter

Många gånger har de som tagit fram informationsmodeller låtit folk i verksamheten ta fram namn och definitioner. Man har tyckt att det är deras jobb. Det fungerar inte. De har sällan den kompetensen.

Verksamhetskunniga av olika slag behöver naturligtvis vara djupt involverade i arbetet, men det krävs en särskild kompetens, erfarenhet och överblick för att leda och facilitera arbetet med terminologin. Det är svårt att tänka sig att man kan jobba med informationsmodellering på ett bra sätt utan att i grunden jobba med begrepp och termer.

För att läsa mer om hur man inte ska göra, se tidigare artikeln ”Historier från dataträsket 1 – Hur jag lärde mig att verksamhetsexperter inte kan allt, 2022-03-31”

Missuppfattning 4: Det spelar inte någon roll vilka namn som väljs, bara de är unika

Ofta när man överlåtit till verksamhetsfolk att sätta namn har man inte lagt någon som helst värdering på vilka namn som valts. Vilket namn som helst duger, bara det sedan används konsekvent. Det är ett sätt att helt missförstå betydelsen av namn, att bara se dessa som unika identifierare utan att de behöver förmedla någon betydelse.

Vilka namn vi väljer på saker och ting styr i hög grad hur vi kan tänka om dessa ting. Därför är det viktigt att noga överväga vilka namn man väljer.

Missuppfattning 5: Vi har en ordlista (glossary). Det är platsen för namn och definitioner

Många verksamheter nöjer sig med en ordlista. Det är bättre än inget alls. Men det finns svagheter med detta jämfört med att använda en informationsmodell.

  1. En ordlista har oftast bara nominella definitioner
    Den ger endast ordförklaring. Det vill säga att den förutsätter att man redan fullt och fast förstår den företeelse termen betecknar. Jämför med ett lexikon som även förklarar företeelsen i sig. Vi behöver mer än ordförklaringar. Vi behöver mer som ett lexikon, som vi kan slå upp i för att förstå företeelserna. 
     
  2. En ordlista har ingen annan struktur än en alfabetisk ordning
    Företeelser behöver förstås och förklaras i samband med andra närliggande företeelser. Det är den grundläggande idén inom begreppsanalys. Därför är en tematisk ordning mycket effektivare än en alfabetisk ordning, när man verkligen vill dokumentera något. En informationsmodell kan (och bör) byggas upp och struktureras ämnesområde för ämnesområde. Allt om och runt ”Kund” beskrivs tillsammans, allt om ”Produkt” beskrivs tillsammans. Varje ämnesområde beskrivs utförligt både med grafik och text.

    Sedan är det förstås lämpligt att ha ett alfabetiskt index för att snabbt hitta förklaringen på en term. Indexet leder en till den plats där termen beskrivs, i sitt sammanhang.
  3. Arbetet med att informationsmodellera kan inte isoleras från arbetet med att arbeta med termer och definitioner – om bägge ska göras bra
    De bägge uppgifterna behöver ske helt integrerat, och är därmed i praktiken ett och samma arbete.

    Därför bör informationsmodellen vara mycket mer än en modell över informationen. Den beskriver de facto allt som verksamheten hanterar, inklusive språket för detta, verksamhetsreglerna och informationen som behövs för att representera detta.

    Allt detta gör att en bra informationsmodell, uppbyggd tematiskt ämnesområde för ämnesområde, är den bästa beskrivningen av det som verksamheten hanterar och hela terminologin för detta. Och jag vill gå ännu längre. En sådan informationsmodell är, rätt utformad, den bästa arbetsplattformen för att kontinuerligt och hållbart vårda och utveckla den gemensamma förståelsen och terminologin.

    Men detta förutsätter att informationsmodellen är mer än ett diagram. Vi behöver även strukturerad text som en integrerad del av modellen; för definitioner, beskrivningar, regler, noteringar med mera.

Missuppfattning 6: Namn och definitioner är redan bestämda, så vi kan inte röra dem

Så är det ofta och det är så klart ett hinder. Men om man alltför starkt värnar om staus quo riskerar man att låsa fast sin organisation i en dålig och missledande terminologi som skadar verksamheten permanent. Det är viktigt att förstå att det inte bara är verksamheten i sig som behöver utvecklas kontinuerligt utan även språket om verksamheten.

Sättet att komma runt denna låsning är att inte kräva konsistens som första princip, det vill säga att allt måste heta lika överallt utan undantag. Ty detta är säkraste sättet att låsa en verksamhet i en limbo. Vi behöver alltid hantera synonymer. Vi kan således förorda ett nytt bättre namn som norm i stället för ett som inte fungerar, men samtidigt hantera att det gamla ingrodda namnet vilket får leva kvar som en synonym.

Missuppfattning 7: Namn och definitioner ska vi sätta en gång för alla. Sedan får de inte röras, utom i mycket speciella fall

Liknande problem som föregående. Vi måste i vårt arbete hantera att saker utvecklas, att saker ändras i sig själva eller att vi når en bättre förståelse så småningom. Allt ska kunna ändras, och det måste vi ha arbetssätt och mekanismer för att hantera på ett kontrollerat sätt.

Det är klart att det kan vara frustrerande att behöva ändra saker som redan är bestämda. Men motsatsen är värre, att vara låst vid tidigare beslut och vara tvungen att bara fortsätta gräva ner sig mer och mer i ett dåligt spår. Utveckling är och måste vara agil och iterativ.

Vi hanterar ändringar genom att versionshantera modeller. På så sätt kan man ändra en modell utan att allt som är baserat på denna behöver ändras. I längden vill man ju förmodligen anpassa implementationer till den senaste versionen av modellen, men man har sålunda en frihet att bestämma när och om man ska anpassa. I en föränderlig värld kan inte allt vara helt synkat i varje läge. Vi behöver kunna hantera detta på ett bra sätt.

Missuppfattning 8: Namn och definitioner ska fastställas av en nämnd

Det är ett vanligt förfarande att ha en nämnd som ska godkänna och besluta om namnförslag, men i min mening är detta dysfunktionellt. Att någon gör jobbet men andra bestämmer är en förlegad tayloristisk syn på arbetets organisation som vi bör lämna. (Taylorismen bygger på att vissa personer har förståelse och andra personer ska bara utföra sina uppgifter mekaniskt utan att ifrågasätta.) Det är de som hela tiden jobbar med benämningar och betydelser som har bäst förutsättningar att väga in olika synpunkter och att besluta om ändringar. Det vill säga vi som modellerar, vi som har eller bör ha kunskaper om hur man jobbar med begrepp och språk, vi som dagligen funderar och diskuterar med olika parter. Vi behöver löpande tillsammans med de som är närmast involverade i varje område besluta. Och även kunna ändra oss när vi kommer till bättre insikt. Det är inte sannolikt att en nämnd har bättre förutsättningar för detta än vad vi har.

Sedan är det förstås så att vi måste ha byggt upp ett förtroende för att ha detta viktiga ansvar. Ett förtroende som kan brytas om vi inte sköter det bra.

Missuppfattning 9: Sammanblandning av definition och beskrivning

Jag ser ofta att de som försöker skriva definitioner i stället skriver beskrivningar av olika slag, och inte riktiga definitioner. En definition är en ordföljd man kan sätta i stället för namnet. Beskrivningar behövs ofta också, men det är något som kompletterar en definition, inte ersätter.

Missuppfattning 10: Vi behöver bara bry oss om ”tekniska” namn

På it-sidan finns det ofta en föreställning om att man på insidan av en applikation eller en databas har namn som bara har en teknisk funktion. It-utvecklare tycker att vad samma företeelser heter i användargränssnitt och rapporter, där verksamhetsfolk möter dem, är en annan sak. Man vill inte skapa ett beroende och man tycker att man alltid kan översätta fram och tillbaka. Detta är en grundläggande missuppfattning som skapar en effektiv kommunikationsbarriär mellan verksamhet och it.

Verksamhet och it bör sträva efter att ha samma namngivning så långt det går och så långt vi gemensamt kan styra. Modeller och språk är ju till för att vi ska ha en gemensam förståelse och en effektiv kommunikation, tvärs över gränserna. Om vi vid en integration översätter bara en term kan det tyckas som en liten sak, det ökar friktionen i kommunikationen men obetydligt. Men när vi gör det med tusentals termer ökar friktionen i kommunikationen plötsligt dramatiskt. Och allt saktas ner.

I vissa sammanhang behöver vi korta namnen, för att tekniska miljöer inte klarar å, ä, ö eller skiljetecken. Vi bör då ha tydliga regler för hur man transkriberar.

Missuppfattning 11: Vi har ett affärssystem som har en fastställd terminologi. Då är det redan klart

Att inte själv äga och kontrollera sin terminologi är att släppa kontrollen över en central aspekt av sin verksamhet. Tro inte på leverantörer av standardsystem som säljer in dessa som att ni köper in er i en etablerad branschstandard som är ”best practice”. Något hyfsat heltäckande sådan finns inte, utanför väldigt smala områden. Har vi standardsystem måste vi ändå ha egna modeller och en egen terminologi.

Missuppfattning 12: Vi har en industrimodell som ger oss en terminologi som också är en standard för en hel bransch

Detta är en vanlig missuppfattning. Det finns industrimodeller som säljs in med anspråk på att kunna användas internt, med en lättare anpassning. Men antingen är de begränsade till enbart kommunikationen mellan parter inom ett smalt ämnesområde, ibland inom en specifik bransch, ibland tvärs över flera branscher. Eller så är de bredare, men då mer av bygglådor som man kan använda som inspiration för att bygga sin egen terminologi. Vilket man inte kan göra om man inte först skaffar sig dökoll på sin egen verksamhet i alla dess detaljer och egenheter, det vill säga att man modellerar.

Egenheterna i verksamheten kan vara motiverade eller onödiga. I vilket fall måste vi förstå och hantera dem. De onödiga kan vi kanske avveckla så småningom, men inte förrän vi fullt ut förstår dem, och då verkligen förstår att de är onödiga och hur vi ska kunna avveckla dem. Inget av detta kan en industrimodell hjälpa oss med.

Du kan aldrig köpa en färdig modell, ty den är värdelös om den inte representerar er gemensamma förståelse. Och en gemensam förståelse får vi genom att själva modellera. Det är alltså vägen som är mödan värd. Modellen är bara värd något så länge den representerar vår gemensamma förståelse. Gemensam förståelse kan inte köpas.

Flera svenska banker och försäkringsbolag har köpt in industrimodeller och försökt implementera dem. Några har gett upp efter ett tag. Andra har framhärdat och har på så sätt skadat sitt språk och sina möjligheter att verkligen bygga en gemensam förståelse.

En del hävdar att man kan använda en industrimodell som en inspiration till sin egen modell. Det är sant, men i så fall handlar det inte om att implementera industrimodellen. Vi kan och bör alltid inspireras av modellmönster från olika källor. Jag tycker inte att de industrimodeller jag sett har varit särskilt bra källor för detta, men om någon är av annan åsikt så låt gå för det. Men det handlar då inte alls om att implementera industrimodellen i den egna verksamheten. Ty att inspireras av något i en standard är inte samma som att implementera standarden.

För att läsa mer om mina tankar kring industrimodeller se tidigare artikeln ”Varför en industrimodell är en dålig idé!, 2021-03-25

Missuppfattning 13: Det är viktigt att samma namn används överallt. Det får inte förekomma avvikande benämningar

Vi behöver alltid hantera synonymer, vanligen många sådana. Varje system, varje integration, varje fil brukar ha sina egna benämningar. Ibland är de ganska korrekta, ibland är de djupt missvisande. Ofta har någon programmerare varit tvingad att på kort tid och utan hjälp hitta på ett namn och det har kanske inte blivit så bra.

I vilket fall måste vi dokumentera dessa synonymer. Vad de heter i ett visst sammanhang. De dåliga benämningarna kan vi kanske med tiden arbeta bort. Men vi kan inte veta när det kan ske. I vilket fall måste vi dokumentera och hålla koll på dessa.

Det finns i branschen ofta en dröm om enhetlighet. Men säg att vi i en rosa framtid verkligen lyckats etablera konsekventa benämningar överallt, att vi har fått en helt konsekvent verksamhet tvärs igenom. Då köper vårt företag upp ett annat och slår ihop dessa. Återigen har vi inkonsistens. Dessutom behöver vi ju alltid interagera med parter utom vår kontroll, såsom partners, leverantörer, outsorcade funktioner, myndigheter, branschnätverk med mera. Så drömmen om en total enighet är fåfäng. Vi kommer alltid att behöva hantera synonymer, homonymer, och inte bara det utan även olika strukturer som behöver samverka. Speciellt i en föränderlig värld där utveckling sker kontinuerligt.

För att läsa mer om mina tankar kring namnsättning, se tidigare artikeln ”Den omöjliga drömmen om den allomspännande informationsmodellen, 2021-11-25”

Missuppfattning 14: Namn ska vara korta

Förr var det viktigt att namn var korta, av tekniska skäl. Vanliga databaser klarade inte så många tecken. Idag har det ingen praktisk betydelse. Det viktiga är att namnet är användbart i så många sammanhang som möjligt, vilket innebär korrekt och så begripligt som möjligt. Med detta sagt är det ju naturligtvis så att om vi har två annars likvärdiga alternativ att välja mellan så är det kortare att föredra. Men endast då.

Fast vi kan behöva förkortningar också, för användning i vissa sammanhang, till exempel för att rymmas som rubriker i smala i rapportkolumner.

Om vi i det längsta undviker förkortningar i övrigt, slipper vi ta fram och underhålla standarder för hur vi förkortar på ett gemensamt sätt.

Missuppfattning 15: Namn ska vara ett ord

Namn behöver ofta vara två eller flera ord i följd för att bli korrekta och tydliga. Det ska inte vara något problem. Ibland ser man att man skriver ihop namn enligt standarden ”camel casing” som är vanlig i programmeringsspråk. Exempel: ”AnsokanDatum”, ”ProductStatus”. Det är varken korrekt svenska eller engelska, utan är något som smittat av sig från programmeringsspråk.

Missuppfattning 16: Vi ska ha engelska namn internt i alla system även om organisationen är svensk och verksamhetsspråket är svenska

Programmerare använder ofta engelska internt i programkoden, filer, databaser och api:er, både för att namnge tekniska strukturer och för att kommentera koden. Ibland ser man hur detta sprider sig till hur man namnger verksamhetstermerna i programkod, och även i tjänster och liknande.

Detta får till resultat i helsvenska verksamheter att vi får en gemensam överenskommen och genomtänkt terminologi på verksamhetens språk, det vill säga svenska. Och att vi så snart vi tittar i programkod, tjänstebeskrivningar och filer hittar en helt annan terminologi. Ibland med en blandning av amerikansk och brittisk engelska, ofta med amatörmässigt översatta termer. Till exempel försäkringsverksamhet skiljer sig ofta i terminologi mellan europeisk och amerikansk.

Eftersom programtekniska termer namnges på engelska, tror man att man är konsekvent då man även namnger verksamhetstermer i programkoden på engelska. Men i själva verket har man offrat en viktig konsekvens, den mellan det gemensamma verksamhetsspråket utanför programvaran och det inuti densamma. Man tror sig ha fått en konsekvens, men endast där den inte har något värde, endast i just den specifika programkoden, och där mellan de mer programtekniska termerna och verksamhetstermerna.

Missuppfattning 17: Arbetet med begrepp är något för professionella terminologer, inget vi informationsmodellerare ska syssla med

Det är sant att det är en styrka att ha tillgång till en terminolog och att samarbeta med en sådan runt benämningar och definitioner. Men det betyder inte att jag som informationsmodellerare kan släppa det hela. Vi behöver jobba ihop, nära och interaktivt. Oftast har jag inte tillgång till en terminolog. Då måste jag själv fungera som en sådan. I vilket fall som helst måste jag vara lite av terminolog själv.

Håller du med?

Din favoritlista med missuppfattningar ser kanske annorlunda ut. Du kanske vill lägga till någon eller har en annan uppfattning. Låt höra! Om vi byter erfarenheter och åsikter så blir vi tvungna att reflektera. Då utvecklas vi.

/Peter Tallungs, IRM

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

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

Vad är en bra definition?

Skriva definitioner är en viktig del av vårt arbete när vi informationsmodellerar. Men det finns olika slags definitioner, och alla är inte lika bra. Vad vi ska söka efter när vi letar efter en bra definition? Och vad är en bra definition egentligen?

Nominell definition och riktig definition

När man försöker hitta en definition så bör man undvika det som kallas för nominell definition. En nominell definition är ingen riktig definition utan ersätter bara ett ord med ett annat ord eller ger en beskrivning av hur något ter sig utan att egentligen förklara innebörden för oss.

  • Exempel på en nominell definition: ”Åska är när det dundrar från molnen.”
  • Exempel på en riktig definition: ”Åska är elektriska urladdningar i jordens atmosfär som yttrar sig i ett uppflammande av ljus och ett skarpt eller mullrande ljud.”

Nominella definitioner är av begränsat värde och ska om möjligt undvikas.  

Typer av definitioner

Vi kan dela in definitioner i ett stort antal typer, alla med fördelar och nackdelar. En del typer är riktiga definitioner medan andra endast är nominella.

Men vi kan inte alltid vara kräsna. Beroende på vilket begrepp vi definierar kan vi inte alltid hitta en riktig definition utan vi får ta det vi kan komma på, och som fungerar bäst.

Det är då bra att känna till vilka typer som kan finnas och reflektera över deras respektive styrkor och brister, och därmed grader av användbarhet.

Typ av definitionKommentar
Essentiell definition Man finner först det generiska begreppet, sedan identifierar man hur det specifika begreppet skiljer sig från det generiska. Exempel: ”En triangel är en plan figur innesluten av tre räta linjer.” Detta är den klassiska perfekta definitionen, ända sedan Aristoteles.Betraktad som den ideala formen, både i den klassiska logiken och av oss idag. Fördelen är att definitionen bygger på hur vi förstår begrepp, det vill säga att vi förstår ett begrepp i relation till andra begrepp. Nackdelen är att det fungerar endast för företeelser som kan ordnas i någon form av hierarkier.
Distinkt definition Man bestämmer föremålets unika egenskaper. Exempel: Piracy consists of any of the following acts: a) any illegal acts of violence or detention, or any act of depredation, committed for private ends by the crew or a private aircraft, and directed…. b) any act of inciting or of intentionally facilitating an act described in sub-paragraph a).Viktigt att täcka in så mycket som möjligt av de egenskaper som är viktiga både nu och vad som kan tänkas för framtiden.
Kausal definition – ändamål Exempel:”rapport till Finansinspektionen med sammanställning av försäkringspremier för året.”Kan vara användbart som en del av en beskrivning. Bra att veta syftet med något.
Kausal definition – orsak Exempel:”tabell byggd i samband med DOB-projektet”Kan vara användbart som en del av en beskrivning. Bra att veta historien bakom något. Kan fungera som startpunkt i dokumentationsarbetet.
Genetisk definition Exempel: ”balans beräknad vid midnatt, varje bankdag”Är åtminstone användbar information. Bra att veta när, hur och var något skapas. Kan vara en startpunkt i dokumentationsarbetet.
Slumpmässig definition Bygger på egenskap som inte är företeelsens essentiella natur. Exempel:”Medarbetare på företaget är kvinna som..”Inte en riktig definition men kan ändå vara användbart.  
Ostensiv definition Man visar på exempel. Exempel:”Storkund är kund som Ericsson, H&M eller Statoil”Ofta användbart. Även illustration eller bild fungerar.
Stipulativ definition Man ger en term en helt ny betydelse. Exempel:”med köp menar vi alla typer av betaltransaktioner”En typ av nominell definition. Viktigt att vara tydlig med termens vanliga betydelse.
Legislativ definition
Specialfall av stipulativ definition. Vi skapar ett nytt begrepp. Exempel:”Customer Lifetime Value is the expected revenue for a Customer during its lifetime”
Inte en typ av nominell definition. Detta är vanligt i all slags modellering.

Termer som är omöjliga eller nästan omöjliga att definiera

Många av de vanligaste begreppen vi rör oss med är notoriskt svåra att ge en definition. Exempel: ”kvantitet”, ”kvalitet”, ”relation”, ”plats”, ”tid”, ”tillstånd”, ”aktivitet”. De karakteriseras av att de är grundläggande och mycket vanliga och har många synonymer. Men dessa behöver vi vanligen inte heller definiera. Vi kan förutsätta att den exakta betydelsen framgår av sammanhanget.

Vad vi önskar av en definition

Vad ska vi försöka uppnå med en definition? Det är inte så lätt alla gånger, men detta är i varje fall vad vi eftersöker. Ofta får vi göra avkall på dessa krav.

  • Ska vara en riktig definition, inte en nominell
    Ordböcker har ofta nominella definitioner, men en informationsmodell är mer än en ordbok, det är mer som en lärobok eller ett lexikon.
  • Ska vara komplett
    En bra test är att se om definitionen kan sättas i stället för termen som definieras.
  • Ska inte vara för smal, det vill säga den ska täcka allt som termen kan stå för
    Detta är mer ett mål än ett absolut krav. Minsta krav är egentligen bara att när en definition publiceras ska den vara tillräckligt bra för att användas, och inte skapa problem.
  • Ska inte vara för bred, det vill säga den ska inte täcka mer än det termen kan stå för
    Mycket generella definitioner är lätta att skriva, men inte särskilt hjälpsamma, och kan förvirra.
  • Ska vara korrekt
  • Ska kunna klargöra en tvetydig term
    Därför kan det vara bra att ha med vilken betydelse termen inte har, det vill säga en eller flera homonymer.
  • Ska inte vara dunkel och otydlig i onödan
    Ska kunna förstås lätt av person med rimlig kunskap i sammanhanget. Man kan i vissa sammanhang ha två definitioner, både en enkel att förstå och en mer precis. (Det väcker frågan vem vi skriver för: Mottagarna kommer mest troligt att vara kunskapsarbetarna i organisationen. Där måste vi anta en viss bakgrundskunskap.)
  • Ska inte vara tautologisk, eller med synonym
    Exempel: ”En människa är en medlem av arten Homo sapiens”. Detta är ett vanligt fel. Den definitionen ger ingen information alls.
  • Ska inte vara cirkulär
    Exempel: Dygn är en period på 24 timmar”.”Timme är ett 24-dels dygn”.
  • Ska inte vara negativt formulerad (om den kan vara positiv)
    En negativ formulering är ofta svårare att förstå.
  • Ska markera tvetydighet och oklarhet explicit
    Verksamhetstermer kan ofta vara tvetydiga, eller oklara, för oss. Det är då viktigt att vi skriver ner att vi är osäkra på vad vi i dagsläget inte vet.
  • Ska inte räkna upp förekomster
    Ofta har man räknat upp förekomster utan att de har något mer gemensamt än verksamhetens avsikt med dem. Det är då endast möjligt att fånga den avsikten.

Vad som är viktigt egentligen

Vi ska så klart sträva efter att skriva så bra definitioner som möjligt, och hela tiden träna på att bli bättre på detta. Men det viktiga när allt kommer till kritan är egentligen bara att definitionen är användbar, att det hjälper den som läser den att förstå vad termen står för.

/Peter Tallungs, IRM

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

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

Det viktigaste du gör som informationsarkitekt: Arbetet med verksamhetens begrepp och språk

Informationsmodellering handlar inte bara om data och information, utan också om att analysera, beskriva och normera verksamhetens begrepp och språk. Den viktigaste uppgiften vi har som informationsarkitekter, enligt mig. Ändå är det sällan eller aldrig den uppgiften beskrivs i litteraturen om informationsmodellering eller Data management.

Vikten av begrepp och språk.

Malcolm B. Chisholm är den ende inom Data/Information Management som jag vet har intresserat sig för hur vi arbetar med definitioner. År 2010 kom han ut med boken Definitions in Information Management. I förordet citerade han ett par kollegor:

”What do you mean by ____?

After close to 30 years in the consulting business, I think that is the most important single question one can ask during an engagement.

What I´m talking about, of course, is the art and science of clarifying communication through good definitions. And it isn´t just the end result that matters – the process of building definitions is as important as the destination. Along the way, you find out what you really think a term means, what they think it means, what the term might mean sometime in the future, and any number of other details that will surface and explain miscommunication. “

Alec Sharp, Claritec Inc

“Ambiguity is a kind of friction which limits the quality of our discourse, the utility of our data, and the reach of our understanding.

All progress in information management depends on our ability to identify its source and reduce it to its absolute minimum.

In this regard, no other effort pays more dividends that that of establishing good definitions.”

Suzanne Yoakum-Stover, Ph.D. Executive Director, Institute for Modern Intelligence

Jag kan instämma, med hela min erfarenhet. Det är mer regel än undantag i våra organisationer att dataelement är otydligt eller felaktigt namngivna, definierade och beskrivna. Ofta är de inkonsistent populerade, och misstolkas då de används. Detta beror till stor del på att man inte tagit fram och använt tydliga namn och definitioner.

Hur du väljer namn och definitioner har ofta mycket större betydelse för verksamheten än hur du strukturerar information. Namn och definitioner lever ofta kvar i decennier, vanligen längre än de system vi bygger.

Termer och begrepp är mycket viktigare än vi ofta föreställer oss. Vi bygger ett språk, och språket utgör inte bara kommunikationens grundvalar utan även tänkandets. Begreppen vi använder formar och begränsar hur vi kan tänka.

Varför är detta en uppgift för oss informationsarkitekter?

Är detta verkligen en uppgift för oss informationsarkitekter? Ska vi inte bara använda de benämningar och definitioner som verksamhetens sakkunniga ger oss?

Nej, så enkelt är det inte. När jag analyserar och beskriver de data och den information som förekommer, så handlar det inte bara om informationen i sig utan det som informationen står för. Det vill säga de företeelser som informationen handlar om, inklusive dessas egenskaper, relationer, regler med mera. Då hittar jag också namn som oftast är dåligt valda och missledande. Ofta har en och samma sak fått många olika namn när det transporteras genom verksamhetens många olika system, filer, rapporter, användargränssnitt och api:er. Många namn är sammanblandande och förvirrande. Ännu värre kan det vara med definitioner, om de ens finns. Ofta är de fel och missledande.

Då måste jag bestämma ett normerande namn och hitta en korrekt definition, samt hantera alla namn som förekommer som synonymer. Det är klart att jag gör det tillsammans med sakkunniga, men det är normalt jag som får använda mitt omdöme och min erfarenhet av namngivning och begreppsanalys för att komma fram till ett namn och definition som blir bra och verkligen fungerar.

Det är svårt att tänka sig att det skulle gå att arbeta med namn och definitioner utan att samtidigt jobba med företagets data. Därmed menar jag att arbetet med verksamhetens alla namn och definitioner i praktiken är sammanvävt med informationsarkitektens arbete med data och information.

Om vi skulle ha lyxen att i organisationen ha någon som är särskilt kunnig med och ansvarig för verksamhetens nomenklatur blir det ändå så att jag som informationsarkitekt måste jobba tillsammans med denne. Det data jag hittar ger input till vad vi behöver benämna. Det går därmed inte att säga att man först måste ha ordning på alla namn och begrepp, och först därefter kan informationsmodellera. Det är ett iterativt arbete med tät samverkan mellan arbetet med informationen och arbetet med språket.

Därmed utvecklar och underhåller vi verksamhetens terminologi.

Men konstigt nog behandlas inte detta viktiga område alls när man studerar vad som skrivits inom områdena informationsmodellering, informationsarkitektur och Data Management. Jag har kanske trettio böcker om informationsmodellering hemma, men jag har inte sett detta behandlas någonstans, vad jag kan minnas. Den internationella organisationen DAMAs referensverk om Data Management: DAMA-DMBOK går på 600 sidor igenom Data Managements alla delämnen. Men inget om namngivning, begrepp och definitioner.

Chisholms bok, som jag nämnt ovan, är det enda undantaget.  

Vad behöver definieras?   

Att jobba med namn och definitioner är förmodligen det viktigaste vi gör som informationsmodellerare.

Alla element i en informationsmodell behöver ha användbara namn, definitioner och beskrivningar. Det är en viktig del av det löpande arbetet för oss informationsarkitekter.

Med element i en informationsmodell menar vi inte bara entiteter utan även attribut, relationer, förekommande värden för attribut med uppräknade värdemängder samt hela ämnesområden.

Även dataelement i våra databaser, filer, tjänster, applikationer, formulär och rapporter behöver ha användbara namn, definitioner och beskrivningar.

Vad behöver vi ha definitioner till?

Vi behöver definitionerna för att förstå de verksamhetsbegrepp som representeras i data. Vi behöver definitioner för att härledda termer ska bli korrekta, och för att mappa och spåra data genom olika käll- och målsystem. Vi behöver definitioner för att jämföra datainnehåll med definitionen.

Vi behöver definitioner för att veta att vi verkligen pratar om samma saker i alla sammanhang. Särskilt viktigt är det i analyser och rapporter.

Det finns vissa situationer då man tydligare än annars lider av brister i definitioner: Till exempel källdataanalys i BI-projekt, dataanalys när system ska ersättas samt integrationsprojekt.   

Jag tror att många som läser detta känner igen sig. Men låt oss då göra något åt detta!

Hur behöver vi jobba med definitioner?

När jag handleder elever i informationsmodellering får jag ofta hjälpa dem att skriva definitioner. De flesta tror att de skriver definitioner men skriver i själva verket beskrivningar av olika slag. Vilket ofta också behövs, fast först och främst behöver vi bra definitioner. Men med några enkla råd blir de snabbt bättre.

Namn och definition är olika saker men följs åt i arbetsgången. När du har tagit fram eller ändrat en definition för något behöver du ofta ändra namnet för att det ska avspegla innebörden. Arbetet med namn och definitioner är inget som går att separera från det övriga modelleringsarbetet, utan är själva kärnan i det vi gör när vi modellerar. Så snart vi ritar en entitet och ger den attribut och relationer så behöver vi ta fram både namn och definition.

Till en början är både namn och definition på försök, de är tentativa. Med tiden arbetar vi om dem, i takt med att vår gemensamma förståelse utvecklas.

Ibland kör vi fast. Vi kan inte komma på hur vi ska definiera något, eller kanske hur vi ska benämna det. Men då hjälper det alltid att vi sover på saken. På något sätt arbetar då hjärnan omedvetet, och nästan utan undantag kommer nya friska idéer. Det är det vi kallar aha-upplevelser.

/Peter Tallungs, IRM

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

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

Om begreppsmodellering

Begreppsmodellering är något man kan ta till för att få ordning på termer och begrepp inom ett område. En begreppsmodell är i sin grund något annat än en informationsmodell. Det finns dock samband, och i praktiken delvis överlappande syfte med dessa två typer av modeller. I denna artikel visar jag vad en begreppsmodell kan vara.

En begreppsmodell är inte en informationsmodell

En begreppsmodell kan till det yttre tyckas vara detsamma som en informationsmodell. Båda har boxar som står för olika begrepp och streck som står för relationer mellan begreppen. Men likheten är bedräglig. En renodlad begreppsmodell har ett annat syfte än en informationsmodell, och både boxarna och relationerna representerar något annat.

Följande tabell visar skillnaderna.

Syfte – analysera och beskriva:En box representerar:En relationslinje representerar:
Informations-modellden information som hanteras eller behöver hanteras och hur den kan struktureras. (Det innebär att informationsmodellen också beskriver det som informationen representerar, det vill säga de företeelser som verksamheten behöver hantera, inklusive dessas egenskaper och relationer.)(informationen om) en företeelse som har förekomster, det vill säga en klass av något. Exempel: Kund, Avtalett informationsmässigt samband. Exempel: Information om en kund refererar kundtyp, kundstatus, land etcetera
Begrepps-modellde begrepp som finns och ska förstås inom ett område.ett begrepp. (Vilket kan stå för en klass av något, men egentligen vilket begrepp som helst, till exempel: en viss förekomst av något, en egenskap, en relation eller ett visst värde, eller något helt annat som inte alls har någon representation i en informationsmodell) Exempel: Taxering, kvalitet, vinstsyfte, abstrakt, alienation, empiri, heliocentrisk världsbilden referens till ett annat begrepp som detta begrepp relaterar till i sin definition. Exempel: ”En kund är en organisation som vi erbjuder våra produkter”. (Här finns en begreppsmässig referens från begreppet ”kund” till begreppen ”organisation” och ”produkt”.)

Exempel på hur man kan begreppsmodellera

För att riktigt beskriva vad begreppsmodellering är, är det lämpligt att visa hur det kan gå till. Följande exempel använder Stanli-notation, vilket är en notation som är renodlad för begreppsmodellering. Den togs en gång fram av det svenska standardiseringsorganet Stanli och var från början avsett för analys och beskrivning av begrepp för geografisk information, men kan användas för alla slags begrepp.

Här exemplifierar jag modelleringsprocessen i tre steg. Exemplet handlar om de ordinationer en läkare kan ge en patient, och säg att vi behöver reda ut vilka olika begrepp som kan förekomma i det sammanhanget och vad de egentligen betyder Detta är en förenklad bild av modelleringsprocessen. I verkligheten är gången mycket mera iterativ.

Steg 1:    Ordna begrepp i begreppshierarkier som visa hur ett begrepp är en specialisering av ett annat begrepp

Man ordnar begrepp i begreppshierarkier.
Ett begrepp är ofta en specialisering av ett annat begrepp. Därför är begreppshierarkier ymnigt förekommande i begreppsmodeller.

Steg 2:    Beskriv övriga begreppsmässiga samband mellan begrepp

Begreppsmässiga samband är de referenser till andra begrepp som behövs för att definiera ett begrepp. Ofta är det de relationer som skiljer två begrepp som båda är specialiseringar av samma generella begrepp från varandra. I exemplet är det som skiljer en ordination från en generell ordination att den avser en specifik patient.

Steg 3:    Ta fram definitioner

Pilarna från ett begrepp är referenser till andra begrepp som behövs i definitionen.

Exempel på en färdig begreppsmodell


Här är ett exempel på en färdig begreppsmodell som visar några av de centrala begreppen i en biblioteksverksamhet. I Stanli-notation skriver man in definitionerna i begreppsboxarna. De blå boxarna representerar begrepp som man utgår från och använder i sina definitioner, och som man bedömer att man inte behöver definiera.  

När ska man begreppsmodellera?

Det är ett verktyg att ta till då man inte kan reda ut begrepp på ett annat sätt. Men det händer sällan att jag tar fram en renodlad begreppsmodell. Och det är jag inte ensam om. I praktiken gör man som informationsmodellerare sällan en särskild begreppsmodell. Orsaken är att det blir för tungrott att ha både en begreppsmodell och en informationsmodell som ska utvecklas i synk, samt att det nästan alltid är tillräckligt att analysera, definiera, dokumentera och hantera begreppen i en informationsmodell. Det är en mycket viktig uppgift som kan hanteras bra av informationsmodellen. Dock slarvas det ofta bort.

Hur kan vi låta informationsmodellen fungera som en begreppsmodell?

Först måste vi förstå att inte alla begrepp som kan finnas i en verksamhet har plats i en informationsmodell. En informationsmodell kan beskriva mycket, men det är ändå begränsat till de företeelser som verksamheten behöver hantera förekomster av, samt dessas egenskaper och relationer, inklusive förekomster i uppräknade värdemängder. Om de begrepp vi är intresserade av är de begrepp som kan finnas i den sfären, vilket torde vara nästan alla centrala begrepp i en verksamhet och ofta blir fler än tusen i en vanlig organisation, så kan vi hantera dem i en informationsmodell.

Skillnaden blir att begreppen inte bara representeras av boxar i diagrammet utan även entiteter (till exempel Kund), attribut (till exempel Kundtyp) och förekomster av uppräknade värdemängder (till exempel Kundtyp P).

För alla dessa begrepp behöver vi hantera följande:

  • namn, både normativa namn och förekommande synonymer
  • definitioner, till exempel:
    • Kund är en person eller organisation vi erbjuder våra tjänster
    • Kundtyp är en typ en kund kan vara av med avseende på…
    • Kundtyp P – Privatkund är en kund som är en privatperson.

Jag tycker att det är viktigt att som informationsmodellerare känna till och behärska begreppsanalys, begreppsmodellering och hur man kan jobba med verksamhetens begrepp och språk. Och inte minst hur man inkorporerar det i arbetet med informationsmodeller.

Det är svårt att tänka sig att man kan informationsmodellera utan att definiera begrepp. Låt oss då göra det bra! Följande artiklar fortsätter på det temat.

/Peter Tallungs, IRM

Nästa artikel i serien publicerar vi torsdag 12 maj. 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

Om begreppsanalys

Man kan inte göra en informationsmodell utan att analysera och definiera de begrepp som modellen rymmer. Som modellerare gör man egentligen alltid en begreppsanalys, medvetet eller omedvetet, genomarbetad eller slarvig, bra eller dålig. Begreppsanalys är på så sätt alltid en integrerad del av informationsmodellering. Låt oss göra det bra! Denna och följande artiklar ger den grund du behöver. 

Vad är begreppsanalys?

Begreppsanalys behöver inte alls ha något att göra med informationsmodellering. Vi kan göra det när helst vi djupare behöver förstå och definiera de begrepp som förekommer inom ett område. Vi gör det genom att reda ut hur begreppet ifråga förhåller sig till närliggande begrepp. 

Man kan som sagt tänka sig att man analyserar begrepp utan att det har något med en informationsmodell att göra. Men när vi informationsmodellerar är det omvänt, då måste vi alltid analysera och hantera begrepp. Man kan inte tänka sig informationsmodellering utan att det har en kärna av begreppsanalys i sig. Att arbeta med begrepp och språk är centralt för oss som tar fram informationsmodeller. Men det är sällan man behandlar det som ett ämne i kurser och böcker om informationsmodellering. Det är synd. Denna och följande artiklar vill fylla den luckan.

Informationsmodelleringens två perspektiv

Ett sätt att se på informationsmodellering är att vi analyserar och beskriver de företeelser som en verksamhet hanterar och vilken information som behövs för detta. För att göra det behöver vi tillämpa två olika perspektiv:

  1. Begreppsanalys: Vilka är företeelserna och vilka begrepp används för företeelserna och deras egenskaper, relationer och tillstånd? Vad betyder de ord vi använder? Behöver vi andra begrepp eller benämningar?
  2. Informationsanalys: Vilken information har vi, eller behöver vi ha, för att hantera företeelserna? Hur ska vi strukturera informationen på bästa sätt?

Ofta, i teoretiska beskrivningar av verksamhetsmodellering, försöker man hålla isär dessa två perspektiv. Man har då tänkt sig att man först gör en begreppsanalys och sedan, först då denna är klar, en informationsanalys som bygger på begreppsanalysen.

Men det är ett alltför teoretiskt synsätt för att vara gångbart i praktiken menar jag. Det handlar visserligen om olika perspektiv men i vår vardag som informationsmodellerare är dessa så ömsesidigt beroende av varandra att vi behöver jobba med båda perspektiven samtidigt. Vi behöver ständigt och sömlöst växla fram och tillbaka mellan dessa två perspektiv.

Men det hindrar inte att vi här och nu behandlar begreppsanalys som ett ämne i sin egen rätt. Detta för att vi riktigt ska förstå vad det handlar om.

Meningstriangeln

Centralt för begreppsanalys är att på djupet förstå skillnaden mellan termer och begrepp. Den bild som man då brukar visa kallas för meningstriangeln, eller ibland semiotiska triangeln.

Semiotik eller semiologi är studiet av tecken. Med tecken menar man i detta sammanhang inte bara det vi till vardags tänker på när vi säger tecken eller symboler utan också termer. Termer är de ord vi använder och är också att se som ett slags tecken eller symboler.

Tecken är allt det vi använder för att på ett eller annat sätt symbolisera, beteckna eller stå för ett begrepp.

Observera att när man inom semiotiken säger ”begrepp” menar man inte själva ordet (termen) utan det som ordet står för i vårt medvetande.

Triangeln kan också kallas Aristoteles triangel eller Ogden & Richards triangel.

Meningstriangelns tre hörn visar vad vi rör oss med när vi tänker på och benämner företeelser.

Dels har vi företeelserna i verkligheten. Det kan vara djuret katt. Sedan har jag på något sätt lärt mig att det finns något sådant och vad som utmärker det. Jag har bildat mig begreppet katt. Ett begrepp är alltså i detta sammanhang min föreställning, min idé om företeelsen i verkligheten, alldeles oavsett vad jag kallar den för.

Sedan har jag själva namnet eller termen som jag använder för att referera till företeelsen och kommunicera med (som man inom semiotiken ofta kallar tecken eller symbol):  ”katt”.

Dessa tre saker kan röra sig tämligen fritt i förhållande till varandra. Företeelsen i verkligheten finns där vare sig vi kan tänka på den eller har namn för den. Vi kan ha olika föreställningar om företeelsen. Man kan tänka sig att vi blandar ihop olika företeelser och därmed inte skiljer på dem i huvudet.

Framförallt är det viktigt att skilja på termer och begrepp. Vi kan ha olika termer för samma begrepp. Det kallar vi för synonymer. Till exempel ”katt”, ”cat”, ”kattracka”, ”kissekatt”.

Vi kan också ha olika begrepp för samma term. Det vill säga att en term har flera betydelser. Det kallar vi för homonymer. ”Katt” är enligt ordboken inte bara ett djur utan också en piska som använts som straffredskap till sjöss samt en talja varmed skeppsankare säkrades förr.

Den gemensamma förståelsen

Meningstriangeln säger dock bara vad som rör sig i mitt eget huvud, och relationen mellan min förståelse och det jag uppfattar och benämner. Vanligen är vi flera personer som behöver ha en tillräcklig gemensam förståelse (gemensamma begrepp) och ett gemensamt språk (gemensamma termer).

Men jag kan aldrig, i mitt huvud, komma åt förståelsen (begreppen) i ditt huvud, och du kan inte heller helt uppfatta förståelsen i mitt huvud. Det vi kan jobba med för att vara säkra på att vi har en tillräckligt bra gemensam förståelse är definitioner, det vill säga beskrivningar som bestämmer eller avgränsar betydelser, samt att vi hittar användbara termer som är så tydliga som möjligt för att förmedla denna gemensamma förståelse.

Skilj mellan begrepp och term!

Termer är de ord vi använder för att namnge företeelser. ”Katt” är alltså inte ett begrepp utan en term. Själva begreppet, vad en katt är kommer vi åt på ett annat sätt, genom en definition. Definitionen är kanske ”litet smygjagande rovdjur i familjen kattdjur”.

Vid modellering händer det alltid att deltagarna har olika uppfattning om termers betydelse, och vilka termer som är bäst att använda. Ett bra sätt att underlätta den dialogen är att skilja på diskussionen om begrepp och diskussionen om term, det vill säga att vi först säkerställer att vi diskuterar samma företeelse. Det gör vi enklast genom att först diskutera och komma överens om en definition. Om vi först kommer överens om att företeelsen vi diskuterar är ”person eller organisation som vi erbjuder våra tjänster”, så kan vi först därefter diskutera om den term vi ska använda är ”kund”, ”gäst”, ”besökare”, ”användare” eller ”brukare”. Det brukar bli lättare om vi gör på det sättet. Annars riskerar vi att tala förbi varandra.

Definitioner är viktiga. Det är vanligt att det med tiden visar sig att man menar olika saker med en term. Det är kanske den vanligaste orsaken till risker, fel, förseningar, skenande kostnader och strul i största allmänhet i projekt som omfattar integrationer av olika slag.

Kommande artiklar

Följande artiklar i denna serie kommer att handla om detta; Vad begreppsmodellering är, hur vi kan vårda och utveckla vår verksamhets begrepp och språk, hur vi hanterar begrepp och termer i våra informationsmodeller, samt hur vi kan skriva bra definitioner och ge bra namn på saker och ting.     

/Peter Tallungs, IRM

Nästa artikel i serien publicerar vi torsdag 5 maj. 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

Informationsmodellering: Om hur vi kan representera mängder, sammansättningar och specialiseringar i ER-diagram

En företeelse kan ha ett nära beroende till en annan företeelse på ett eller annat sätt. Ofta vill vi se det som att den beroende företeelsen är underställd den andra. Det är viktigt att vi kan förmedla detta tydligt med grafiken i ett ER-diagram. Hur gör vi detta?

I ER-diagram uttrycker vi ju beroenden mellan entiteter med relationslinjer. Men vissa typer av relationer är annorlunda än andra. De innebär en tätare bindning. Jag tar upp dessa och diskuterar hur vi kan representera dem i ett ER-diagram.

Mängd (aggregation)

Det är ofta så att förekomsterna av en entitet ingår som en medlem i förekomsten av en annan entitet. Ett exempel kan vara böcker i en boksamling. En viss bok kan vara medlem i en viss boksamling.

I UMLs klassmodeller kallas det för en mängd (aggregation).
Medlemmen i en mängd har en egen oberoende existens. Det betyder att medlemmen (en bok) finns kvar då en förekomst av huvudentiteten (den boksamling den tillhör) upphör att existera. En medlem av en mängd kan också byta tillhörighet och bli medlem av en annan mängd, det vill säga lämna en boksamling för en annan.

Medlemmen (boken) kan visserligen sägas vara underställd mängden (boksamlingen) men bindningen är inte permanent. Den är inte existentiell. De vill säga att boken kan existera utan att den tillhör en boksamling, den kan byta boksamling och den kan fortsätta att finnas efter det att boksamlingen läggs ner.

Som jag tidigare har nämnt i artikeln ”Saker jag stjäl från UML” så finns det ingen mening med att se den typen av relation som någon som utskiljer den från andra typer av relationer. Martin Fowler ägnar en hel uppsats till att avfärda att ”mängd (aggregation)” skulle vara en form av relation som behöver markeras särskilt i ett klassdiagram. Självaste Jim Rumbough, en av grundarna till UML, liknade den särskilda symbol som UML använder för mängd, en ofylld romb, vid placebo. En mängd är helt enkelt inget annan än en vanlig association med en kardinalitet min 1 – max 1 , och därför är det tämligen meningslöst att ha en särskild symbol.

Men trots att bindningen inte är permanent så finns det ändå ett beroende som säger att boken är underställd boksamlingen. Jag tycker att det är viktigt att uttrycka det på något sätt och gör det genom att placera den underställda entiteten (bok) under den andra entiteten (boksamling) i ER-diagrammet.

Sammansättning (composition)

Det finns samlingar av förekomster som skiljer sig mot mängd på så sätt att en förekomst inte kan ha en egen existens. Det vill säga att medlemmen aldrig kan existera för sig själv, oberoende av den samling den tillhör, samt att den aldrig kan byta samling. Ett typiskt exempel är hur en fakturarad hänger ihop med en faktura. I UML kallas den konstruktionen sammansättning (composition) och markeras i UMLs klassdiagram med en fylld romb. (Observera att jag använder en ofylld romb, eftersom Microsoft Visio saknar fylld romb som standard för start eller slut på linje.) 

Observera att det är en helt annan typ av relation än en vanlig association, och också annorlunda än en mängd. Jag tycker att det är en så pass annorlunda relation att den behöver markeras särskilt i en informationsmodell. Jag är inte ensam om detta. De flesta notationer för ER-diagram har sina egna sätt att markera detta.
Jag kör UMLs variant med en romb, men eftersom en fylld romb inte finns med som standardalternativ i MS Visio brukar jag ta mig frihetet att använda en ofylld romb i stället.

Vanlig layout av hierarkier

Mängder och sammansättningar bildar ofta hierarkier i flera nivåer. Här är ett exempel på hur detta kan gestaltas i ett ER-diagram. Lägg märke till att skiv- och boksamlingar är mängder, det vill säga att CD-skivor och böcker existerar oberoende av om de finns med i några samlingar eller inte. De är alltså vanliga mängder och behöver därför ingen särskild symbol. Detta till skillnad mot spår på en CD-skiva eller kapitel i en bok. De försvinner då man raderar skivan eller boken. De är således sammansättningar (compositions) och relationen är därmed av en helt annan natur och förtjänar att märkas ut särskilt. Vilket jag som sagt gör med en romb.

Det är vanligt att man gestaltar hierarkier i ER-diagram som exemplet visar, i vertikala kolumner. Men jag använder ofta en annan layout, som jag presenterar i det följande.

Alternativ layout av hierarkier

Här är exakt samma hierarki som i föregående exempel men där entiteterna placerats med indrag i förhållande till de entiteter de är underordnade. Detta sätt att rita ger fördelar menar jag, speciellt i lite mer omfattande ER-diagram.

Dels kan det ofta bli en mer kompakt layout, och dels kan det ge en tydligare ordning. Speciellt då man behöver dra många relationslinjer från entiteterna i hierarkin till andra delar av ER-diagrammet. Entitetsrutorna blir då inte lika mycket i vägen för varandras relationslinjer som då de ligger ordnade i kolumner och rader. Fördelen framgår kanske inte så tydligt i detta exempel, men jag har funnit det användbart. Att kunna ha många olika alternativ till hands för hur man kan placera entiteter i förhållande till varandra ökar vilken uttryckskraft vi kan få till för att förmedla hur sake och ting hänger ihop.

Specialisering (subtypning)

De finns en helt annan typ av relation mellan entiteter. Det är när en entitet (subtyp) är en mer specialiserad variant av en annan entitet (supertyp).

Ett exempel kan vara att faktabok och skönlitterär bok (subtyper) är två specialiseringar av bok (supertyp).

I UML markeras det med en ofylld triangelformad pilspets i änden på associationslinjen i riktning mot supertypen. Jag använder den symbolen när så är lämpligt. (När jag inte använder notationen att subtypen är inskriven i supertypen.)

Specialisering kan som exemplet visar ritas med indrag på samma sätt som jag visat ovan för mängd och sammansättning.

Exempel från verkliga informationsmodeller

Här har vi två exempel på hur hierarkier med indrag kan se ut i verkliga diagram.

Hur gör du?

Det här är ju till stor del mina egna idéer om hur man i ett ER-diagram kan representera olika vanliga strukturer hos företeelser i en verksamhet. Du har säkert andra idéer. Berätta gärna!

/Peter Tallungs, IRM

Nästa artikel i serien publicerar vi torsdag 28 april. 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