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:
- Varje informationsentitet som tillhör gruppen placeras inuti entitetsgruppen med inbördes relationer synliga.
- 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.
- 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.
