×Prime Arch

Konsten att identifiera och strukturera olika informationselement Del 1

Publicerad den
Patrik Hallén

För att öka förståelsen för informationsentiteter, entitetsgrupper och informationsobjekt använder vi ett konkret exempel.

Testa gärna dina informationsmodelleringskunskaper!

  • Olika produkter erbjuds till  försäljning som indelats i olika kategorier för att underlätta för kunder att hitta.
  • De personer man vänder sig till kan ha flera adresser, och vid beställningstillfället väljs en av dessa som leveransadress.
  • I samband med att en person beställer en produkt läggs denne upp som kund och tilldelas en kundkategori.
  • En beställning innehåller referens till en enda produkt (för att hålla det enkelt), och det är viktigt att hålla ordning på var den befinner sig i beställningsprocessen.

Denna korta textbeskrivning ger oss följande informationsentitetsmodell:

Det första som ska göras är att identifiera de olika entitetsgrupperna. Följande principer/riktlinjer kan användas:

  • Nyckelentiteter är naturliga kandidater
  • Entiteter med samma livscykelmönster ingår i samma entitetsgrupp
  • Entiteter med starka inbördes relationer tillhör samma entitetsgrupp
  • Entiteter som typ, kategori och status tillhör alltid samma grupp som entiteten som de är relaterade till
  • Kopplingsboxar (relationsentiteter) placeras i den entitetsgrupp som skapas sist
  • En entitetsgrupp har vanligtvis 5-10 entiteter (bortsett från typ/kategori/status)
  • Entitetsgruppen har ett namn som rymmer ingående entiteter, och som exkluderar närliggande entiteter

I modellen ovan har vi markerat nyckelentiteterna, d v s de mest centrala entiteterna kring vilka status, kategorier och annan relaterad information grupperas.

  • Person blir I41 Part då även organisationer (juridiska personer) ska rymmas i denna.
  • I41 Kund separeras från I41 Part då Kund är en av flera partsroller (andra är Leverantör och Anställd).
  • I41 Beställning är ett händelseobjekt, så kallad transaktionsorienterad information.
  • I41 Produkt är ett grunddataobjekt.

Varje entitetsgrupp modelleras separat i en informationsentitetsmodell enligt följande principer:

  1. Varje informationsentitet som tillhör gruppen placeras inuti entitetsgruppen med inbördes relationer synliga.
  2. Samtliga dessa informationsentiteter analyseras  med tanke på deras relationer till andra, externa informationsentiteter. Enklast är att leta efter "gafflar"/"kråkfötter" som leder till en informationsentitet utanför entitetsgruppen. 
  3. Endast de externa informationsentiteter och relationer som motsvarar ovanstående krav tas med i modellen.

Modellen för I41 Beställning får då följande innehåll och utseende: 

Enligt samma principer får I41 Kund följande utseende i en informationsentitetsmodell:

Principerna är viktiga för att minimera underhållet av relationer - varje relation finns endast representerad i en och endast en modell.

 

I nästa inlägg Konsten att identifiera och strukturera olika informationselement Del 2 fokuserar fortsätter vi med samma exempel men nu är det istället fokus på själva informationsobjektet.