Introduktion till Systemering - Högskolan i Gävle
Introduktion till Systemering - Högskolan i Gävle
Introduktion till Systemering - Högskolan i Gävle
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Per Aspenberg ©<br />
Göran Sundberg ©<br />
Kurskompendium <strong>Introduktion</strong> <strong>till</strong> <strong>Systemering</strong><br />
Börja med att söka efter de självständiga objekten , som ibland också kallas för<br />
fundamentala objekt, kärnobjekt eller existensoberoende objekt. Som namnet antyder är<br />
det objekt som kan existera oberoende av andra objekt. Exempel på sådana objekt är KUND,<br />
ARTIKEL, PERSON, LEVERANTÖR, ANSTÄLLD etc.<br />
En annan typ av objekt är subobjekt. Ett subobjekt utgör en delmängd av en annat objekttyp<br />
som då kallas superobjekt. Om superobjekt BÅT innehåller allmän information om båtar så<br />
kan subobjekt vara motorbåt, segelbåt etc. Dessa subobjekt bär då specifik information för<br />
båtar <strong>till</strong>hörande respektive båttyp.<br />
Beroendeobjekt kallas ibland för associativa objekt. Dessa objekt är alltid beroende av andra<br />
objekt för sin existens. Ett beroendeobjekt kan m.a.o inte existera sjävständigt.<br />
Steg 3 : Bestäm relationer mellan objekt. Studera objekten och bestäm hur objekten ska<br />
relateras <strong>till</strong> andra objekt. Relationen mellan två objekt ska alltid kunna läsas i båda<br />
riktningarna. Bestäm kardinalitet (1:1, 1:M, M:M). Försök även avgöra existensberoende.<br />
Med detta menas om för en viss förekomst av den ena objekttypen det måste eller inte<br />
behöver finnas en motsvarande förekomst av den andra objekttypen.<br />
Ett exempel på ett tvingande existensberoende är att det för varje faktura måste finnas en kund<br />
angiven.<br />
En kort repetition:<br />
Relationer mellan objekt kan vara av olika grader (kardinalitet):<br />
1:1 relation Om två objekt har en 1:1 relation innebär detta att en objektförekomst kan<br />
motsvaras av endast en objektförekomst av det andra objektet. Ex.vis om man i<br />
objektet KUND har termerna Namn och Adress men också vill ha möjlighet att<br />
för vissa kunder registrera Leveransadress så kan Leveransadress läggas i ett<br />
eget objekt.<br />
KUND LEVADR<br />
Kundnr, namn, postadress<br />
Kundnr, levadress<br />
Grundregel: Försök att undvika 1:1 relationer. Man bör bara <strong>till</strong>åta 1:1<br />
relationer om särskilda skäl är uppfyllda. I princip finns bara ett fåtal<br />
”särskilda skäl”. Det ena är säkerhetsskäl. Man kanske vill lägga<br />
Löneuppgifter för Anställda i eget objekt för att skydda det mot obehörig<br />
åtkomst eller ofta ta back-up på objektet.<br />
Ett annat skäl är om endast en del av objektförekomsterna har de aktuella<br />
termerna, dvs vissa datatermer förekommer endast för en del av objekten. I<br />
exemplet ovan är det endast en del av KUNDERNA som har en speciell<br />
Leveransadress.<br />
35<br />
Fig 22. Möjlig 1:1-relation