[innehåll]

Konceptuell modellering

Innan man börjar programmera sitt pedagogiska stödsystem måste man lägga minst lika mycket tid på att konceptuellt modellera och designa detta.

I figuren ses sambanden mellan de olika stegen i modelleringsaktiviteterna fram till slutlig inläggning av systemet. Det konceptuella modelleringsarbetet tar lika lång tid som den egentliga datorimplementeringen.

Vid KBS-Media Lab använder vi en metod som vi kallar Demonstrator-metoden som hjälp under hela kedjan. På detta sätt kan vi under hela utvecklingsarbetet fånga, kommunicera, analysera och implementera idéer. Metoden kallas också incremental prototyping och innebär att man börjar med ett tomt skal som visar en första idé till användargränssnitt och funktion av systemet. Efterhand som arbetet fortskrider byggs demonstratorn ut för att sluta som ett färdigt system. Arbetet sker delvis i grupp med omedelbar feed-back av föreslagna förändringar.

Designarbetet skall utföras av en grupp (i bästa fall) med alla nödvändiga kompetenser representerade, grafisk design, bildbehandling, modellering/systemering, dramaturgi, etc. beroende på arbetets art.

Det konceptuella modelleringsarbetet är det första man tar itu med. Man utgår ifrån tillämpningen med kontext och tilltänkta användare och möjliga IT-verktyg. Denna verklighet brukar man kalla "universe of discourse". Det vi försöker göra är att skapa en datorlagrad modell av denna verklighet eller delar av den.

Till en början med måste man definiera en del grundläggande begrepp/koncept i begreppsmodelleringsarbetet (den konceptuella modelleringen). Ett vanligt sätt att är att börja med att definiera efter (Chen, 1976) ("The Entity-Relationship Model - Toward a unified View of Data", ACM Transactions on Database Systems, vol. I, No. 1, March 1976)

En entitet är "något vi vill ha information om inom vårt intresseområde. Det kan vara en viss person, en viss sak (ett tillstånd), ett visst ställe, en viss tilldragelse eller en viss begreppsmässig konstruktion", "En entitetstyp är en samling entiteter där alla entiterna uppfyller definitionskriterierna för entitetstypen". (Andersson, E, 1991). Entiteterna ElevA och ElevB är förekomster av entitetstypen 'Person'. Entitetstyperna 'Lärare' och 'Elev' är delmängder i entitetstypen 'Person'.

En relation är en förbindelse - ett samband - mellan entiteter i olika entitetstyper eller mellan entiteter i samma entitetstyp (Andersson, 1991).

Kardinaliteten anger hur många entiteter i varje entitetstyp en relation knyter ihop. Särskilt i modellering som leder till en datamodell som skall implementeras som en databas.

Relationerna kan vara av typ

Attributen knytes till entitetstyper (ålder, skola, årskurs, etc.). Man delar ofta in attribut i identifierande (för att namnge och/eller identifiera den aktuella entiteten) och beskrivande attribut (dess särdrag). I ett verksamhetsstöttande perspektiv (för att underlätta för användaren istället för databasperspektiv) kan man även ha glädje av relationsstöttande (associativa) attribut (exempel entitetstypen 'Skola' har kanske till en början attributet lärare (som också kan ett/flera ämnen) där det visar sig att lärare egentligen är en egen entitetstyp varvid lärare övergår från att vara ett attribut till entitetstyp.

Det finns olika sätt att grafiskt åskådliggöra ovanstående resonemang. Ett sätt är grafiskt med hjälp av 'kråkfotsteknik' eller med NIAM-diagram. Det finns rutiner för att automatiskt översätta sådana beskrivningar till databasschema i en relationsdatabas.

Vi arbetar även med Rich Picture för att åstadkomma en konceptuell modell. Mind-Maps,...Det finns naturligtvis flera sätt att utföra denna kreativa och analyserande verksamhet.

Det kan vara lämpligt att i designarbetet definiera en struktur över begrepp, Från (Löwgren, 1993) ("Human Computer-Interaction. What every system developer should know").

Jonas Löwgren anger att man ofta men ej alltid börjar i den abstrakta begrepssfären.

I (Löwgren, 1993) ges några exempel på flitigt använda konceptuella modeller.

Black-Box modellen utgår vi ifrån att användaren ej förväntar sig att förstå underliggande modeller i någon större omfattning. Kan användas för system som stöder mindre rutinuppgifter. Det kan vara svårt för användaren att förstå eventuella fel som uppstår.

Dialogue state model passerar man olika states på väg mot mål tillståndet. Den innehåller ett antal interaktions-stadier som snavändaren passerar på väg mot målet. Kan vara bli trsiat att använda efter en tid men ger bättre stöd än en black-box. Exempel på state-system är bankomater.

Hierarkiska modeller är ofta händelsestyrd. Användarens åtgärder styrs bland ett stort antal olika alternativ för olika tjänster. Användarens handlingar organiseras snarare än snarare än objekt (entiteter) i tillämpningen. Exempel är de olika navigationsmetoderna i Encharta där man leds genom olika val för sökning till dess att själva sökningen kan ske.

I objection/action modellen modellerer man tillämpningen i objekt och de aktioner användaren kan utsätta dem för. Typiskt exempel är de på en bildskärm direktmanipulerbara objekten som cirklar etc. Eller att klicka på en bok och den öppnar sig.

Använd gärna Metaforer i Ditt modellerande. (Löwgren, 1993) skiljer i samband med gränssnittsdesign på två typer av metoforer

Givetvis kan man blanda olika metaforer men det måste ske på ett för användaren naturligt och förväntat sätt där man kan luta sig mot varadagliga erfarenheter.En avvägning måste ske beroende på målgrupp så att man väcker lagom stor förväntan och låsningar till existerande verklighet. Exempelvis kan det räcka med att klicka på en lampa för att tända den och ej behöva leta upp en väggströmbrytare.

Använd även gärna papper (stort) och penna.under det konceptuella modelleringsarbetet. Skriv entitetsnamn och attribut på pappersbitar och pussla ihop hur de är relaterade.



[innehåll]