Oversigt over artefakter

Størrelse: px
Starte visningen fra side:

Download "Oversigt over artefakter"

Transkript

1 Oversigt over artefakter Disciplin Artefakt Inception Elaboration Henvisning Afgrænsning og forståelse Design Implementering Vision s u Bilag 1 Feltnotater fra interviews s Use Cases s u Bilag 2 Use Case diagram s Bilag 3 Systemsekvensdiagrammer s Bilag 4 Operationskontrakter s Bilag 5 Liste til domænemodel s Bilag 6 Domænemodel s u Bilag 7 Papirsprototyper s Bilag 8 Interaktionsdiagrammer s Bilag 9 Klassediagram s Bilag 10 Javaprogram s Bilag 11* Dokumentation s * * findes også på vedlagte cd-rom og på: s = start, u = udvikling Side 1 af 18

2 Indledning Denne opgave er en opsamling og præsentation af den proces, som vi igennem de sidste tre måneder har gennemgået i forbindelse med udviklingen af et træningsprogram til maratonløbere. Opgaven vil især afspejle, hvordan vi har brugt forskellige systemudviklingsmetoder, men selve processen har også budt på mange timers programmering, som er resulteret i version 1.0 af din personlige træner, som er vedlagt på cd-rom. Arbejdet med projektet har først og fremmest været en læreproces, hvor vi har afprøvet de metoder, som er blevet behandlet i undervisningen. Vi har især forsøgt at lægge vægt på den objektorienterede tankegang i forbindelse med den iterative udviklingsproces. Derfor har det primære mål ikke været at udvikle det bedste system mest effektivt, men at få erfaringer med systemudvikling. Teori og metode Unified Process Processen har overordnet været struktureret efter principperne bag Unified Process, præsenteret af Craig Larman. Denne metode bygger på en iterativ udviklingsproces, hvor systemet udvikles og forfines igennem mange iterationer, som hver indeholder elementer af både analyse, design og implementering. Disse iterationer kan inddeles i forskellige faser, som det fremgår af dette skema (fra Larman s. 20): Inception: Opstartsfase: go/no go til hele projektet Elaboration: Udbygningsfase, de mest risikable elementer implementeres Construction: De resterende dele af systemet implementeres Transition: Test og frigivelse af systemet Hver af ovenstående faser (undtagen Inception) består af en række iterationer, i vores projekt har vi gennemgået inception samt to iterationer i elaboration. Systemet er derfor heller ikke på nogen måde færdigt endnu men skal udbygges over flere iterationer. Styrken ved den iterative udviklingsproces er, at man ved at behandle de mest risikable elementer ved systemet i de første iterationer undgår at bygge videre på et forkert grundlag. I den klassiske systemudviklingsmodel, vandfaldsmodellen, udførte man først al analysearbejdet, dernæst design og til sidst implementering. Hvis der så viste sig problemer med et afgørende element under implementeringen, kunne man risikere, at meget af design- og analysearbejdet skulle laves forfra. Det undgår man i iterativ udvikling, idet man kun laver analyse og design af det, som skal implementeres i den pågældende iteration. Side 2 af 18

3 Som supplement til Larman og Unified Process har vi inddraget Contextual Design (Beyer og Holtzblatt), som fokuserer på forståelse af brugeren, hvilket er udgangspunktet for at analysere og designe et system. Det er et aspekt, som Larman ikke behandler så grundigt, idet han forudsætter at der er en veldefineret ramme for projektet. Dette kommer vi tilbage til i afsnittet om Contextual Design. Begrebsdefinitioner Hver iteration kan opdeles efter forskellige discipliner, og vi har i den forbindelse valgt at anvende nogle af begreberne fra den metode som er præsenteret af Mathiassen et. al. (metoden benævnes fremover OOA&D). Efter den indledende inceptionfase, hvor der bliver givet startskud for projektet, indledes analysen, hvor anvendelses- og problemområdet undersøges. Anvendelsesområdet betegner det felt, hvor interaktionen mellem bruger og system finder sted, og problemområdet betegner det felt, som systemet administrerer, overvåger eller styrer (Mathiasen et. al. s. 6). I vores projekt er anvendelsesområdet brugerens interaktion med systemet i forbindelse med planlægning og evaluering af træning, og problemområdet er selve træningen og de træningsmuligheder, der er. Både Larman og OOA&D skelner mellem analyse og design. I analysen beskæftiger vi os med fastlægning af krav til systemet, altså hvad systemet skal kunne, samt forståelse af problemområdet. Efter det er slået fast, hvad systemet skal kunne, skal der i designdelen besluttes hvordan systemet skal gøre dette. Opgavens opbygning Distinktionen mellem analyse og design afspejles også i opgaven, hvor første del beskæftiger sig med use cases og domænemodel, som er analyse af henholdsvis anvendelses- og problemområdet. Analyseværktøjerne præsenteres nærmere i de enkelte afsnit. Derefter gennemgås designprocessen med vægt på, hvordan man ved hjælp af mønstre kan forvandle arbejdet fra analysen til et godt objektorienteret design, som gør det muligt at videreudvikle systemet i de kommende iterationer. Vi har valgt ikke at bygge opgaven helt kronologisk op, idet vi i selve udviklingsarbejdet har gennemgået analyse- og designfasen en gang for hver iteration, hvilket ikke vil blive gjort i opgaven. Afsnittene skal således ses som et sammenkog af hver disciplin i de enkelte iterationer. Krav og analyse Vi havde i den indledende fase til dette projekt en ide om at udvikle et træningsprogram til løbere. Vi ville med andre ord lave et træningsprogram, der skulle være dynamisk og fleksibelt, så det kunne tilpasses den enkelte brugers træning. Det betød, at vi først måtte undersøge, om der overhovedet var et marked til et program af den type. Dette svarer meget til den proces, som ifølge Beyer og Holtzblatt forløber i en marketingsafdeling: Marketing needs to understand what people Side 3 af 18

4 will buy and how people make buying decisions 1. Til at undersøge om der var et behov samt få bekræftet, om vores ide var bæredygtigt, tog vi kontakt til en løbeklub 2 og institut for idræt ved Århus universitet. Denne kontakt blev skabt ved hjælp af omdelte flyers, opslag i klubhuset og en konstrueret hjemmeside, 3 hvor vi præsenterede vores idé til projektet. Man kan umiddelbart sige, at starten af projektforløbet ikke er det, man normalt forstår ved systemudvikling, idet vi selv skulle finde på ideen, vi skulle selv definere, hvad systemet skulle kunne, og retfærdiggøre, hvorfor man skulle bruge tid på at udvikle det. I den virkelige verden vil dette ofte være gjort i forvejen, enten fordi man har nogle brugere, som vil betale for et system, eller fordi man får en opgave stillet af marketingsafdelingen. Denne fase vil derfor ofte være adskilt fra systemudvikling, da indsamlingen af data omhandler markedet og ikke fokuserer på kundens arbejde, og hvordan dette udføres. 4 Efter at have fået bekræftet, at et computerbaseret træningsprogram ville være af interesse for løbere, ændrede vi vores tilgang til brugerne fra at undersøge behovet til at undersøge, hvordan brugerne træner, og hvordan de vil kunne bruge systemet. Contextual Inquiry Til at afgrænse og forstå problemområdet er der taget udgangspunkt i Contextual Inquiry, der ud fra af en fænomenologisk tilgang opstiller nogle kvalitative metoder til at reducere kompleksiteten af problemområdet og forstå brugeren. Der gælder overordnet, at man skal interagere med brugerne og involvere dem i udviklingen, hvilket skal forstås ud fra det syn: at de er eksperter, og at det er dem, man udvikler systemet til (Beyer og Holtzblatt, s. 29). Gennem vores indledende research fik vi kontakt med tre løbere fra Århus 1900 samt en idrætsstuderende ved Århus universitet. Vi fandt denne gruppe dækkende for vores problemområde, da løberne kunne bidrage til at give os indsigt i deres træning og den måde de strukturer det på. Endvidere fandt vi det relevant at inddrage en idrætsstuderende med teoretisk baggrund for, hvordan man træner optimalt. Han er til dagligt også vant til at træne folk og kunne derfor være med til at forklare den viden, som for løberne selv er uartikuleret på grund af indgroede rutiner. Contextual Inquiry bygger på fire principper: kontekst, partnerskab, fortolkning og fokus, som vil blive forklaret nærmere nedenfor. Kontekst Contextual Inquiry lægger meget op til, at man skal observere kunden under arbejdet og i de situationer, hvor beslutningerne bliver taget (Beyer og Holtzblatt, s. 47), hvilket for vores vedkommende har været svært. Det skyldes, at løb er en meget individuel sport, hvor folk løber på forskellige tidspunkter, samt at de beslutninger der tages i forhold til træningen er meget spontane 1 Contextual Design (CD), Hugh Beyer & Karen Holtzblatt s Århus 1900 (en løbeklub i Århus) Beyer og Holtzblatt, s. 31. Denne distinktion mellem marketing og systemudvikling kan betragtes ud fra en henholdsvis kvantitativ og en kvalitativ tilgang, hvilket vi ikke kommer nærmere ind på her. Side 4 af 18

5 og afhængige af mange faktorer lige fra helbred til humør 5. Disse mentale beslutningsprocesser kalder Contextual Inquiry for henholdsvis intermittent, dvs. processer der forgår i kort tid og hvor det ikke er muligt at være til stede, og internal, dvs. interne beslutningsprocesser, som ikke kan observeres (Beyer og Holtzblatt, s ). At vi ikke var til stede under deres træningen afspejler sig også i vores interviews, idet vi stillede retrospektive spørgsmål for at få dem til at forklare, hvad de tænker når de løber og forbereder træning. Fokus Vi valgte en open ended tilgang for at være så åbne overfor deres træningsmetoder og overvejelser herom som muligt 6. Det viste sig flere gange under interviewet, at vi måtte stille sonderende spørgsmål samt bede dem forklare en træningspraksis fra start til slut. Dette blev gjort med henblik på at opnå mere konkrete data, da de havde en tendens til at abstrahere fra det fokus, vi havde med interviewene. Partnerskab Man kan til dels sige, at der under interviewene opstod et mester/lærlinge-forhold, hvor de forklarede os om deres erfaringer og ideer til et system. Dette forhold bygger især på, at vi indledningsvis motiverede dem ved at sige: at de var vores eksperter, og at vi for at kunne udvikle et program var afhængig af deres viden. Til at understøtte dette partnerskab, havde vi udviklet en hjemmeside, hvor de har mulighed for at følge projektets udvikling, samt skrive til os hvis de havde indvendinger. Dette gensidige tillidsforhold og samarbejde fremhæver Contextual Inquiry som værende vigtigt for at få dem til selv at bidrage til udviklingen ved at komme med feedback og hjælpe til vores forståelse (Beyer og Holtzblatt, s ). Fortolkning Vi stillede under interviewet fortolkende spørgsmål til løberne med henblik på at få afklaret betydningen ude ved løberne samt sikre os, at vi forstod dem rigtigt. Desuden har det udover afklaring medført, at vi har hjulpet løberne til selv at se og kortlægge disse mønstre, hvilket betød, at løberne flere gange under interviewene begyndte at sondere og fortolke på, hvorfor de trænede som de gjorde. Dette har spillet en vigtig rolle i både analyse- og designfasen, da vi generelt har haft lettere ved at forholde os til, hvordan de tænker og handler, idet vi har delt vores fortolkninger af dataene med dem. Contextual Inquiry beskriver det som vigtigt for at udvikle et sandfærdigt system, som bygger på kundens opfattelse: design is built upon interpretation of facts so the interpretation had better be right. (Beyer og Holtzblatt, s. 58). At fortolkningen er så vigtig for tilskrivelsen af den rigtige opfattelse har gjort, at vi i projektgruppen har brugt en del tid på sammen 5 Mange beslutninger sker ofte hjemme hos løberne selv, og vi følte ikke at vi kunne tillade os at trænge på ved dem privat. 6 Dette bunder til dels også i, at vi på daværende tidspunkt havde et meget bredt fokus. Side 5 af 18

6 at fortolke de rå data for at se, om der var nogle fælles mønstre, som kunne være med til at generalisere undersøgelsen og skabe grobund for ideer til systemets udformning. Refleksion over Contextual Inquiry Grundlæggende for denne undersøgelsesfase har det været svært at bruge Contextual Inquiry, da metoden er bygget op omkring observation af kundens arbejde. Alligevel har interviewene med vores brugere været af uundværlig værdi, idet det har givet os et indblik i brugernes artikulerbare og uartikulerbare viden. For at få en endnu bedre forståelse for træningsforløbet, samt lave en opsamling på de mange data fra interviewene, forslår Contextual Design, at man bruger forskellige work models, men dette har været svært at bruge i vores projekt af flere årsager. For det første er mange af modellerne ikke brugbare på intermittent og internal arbejde, som udføres af en enkelt person. Således giver kultur- og flowmodellen kun mening, hvis der er flere personer til stede. Sekvensmodellen har vi heller ikke fundet særlig brugbar, da den ville den være temmelig kort og ikke give ny indsigt. Den fysiske model giver ikke så meget mening, da man så skulle tegne forskellige huse og løberuter, som er vidt forskellige. Artefaktmodellen er den eneste, som giver mening i vores projekt, og den har spillet en vigtig rolle under hele projektforløbet. Vi fik nemlig mulighed for at studere deres træningsdagbøger, hvilket har været stor inspiration til udvikling af prototyper, men også under interviewforløbet blev de brugt til at eksplicitere deres personlige overvejelser og træningsmønstre. Som eksempel kan det siges, at en af løberne brugte smileys til at udtrykke om det havde været en god eller dårlig træning. Desuden har vi også studeret forskellige hjemmesider med logbøger og forslag til, hvordan man skal tilrettelægge sin træning. En anden grund til at de forskellige work models ikke er brugt i så stort et omfang er, at vi i gruppen ikke har haft et behov for at eksplicitere og kommunikere vores viden, da vi alle har deltaget i interviewene. Contextual Design s work models henvender sig nok mere til større projektgrupper, hvor man skal have videregivet sin forståelse af arbejdet til andre i gruppen. Som beskrevet i teoriafsnittet behandler Larman ikke den del af systemudvikling, hvor man indgår i tæt samarbejde med brugerne for at opnå den bedste forståelse for de omgivelser og brugere, som man ønsker at udvikle et system til. Contextual Inquiry har været en stor hjælp til at forstå og undersøge, hvad der er muligt at udvikle. Side 6 af 18

7 Use Case Model Use Cases Visionen giver et overordnet fokus og billede af systemet, men den siger ikke noget præcist om, hvad systemet skal kunne. For at kunne gå videre i analyse- og designfaserne er det vigtigt at slå fast, hvad systemet skal kunne; der skal fastlægges krav til systemet. 7 Til dette formål bruges Use Cases, som er små narrativer, der beskriver aktørernes interaktion med systemet og dermed fastlægger systemet funktionelle krav. En aktør kan i denne forbindelse både være en person og et computersystem. Use casene viser forskellige scenarier fra de situationer, hvor en bruger vil interagere med systemet. En use case kan således bestå af flere scenarier, og man vil oftest have et hoved successcenario, hvor målet med use casen bliver opfyldt. Der kan så være variationer og undtagelser fra dette scenario, hvilket anføres efterfølgende (i vores use cases hedder det Udvidelser ). Use cases kan skrives i forskellige formater, alt efter hvor detaljerede man ønsker dem (Larman s. 49): Brief: kort beskrivelse af hoved successcenariet Casual: Lidt længere beskrivelse, som også dækker alternative scenarier og undtagelser Fully dressed: udtømmende beskrivelse af hvert enkelt trin, ofte efter en skabelon, som definerer layout og hvilke elementer, der skal medtages. Nedenfor præsenteres use casene i dette projekt, som det ser ud ved slutningen af 2. iteration i elaboration (selve use casene findes i bilag 2. I bilag 3 findes også et diagram over samtlige use cases): Aktør Mål Se og tilpas træningsprogram Se og tilpas dagbog Løber Opret og ret profil Identificér bruger Den aktør som planlægger træningen Se statistik Tilrettelæg træningsprogram Evaluer træningsprogram Som det fremgår ovenfor, er use casene struktureret efter aktørernes mål. Det vil sige, at use casene afspejler handlinger, som aktøren foretager for at opnå et bestemt mål, f.eks. er målet for løberen i den første use case at se og tilpasse træningsprogrammet. Larman argumenterer for, at en use case skal afspejle et mål, som er værdiskabende for brugeren (Larman s. 48). De mål, som umiddelbart er værdiskabende, er de to første og de to sidste 7 I det virkelige liv vil kravene ofte samtidig have den funktion, at de danner grundlag for en eventuel kontrakt mellem systemudviklere og kunde. Side 7 af 18

8 i ovenstående tabel samt Se statistik. Både Opret profil og Identificér bruger er ikke direkte værdiskabende for brugeren, de er kun medtaget fordi de er en betingelse for de andre. 8 En af pointerne og styrkerne ved at bruge use cases er, at de kun fastlægger, hvad systemet skal gøre, og ikke hvordan. Man opretholder således stadig distinktionen mellem analyse og design, hvilket er vigtigt, idet use casene skrives tidligt i processen, hvor man som systemudvikler måske endnu ikke har en fuld forståelse af problem- og anvendelsesområdet. Selvom man selvfølgelig ofte vil have en idé om, hvordan man kunne designe systemet, er det afgørende at black boxe systemet, så det kun er interaktionen mellem system og bruger, som bliver fastlagt. Use cases som struktur for iterationerne Use cases har i Unified Process den funktion, at de bruges til at strukturere iterationerne. Før man starter på en ny iteration, udvælges en bestemt use case, som skal implementeres i den efterfølgende iteration. Man kan også nøjes med kun at vælge en del af use casen, hvis det tager for lang tid at implementere det hele, eller man kan vælge flere use cases, hvis de ikke er så tidskrævende. 9 Den use case, som man vælger at implementere, bliver så styrende for det videre arbejde både i analysen og design. På den måde reducerer man kompleksiteten i resten af processen, idet man kun skal beskæftige sig med det, som har med den specifikke use case at gøre, resten gemmes til senere. Især i starten er det dog vigtigt at arbejde ud fra en overordnet idé om hele systemet, så det overordnede design gør det muligt at implementere de senere use cases. En medvirkende faktor til at muliggøre videre udbygning af systemet er dog også et sundt objektorienteret design, hvilke vi kommer tilbage til senere i opgaven. Prioritering af use cases Men hvilke use cases skal man så vælge at implementere først? Larman opstiller tre parametre, som kan bruges til at prioritere, i hvilken rækkefølge use casene skal implementeres (Larman, s. 111 og 576): Hvor høj risiko er der forbundet med implementeringen? Det kan være både høj teknisk kompleksitet, usikkerhed omkring krav, usikkerhed omkring brugervenlighed. Det er meget forskelligt fra projekt til projekt, hvad der er mest risikofyldt Dækning: Hvis use casen indbefatter en stor del af systemet, skal den prioriteres højt, da det er afgørende at få den overordnede arkitektur på plads. Hvor afgørende er use casen for hele systemet? Hvad er systemets kernekompetence? Det gælder om at få implementeret de mest risikofyldte og afgørende use cases først, og samtidig er det vigtigt at starte med den overordnede arkitektur. Det er netop styrken ved iterativ udvikling, at 8 Man kan så diskutere, om det overhovedet er relevant at have dem med, men Larman påpeger, at man godt kan medtage såkaldte subfunction Use Cases, så længe use casene ikke bliver for uoverskuelige (Larman, s. 62). 9 Der kan dog også findes andre krav, som ikke er indskrevet i use cases, men som alligevel skal implementeres, det kunne f.eks. være en funktion, som skal logge alle aktiviteter i systemet. Disse opstilles i Supplementary Specifications. Side 8 af 18

9 man kan gribe fat i disse dele af systemet først, da de kan have stor indflydelse på resten af udviklingsarbejdet. Ud fra ovenstående parametre har vi foretaget en foreløbig prioritering af use casene: 10 Aktør Mål Prioritet Kommentar Løber Den aktør som planlægger træningen Se og tilpas træningsprogram Se og tilpas dagbog Opret og ret profil 3 Identificér bruger 4 Se statistik 6 Tilrettelæg træningsprogram Evaluer træningsprogram Vitalt for programmets funktion og brugervenlighed. Dækker det meste af systemet. Forholdsvis simpel at implementere. Dækker kun lille del af systemet. Forholdsvis simpel at implementere. Lille indvirkning på resten af systemet. Teknisk kompleksitet rimelig høj. Ikke kritisk for funktionaliteten. Dækker kun dagbogen. Teknisk kompleksitet er høj. Stor usikkerhed omkring krav. Afgørende for funktionaliteten. Dækker kun træningsprogrammet. Ekstra-feature, som måske kan genbruge noget fra Tilrettelæg træningsprogram. I kolonnen med kommentarer er der argumenteret for prioriteringen ud fra de tre parametre. Det meste af use casene med prioritet 1 er implementeret i den første iteration, så det blev muligt at se træningsprogrammet samt læse og skrive i dagbogen. I anden iteration blev det også muligt at tilpasse træningsprogrammet. I tredje iteration vil opgaven være at få implementeret use casen med prioritet 2, især fordi der er stor usikkerhed om, hvordan det skal lade sig gøre at få tilrettelagt et træningsprogram, og fordi den er afgørende for systemets funktionalitet. Fra starten var det den overordnede idé, at systemet selv skulle kunne tilrettelægge et træningsprogram ud fra brugerens personlige oplysninger. På baggrund af de data, som vi havde indsamlet ved hjælp af principperne bag Contextual Inquiry, måtte vi dog ændre denne idé. Det viste sig nemlig, at det ikke kunne lade sig gøre at formalisere trænerens overvejelser bag 10 Det skal pointeres, at på trods af at man prioriterer alle use cases fra starten, så betyder det ikke at man har fastlagt indholdet af alle iterationer. Det vurderes efter hver iteration, hvad der skal implementeres, og der kan i den forbindelse godt ske omprioriteringer af use casene. Side 9 af 18

10 tilrettelægningen af et træningsprogram. Der var simpelthen alt for mange faktorer, der spillede ind: alder, køn, vægt, kondition, kropsbygning, erfaring med løb og desuden spørgsmål om, hvor mange gange om ugen man skal træne, hvor lang tid der er til man skal løbe maraton og hvor ambitiøs man er omkring den forventede løbstid. Alt i alt en masse faktorer som påvirker hinanden gensidigt, og som ikke umiddelbart kan opstilles på en formel. Hvis man skulle lave et system med så mange parametre, ville det kræve at man gennemførte en række målinger og forsøg, hvilket vi mente var udenfor projektets ramme. 11 Derfor besluttede vi os for at ændre konceptet, så systemet i stedet kommer til at fungere som bindeled mellem en løber og en træner, hvor træneren så lægger et program, som bliver lagt ind i vores system, som løberen så kan bruge. Det vil samtidig give mulighed for, at løberen kan sende sine data tilbage til træneren til nærmere evaluering. Dette system kunne eksempelvis bruges i en klub eller som en web-service, hvor folk mod betaling kunne få tilrettelagt deres træningsprogram ud fra personlig indtastede data. Disse overvejelser er dog ikke endelige, det er først i næste iteration, at vi for alvor vil arbejde med tilrettelæggelsen af programmet, men vi mener at vi har lavet et design, som gør det let at videreudvikle systemet med Tilrettelæg træningsprogram. Bliver use case lavet for tidligt? Arbejdet med at skrive use cases er noget af det første, som man tager fat på allerede i Inceptionfasen, og det betyder at man allerede på det tidspunkt skal have et nogenlunde overblik over systemets anvendelsesområde. Det er ikke noget problem ved velafgrænsede systemer, hvor der er en organisation, som ved hvad der skal bruges. Men som beskrevet i afsnittet om Contextual Inquiry er et system som dette forholdsvist nyt og henvender sig til et marked i stedet for til en bestemt kunde, hvilket gør det svært at sige fra starten, hvilket behov systemet skal dække. Det skulle vi først selv definere. Denne ulempe ved at lave use cases meget tidligt i projektet skal dog opvejes mod de fordele, det giver. For eksempel er det en kæmpe fordel, hvis ikke en nødvendighed, at have fastlagt krav til systemet, inden man går i gang med selve udviklingsarbejdet. Det vil højst sandsynligt også være påkrævet, hvis der skal aftales en pris på et system. Ydermere betyder den iterative udviklingsproces, at skaderne ved at have defineret systemkrav for tidligt i processen, før man vidste hvad det egentlige behov var, bliver minimerede, idet man kun har spildt forholdsvis kort tid på at arbejde ud fra et forkert grundlag. Systemsekvensdiagram og operationskontrakter Ud fra use casene kan man klarlægge input og output fra systemet ved hjælp af systemsekvensdiagrammer (System Sequence Diagrams), som opstilles for hvert scenario i use 11 Spørgsmålet er, om det overhovedet er muligt at opstille denne slags mentale beslutningsprocesser som algoritmer i et computerprogram? Dette spørgsmål er analogt til noget af kritikken af AI fra bl.a. Dreyfuss ifølge Wackerhausen (1989). Side 10 af 18

11 casen. 12 Disse gør det tydeligt, hvilke interaktioner, der er mellem aktøren og systemet. Nedenstående eksempel er fra use casen Se og tilpas træningsprogram (se flere systemsekvensdiagrammer i bilag 4): Bruger System setræningsprogram(dato) visbeskrivelse flyttræning(datofra/datotil) Respons (+/- godkendt) Systemsekvensdiagrammerne kan suppleres med operationskontrakter (Operation Contracts), som specificerer, hvilken virkning input fra aktøren har. Det forklarer kort sagt tilstandsændringer i domænemodellen 13 i forbindelse med input fra aktøren. Disse tilstandsændringer beskrives i postconditions, som er det vigtigste element i operationskontrakter. Her er et eksempel på en operationskontrakt (flere findes i bilag 5): Operation: Cross references: Preconditions: Postconditions: setræningsprogram(dato) Use Case: se og tilpas træningsprogram Man er logget ind. Træningsprogrammet er blevet associeret med en bestemt dato i Kalenderen. (Brugergrænsefladen bliver opdateret). Læg mærke til, at der ikke er nogen operationer mellem pre- og postconditions. Der er ikke beskrevet, hvordan man kommer fra den ene tilstand til den anden, så systemet er stadig en black box: der er kun beskrevet, hvad der kommer ind og ud. 12 Det er ikke nødvendigt at lave system sekvensdiagrammer for så simple use cases som vores, men vi har brugt det som en øvelse. 13 Domænemodellen præsenteres først i næste afsnit, så det er nok ikke muligt helt at forstå operationskontrakterne uden at have læst dette. Operationskontrakterne ligger dog i forlængelse af system sekvensdiagrammer og use cases, så derfor bliver de allerede beskrevet her, selvom domænemodellen endnu ikke er behandlet. Side 11 af 18

12 Kravene fastlagt Med operationskontrakterne er kravene til systemet specificeret ud i mindste detalje, og de ydre påvirkninger af systemet er fastlagt for den use case, der implementeres. Dermed er anvendelsesområdet behandlet, så man i designfasen har en eksakt viden om, hvilke krav, systemet skal imødekomme i den igangværende iteration. Domænemodel Domænemodellen er på samme måde som use cases en afspejling af den virkelige verden efter systemet er blevet lavet. Det er i processen omkring udarbejdelsen af denne model der lægges struktur over problemområdet, og den færdige model består af et diagram over de relevante konceptuelle klasser identificeret heri. I use casene og system sekvens diagrammerne beskæftigede vi os med anvendelsesområdet, og fik fastlagt hvad systemet skal kunne. Det er nu tid til at se på hvordan den virkelige verden ser ud, og hvordan den skal struktureres så der bliver en høj overensstemmelse mellem det faktiske problemområde og systemet model af det (Mathiasen et.al. s. 7). Argumentationen for at starte med at se på anvendelsesområdet frem for problemområdet er, at arbejdet omkring anvendelsesområdet giver os viden om hvilke del af problemområdet, der er relevant at arbejde med, idet man vælger at implementere en bestemt use case. Der er altså sket en kompleksitetsreducering af problemområdet. Første skridt i udarbejdelsen af domænemodellen er at identificere de konceptuelle klasser, hertil præsenterer Larman to teknikker (Larman s. 133). Den første er at lave en liste over kategorier som klasserne kan ligge indenfor, og ud fra denne finde frem til dem. Den anden er at finde navneord i det materiale man hidtil har lavet. Vi valgte at søge efter navneord i vores use cases og i de interviews vi havde lavet efter Contextual Inquiry principperne, og fik på den måde en liste (se bilag 6). Ud fra denne liste snakkede vi, på baggrund af vores use cases, os frem til hvilke klasser der var relevante i forhold til brugen af et træningsprogram. Det var ikke alle klasserne der endte med at blive som vi først forestillede os. For eksempel forestillede vi os i første omgang at vi kunne have en klasse der hed Den specifikke løbetur, men måtte indse at der var to forskellige muligheder for en løbetur i vores problemområde. Nemlig en Planlagt løbetur som er indeholdt i træningsprogrammet, og en Løbet løbetur som er den løberen rent faktisk har løbet. Efter identificeringen endte vi med i alt otte klasser. (Se bilag 7.) Hvordan disse klasser skulle associeres 14 forekom ganske logisk, og det var ikke nødvendigt at lave Common Association List 15 som Larman nævner som en mulighed. Strukturen omkring klasserne forklares nedenfor. For at give et mere nuanceret billede af strukturen benyttes begreber fra OOA&D: Ordet association bruges i OOA&D (Mathiasen et. al. s. 67) som navn for en speciel form for struktur, i modsætning til Larman (s. 153), hvor association er den eneste betegnelse for struktur. 15 En liste hvor man finder eksempler på associationer inden for forskellige kategorier. (Larman s ) Side 12 af 18

13 Generalisering: Ved en generel klasse forstås en overordnet klasse som er specialiseret af en række subklasser. Dette findes omkring Planlagt løbetur og Løbet løbetur der begge bliver generaliseret af Træningstype. En klynge er en samling af klasser, som er indbyrdes forbundne (OOA&D s. 72) og begrebsligt ligger tæt på hinanden. Dette er der dog ikke nogle eksempler på i vores diagram. Associering er sammenhæng mellem objekter der ikke har nogen definerende egenskab ved hinanden. Dette ses omkring Kalender der ikke på nogen måde definerer træningen, men blot er et hjælpemiddel til at se hvornår hvad skal løbes. Aggregering betyder at et objekt udgøres af objekter fra andre klasser. Et eksempel på dette har vi omkring Træningsprogrammet der består af Forklaring og Planlagt løbetur (Mathiasen et.al. s ). Det anbefales af Larman at man medtager attributter for at huske dem, men kun medtager de mest simple, da de større ofte kan defineres som en klasse for sig (Larman s ). Der er ikke mange attributter i vores model, dog har Kalender attributten dato, og Træningstype attributterne tid og puls. I udvikling af større systemer er det almindeligt at videreudvikle domænemodellen under de første iterationer for at beholde den fælles forståelse af problemområdet. Dette har vi ikke gjort da vi over iterationerne har opnået den fælles forståelse gennem vores daglige samarbejde. Dog er domænemodellen blevet tilpasset i løbet af første iteration sideløbende med at vi har fået en større forståelse for problemområdet. Design De foregående afsnit har været rettet mod analyse af problem- og anvendelsesområdet. Vi har beskæftiget os med at modellere og undersøge systemet og dets omgivelser udefra. Dette har resulteret i udarbejdelsen af domænemodel og use case model. I designfasen betragtes systemet indefra, og det betyder, at de mange fastlagte krav skal sættes i relation til systemet, så det senere hen kan blive implementeret. Denne fase i systemudvikling kan være svær at strukturere, da det er en cocktail af mange overvejelser om, hvordan system skal se ud, og hvordan komponenterne skal spille sammen. Nogle af de værktøjer, som vi bruger til at bevæge os fra analyse til design er: prototyper, mønstre, use case model, domænemodel og interaktionsdiagrammer. Prototyper Som start på designdelen gik vi i gang med at lave prototyper på systemets brugergrænseflade. Ved hjælp af teknikkerne beskrevet i Contextual Design fik vi udviklet en papirprototype (se bilag 8), som vi testede og rettede til. Som inspiration brugte vi kalenderen fra Microsoft Outlook, da det er en kalender, som de fleste genkender og derfor vil have let ved at bruge. Desuden kiggede vi på en 16 Ifølge Larman består domænemodellen kun af konceptuelle klasser, mens OOA&D skelner mellem klasser og objekter. Side 13 af 18

14 elektronisk træningsdagbog på Ved at bruge principper fra andre programmer skulle vores system gerne blive mere brugervenligt. Der var tre hovedgrunde til at lave prototyper: 1. Vi fik en konkret model, som vi kunne bruge, da vi skulle i gang med implementeringen. Vi udbyggede senere prototypen med nøjagtige mål i pixels, hvilket var en stor hjælp, da vi ikke har brugt kodegenererende udviklingsværktøjer og derfor har indtastet alle placeringer og størrelser på skærmen manuelt. Grunden til, at vi selv har kodet det grafiske er, at der var mange elementer på skærmen, som kunne placeres ved hjælp af løkker, hvilket mindskede størrelsen på klasserne. 2. Internt i gruppen fik vi diskuteret og afklaret funktionaliteten igen. Det førte blandt andet til, at vi bestemte os for, at både dagbog og program skulle vises på den samme dag, uanset om det var tilbage eller frem i tiden. 3. Ved at teste prototypen fik vi involveret brugerne i designet, og på den måde bliver det endelige resultat forhåbentlig bedre. Som udvikler er det meget svært at sætte sig i brugerens sted, og derfor er prototyper et fremragende værktøj til at få lavet et design, der passer til brugeren. Selvom papirprototyper har den indlysende fordel, at de er hurtige at lave, og at de giver brugeren bedre mulighed for at være med-designer, så er den dog ikke så realistisk som et rigtigt program, og derfor lægger både Larman og Contextual Design da også op til, at man iterativt skal videreudvikle rigtige prototyper, så man også for hver iteration tester systemet. Det er netop en af pointerne ved en iterativ udviklingsproces, at man på den måde kan opfange fejl og uhensigtsmæssigheder tidligt i forløbet. Allerede i første iteration havde løberne mulighed for at se grundtrækkene i vores system, og derfor fik vi respons på, hvad der skulle laves om, inden vi fortsatte i næste iteration. På den måde kom vi ikke til at bygge videre på noget, som grundlæggende var forkert. Modellering af arkitektur og komponenter Til at illustrere den proces, som har fundet sted i designfasen, tages udgangspunkt i vores operationskontrakter og systemsekvensdiagrammet, der definerer de krav, der er som udgangspunkt. Vi har fundet det hensigtsmæssigt at beskrive dette forløb ved hjælp af et eksempel, da vi mener at det giver et indblik i, hvordan vi er nået frem til vores klassediagram, og hvilke overvejelser der ligger til grund for designbeslutningerne. Vores illustration bygger på UML s interaktionsdiagram, der afspejler den kommunikation og ansvarsfordeling, der er mellem objekterne. Interaktionsdiagrammet er første skridt hen imod at lave et klassediagram, som er det diagram, hvor alle systemets klasser indgår og sættes i relation. Fra operationskontrakt til interaktionsdiagram Kontrakteksemplet setræningsprogram indledes som beskrevet i use casen med, at brugeren vælger en dato. Ud fra vores prototyper vil handlingen starte i kalenderen, og derfor er det nærliggende at oprette et kalenderobjekt. Dette objekt beskæftiger sig udelukkede med den grafiske Side 14 af 18

15 brugergrænseflade for kalenderen. Det, der ligger til grund for dette valg, er mønsteret høj samhørighed, som vi vil komme tilbage til i næste afsnit. Ud fra use casen er det næste skridt, at resten af brugergrænsefladen skal opdateres, det vil sige, at oplysninger fra de indtastede data i dagbogen og beskrivelserne i træningsprogrammet skal vises på skærmen. Til at vise disse data opretter vi et objekt af typen EnkeltDag, som ligesom kalenderobjektet kun varetager oprettelse og opdatering af brugergrænsefladen, hvilket er valgt ud fra mønstre ligesom ved kalenderobjektet. De data, som vises af EnkeltDag, hentes fra objekterne dagbog og program, som afspejler både prototyper og domænemodel. Grunden til at vi har valgt at oprette to objekter stedet for at placere data fra både træningsprogram og dagbog i et objekt er, at de skal afspejle problemområdet, hvor dagbog og træningsprogram begrebsmæssigt er to forskellige ting. Desuden ville klassen blive meget stor og uoverskuelig. Idet vi har flere forskellige objekter, som skal opdateres, giver det mening at oprette et directorobjekt ud fra dirigentmønsteret, som beskrives senere. Dette objekt varetager kommunikationen mellem de forskellige objekter i grænsefladelaget og sørger i dette eksempel for at sende datoen rundt til alle relevante objekter (se pilene i interaktionsdiagrammet). De overvejelser, som er blevet præsenteret i eksemplet med denne operationskontrakt kan overføres til de andre kontrakter og use cases, og dermed afspejler det den designproces, hvor vi har modelleret interaktionsdiagrammer og til sidst endt op med et færdigt design. I det følgende vil vi behandle principperne omkring lag og mønstre nærmere. Mønstre Dette afsnit omhandler, hvordan man tildeler ansvar til objekter. Det gøres med udgangspunkt i fem mønstre, som bygger på generelle erfaringer fra succesfulde objektorienterede designs, hvor de samme strukturer gentagne gange har vist sig som gode løsninger på bestemte problemer. I det Side 15 af 18

16 følgende vil vi præsentere fem af de mest benyttede mønstre, som Larman præsenterer som GRASP patterns (General Responsibility Assignment Software Patterns). At kaldet fra Kalender går igennem Director understøttes af dirigentmønstret (Controller), som går ud på at have en objekt, der modtager anmodninger og dirigerer dem ud til de passende objekter. Vores Director modtager anmodninger fra grænsefladelaget i dette tilfælde Kalender- og delegerer opgaver ud til andre objekter. Director udfører således ikke noget arbejde selv, men delegerer det ud til andre, hvilket medfører, at man i princippet kan udskifte en af klasserne fra grænsefladelaget, uden at det behøver at betyde ændringer i de andre. Ved at bruge Director som dirigent opnår man lav kobling og høj samhørighed. At lave en lavt koblet klassestruktur betyder, at de forskellige objekter er så lidt afhængige af hinanden som muligt, og med Director opnår man, at objekterne sender deres argumenter hertil, og derfor bliver de ikke koblet og afhængige indbyrdes på kryds og tværs. Objekterne er på den måde kun afhængige af, at kunne få argumenterne fra Director. Høj samhørighed betyder, at de enkelte klasser rent funktionelt tager sig af de samme typer opgaver, og at der i hver enkelt klasse ikke blandes forskellige lag, hvilket beskrives nedenfor. At lave et system med lav kobling og høj samhørighed skaber en større fleksibilitet og gør det lettere senere hen at videreudvikle systemet. Et eksempel herpå er fra 2. iteration, hvor vi implementerede Fodspor, som er endnu en grafisk klasse, som henter oplysninger fra program og som liegsom EnkeltDag også får besked fra Director, når der bliver valgt en dato. Det var simpelt at implementere denne klasse, da den eneste tilpasning af andre klasser var i Director, hvor der blot skulle tilføjes et par linier kode for at oprette og kalde til et fodspor-objekt. Et fjerde mønster er informationsekspert, som vi har brugt i overvejelserne omkring hvilket objekt der skulle være ansvarlig for at søge efter datoer, når man klikker ind på en ny dag og skal have data ud fra programmet og dagbogen. Valget står mellem enten EnkeltDag eller Dagbog/Program. Ud fra informationsekspert mønstret skal dette ansvar tildeles Program og Dagbog, da disse objekter har den information, som man leder efter. Et andet eksempel er omkring hvilket objekt, der skal have ansvaret for at flytte rundt på træningsdagene. Enten er det Fodspor, som opfanger brugerens handling, eller også er det Program, som indeholder selve træningsdagene, der skal have ansvaret. Ifølge informationsekspert er det Program, idet denne klasse indeholder den relevante information, nemlig information om hvilken træning der er planlagt (se opdaterflytning i Program-klassen). Det sidste af de fem GRASP mønstre er skabermønstret. Dette mønster bruges flere steder i opgaven, for eksempel i spørgsmålet om, hvem der skal være ansvarlig for at oprette Program. Når Program bliver oprettet, skal det bruge de informationer, som er indeholdt i Profil. Disse informationer bliver givet videre til Director, som vi har valgt skal være ansvarlig for oprettelsen. Grunden til, at det ikke bliver oprettet i Profil (som det jo skulle, hvis vi havde taget udgangspunkt i informationsekspert), er at Program også skal være synligt for EnkeltDag og Fodspor. Det er også grunden til, at det ikke kan oprettes i EnkeltDag, da både Fodspor og Figur også skal kunne se Side 16 af 18

17 Programmet. Man kunne argumentere for, at man så bare kunne forbinde Fodspor og Figur med EnkeltDag, men det ville medføre høj kobling til EnkeltDag. Lag Når vi taler om de forskellige lag, henviser vi til modellaget, kontrollaget og grænsefladelaget. Modellaget er det nederste lag, som også kaldes domænelaget, og det er i dette lag den grundlæggende struktur lægges, og dette lag er en afbildning af problemområdet. I OOA&D defineres et funktionslag, som er det lag, hvor opdateringsfunktionerne, som ændrer tilstanden i domænelaget, ligger. Vi har i stedet kaldt det kontrollaget og givet det en anden betydning, nemlig som det lag, hvor kontrolfunktionerne ligger. Det sidste lag er grænsefladelaget, som giver systemet dets udseende i form af GUI (Graphical User Interface) eller forbinder systemet til andre systemer (Mathiasen et. al. s. 10). Et eksempel på en klasse i grænsefladelaget er EnkeltDag, der indeholder en masse grafisk samt en metode til at opdatere grænsefladen med den aktuelle dato og metode, som kaldes fra Director, når der trykkes på bestemte knapper. Denne klasse er lavet ud fra overvejelser omkring vores prototyper, hvor vi havde besluttet os for, at dagbog og program skulle vises på én dag, uanset om det var tilbage eller frem i tiden. Efter denne beslutning var truffet, var det logisk at de skulle have samme GUI, og derfor kunne vi have deres GUI i en fælles klasse, som blev til EnkeltDag. I vores klassediagram (bilag 10) er indtegnet i alt tretten klasser. Heraf tilhører Fodspor, Kalender, Vindue, Figur, Teori og EnkeltDag grænsefladelaget. Kontrollaget består af Go og Director, mens domænelaget er Dagbog, Program, Redigeringsregler og Loebstyperne. Overordnet kan det siges, at det vigtige mønster høj samhørighed hænger godt sammen med opdelingen i forskellige lag, da lagopdelingen jo netop betyder, at man får de forskellige ansvar fordelt på klasserne. Afslutning Status ved afslutningen af anden iteration af elaboration er, at to af de vigtigste use cases er implementeret og har passeret en brugertest uden de store ændringer. 17 Designet af arkitekturen er på plads, og der skulle være gode muligheder for at videreudvikle systemet med mulighed for også at tilrettelægge træningsprogrammet. Ved at adskille klasserne i lag, opretholde høj samhørighed i de enkelte klasser og i det hele taget at gøre stor brug af mønstre, er det forholdsvist ukompliceret at tilføje nye dele til systemet. Som skrevet i indledningen var det vigtigste formål at få anvendt metoderne fra undervisningen og få erfaring med systemudvikling, og det mener vi også er lykkedes i høj grad. Bortset fra dele af Contextual Design har vi benyttet alle metoder og værktøjer, hvilket har været særdeles lærerigt, 17 Test er en meget vigtig del af systemudvikling, men idet dette projekt har haft til formål at anvende teorien fra pensum, har vi ikke brugt så meget tid på det. Side 17 af 18

18 selvom nogle har været mere betydningsfulde end andre. Vi har igennem hele processen arbejdet som et samlet udviklingsteam, det vil sige at interviews, arbejdet med use case model, domænemodel og hele designdelen er sket i fællesskab. Også under implementeringen har vi gjort brug af udvidet pair programming, hvor vi alle tre har siddet ved skærmen og haft indflydelse på det færdige resultat. Litteraturliste Beyer, Hugh og Holtxblatt, Karen: Contextual Design, Academic Press Larman, Craig: Applying UML and Patterns, Prentice Hall PTR Mathiasen, Lars et.al.: Objektorienteret analyse og design, Marko Riley, David D.: The Object of Java, Addison Wesley Wackerhausen, Steen: Mennesket i computerens billede, Philosophia 18, Side 18 af 18

19 Indholdsfortegnelse Oversigt over artefakter... 1 Indledning... 2 Teori og metode... 2 Unified Process... 2 Begrebsdefinitioner... 3 Opgavens opbygning... 3 Krav og analyse... 3 Contextual Inquiry... 4 Kontekst... 4 Fokus... 5 Partnerskab... 5 Fortolkning... 5 Refleksion over Contextual Inquiry... 6 Use Case Model... 7 Use Cases... 7 Use cases som struktur for iterationerne... 8 Prioritering af use cases... 8 Bliver use case lavet for tidligt? Systemsekvensdiagram og operationskontrakter Kravene fastlagt Domænemodel Design Prototyper Modellering af arkitektur og komponenter Fra operationskontrakt til interaktionsdiagram Mønstre Lag Afslutning Litteraturliste Side 19 af 18

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Hassansalem.dk/delpin User: admin Pass: admin BACKEND Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin

Læs mere

Datalogi V-Systemdesign og HCI

Datalogi V-Systemdesign og HCI Datalogi V-Systemdesign og HCI 4. feb 2002 I kurset behandles emnerne interaktive systemer, systemudvikling og projektledelse. Fokus er indledende tilegnelse af metoder, teknikker og værktøjer, som effektivt

Læs mere

Noter til dm529. Jonas Nyrup. 11. november 2011

Noter til dm529. Jonas Nyrup. 11. november 2011 Noter til dm529 Jonas Nyrup 11. november 2011 Indhold 1 Kravdisciplinen: Kravmodellen og Indfangning af Krav 2 1.1 (ikke)-funktionelle krav...................... 2 1.2 Kravattributter...........................

Læs mere

Case: Svømmeklubben Delfinen

Case: Svømmeklubben Delfinen 1. Semesterprojekt Datamatikeruddannelsen, 2. Obligatoriske opgave, efterår 2017 Case: Svømmeklubben Delfinen Svømmeklubben Delfinen er en mindre klub, der er i vækst. Klubbens ledelse ønsker derfor udviklet

Læs mere

Vurdering af kvalitet en note af Tove Zöga Larsen

Vurdering af kvalitet en note af Tove Zöga Larsen Vurdering af kvalitet en note af Tove Zöga Larsen Kvalitet... 2 Test... 2 Hvordan finder man testdata?... 2 Dokumentation af test... 3 Review... 3 Vurderingskriterier... 3 Gennemførelsen af et review...

Læs mere

AFSLUTTENDE PROJEKT KOM/IT

AFSLUTTENDE PROJEKT KOM/IT 5/5-2017 AFSLUTTENDE PROJEKT KOM/IT Daniel & Frederik Klasse 1.1 Indledning Vi startede med at få valget stillet om vi ville lave noget med e-learning, databehandling og præsentation eller vi kunne lave

Læs mere

Automatisering Af Hverdagen

Automatisering Af Hverdagen Automatisering Af Hverdagen Programmering - Eksamensopgave 10-05-2011 Roskilde Tekniske Gymnasium (Kl. 3,3m) Mads Christiansen & Tobias Hjelholt Svendsen 2 Automatisering Af Hverdagen Indhold Introduktion:...

Læs mere

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4 IT opgave Informationsteknologi B Vejleder: Karl Navn: Devran Kücükyildiz Klasse: 2,4 Dato:03-03-2009 1 Indholdsfortegnelse 1. Indledning... 3 2. Planlægning... 3 Kommunikationsplanlægning... 3 Problemstillingen...

Læs mere

Metoder og produktion af data

Metoder og produktion af data Metoder og produktion af data Kvalitative metoder Kvantitative metoder Ikke-empiriske metoder Data er fortolkninger og erfaringer indblik i behov og holdninger Feltundersøgelser Fokusgrupper Det kontrollerede

Læs mere

Lavet af Danni jensen og David Olsen

Lavet af Danni jensen og David Olsen Projekt Delfin Lavet af Danni jensen og David Olsen 19/5-2008 Indholdsfortegnelse. Side 1: Indholdsfortegnelse og forord. Side 2: Kravsliste. Side 3: Use Case Model. Side 4: Formandens aktørbeskrivelse

Læs mere

Software Design (SWD) Spørgsmål 1

Software Design (SWD) Spørgsmål 1 Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål

Læs mere

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...

Læs mere

Procedurer for styring af softwarearkitektur og koordinering af udvikling

Procedurer for styring af softwarearkitektur og koordinering af udvikling LEVERANCE 2.3 Procedurer for styring af softwarearkitektur og koordinering af udvikling Procedurerne vil omfatte: Planlægning af udfasning af gamle versioner af OpenTele Planlægning af modning af kode

Læs mere

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar

Læs mere

Afsluttende Projekt - Kom/IT

Afsluttende Projekt - Kom/IT 1 Afsluttende Projekt - Kom/IT Rasmus H. Plaep 1 Billedkilde: http://blog.snelling.com/files/2015/01/business-107.jpg Indhold... 0 Indledning... 2 Problemafgrænsning... 2 Problemformulering... 2 Teori...

Læs mere

BibDok. Guide til BibDok. En metode til at dokumentere effekt af bibliotekets indsatser

BibDok. Guide til BibDok. En metode til at dokumentere effekt af bibliotekets indsatser BibDok En til at dokumentere effekt af bibliotekets er Guide til BibDok BibDok understøtter en systematisk refleksiv praksis. Det er derfor væsentligt, at I følger guiden trin for trin. 1. Sammenhæng mellem

Læs mere

Sådan HÅNDTERER du forandringer

Sådan HÅNDTERER du forandringer Sådan HÅNDTERER du forandringer Værktøjskasse til forandringsledelse FOKUS: Simple værktøjer der understøttes af konkrete handlinger! Kort forklaring: GEVINSTDIAGRAM - metode Gevinstdiagrammet er et værktøj

Læs mere

EVALUERING AF BOLIGSOCIALE AKTIVITETER

EVALUERING AF BOLIGSOCIALE AKTIVITETER Guide EVALUERING AF BOLIGSOCIALE AKTIVITETER Det er rart at vide, om en aktivitet virker. Derfor følger der ofte et ønske om evaluering med, når I iværksætter nye aktiviteter. Denne guide er en hjælp til

Læs mere

Studieordning del 4-2014

Studieordning del 4-2014 Studieordning del 4-2014 Fagbeskrivelser Datamatiker AP Graduate in Computer Science Version 1.1 Revideret august 2014 Side 0 af 8 Indhold del 4 Fagbeskrivelser 1. Faget Programmering (PRO)...2 2. Faget

Læs mere

Accelerace og Green Tech Center kommer nu med et unikt tilbud om udvikling af din virksomhed Green Scale Up

Accelerace og Green Tech Center kommer nu med et unikt tilbud om udvikling af din virksomhed Green Scale Up Accelerace og Green Tech Center kommer nu med et unikt tilbud om udvikling af din virksomhed Green Scale Up Accelerace har gennem de seneste 7 år arbejdet tæt sammen med mere end 250 af de mest lovende

Læs mere

Teknologiforståelse. Måloversigt

Teknologiforståelse. Måloversigt Teknologiforståelse Måloversigt Fagformål Eleverne skal i faget teknologiforståelse udvikle faglige kompetencer og opnå færdigheder og viden, således at de konstruktivt og kritisk kan deltage i udvikling

Læs mere

Vejledning til opfølgning

Vejledning til opfølgning Vejledning til opfølgning Metoder til opfølgning: HVAD KAN VEJLEDNING TIL OPFØLGNING? 2 1. AFTALER OG PÅMINDELSER I MICROSOFT OUTLOOK 3 2. SAMTALE VED GENSIDIG FEEDBACK 4 3. FÆLLES UNDERSØGELSE GENNEM

Læs mere

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6 Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side

Læs mere

Brugergrænseflader i VSU

Brugergrænseflader i VSU 28-10-09 Side 1/5 Brugergrænseflader i Dette notat giver et praktisk eksempel på, hvordan brugergrænsefladen kan håndteres i. Notatet er en konsekvens af en lidt overfladisk beskrivelse i [B&D00] samt

Læs mere

ITWIN1. Afsluttende projekt. PhotoDays. Benjamin Sørensen (02284) Tomas Stæhr Berg (03539)

ITWIN1. Afsluttende projekt. PhotoDays. Benjamin Sørensen (02284) Tomas Stæhr Berg (03539) ITWIN1 Afsluttende projekt PhotoDays Benjamin Sørensen (02284) Tomas Stæhr Berg (03539) ITWIN1 - AFSLUTTENDE PROJEKT PhotoDays Benjamin Sørensen & Tomas Stæhr Berg 02284 & 03539 1 1 Underskrifter Rapporten

Læs mere

Reflekstions artikel

Reflekstions artikel Reflekstions artikel Kommunikation/IT er et fag hvor vi lærer at kommunikere med brugeren på, og hvorledes mit produkt skal forstås af brugeren. Når man laver en opgave i faget, er det brugeren der lægges

Læs mere

Resultater af prototypetesten

Resultater af prototypetesten Resultater af prototypetesten Vi har prototypetestet use casene 1, 2, 4 og 5 1. For at undersøge, om vores prototypetest var forståelig for brugerne afholdt vi først en pilottest med en testperson for

Læs mere

Generel projektbeskrivelse

Generel projektbeskrivelse 02121 Ingeniørarbejde Softwareteknologi Januar 2010 1 Introduktion Generel projektbeskrivelse Formålet med programmeringsprojektet er at give deltagerne erfaring med at designe og konstruere et simpelt

Læs mere

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0 SmartFraming Et vindue til nationale sundhedssystemer Version 3.0 Infrastruktur i dagens sundheds IT Det sundhedsfaglige personale benytter sig i dag af en række forskellige systemer i forbindelse med

Læs mere

Software Design (SWD) Spørgsmål 1

Software Design (SWD) Spørgsmål 1 Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål

Læs mere

Aktivitet: Du kan skrive et specialeoplæg ud fra punkterne nedenfor. Skriv så meget du kan (10)

Aktivitet: Du kan skrive et specialeoplæg ud fra punkterne nedenfor. Skriv så meget du kan (10) Aktivitet: Du kan skrive et specialeoplæg ud fra punkterne nedenfor. Skriv så meget du kan (10) 1. Det er et problem at... (udgangspunktet, igangsætteren ). 2. Det er især et problem for... (hvem angår

Læs mere

Software Dokumentation

Software Dokumentation Software Dokumentation Jan Boddum Larsen Teknologi B og A på HTX Dokumentation af software i Teknologi I samfundet sker der en bevægelse mod mere digitale løsninger i teknologi. Det betyder at software

Læs mere

Lær jeres kunder - bedre - at kende

Lær jeres kunder - bedre - at kende Tryksag 541-643 Læs standarden for kundetilfredshedsundersøgelse: DS/ISO 10004:2012, Kvalitetsledelse Kundetilfredshed Overvågning og måling Vejledning I kan købe standarden her: webshop.ds.dk Hvis I vil

Læs mere

Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011

Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011 Spil Rapport Spil lavet i GameMaker Kevin, Mads og Thor 03-02-2011 Indholdsfortegnelse Indledning... 2 HCI... 2 Planlægning / Elementær systemudvikling... 2 Kravspecifikationer... 4 Spil beskrivelse...

Læs mere

Forecasting - MED SIKKER GRUND UNDER FØDDERNE

Forecasting - MED SIKKER GRUND UNDER FØDDERNE Demand Planner 2 MICROSOFT BUSINESS SOLUTIONS MICROSOFT BUSINESS SOLUTIONS 3 Forecasting - MED SIKKER GRUND UNDER FØDDERNE Kan du forudsige kundernes efterspørgsel, får du bedre mulighed for at styre virksomheden

Læs mere

Brugervenlighed som en fast del af udviklingsprocessen

Brugervenlighed som en fast del af udviklingsprocessen Brugervenlighed som en fast del af udviklingsprocessen Ingrid Haug, 10. marts 2010 Hvorfor dette oplæg? Brugervenlige produkter opnås kun ved at arbejde målrettet med brugervenlighed Alt for sjældent er

Læs mere

Projekt - Valgfrit Tema

Projekt - Valgfrit Tema Projekt - Valgfrit Tema Søren Witek & Christoffer Thor Paulsen 2012 Projektet Valgfrit Tema var et projekt hvor vi nærmest fik frie tøjler til at arbejde med hvad vi ville. Så vi satte os for at arbejde

Læs mere

Objektorienteret Analyse & Design

Objektorienteret Analyse & Design Objektorienteret Analyse & Design Lars Mathiassen, Andreas Munk-Madsen, Peter Axel Nielsen og Jan Stage ISBN: 87-7751-153-0 Udgave: 3. udgave Udgivelsesår: 2001 Antal sider: 452 Pris: Kr. 410,00 På de

Læs mere

Planlæg din kommunikation

Planlæg din kommunikation Planlæg din kommunikation Dette er et værktøj for dig, som står over for en kommunikationsindsats vil sikre, at dine budskaber når frem vil kommunikere effektivt med medarbejderne vil gøre indtryk på dine

Læs mere

Informatik C robotter

Informatik C robotter Informatik C robotter Robotter 1. Præsentation af Fable-robotten og indledende øvelser. Robotter 2. Brainstorm på anvendelser af robotter. Udarbejdelse af cases+userstories i grp. Robotter 3. Udarbejdelse

Læs mere

Hvornår i udviklingsforløbet laves papirprototyper?

Hvornår i udviklingsforløbet laves papirprototyper? Papirprototyper Af Julia Gardner, UNI-C Papirprototyper er et billigt og ekstremt nemt redskab til at få præcist feedback fra kommende brugere uden at skrive en eneste kodelinje. De sætter fokus på brugernes

Læs mere

Dm071 / Dm072 - Obligatorisk projekt 3: Design af model

Dm071 / Dm072 - Obligatorisk projekt 3: Design af model Dm071 / Dm072 - Obligatorisk projekt 3: Design af model Fag: Projektet omhandler emner fra fagene Software Design og Software Konstruktion. Formål: Formålet med projektet er at give dig mulighed for sammen

Læs mere

Introduktion. Jan Brown Maj, 2010

Introduktion. Jan Brown Maj, 2010 Jan Brown Maj, 2010 Introduktion OIOXML har eksisteret som det centrale datastandardiseringsparadigme siden 2002. Til OIOXML-konceptet er der et regelsæt betegnet OIO Navngivnings- og Deignregler (NDR),

Læs mere

EA3 eller EA Cube rammeværktøjet fremstilles visuelt som en 3-dimensionel terning:

EA3 eller EA Cube rammeværktøjet fremstilles visuelt som en 3-dimensionel terning: Introduktion til EA3 Mit navn er Marc de Oliveira. Jeg er systemanalytiker og datalog fra Københavns Universitet og denne artikel hører til min artikelserie, Forsimpling (som også er et podcast), hvor

Læs mere

ALGORITMER OG DATA SOM BAGGRUND FOR FORUDSIGELSER 8. KLASSE. Udfordring

ALGORITMER OG DATA SOM BAGGRUND FOR FORUDSIGELSER 8. KLASSE. Udfordring ALGORITMER OG DATA SOM BAGGRUND FOR FORUDSIGELSER 8. KLASSE Udfordring INDHOLDSFORTEGNELSE 1. Forløbsbeskrivelse... 3 1.1 Overordnet beskrivelse tre sammenhængende forløb... 3 1.2 Resume... 5 1.3 Rammer

Læs mere

Hassansalem.dk/delpin User: admin Pass: admin INTERFACE DESIGN

Hassansalem.dk/delpin User: admin Pass: admin INTERFACE DESIGN Hassansalem.dk/delpin User: admin Pass: admin INTERFACE DESIGN 1/20 Indledning Dette projekt er den afsluttende del af webudvikling-studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med

Læs mere

App-strategi for Randers Kommune December 2012. Bilag 2: Procesvejledning for app-udvikling i Randers Kommune

App-strategi for Randers Kommune December 2012. Bilag 2: Procesvejledning for app-udvikling i Randers Kommune Bilag 2: Procesvejledning for app-udvikling i Randers Kommune Procesvejledningen har til formål, at skabe overblik over app-udviklingsprocessen, og skal sikre kvalitet og genkendelighed blandt apps ene

Læs mere

Resumé NSI har udviklet en funktionel prototype med en visuel brugergrænseflade, der giver ikke-teknikere mulighed for at tilgå adviseringsservicen.

Resumé NSI har udviklet en funktionel prototype med en visuel brugergrænseflade, der giver ikke-teknikere mulighed for at tilgå adviseringsservicen. Fælles testmiljøer Statens Serum Institut Sektor for National Sundheds-it - Anvenderguide: Visuel adviseringsklient, en funktionel prototype Artillerivej 5 2300 København S Dato: 12.12.2013 Version: 1.0

Læs mere

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning

Læs mere

Facebookmanual til frivillige i Mødrehjælpen

Facebookmanual til frivillige i Mødrehjælpen 14. marts 2016 Facebookmanual til frivillige i Mødrehjælpen Indhold 1. Sådan opretter du en side... 2 2. Sådan giver du rettigheder til dem, der skal administrere siden... 3 3. Sådan ændres sidens URL/brugernavn...

Læs mere

GØR DET BEDRE FORANDRINGSLEDELSE. Et dialogværktøj til afklaring og udvikling

GØR DET BEDRE FORANDRINGSLEDELSE. Et dialogværktøj til afklaring og udvikling GØR DET BEDRE FORANDRINGSLEDELSE Et dialogværktøj til afklaring og udvikling GØR DET BEDRE Forandringsledelse er et af en række dialogværktøjer udviklet af DufkeResult. Se den komplette liste på www.dufkeresult.dk

Læs mere

Notat. 3. januar Økonomi. Visionspolitikkernes rolle i Randersmodellen

Notat. 3. januar Økonomi. Visionspolitikkernes rolle i Randersmodellen Notat Forvaltning: Økonomi Dato: J.nr.: Br.nr.: 3. januar 2011 Udfærdiget af: AlC Vedrørende: Visionspolitikker 2010 13 Proces og indhold Visionspolitikkernes rolle i Randersmodellen Byrådet vedtog i juni

Læs mere

Bias Reducing Operating System - BROS -

Bias Reducing Operating System - BROS - Bias Reducing Operating System - BROS - Accepttestspecifikation Projektgruppe 3: Rasmus Lund Jensen (11111) Nicolai Glud(11102) Jacob Roesen(10095) Mick Holmark(11065) Johnny Kristensen(10734) 1 Versionshistorik

Læs mere

UML til kravspecificering

UML til kravspecificering UML til kravspecificering UML mini-kompendium - til brug i forbindelse med modellering af kravspecifikationer. Copyright 2006 Teknologisk Institut, IT-Udvikling Aktivitetsdiagram 2/9 Aktion Aktionsnavn

Læs mere

I det kommende afsnit vil vi løbende komme ind på de enkelte resultater og samtidig komme med bud på, hvordan disse kunne løses i fremtiden.

I det kommende afsnit vil vi løbende komme ind på de enkelte resultater og samtidig komme med bud på, hvordan disse kunne løses i fremtiden. Opsummeret Feedback Introduktion I dette dokument vil vi opsummere de mest relevante resultater, der kom fra begge de afholdte workshops. De mest relevante resultater var dem, der igennem begge workshops

Læs mere

1. SEMESTER SYNOPSIS. Erhvervsakademi Aarhus. Kristian Peter Lund Drewsen E-konceptudvikling EKU-12d (1ek12d1) 1. Semesters Mundtlig Eksamen

1. SEMESTER SYNOPSIS. Erhvervsakademi Aarhus. Kristian Peter Lund Drewsen E-konceptudvikling EKU-12d (1ek12d1) 1. Semesters Mundtlig Eksamen E-konceptudvikling EKU-12d (1ek12d1) 1. SEMESTER SYNOPSIS Den 19 12-2012 Erhvervsakademi Aarhus 1. Semesters Mundtlig Eksamen 1. Semester Synopsis De tre opgaver der er beskrevet i denne synopsis er blevet

Læs mere

BRUGERTESTEN Introduktion

BRUGERTESTEN Introduktion BRUGERTESTEN Introduktion BAGGRUND Når man udfører en eller flere brugertests gøres det ud fra en idé om brugerinddragelse. Brugerinddragelse handler om at forstå brugernes behov, motivation og adfærd.

Læs mere

Assignment #5 Toolbox Contract

Assignment #5 Toolbox Contract Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal

Læs mere

Indholdsfortegnelse for kapitel 2

Indholdsfortegnelse for kapitel 2 Indholdsfortegnelse for kapitel 2 Kapitel 2. Analyse.......................................................... 2 Analyse af 2.1...................................................... 2 Analysen af Database.................................................

Læs mere

Rettevejledning til skriveøvelser

Rettevejledning til skriveøvelser Rettevejledning til skriveøvelser Innovation & Teknologi, E2015 Retteguiden har to formål: 1) at tydeliggøre kriterierne for en god akademisk opgave og 2) at forbedre kvaliteten af den feedback forfatteren

Læs mere

FORMÅL OG KRAV AFKLAR: PRIORITER FORMÅLENE MED DIN EVALUERING

FORMÅL OG KRAV AFKLAR: PRIORITER FORMÅLENE MED DIN EVALUERING AFKLAR: FORMÅL OG KRAV PRIORITER FORMÅLENE MED DIN EVALUERING Forventningsafstem med samarbejdspartnere og ledelse om, hvad der er formålet med din evaluering. Skriv 1 ved det primære formål, 2 ved det

Læs mere

Uddelegering? Du er dig eller din leder eller en anden leder

Uddelegering? Du er dig eller din leder eller en anden leder Uddelegering? Du er dig eller din leder eller en anden leder Arbejder du ofte med opgaver, som kun du kan udføre? Tør du uddelegere? Eller er du bange for at miste kontrollen? Har du ikke tid til at uddelegere?

Læs mere

ROSKILDE TEKNISKE GYMNASIUM. Læringsprogram. Lommeregner

ROSKILDE TEKNISKE GYMNASIUM. Læringsprogram. Lommeregner ROSKILDE TEKNISKE GYMNASIUM Læringsprogram Lommeregner Programmering Malte Fibiger, Rasmus Ketelsen, Nicojal Jensen og Leon Bøgelund, Klasse 3.36 04-12-2012 Indholdsfortegnelse Indledende afsnit... 3 Problemformulering...

Læs mere

Hvorfor gør man det man gør?

Hvorfor gør man det man gør? Hvorfor gør man det man gør? Ulla Kofoed, lektor ved Professionshøjskolen UCC Inddragelse af forældrenes ressourcer - en almendidaktisk udfordring Med projektet Forældre som Ressource har vi ønsket at

Læs mere

Find det rigtige, hurtigere og billigere ved hjælp af prototyper

Find det rigtige, hurtigere og billigere ved hjælp af prototyper GRANYON WHITE PAPERS: PROTOTYPING Find det rigtige, hurtigere og billigere ved hjælp af prototyper Prototyper i forskellig udformning gør det muligt at afprøve og teste den e-handels løsning, webside,

Læs mere

Indhold. Side 2 af 26

Indhold. Side 2 af 26 Tema Design Design, Programmering og test af Adressebog Fra d. 17 april til 20 april 2012 Vejledere: Gunhild Marie Andersen Kis Boisen Hansen Gruppe B Deltagere Side 1 af 26 Indhold Indledning.... 3 Kodestandard...

Læs mere

Kreativitet & Kommunikation St. Kongensgade 81B DK-1264 København K Kreakom.dk

Kreativitet & Kommunikation St. Kongensgade 81B DK-1264 København K Kreakom.dk At indlede et nyt bureausamarbejde er en stor og vigtig beslutning som annoncør. Kompetencer, kreativitet, pris og ikke mindst kemi er blot nogle af de parametre, der gerne skal gå op i en højere enhed,

Læs mere

Workshops til Vækst. - Modul 3: Eksternt fokus. Indholdsfortegnelse

Workshops til Vækst. - Modul 3: Eksternt fokus. Indholdsfortegnelse Workshops til Vækst - Modul 3: Eksternt fokus Indholdsfortegnelse Workshops til Vækst... 1 Eksternt fokus... 2 Praktiske forberedelser... 3 Mentale modeller... 5 Indbydelse... 6 Program... 7 Opsamling

Læs mere

Formål & Mål. Ingeniør- og naturvidenskabelig. Metodelære. Kursusgang 1 Målsætning. Kursusindhold. Introduktion til Metodelære. Indhold Kursusgang 1

Formål & Mål. Ingeniør- og naturvidenskabelig. Metodelære. Kursusgang 1 Målsætning. Kursusindhold. Introduktion til Metodelære. Indhold Kursusgang 1 Ingeniør- og naturvidenskabelig metodelære Dette kursusmateriale er udviklet af: Jesper H. Larsen Institut for Produktion Aalborg Universitet Kursusholder: Lars Peter Jensen Formål & Mål Formål: At støtte

Læs mere

Obligatorisk opgave i objektorienteret analyse og design

Obligatorisk opgave i objektorienteret analyse og design Obligatorisk SD-opgave s. Obligatorisk opgave i objektorienteret analyse og design Løs følgende, som en indviduel opgave. I må gerne samarbejde i grupper, men alle har ansvar for at udfærdige sin egen

Læs mere

Koncept for systemforvaltning af den fælles open source kode, herunder procedure for opfølgning på software-versioner af OpenTele

Koncept for systemforvaltning af den fælles open source kode, herunder procedure for opfølgning på software-versioner af OpenTele LEVERANCE 2.1 Koncept for systemforvaltning af den fælles open source kode, herunder procedure for opfølgning på software-versioner af OpenTele Konceptet beskriver, hvordan koden forvaltes, og hvordan

Læs mere

Component based software enginering Diku 2005 Kritikopgave

Component based software enginering Diku 2005 Kritikopgave Component based software enginering Diku 2005 Kritikopgave Nicolas Møller Henschel 17. april 2005 1 Indhold 1 Indledning 3 2 Indhold 3 2.1 Introduktionen.......................... 3 2.1.1 Mangler..........................

Læs mere

UNDERVISNINGSMODEL I INNOVATION OG ENTREPRENØRSKAB

UNDERVISNINGSMODEL I INNOVATION OG ENTREPRENØRSKAB UNDERVISNINGSMODEL I INNOVATION OG ENTREPRENØRSKAB HVAD ER UDFORDRINGEN? PRÆSENTATION HVEM ER VI? LAVE PROTOTYPER FINDE IDEER 5-TRINS MODELLEN I EN PIXIUDGAVE INDLEDNING Innovation og entreprenørskab er

Læs mere

Dit Demokrati: LÆRER VEJLEDNING TIL EU-FILM

Dit Demokrati: LÆRER VEJLEDNING TIL EU-FILM Dit Demokrati: LÆRER VEJLEDNING TIL EU-FILM DIT DEMOKRATI LÆRERVEJLEDNING TIL EU-FILM SIDE 1 OVERORDNET LÆRERVEJLEDNING INDLEDNING Dette materiale består af 3 dele: Filmene: Hvad bestemmer EU?, Hvordan

Læs mere

Design dit eget computerspil med Kodu

Design dit eget computerspil med Kodu Design dit eget computerspil med Kodu I sensommeren var vi to CFU-konsulenter ude i SFO en på Borup Ris Skolens Grønbro-afdeling. Her var vi sammen med børnene for at få erfaringer i arbejdet med platformen

Læs mere

PORTFOLIO SEBASTIAN NYHOLM. Eksamensprojekt. 1. Semester

PORTFOLIO SEBASTIAN NYHOLM. Eksamensprojekt. 1. Semester PORTFOLIO SEBASTIAN NYHOLM Eksamensprojekt 1. Semester Indledning Dette projekt gik ud på at designe og udvikle sit eget portfolio, hvor indhold fra tidligere projekter, læring, brugerteste og begrundelse

Læs mere

Digital Kommuneplan. Kravsspecifikation gennem brugerinvolvering

Digital Kommuneplan. Kravsspecifikation gennem brugerinvolvering Digital Kommuneplan Kravsspecifikation gennem brugerinvolvering Indhold Introduktion Afklaring af behov: Hvad skal digitale kommuneplaner kunne? Udarbejdelse og test af løsning: Hvordan skal digitale kommuneplaner

Læs mere

Software Design (SWD) Spørgsmål 1

Software Design (SWD) Spørgsmål 1 Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Artifact Milestone Du skal relaterer

Læs mere

DE BEAR TECHNOLOGY. o Processer, metoder & værktøjer. e-mail: info@dbtechnology.dk WWW.DBTECHNOLOGY.DK

DE BEAR TECHNOLOGY. o Processer, metoder & værktøjer. e-mail: info@dbtechnology.dk WWW.DBTECHNOLOGY.DK Mission Critical o Projekt Information management o Processer, metoder & værktøjer. Side 1 of 11 Projekt information Projekt information management inkluderer alle de processer, som er nødvendige for at

Læs mere

PÆDAGOGISK KURSUS FOR INSTRUKTORER EFTERÅR GANG

PÆDAGOGISK KURSUS FOR INSTRUKTORER EFTERÅR GANG PÆDAGOGISK KURSUS FOR INSTRUKTORER EFTERÅR 2014 2. GANG SARAH ROBINSON SROBIN@TDM..DK PROGRAM GANG 1-3 1. torsdag den 21. aug. kl. 13.00-16.00 Instruktorrollen og læreprocesser 2. torsdag den 28. aug.

Læs mere

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE Fact sheet Indholdsfortegnelse Fact Sheet Gantt kort Valgt af virksomhed Brainstorm Attribut tabel ER-diagram Skitse MySQLWorkbench

Læs mere

Sådan får du anvendt dit kursus i praksis. - Guide til at maksimere dit udbytte så du får størst værdi ud af dit kursus

Sådan får du anvendt dit kursus i praksis. - Guide til at maksimere dit udbytte så du får størst værdi ud af dit kursus Sådan får du anvendt dit kursus i praksis - Guide til at maksimere dit udbytte så du får størst værdi ud af dit kursus Introduktion Ifølge Robert Brinkerhoffs, studier om effekten af læring på kurser,

Læs mere

Software Design (SWD) Spørgsmål 1

Software Design (SWD) Spørgsmål 1 Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Artifact Milestone Du skal relaterer

Læs mere

it-undervisning Se mere på hjemmesiden www.it-formidler.dk

it-undervisning Se mere på hjemmesiden www.it-formidler.dk Vejledning i planlægning af it-undervisning Se mere på hjemmesiden www.it-formidler.dk Om vejledningen Vejledningen beskriver kort, hvordan man som underviser, trin for trin, kan planlægge it-kurser efter

Læs mere

Dato: Præsenteret af: e-stimate international. Powered by e-stimate

Dato: Præsenteret af: e-stimate international. Powered by e-stimate IQ test Navn: Nihil Nomen Dato: 17.10.2019 Præsenteret af: e-stimate international Powered by e-stimate Indholdsfortegnelse Forside Side 01 Indholdsfortegnelse Side 02 Tolkning Side 03 Forklaring Side

Læs mere

ViKoSys. Virksomheds Kontakt System

ViKoSys. Virksomheds Kontakt System ViKoSys Virksomheds Kontakt System 1 Hvad er det? Virksomheds Kontakt System er udviklet som et hjælpeværkstøj til iværksættere og andre virksomheder som gerne vil have et værktøj hvor de kan finde og

Læs mere

Inspiration til arbejdet med børnefaglige undersøgelser og handleplaner INSPIRATIONSKATALOG

Inspiration til arbejdet med børnefaglige undersøgelser og handleplaner INSPIRATIONSKATALOG Inspiration til arbejdet med børnefaglige undersøgelser og handleplaner INSPIRATIONSKATALOG 1 EKSEMPEL 03 INDHOLD 04 INDLEDNING 05 SOCIALFAGLIGE OG METODISKE OPMÆRKSOMHEDSPUNKTER I DEN BØRNEFAGLIGE UNDERSØGELSE

Læs mere

1. Beskrivelse af evaluering af undervisning

1. Beskrivelse af evaluering af undervisning 1 UCL, Læreruddannelsen. Evaluering af undervisning. Orientering til studerende. Marts 2011 Orientering om evaluering af undervisning består af: 1. Beskrivelse af evaluering af undervisning 2. Mål for

Læs mere

Notat. Brug personas til at leve dig ind i brugernes liv

Notat. Brug personas til at leve dig ind i brugernes liv Notat SEGES P/S Koncern Digital Datadreven informationsformidling, personas og personalisering Ansvarlig JUPO Oprettet 17-03-2016 Projekt: 7464, Digitale relationer og datadreven informationsformidling

Læs mere

UNDERBILAG 3A.1 TIL KONTRAKT OM EOJ-SYSTEM. Use case Opfølgning

UNDERBILAG 3A.1 TIL KONTRAKT OM EOJ-SYSTEM. Use case Opfølgning UNDERBILAG 3A.1 TIL KONTRAKT OM EOJ-SYSTEM Use case Opfølgning INSTRUKTION TIL TILBUDSGIVER: Teksten i dette afsnit er ikke en del af Rammeaftalen og vil blive fjernet ved indgåelse heraf. Formål med bilag:

Læs mere

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø Høringssvar vedr. FESD GIS-integrationsmodel version 2.0 Geodata Danmark har

Læs mere

Design B De kunstneriske fags didaktik. Case: Siddemøbel

Design B De kunstneriske fags didaktik. Case: Siddemøbel Design B De kunstneriske fags didaktik Case: Siddemøbel Formål Design B:! Formålet er, at eleverne tilegner sig redskaber til at gennemføre en selvstændig, struktureret designproces, der indeholder identificering

Læs mere

Brugervejledning til Højkvalitetsdokumentationen og Dialogforummet på Danmarks Statistiks hjemmeside

Brugervejledning til Højkvalitetsdokumentationen og Dialogforummet på Danmarks Statistiks hjemmeside Brugervejledning til Højkvalitetsdokumentationen og Dialogforummet på Danmarks Statistiks hjemmeside Forord Denne vejledning beskriver baggrunden for begreber og sammenhænge i Danmarks Statistiks dokumentationssystem

Læs mere

Video, workshop og modellering - giver bæredygtig innovation

Video, workshop og modellering - giver bæredygtig innovation Video, workshop og modellering - giver bæredygtig innovation Program Kl. 13:00-13:40 Kl. 13:40-14:55 Kl. 14:55-15:40 Kl. 15:40-16:00 Hvordan og hvornår anvender vi video til indsamling af data inkl. observation-,

Læs mere

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau Roskilde Tekniske Gymnasium Eksamensprojekt Programmering C niveau Andreas Sode 09-05-2014 Indhold Eksamensprojekt Programmering C niveau... 2 Forord... 2 Indledning... 2 Problemformulering... 2 Krav til

Læs mere

Guide til elevnøgler

Guide til elevnøgler 21SKILLS.DK Guide til elevnøgler Forslag til konkret arbejde Arbejd sammen! Den bedste måde at få de 21. århundredes kompetencer ind under huden er gennem erfaring og diskussion. Lærerens arbejde med de

Læs mere

Afsluttende - Projekt

Afsluttende - Projekt 2014 Afsluttende - Projekt Rapporten er udarbejdet af Ali, Andreas og Daniel Vejleder Karl G Bjarnason Indholdsfortegnelse Indledning... 2 Case... 3 Design... 4 Python kalender:... 4 Poster:... 4 Planlægning...

Læs mere

Gentofte Skole elevers alsidige udvikling

Gentofte Skole elevers alsidige udvikling Et udviklingsprojekt på Gentofte Skole ser på, hvordan man på forskellige måder kan fremme elevers alsidige udvikling, blandt andet gennem styrkelse af elevers samarbejde i projektarbejde og gennem undervisning,

Læs mere