System för
tidrapportering och tidplanering
Preliminär specifikation
12 mars 2002
Version 2
1
Sammanfattning
Detta är en preliminär specifikation för projektet System för Tidrapportering & Tidplanering
(SYTT). Arbetet utförs inom ramarna för kursen 2D1954 Programutvecklingsprojekt vid
Institutionen för Numerisk Analys och Datalogi (NADA) vid Kungl. Tekniska Högskolan.
Projektet omfattar förstudie, lösningsförslag samt produktion av systemet. Uppdragsgivare är
Henrik Artman, studierektor för IP-lab.
IP-lab är en avdelning på NADA med ca 20 doktorander. Totalt på NADA finns ca 100
doktorander. Bakgrund till uppdraget är studierektorns problem att ha översikt och statistik
över doktorandernas institutionstjänstgöring. Idag sker doktorandernas tidsrapportering
manuellt och i slutet av året. Planeringen är för studierektorn okänd vilket stoppar möjligheten
att arbeta proaktivt. Olika avdelningar inom NADA har delvis olika rutiner och filosofier för
doktorandernas planering och rapportering, dessutom skiljer det sig mellan olika lärare, kurser
och doktorander.
Det lösningsförslag, iteration nr 2 av 4, som presenteras i dokumentet bygger på inmatning av
aktiviteter som kopplas till respektive kurs. Aktiviteter består av aktuellt moment (tex
föreläsning, övning, laboration, handledning), datum eller datumperiod, ev. beskrivning samt
antal nedlagda timmar. Aktiviteter kan ha status av genomförd eller planerad, där de senare
enkelt kan överföras när de har genomförts. Systemet klarar av obegränsat antal år.
Användarna av systemet är indelade i tre grupper:
Doktorand planera/genomföra aktiviteter, översikt över nedlagt/planerat arbete, historik
Lärare
Se och planera aktiviteter för sina egna kurser, se doktoranders beläggning
Studierektor Administratör, översikt över doktorander och kurser, statistik, export av data
Den tekniska lösningen kan konceptuellt beskrivas som en trelagers webbapplikation, med
separation av databas (PostgreSQL), logik (Java-servletts) och presentation/interaktion (JSPsidor).
Projektgruppen består av 7 personer med olika roller i projektet. Deadline för projektet i dess
helhet är v18. Totalt har cirka 350 timmar lagts ned på förstudie, lösningsförslag samt
specifikation. Senaste version av projektdokumentationen finns tillgänglig via
www.nada.kth.se/projects/proj02/sytt.
2
1
DOKUMENTSTATUS ................................................................................................................... 5
1.1
1.2
SPECIFIKATIONENS SYFTE OCH MÅLGRUPP ........................................................................... 5
VERSIONER OCH FÖRÄNDRINGAR........................................................................................... 5
VERSION DATUM KOMMENTAR ..................................................................................................... 5
2
PROJEKTSTRUKTUR ................................................................................................................. 6
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
3
PROJEKTRAMAR ...................................................................................................................... 6
PROJEKTGRUPP ........................................................................................................................ 6
REFERENSGRUPP...................................................................................................................... 7
RESURSER ................................................................................................................................. 7
PRIORITERING .......................................................................................................................... 7
ÄNDRINGSHANTERING ............................................................................................................. 8
PROJEKTAVSLUT ...................................................................................................................... 8
PROJEKTGRUPPENS ÄGANDERÄTT ......................................................................................... 8
PROBLEMBESKRIVNING .......................................................................................................... 9
3.1
3.2
3.3
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
4
BAKGRUND ............................................................................................................................... 9
SYFTE ...................................................................................................................................... 10
MÅL ........................................................................................................................................ 10
KRAV OCH AVGRÄNSNINGAR ................................................................................................ 10
FUNKTIONSKRAV ............................................................................................................. 10
SYSTEMKRAV ................................................................................................................... 11
DATORMILJÖ .................................................................................................................... 11
AVGRÄNSNINGAR ............................................................................................................ 12
ANVÄNDARE .................................................................................................................... 12
LÖSNINGSFÖRSLAG ................................................................................................................ 14
4.1
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.3
4.4
4.4.1
4.4.2
4.4.3
4.5
4.5.1
4.5.2
4.5.3
ÖVERSIKT ............................................................................................................................... 14
TEKNISKT LÖSNINGSFÖRSLAG .............................................................................................. 14
GENERELLT ...................................................................................................................... 14
DESIGNPARAMETRAR FÖR VAL AV TEKNISK LÖSNING .................................................... 14
VAL AV TEKNISK LÖSNING .............................................................................................. 15
DATASTRUKTUR .............................................................................................................. 15
VAL AV TEKNISK PLATTFORM ......................................................................................... 16
”PROOF OF CONCEPT” .......................................................................................................... 17
ALTERNATIVA LÖSNINGAR.................................................................................................... 17
FÖRÄNDRADE RUTINER ................................................................................................... 17
EXCEL .............................................................................................................................. 17
FÄRDIG DATABASLÖSNING .............................................................................................. 17
SKISS AV ANVÄNDARGRÄNSSNITTET .................................................................................... 18
FUNKTIONSBESKRIVNING AV DOKTORANDSIDORNA ....................................................... 18
FUNKTIONSBESKRIVNING FÖR LÄRARE ........................................................................... 21
FUNKTIONSBESKRIVNING FÖR STUDIEREKTOR................................................................ 23
3
5
PROJEKTPLAN ........................................................................................................................... 28
5.1
5.2
5.3
5.4
5.4.1
5.4.2
5.4.3
5.5
5.6
6
6.1
6.2
7
7.1
7.2
7.3
7.4
ÖVERSIKT ............................................................................................................................... 28
PROJEKTETS FASER ............................................................................................................... 28
DESIGN AV ANVÄNDARGRÄNSSNITT ..................................................................................... 29
DOKUMENTATION .................................................................................................................. 30
ANVÄNDARDOKUMENTATION ......................................................................................... 30
SYSTEMDOKUMENTATION ............................................................................................... 30
PROJEKTDOKUMENTATION .............................................................................................. 30
SYSTEMUTVECKLING ............................................................................................................. 31
PROJEKTAVSLUT & PRESENTATION ..................................................................................... 31
RISKANALYS .............................................................................................................................. 32
IDENTIFIERADE RISKOMRÅDEN ............................................................................................ 32
GENOMGÅNG AV RISKOMRÅDEN FÖR PROJEKTET .............................................................. 32
BILAGOR...................................................................................................................................... 34
BILAGA 1 - RESURSFÖRDELNING (ARBETSTID) ................................................................... 34
BILAGA 2 – DETALJPLANERING AV AKTIVITETER ............................................................... 35
BILAGA 3 – FÖRSLAG TILL DATASTRUKTUR ........................................................................ 36
BILAGA 4 SKISSER AV ANVÄNDARGRÄNSSNITT (PROTOTYP 1) ........................................... 40
4
1 Dokumentstatus
1.1
Specifikationens syfte och målgrupp
Detta dokument är en preliminär specifikation för System för Tidrapportering och
Tidplanering, nedan kallat SYTT. Avsikten är att tydliggöra projektets bakgrund, syfte och
avgränsningar liksom presentera vårt lösningsförslag tillsammans med projektplan och
riskanalys.
Specifikationen är skriven för två olika målgrupper, uppdragsgivare/beställare samt internt för
projektgruppen. Målet är att alla ska få samma bild av projektet. Mer specifikt är detta
dokument uppdragsgivarens möjlighet att se, och bevis på, att projektgruppen förstår
problematiken samt hur det föreslagna systemet fungerar, vilka problem det löser och vilka
förväntningar som är rimliga. Det åligger beställaren att uppmärksamma projektledaren på
eventuella synpunkter.
Internt för projektgruppen fyller den preliminära specifikationen två syften, dels att sätta sig
in i problematiken och utforma ett lösningsförslag, dels som underlag för ett fortsatt arbete.
En specifikation är ett levande dokument i den meningen att ändringar kommer ske under
arbetets gång. Den preliminära specifikation kommer, efter godkännande av beställaren, att
förändras och utökas för att till slut nå status av slutgiltig specifikation. När sedan beställare
och projektledning är överens om att innehållet i denna är korrekt kommer specifikationen att
låsas, det vill säga alla förändringar därefter klassas som ändringar med tillhörande process
för ändringshantering.
Senaste version av specifikationen och övriga projektdokument finns tillgängliga på
www.nada.kth.se/projects/proj02/sytt/.
1.2
Versioner och förändringar
Version
2
1
Datum
12 mars
8 mars
Kommentar
Uppdaterad datastruktur (bilaga 3)
Preliminär specifikation
5
2 Projektstruktur
2.1
Projektramar
Detta projekt sker inom ramen för kursen 2D1954 Programutvecklingsprojekt, 4p, våren
2002. Kursen ges av Institutionen för Numerisk Analys och Datalogi (NADA) vid Kungl.
Tekniska Högskolan (KTH) med Lars Kjelldahl, [email protected], som lärare och
kursansvarig. Lärarens roll i projektet är som övervakare och resurs i allmänna projektfrågor,
med befogenhet att gripa in om projektet riskerar att misslyckas.
Uppdragsgivare är Henrik Artman, studierektor vid IP-lab (NADA), [email protected].
Uppdragsgivarens roll i detta projekt är att definiera problem och mål samt att ansvara för,
och utvärdera, effekten av systemets användning. Han har befogenhet att besluta om
projektets avslutande liksom att begära ändringar.
Projektägare (i och med rollen som projektledare) är Petter Halman, [email protected],
med ansvar att säkerställa att projektet motsvarar uppdragsgivarens förväntningar. Han har
befogenhet att styra projektets inriktning, mål samt att hantera relationen till uppdragsgivaren.
Till vilken grad projektet lyckas med sin uppgift avgörs av två olika instanser, där
uppdragsgivarens utvärdering och uppföljning är den för oss primära. Projektet kommer även
bedömas ur ett kursperspektiv av en utvärderingskommitté, med befogenhet att kräva
kompletterande arbete innan gruppen godkännes på kursen.
2.2
Projektgrupp
Projektledare
Petter Hallman (PH) med uppgift att skapa förutsättningar för projektgruppen att nå sina mål.
Han ansvarar för att planera och följa upp projektgruppens arbete samt att projektet
genomförs inom ramarna för tid och resurser.
Dokumentation & Administration
MariAnne Ygberg (MY) med ansvar för dokumentationens utformning och innehåll samt att
nödvändig information och resurser finns tillgänglig(a) under projektets gång.
Användare/Gränssnitt
Kerstin Lindbergson (KL) och Magnus Schylström (MS) med ansvar för användarstudier
samt utformning och programmering av gränssnitt.
Teknik
Matherey Bracamonte Nunez (MBN), Per-Henrik Stenlund (PHS) och Tham Ngoc Minh
(TNM) med ansvar för systemets inre struktur och uppbyggnad.
6
2.3
Referensgrupp
Referensgruppen är rådgivande avseende systemets funktionella innehåll samt kommande
användning. De ger råd och förslag till systemets utformning inom ramen för
kravbeskrivning. Deras deltagande ger dessutom en successivt förankring för projektet på
NADA.
Medlemmar:
Ann Lantz, lärare
Viggo Kann, studierektor
Maria Normark, doktorand
Anders Hedman, doktorand
Serafim Dahl, lärare
2.4
Resurser
Då projektet är en del i en kurs omfattande 4 högskolepoäng antas varje projektmedlem arbeta
motsvarande fyra heltidsveckor. Totalt förfogar alltså projektet över cirka 1100 timmar,
fördelat på 7 personer á160 timmar. Av dessa har den 8 mars ca 350 timmar utnyttjats.
Projektgruppen har tillgång till utvecklingsmiljö i UNIX genom Nadas terminalsalar. Macdatorer finns tillgängliga för arbete med grafisk design och dokumentation. En projektplats
finns tillgänglig under afs/nada.kth.se/misc/projects/proj02/sytt med tillhörande webbplats
www.nada.kth.se/projects/proj02/sytt.
2.5
Prioritering
Den första fasen av detta projekt har haft formen av förstudie som sedan har utvidgats till ett
lösningsförslag för utformning av ett tidrapporteringssystem. Uppdragsgivarens krav är att
projektet ska ta fram en prototyp för sådant system. Projektet har som mål att skapa en
funktionell prototyp som uppfyller så stor del av kravspecifikationen som möjligt. Detta
måste dock ske inom ramarna för de begränsade resurser i form av tidsperiod och antal
timmar som finns.
Prioritering i projektet handlar om förhållandet mellan tid, funktionalitet och tillgängliga
resurser. Tidsperioden sätts av kurskraven, med projektpresentation första veckan i maj. De
tillgängliga resurserna bestäms av kursens omfattning, vilket beskrivits tidigare. Då både
resurser och tidsperiod är låsta kommer vi tvingas anpassa kraven på funktionalitet för att att
inte ha orimliga förväntningar på projektets resultat.
Funktioner
Resurser
Tid
En prioritering av prototypens funktioner kommer att ske i samråd med uppdragsgivaren
under vecka 11 och 12 då systemdesignen färdigställts. Innan dess är det svårt att uppskatta
resursbehovet för de olika ingående delarna. Det är projektledarens ansvar att projektet håller
sig till denna prioritering samt att, tillsammans med uppdragsgivaren och övriga
7
projektmedlemmar, säkerställa att förväntningarna är rimliga i förhållande till tillgängliga
resurser.
2.6
Ändringshantering
Allt sedan starten av projektet har det funnits kontinuerliga kontakter med uppdragsgivaren.
Detta kommer att fortsätta under hela projektets varaktighet. Det är endast uppdragsgivaren
som har befogenhet att begära ändringar i specifikationen. Alla ändringar skall gå genom
projektledaren som har rätt att neka, alternativt föreslå reduceringar i funktonaliteten för att
kompensera den ökande arbetsbördan.
Meningen med att låsa specifikationen är att undvika sena förändringar som omintetgör redan
nedlagt arbete eller på annat sätt stör projektplanen. Då detta projekt går inom ramen för en
kurs, med en kompetent uppdragsgivare och i avsaknad av faktisk affärsrelation finns inget
behov av formaliserad ändringshantering. Skulle sådant behov uppstå är det projektledarens
ansvar att upprätta rutiner kring detta.
Till att börja med kommer ingen formell process för ändringshantering finnas internt inom
projektgruppen. Det är projektledarens ansvar att upprätta sådan vid behov.
2.7
Projektavslut
Projektet avslutas i samband med kursens slut, innan dess ska ett antal delmål uppnåtts. Det
första delmålet är denna specifikation. Nästa delmål är färdigställandet av specifikationen
vilket består av systemdesign (logik, informationsflöden och datastruktur) och användartest,
vilket beräknas vara klart i början av v12. Därefter sker produktion, testning samt
dokumentation som avslutas i och med en förhandspresentation av projektet under v18.
Slutpresentation hålls i början av maj. Projektet avslutas efter att dessa presentationer och en
utvärdering har genomförts.
En eventuell fortsättning, i syfte att färdigställa ett fungerande och driftbart system, sker
utanför kursen, tex som sommararbete för någon gruppmedlem.
2.8
Projektgruppens äganderätt
Allt resultat från projektet, exempelvis skisser, systemdesign, källkod och dokumentation,
tillhör projektgruppen. Nada har rätt att, för icke-kommersiellt bruk, använda och
vidareutveckla systemet. Projektmedlemmarna har envar rätt att, på valfritt sätt, efter
projektets slut använda resultatet så som de önskar. Detta gäller projektet i sin helhet, om
annat inte tydligt uttrycks.
8
3 Problembeskrivning
3.1
Bakgrund
NADA
Uppdragsgivare är Henrik Artman på IP-lab (The Interaction and Presentation Laboratory), en
avdelning på institutionen för numerisk analys och datalogi vid KTH, Nada. Nada ansvarar
för forskning och undervisning vid KTH och Stockholms universitet (SU) i de akademiska
ämnena datalogi, människa-datorinteraktion, numerisk analys, medieteknik och grafisk
produktion. På Nada arbetar bland andra studierektorer, lärare och doktorander. Totalt finns
det c:a 100 doktorander, varav c:a 20 arbetar på IP-lab.
Doktorandernas arbetssituation
Nadas doktorander har en undervisningsplikt på 10-20% av sin arbetstid. Undervisningen kan
bedrivas i olika former och i olika roller. Den indelning som finns är; föreläsningar, övningar,
laborationer, kursassistent, handledning, examensarbete, tentamensrättning och övrigt. För
dessa moment finns standardförberedelsetid angiven, t.ex. 2 förberedelsetimmar per
föreläsningstimme.
Det finns ingen begränsning av hur många kurser en doktorand medverkar i eller av hur
många doktorander som medverkar i varje kurs.
Tidrapportering och planering
Ansvaret för planeringen av undervisningen är uppdelat. Det är vanligen den kursansvarige
som kontaktar en doktorand med en förfrågan om undervisningshjälp. Studierektorn ansvarar
för bemanning och överblick.
Den tid doktoranderna arbetar ska rapporteras in till administrationen, vilket sker manuellt
genom pappersblanketter, som doktoranderna själva ansvarar för att sammanställa korrekt. I
dagens läge har IP-lab och resterande Nada avsevärt olika rutiner gällande doktorandernas
tidrapportering.
På IP-lab redovisar doktoranderna sin tid till administratör i slutet av läsåret. Eventuellt
notifieras studierektorn. Ofta resulterar sammanställningen i ett underskott för doktoranderna.
I dagens läge sker ingen kontroll av det som doktoranderna rapporterar, då lärarna inte tar
någon aktiv del i denna process. Datumangivelser redovisas inte, även om intresse för detta
kan finnas i framtiden.
På resten av Nada är kravet på kontroll och planering större. I början av terminen planerar
lärarna sina kurser gällande timmar och datum, efter att ha diskuterat med doktoranderna.
Lärarna anger dessutom vilken förberedelsetid de olika momenten får ta, om det avviker från
standardförberedelsetiden. Om doktoranderna använder sig av mer tid räknas denna inte som
arbetstid. Doktoranderna har även planeringssamtal med studierektorn för att strukturera den
kommande terminen. Doktorandernas timrapporter sammanställs i slutet av året av
studierektorn.
Om doktoranderna inte fullgör sin arbetsplikt adderas underskottet till nästa års arbetstimmar.
Motsvarande gäller för de fall då doktoranden överskrider de antal timmar som krävs, då
subtraheras nästa års timmar med överskottet.
9
3.2
Syfte
Projektet har till syfte att lösa de problem som finns i dagens process för tidrapportering på
IP-lab.
Huvudproblem:
 Alla doktorandens timmar blir inte redovisade, vilket leder till frustration hos
doktoranden. Orsaken till problemet torde vara att redovisningsmetoden är bristfällig.
Doktoranderna skriver inte ned alla sina timmar omedelbart och glömmer sedan bort
hur många timmar hon/han har lagt ned. Doktoranden har heller inte möjlighet att se
en översikt över sina timmar.
 Det finns ingen kontroll på doktorandens arbetsinsats, studierektorn vet inte vilka
timmar som redovisas och först i efterhand uppmärksammas eventuellt
över/underutnyttjande av doktoranderna.
 Det saknas även möjlighet att se en översikt över doktorandernas arbetsinsats per kurs.
 Då allt sker manuellt blir det en omfattande mängd pappersarbete, speciellt för
studierektorn.
 Avsaknaden av historik och statistik innebär att planeringen avsevärt försvåras.
3.3
Mål
Projektet har till mål att lösa de nuvarande rapporteringsproblemen genom att utarbeta ett
tidrapporteringssystem för doktorander på IP-lab. Detta ska inte vara ett rent kontrollsystem,
utan det ska även finnas för att hjälpa doktoranderna planera och redovisa sitt arbete. Det nya
systemet ska ge doktorander, lärare och studierektorer en översikt över det arbete
doktoranderna bedriver.
Tidrapporteringssystemet ska inte vara en kompromiss mellan dagens olika system, utan de
blivande användarna ska övertygas av systemets funktonalitet.
3.4
3.4.1
Krav och avgränsningar
Funktionskrav
Följande krav på projektet har identifierats ur den ursprungliga uppdragsspecifikationen och
intervjuer med uppdragsgivare och referensgrupp:
1. Doktoranderna ska enkelt kunna rapportera timmar.
2. Doktoranderna ska kunna planera timmar.
3. Doktoranderna ska ha översikt över sin arbetsinsats totalt och per kurs.
4. Doktoranderna ska kunna se hur många och vilka timmar han/hon arbetade föregående
år
5. Lärarna ska ha översikt över hur många timmar varje doktorand lagt ned på
hans/hennes kurs.
6. Lärarna ska kunna planera in timmar åt doktoranderna på hans/hennes kurs.
7. Studierektorerna ska ha översikt över doktorandernas totala arbetsinsats.
8. Studierektorerna ska ha översikt över doktorandens arbetsinsats per kurs.
9. Studierektorerna ska ha översikt över totala antalet doktorandtimmar per kurs.
10. Studierektorerna ska kunna se statistik över vad som hänt föregående år.
11. Studierektorerna ska ha ett administrativt gränssnitt med möjlighet att redigera
samtliga uppgifter.
10
12. Lärare och doktorander ska kunna ge önskemål om kurser de vill få eller ge.
13. Det ska vara möjligt att exportera uppgifter till Excel för vidare redigering.
Förtydligande av ovanstående punkter
De flesta av ovanstående punkter är som sagt identifierade direkt ur specifikationen, medan en
del har lagts till eller modifierats. De beslut och ställningstagande som har tagits förklaras
nedan.
Punkt 6:
Under intervju med referensgruppen framgick att det på vissa avdelningar fanns intresse för
lärarna att kunna planera in doktorandernas arbetsinsats på sina kurser. För att systemet ska
vara flexibelt för en eventuell utökad användning till fler avdelningar än IP-lab, har därför
denna möjlighet lagts till.
Punkt 12:
I den ursprungliga projektidén var en relativt komplicerad kompetensfunktionalitet beskriven.
Förslaget innebar dels att varje enskild lärare och doktorand skulle kunna placera önskemål
om föreläsningar man ville ge eller få, dels fanns en önskan om bokningsmöjlighet som
berörs närmare under Avgränsningar. Det var även föreslaget att doktoranderna skulle kunna
ange en kompetensprofil med nyckelord så att sökning på kompetens skulle kunna ske. Efter
intervjuer med berörda parter har vi funnit att intresset för en sådan funktionalitet är i det
närmaste obetydligt. Det krav som återstår är att det ska finnas möjlighet för lärare och
doktorander att lägga in önskemål om aktiviteter man önskar få respektive ge. Till detta ska
en enkel sökfunktion implementeras.
3.4.2
Systemkrav
Utöver ovanstående funktionskrav ställs följande systemkrav:
 Databasen ska vara applikationsoberoende.
 Tyngdvikten av arbetet ska skötas av servern.
 Designen ska vara väl dokumenterad utifrån både premisser och övervägningar vid
design.
 Det finns inga krav ställda på grafisk utformning.
 Systemet ska kunna hantera samtliga tidigare år.
 Systemet ska vara webbaserat.
 Tillträde till systemet ska ske genom ett inloggningsförfarande för att förhindra
obehörigas intrång.
3.4.3




Datormiljö
Systemdrift sköts av Nada/Systemgruppen vilka har kompetens och utrustning för de
flesta standardlösningar. Traditionellt använder NADA mycket Unix-baserade system
och programvaror.
Då systemet ska vara webbaserat ställs inga specifika krav på klientprogramvaror.
Serverprogramvara bör vara av standardtyp och ej innebära nya licenskostnader för
Nada.
Inga speciella krav på hastighet ställs, annat än det rent användarmässigt bör gå snabbt
att ladda sidor. Då systemet mestadels används från NADAs datorer är
internetanslutningens kapacitet och driftsäkerhet inget problem.
11


3.4.4
Nadas personal använder Mac, Unix och/eller PC. Systemet bör fungera för de vanliga
webbläsarna (Netscape & Internet Explorer) i rimligt nya versioner.
Med tanke på att systemet varken innehåller känslig eller kritisk information är kraven
på säkerhet låga och kraven på driftsäkerhet normala.
Avgränsningar
Enligt förklaring under 2.5 Resurser och 2.6 Prioritering begränsas projektet av tillgängliga
resurser. Utöver detta sker en avgränsning enligt följande punkter:
1. Det färdiga resultatet av detta projekt ska vara en fungerande prototyp, inte en
driftfärdig lösning.
2. Systemet är inte ett bokningssystem.
3. Systemet är inte ett meddelandesystem.
4. Systemet ska inte innefatta rapportering för lärare, gästföreläsare eller studenter, utan
riktar sig enbart till doktorander.
5. Detta är ett fristående system.
6. Systemet är anpassat till IP-lab, men med övriga Nadas rutiner i åtanke.
7. Den grafiska utformningen av doktorandernas historiksida kommer att vara enkel, för
redigering kan export ske.
Förtydligande av ovanstående punkter
Punkt 2:
Detta är nära kopplat till punkt tolv under Funktionskrav. Ursprungligen fanns förslaget om
en bokningsmöjlighet baserat på lärarnas och doktorandernas föreläsningsönskemål. Systemet
skulle kunna matcha dessa önskemål och sedan skulle databasen uppdateras efter acceptans av
lärare respektive doktorand. Efter intervjuer med referensgruppen förefaller det inte troligt att
systemet skulle användas till bokning och vidare diskussion med uppdragsgivaren ledde till
att bokningsmöjligheten uteslöts.
Punkt 5:
I dagens läge är ingen koppling till något annat system planerad, men i framtiden finns
möjligheten att koppla denna prototyp till laborationsrapporteringssystemet Tid, eftersom
systemen innehåller ungefär samma uppgifter.
Punkt 6:
Henrik Artman på IP-lab är vår uppdragsgivare och tidrapporteringssystemet kommer att vara
anpassat till hans avdelning. Dock har prototypen utarbetas för att i en framtid även kunna
implementeras på övriga Nada.
3.4.5
Användare
De presumtiva användarna till vårt system kan indelas i tre kategorier: doktorander,
lärare/handledare och studierektorer. Användningen av systemet kommer skilja sig från
individ till individ, men efter åtskilliga intervjuer av presumtiva användare upplever vi att det
finns en viss konsensus inom de olika kategorierna av användare, trots individuella skillnader.
Användarna är inom gruppen relativt eniga om vilka funktioner och behörigheter man har
behov av.
12
Gemensamt för alla grupperna är att de kan antas ha god kunskap om datorer och vara relativt
erfarna användare av system med webbaserade gränssnitt, varför ingen särskild hänsyn bör
behöva tas till mindre datorvana användare.
Intervjuer av användare gav intrycket att den tidsrapportering som görs idag skiljer sig
mycket åt mellan de olika avdelningarna på nada. På vissa avdelningar var det studierektorn
som tillsammans med doktoranden bestämde hur dennes instutitionstjänstgöring skulle läggas
upp över året, varefter studierektorn la in dessa timmar åt doktoranden. Det kunde också vara
så att lärare planerade timmar för doktoranderna och sedan rapporterade genomförda
doktorandtimmar till studierektorn vid kursens slut. Ett tredje sätt var att doktoranden själv la
in sina planerade och genomförda timmar. Intervjuerna gav intrycket att doktorandernas
redovisning av timmar gjordes med låg frekvens och att många doktorander även missade
timmar, eftersom de glömde att rapportera dem. Ett av syftena med vårt system är att råda bot
på detta problem.
Vi gjorde bedömningen att vi, för att få doktoranderna, lärarna och studierektorerna på nada
att använda vårt system i viss mån måste anpassa systemet, så att det är flexibelt nog att tillåta
att doktorandernas instutitionstjänstgöringstimmar rapporteras enligt den praxis som finns på
respektive avdelning idag. Systemet bör emellertid göras mer lättöverskådligt och lättanvänt
än nuvarande tidsrapporteringssystem för att på så sätt främja användningen av det . Under
intervjuerna har det framkommit att en av de viktigaste aspekterna för doktorander är att det
snabbt går att rapportera in timmar till systemet. Vi har därför lagt till genvägar, för snabb
inmatning av tjänstgjorda timmar.
En typisk användningssituation är en anställd som, när man sitter framför datorn på sitt rum,
passar på att rapportera in timmar till systemet. Det är därmed viktigt att systemet är
kompatibelt med den teknik som är tillgänglig på nada.
13
4 Lösningsförslag
4.1
Översikt
Den förstudie som delvis presenterats ovan har bildat underlag för ett lösningsförslag.
Förslaget är utformat utifrån uppdragsgivarens förväntningar och krav, främst gällande
användarsidan.
Det beskrivna lösningsförslaget (prototypen) är en andra iteration av systemet, under vecka 11
kommer den att genomgå ytterligare användartester. (En mer utförlig beskrivning över de
olika faserna i systemets utveckling ges i avsnitt 5 – Projektplan.)
Den tekniska lösningen har valts utifrån ett antal parametrar där de tre avgörande var typ av
system, projektgruppens kompetens samt flexibilitet i utveckling och drift.
4.2
4.2.1
Tekniskt lösningsförslag
Generellt
Att i mjukvaruutvecklingsprojekt göra riktiga teknikval kan ibland vara skillnaden mellan att
ro projektet i hamn eller att fastna någonstans på vägen. Teknikvalet har inte bara att göra
med att hitta optimal teknik/prestanda, utan beror även av designparametrar som
gruppmedlemmarnas kunskapsområde, beställarens önskemål och kostnader förknippade med
olika val.
4.2.2
Designparametrar för val av teknisk lösning
Beställarens önskemål.
Beställaren vill se ett tidsplanerings- och rapporteringssystem som
man kan nå via webbgränssnitt.
Systemets funktion.
Mängden av samt karaktären på den information som skall
behandlas i applikationen är sådan att det verkar lämpligt att använda en databas för lagring.
Tillgängliga plattformar. Det finns i princip två plattformar som systemgruppen på Nada
tillhandahåller/rekommenderar vilka båda utnyttjar PostgreSQL som databasmotor. Den ena
bygger på PHP för att klara programlogiken, i den andra används Java (JSP och/eller
Servlets).
Tillgänglig kompetens.
Projektets medlemmar har alla kännedom om utveckling i Java.
Viss erfarenhet av utveckling av webbapplikationer med Java servletts och JSP finns även
inom gruppen. PHP kunskaperna är begränsade.
Organisation.Möjlighet att fördela programmeringsarbetet i ”front-end” (presentation)
respektive ”back-end” (logik/datalagring) är önskvärt. De strikta tidsramarna gör att
produktionen måste utföras som ett antal parallella processer.
14
4.2.3
Val av teknisk lösning
Utifrån ovan beskrivna parametrar har vi format ett förslag till teknisk lösning enligt
nedanstående konceptuella 3-lager modell.
Presentation/Interaktion
Logik
Datalagring
JSP-sidor
Java Servlets
SQL
Den föreslagna lösningen bygger på utnyttjandet av en ensam databas för lagring av data.
Dataåtkomst sköts av logikkomponenterna. All presentation och interaktion kommer att ske i
presentationslagret som utbyter data med logikkomponenterna. En sådan lösning tillåter
parallell utveckling av komponenter, oberoende av övriga komponenter. Detta förutsätter att
den grundläggande systemdesignen är väl utformad och att specifikationen eller designen inte
behöver genomgå större förändringar under kodningsfasen. Det är även viktigt att
utformningen av gränssnitt mellan de olika komponenterna specificeras ordentligt, samt att
rutinerna för ändringshantering följs av projektets medlemmar.
Det kommer att skapas en JSP-sida per användarsida, dock kommer vissa JSP-sidor att
genereras från en och samma servlett. Det kommer även att skapas ett antal specifika servletts
som genererar vanligt återkommande element i gränssnittet, exempel på detta är drop-downmenyer.
4.2.4
Datastruktur
En skiss över datastrukturen finns bland bilagorna. Denna kommer specificeras under vecka
11, för mer information se avsnitt 5 Projektplan.
15
4.2.5
Val av teknisk plattform
Under utvecklingsfasen körs alla program på de klienter som finns i KTH:s datasalar.
Om det blir aktuellt att installera lösningen permanent hos systemgruppen är en överflyttning
till deras system en relativt smärtfri process.
PostgreSQL 7.0 är den modell och version av databasmotor vi använder.
Vi kommunicerar med databasen via jdbc.
Tomcat 4.0 är den version av webbserver vi använder under utvecklingen. Tomcat klarar att
hantera både JSP- och Servletteknologi. Eventuellt byts denna teknik mot användning av
Apache med Tomcat-plugin, beroende av vad systemgruppen önskar.
För kompilering och exekvering av javakod används jdk 1.3.0.
16
4.3
”Proof Of Concept”
Den föreslagna och konceptuellt beskrivna tekniska lösningen är, om inte standard,
åtminstone ett beprövat sätt att bygga webbapplikationer. För att bekräfta att den föreslagna
tekniska plattformen fungerar, samt att projektgruppen besitter nödvändig kompetens, har ett
”proof-of-concept” genomförts. Den ovan beskrivna plattformen sattes upp och vi har
bekräftat att den fungerar, så till vida att vi kan skriva till, och läsa från, en databas via
servlets som utnyttjar möjligheterna i jdbc.
Under testerna har många frågetecken rätats ut, men även några nya uppstått. Den arkitektur
som valts känns än så länge bra. Nästa steg är att testa lösningen med hantering av inloggning
samt fullt utnyttjande av JSP-funktionaliten.
4.4
Alternativa lösningar
Det lösningsförslag som utarbetats innebär en skräddarsydd lösning för doktoranders
tidsrapportering vid NADA. Syftet är att underlätta tidrapportering, ge alla anställda en
överblick över doktorandinsatser samt ge studierektor utökade möjligheter att agera proaktivt
vad gäller doktorandernas undervisningsplikt. Det är en kompetent lösning för ett problem
som mycket väl kan lösas med andra metoder.
Den föreslagna lösningen är utarbetad med viss beaktning av att genomföra ett projekt från
start till slut. Hade motsvarande förstudie gjorts av debiterande konsulter skulle resultatet bli
ett annat, då en avvägning av kostnad relativt effekt ständigt måste göras.
Problemen som systemet löser skulle kanske kunna minskas eller lösas med hjälp av följande
alternativa lösningar.
4.4.1
Förändrade rutiner
Ett av syftena med att skapa ett system är att få till stånd en förändring av arbetssätt och
rutiner. En sådan förändring kan mycket väl genomföras utan system, även om det kan
underlätta att låta förändringen vara inbyggd i det nya systemet. Det är inte motiverat att
bygga ett så stort och komplext system om den egentliga anledningen är att systemet ska
agera murbräcka i ett försök att förändra befintliga rutiner.
4.4.2
Excel
Excelfiler kan numera distribueras och delas över nätverk, dock är det en lösning som ställer
specifika krav på programvaror och operativsystem, tex fungerar det inte å Unix som används
av flera anställda vid Nada. En lösning kan vara att skapa mallsidor i Excel som sedan fylls i
av doktorander och/eller lärare och returneras till studierektor.
4.4.3
Färdig databaslösning
Det kan mycket väl gå att sätta upp en databas som FileMaker Pro eller MS Access för att låta
doktorander rapportera nedlagda timmar. Dessa applikationer är enkla att sätta upp, har
färdiga gränssnitt som kan anpassas och kan förses med inloggningsförfarande. Nackdel är
den minskade funktonaliteten samt att det inte säkert går att anpassa en lösning bra till alla
OS. Fördelar är den mindre arbetsinsats som krävs och därmed ökad flexibilitet att förändra
eller byta system.
17
4.5
4.5.1
Skiss av användargränssnittet
Funktionsbeskrivning av doktorandsidorna
Överst på varje doktorandsida, undantaget pop-up fönstren, finns en meny där doktoranden
kan välja vilken av sina sidor de vill se genom att trycka på länkar till ; startsidan,
historiksidan, resurssidan, mina uppgifter-sidan, de kan även välja att logga ut från systemet,
genom att trycka på länken ”logga ut”.
Undantaget startsidan, har doktorandsidorna längst ner (gäller ej pop-up fönstren) en länk,
”till startsidan” ,som tar doktoranden tillbaka till dennes startsida.
Längst upp till vänster på varje pop-up fönster finns en länk/knapp för att stänga fönstret.
Startsidan (figur 1)
Under menyraden ligger ett fält där doktoranden kan skriva in privata anteckningar (dessa
kommer därmed inte vara åtkomliga för andra användare). Anteckningarna sparas genom att
doktoranden trycker på ”spara” -knappen. Till höger om detta ligger en statusbar, som visar
hur många av doktorandens totala timmar instutitionstjänst under läsåret som är
Genomförda(grönt fält), Planerade(blått fält) respektive Kvar att göra(rött fält).
Nästföljande fält visar doktorandens kurser för det aktuella läsåret, doktoranden har här även
möjlighet att välja att titta på ett annat läsår i drop-down menyn Byt läsår. Varje kurs anges
med en kod (doktoranden får själva välja om kurskod eller förkortning för kursnamnet ska
anges här. Återkommer till detta på doktorand sidan ”Mina uppgifter) och med kursnamn.
Koden är en länk till doktorandens kurssida. Framför varje kurs kod och kursnamn finns en
pil som i normalt läge pekar åt höger, klickar användaren på denna expanderas kursen (den
tidigare nämnda pilen pekar då neråt), så att användaren kan se hur mycket tid de har planerat
och genomfört på respektive moment inom varje kurs, exempelvis föreläsning, övning. Längst
ner i listan på kurser finns ett exempel på en expanderad kurs.
Längst ner på sidan finns en ”addera aktivitet”- knapp. Om användaren klickar på denna
dyker ett pop-up fönster upp, där användaren kan lägga till genomförda och planerade
aktiviteter.
Addera aktivitet från start, pop-up fönster (figur 2)
Under rubriken finns en drop-down meny där användaren kan välja inom vilken kurs
aktiviteten utfördes. Under ligger en drop-down meny där användaren får välja moment
(föreläsning, övning etc.), och skriva in hur många timmar som ska registreras som
lektionstid. I de fall då detta är relevant räknar systemet ut hur många förberedelsetimmar
som är standard till det angivna antalet lektionstimmar. Användaren har här möjlighet att
ändra, och ange fler förberedelsetimmar än de som standarden ger, vilket markeras på lärarnas
och studierektorernas kurssidor. Det är sedan upp till dem att agera om antalet timmar är
felaktigt. Systemet räknar ut det totala antalet timmar och anger detta. Doktoranden får efter
detta ange ett datum eller datumintervall för aktiviteten/aktiviteterna. Användaren får med
hjälp av radioknappar välja om det är en planerad eller genomförd aktivitet som ska läggas
till.
18
Användaren har även möjlighet att skriva in en beskrivning av aktiviteten, vilken kommer
ligga publikt. Detta är inte obligatoriskt, vilket markeras genom att detta inmatningsfält inte är
markerat med en stjärna som anger att uppgiften är obligatorisk, vilket alla de andra
aktiviteterna är. För att genomföra adderingen av aktivitet har användaren två knappar: dels
”Addera!” för att addera aktiviteten och sedan komma tillbaka till samma pop-up fönster och
ha möjlighet att addera fler aktiviteter, dels ”Addera och stäng” för att addera aktiviteten och
stänga pop-up fönstret.
Addera aktivitet från kurs, pop-up fönster (figur 3)
Användaren får med hjälp av radioknappar välja om det är en planerad eller genomförd
aktivitet som ska läggas till. Under ligger en drop-down meny där användaren får välja
moment (föreläsning, övning etc.), och skriva in hur många timmar som ska registreras som
lektionstid. I de fall då detta är relevant räknar systemet ut hur många förberedelsetimmar
som är standard till det angivna antalet lektionstimmar. Användaren har här möjlighet att
ändra, och ange fler förberedelsetimmar än de som standarden ger, vilket markeras på lärarnas
och studierektorernas kurssidor. Det är sedan upp till dem att agera om antalet timmar är
felaktigt. Systemet räknar ut det totala antalet timmar och anger detta. Doktoranden får efter
detta ange ett datum eller datumintervall för aktiviteten/aktiviteterna.
Användaren har även möjlighet att skriva in en beskrivning av aktiviteten, vilken kommer
ligga publikt. Detta är inte obligatoriskt, vilket markeras genom att detta inmatningsfält inte är
markerat med en stjärna som anger att uppgiften är obligatorisk, vilket alla de andra
aktiviteterna är. För att genomföra adderingen av aktivitet har användaren två knappar: dels
”Addera!” för att addera aktiviteten och sedan komma tillbaka till samma pop-up fönster och
ha möjlighet att addera fler aktiviteter, dels ”Addera och stäng” för att addera aktiviteten och
stänga pop-up fönstret.
Ändra en inlagd aktivitet, pop-up fönster (figur 4)
De uppgifter som tidigare lagts in om aktiviteten är synliga, men användaren ges möjlighet att
skriva över dessa. Användaren kan mata in hur många timmar som ska registreras som
lektionstid. I de fall då detta är relevant räknar systemet ut hur många förberedelsetimmar
som är standard till det angivna antalet lektionstimmar. Användaren har här möjlighet att
ändra, och ange fler förberedelsetimmar än de som standarden ger, vilket markeras på lärarnas
och studierektorernas kurssidor. Det är sedan upp till dem att agera om antalet timmar är
felaktigt. Systemet räknar ut det totala antalet timmar och anger detta. Doktoranden anger ett
datum eller datumintervall för aktiviteten/aktiviteterna.
Användaren har möjlighet att skriva in en beskrivning av aktiviteten, vilken kommer ligga
publikt. Detta är inte obligatoriskt, vilket markeras genom att detta inmatningsfält inte är
markerat med en stjärna som anger att uppgiften är obligatorisk, vilket alla de andra
aktiviteterna är. För att genomföra adderingen av aktivitet har användaren två knappar: dels
”Spara!” för att spara ändringar och stänga pop-up fönstret, dels ”Avbryt!” för att stänga popup fönstret utan att spara eventuella ändringar.
Överför aktivitet från planerad till genomförd, pop-up fönster (figur 5)
De uppgifter som tidigare lagts in om aktiviteten är synliga, men användaren ges möjlighet att
skriva över dessa. Användaren kan skriva in hur många timmar som ska registreras som
lektionstid. I de fall då detta är relevant räknar systemet ut hur många förberedelsetimmar
som är standard till det angivna antalet lektionstimmar. Användaren har här möjlighet att
ändra, och ange fler förberedelsetimmar än de som standarden ger, vilket markeras på lärarnas
19
och studierektorernas kurssidor. Det är sedan upp till dem att agera om antalet timmar är
felaktigt. Systemet räknar ut det totala antalet timmar och anger detta. Doktoranden får ange
ett datum eller datumintervall för aktiviteten/aktiviteterna. När användaren klickar på
”Överför” –knappen överförs aktiviteten från att vara planerad till att vara genomförd och
eventuella ändringar i antal timmar, datumperiod sparas.
Doktorandens kurssida (figur 6)
På denna sida finns mail-to länkar kopplade till den kursansvariga läraren, samt
kursassistenten.
Användaren har möjlighet att välja vilken kursomgång som ska visas i en drop-down meny.
Det finns ett fält där doktoranden kan lägga in egna kommentarer om kursen och välja om
dessa ska vara privata (bara tillgängliga för doktoranden) eller offentliga (tillgängliga för
studierektor och lärare).
Användaren kan se vilka moment som är planerade respektive genomförda för kursen under
valt läsår. De lektions-, förberedelse- och totala antal timmar doktoranden lagt ner på kursen
anges i normalt läge per moment. Man kan välja att expandera ett moment, för att se på antal
timmar för alla aktiviteter inom ett moment, genom att trycka på pilen till vänster om
kursnamnet. Denna ändras då från att peka till höger till att peka nedåt, på de expanderade
aktiviteterna.
Användaren har möjlighet att ändra eller radera genomförda aktiviteter. Trycker användaren
på ”Radera” -knappen, så tas aktiviteten bort, trycker användaren på ”Ändra” –knappen, så
öppnas pop-up fönstret ”Ändra en inlagd aktivitet”.
Vad det gäller planerade aktiviteter har användare även möjlighet att överföra planerade
aktiviteter till genomförda. När användaren trycker på ”Genomförd” –knappen, så öppnas
pop-up fönstret ”Överför aktivitet från planerad till genomförd”.
Längst ner på sidan finns en ”addera aktivitet” -knapp. Om användaren klickar på denna
dyker ett pop-up fönstret ”Addera aktivitet från kurs”.
Mina uppgifter (figur 7)
På denna sida har doktoranden möjlighet att skriva in och ändra sina personliga uppgifter och
inställningar. Doktoranden får med radio-knappar välja om man vill ha ett ”påminnelsemejl”.
Denna funktion skickar ut ett mejl, med direktlänk till systemet, när användaren inte lagt in
några timmar på ca: två veckor. ”Påminnelsemejl” är även en länk till en hjälp-text som
förklarar vad ett påminnelsemejl är. Doktoranden kan här även välja om kursens kurskod eller
en förkortning av kursnamnet ska anges på dennes sidor. Knappen ”spara ändringar” sparar de
värden som doktoranden matat in.
Doktoranden kan på denna sida välja ett läsår med drop-down meny och se hur deras totala
antal timmar instutitionstjänstgöring för det valda läsåret har räknats ut.
Doktoranden har möjlighet att ändra sitt löseord genom att skriva in det nya lösenordet, samt
verifiera bytet genom att skriva in sitt gamla lösenord. ”Byt!”- knappen genomför byte av
lösenord.
20
Resurser (figur 8)
Denna sida består av två separata funktioner: Doktoranden kan göra ett inlägg eller titta på
vad andra lagt in.
Beskriva ett inlägg
Doktoranden väljer mellan kategorier av ämnen (t.ex. datalogi) i en drop-down meny och
lägger in ett sista datum för inlägget. Vid detta datum tas inlägget bort från listan på erbjudna
resurser. Doktoranden lägger in en rubrik för sitt inlägg och eventuellt en beskrivning. Den
inloggade doktorandens mejladress läggs in av systemet i rutan kontaktperson, men
doktoranden kan ändra detta fält. Ett klick på ”Spara!”- knappen gör att inlägget sparas som
ett erbjudande.
Visa resurser
Doktoranden väljer mellan kategorier av ämnen (t.ex. datalogi) i en drop-down meny och
väljer med radioknappar om de vill se förfrågningar, erbjudanden eller om de vill se både och.
Deras träffar inom ämnesområdet och typ av inlägg kommer upp som rubriker med länkar till
en beskrivning av respektive inlägg.
Historik (figur 9)
Denna sida samlar doktorandens gru- tjänstgöringstimmar per kurs under varje läsår denne
tjänstgjort på nada. Doktoranden kan med ”Skriv ut” – knappen välja att skriva ut sidan direkt
och/eller att exportera sidan till Excel för redigering genom att rycka på knappen ”Exportera
till Excel”.
4.5.2
Funktionsbeskrivning för lärare
Överst på varje lärarsida, med undantag för pop-up fönstret för att lägga in planerade timmar
för doktorander, finns en meny där läraren kan välja antingen resurs sidan, mina uppgifter
eller startsidan de även kan välja att logga ut från systemet genom att trycka på länken ”logga
ut”. Längst ner på varje sida finns också en länk för att komma tillbaka till startsidan,
undantagna är själva startsidan och pop-up fönstret.
Startsidan (figur 10)
Under menyraden anges lärarens namn och e-postadress, som är ändringsbar.
 Dina kurser, här visas lärarens egna kurser(dvs de som läraren är kursansvarig för)
för det aktuella läsåret, läraren har även möjlighet att välja att titta på ett annat läsår i
drop-down menyn med läsår. Varje kurs anges med en kod (antingen visas kurskod
eller förkortning av kursnamnet. Läraren väljer detta själv på ”Mina uppgifter” sidan)
och med kursnamn. Koden är en länk till lärarens kurssida.
 Visa andra kurser, genom att klicka på ”visa kurs” kan läraren titta på andra kursers
doktorandinsatser som läraren själv inte är kursansvarig för.
 Visa doktorand, genom att klicka på ”visa doktorand” kommer läraren till lärarnas
doktorandsida.
Lärarens kurssida (figur 11)
På denna sida anges namnet på den kursansvariga läraren, samt namnet på kursassistenten, det
finns även mailto länkar kopplade till respektive persons email adress.
Läraren har möjlighet att välja vilken kursomgång som ska visas från en drop-down meny.
21
Det finns ett fält där läraren kan lägga in egna kommentarer som kopplas till kursen. En tabell
som hämtar sina värden från databasen visar doktorandernas planerade och genomförda
insatser på den aktuella kursen.
Läraren kan se vilka moment som är planerade respektive genomförda för kursen under valt
läsår. De lektions-, förberedelse- och totala antal timmar doktoranden lagt ner på kursen anges
i normalt läge per moment. Man kan välja att expandera ett moment, för att se på antal timmar
för alla aktiviteter inom ett moment, genom att trycka på pilen till vänster om kursnamnet.
Denna ändras då från att peka till höger till att peka nedåt, på de expanderade aktiviteterna.
Om en doktorand har lagt in timmar under genomförda aktiviteter som överskrider den
normala förberedelsetiden så visas dessa med röd text för att uppmärksamma läraren. Genom
att trycka på bocken för att avmarkera så ändras färgen tillbaka till svart.
Läraren har möjlighet att ändra eller radera planerade aktiviteter. Trycker läraren på ”Radera”
-knappen, så tas aktiviteten bort, vid tryck på ”Ändra” –knappen, så dyker ett popup-fönster
upp (Detta behandlas vidare i stycket ”Ändra aktivitet”).
Längre ned på sidan finns en ”planera doktorandernas aktiviteter”- knapp. Om läraren klickar
på denna dyker ett popup fönster upp, där läraren kan lägga till planerade aktiviteter för en
doktorand.
Underst på sidan finns snabblänkar för att komma till sidor för lärarens andra kurser, som
denne är kursansvarig på, samt en länk tillbaka till startsidan
Lärarens doktorandsida (figur 12)
Under menyraden anges doktorandens namn, e-post(mailto-länk), avdelning och handledare.
Till höger om detta ligger en statusbar, som visar hur många av doktorandens totala timmar
instutitionstjänst under läsåret som är Genomförda(grönt fält), Planerade(blått fält) respektive
Kvar att göra(rött fält). Detta anges även i textform i en ruta under statusbaren, där antalet
genomförda och planerade timmar subtraheras från doktorandens totala timmar
instutitionstjänst under läsåret för att få fram hur många timmar doktoranden har kvar att göra
detta läsår. Informationen hämtas från databasen
Doktorandens kurser för det aktuella läsåret visas med kurskod eller förkortning för
kursnamnet samt med kursnamn. Koden är en länk till lärarens kurssida. I kolumnerna till
höger om kursnamnet anges doktorandens genomförda och planerade timmar per kurs. Alla
kursers timmar summeras längst ner för att ge totalt antal timmar. Framför varje kurs kod och
kursnamn finns en pil som i normalt läge pekar åt höger, klickar användaren på denna
expanderas kursen (den tidigare nämnda pilen pekar då neråt), så att användaren kan se hur
mycket tid de har planerat och genomfört på respektive moment inom varje kurs, exempelvis
föreläsning, övning. Längst ner i listan på kurser finns ett exempel på en expanderad kurs.
Läraren har även möjlighet att välja att titta på ett annat läsår i drop-down menyn Byt läsår.
Mina uppgifter (figur 13)
På denna sida har läraren möjlighet att skriva in och ändra sina personliga uppgifter och
inställningar. läraren får med radio-knappar välja om denne vill visa kursens kurskod eller en
förkortning av kursnamnet ska anges på dennes sidor. Knappen ”spara ändringar” sparar de
värden som läraren matat in.
22
Läraren har möjlighet att ändra sitt löseord genom att skriva in det nya lösenordet, samt
verifiera bytet genom att skriva in sitt gamla lösenord. ”Byt!”- knappen genomför byte av
lösenord.
Sök Resurser (figur 14)
Denna sida består av två separata funktioner: Läraren kan göra ett inlägg eller titta på vad
andra lagt in.
Beskriva ett inlägg
Läraren väljer mellan kategorier av ämnen (t.ex. datalogi, numme) i en drop-down meny och
lägger in ett sista datum för inlägget. Vid detta datum tas inlägget bort från listan på
efterfrågade resurser. Läraren lägger in en rubrik för sitt inlägg och eventuellt en beskrivning.
Den inloggade lärarens email adress läggs in av systemet i rutan kontaktperson, men läraren
kan ändra detta fält. Ett klick på ”Spara!”- knappen gör att inlägget sparas som en förfrågan.
Visa resurser
Läraren väljer mellan kategorier av ämnen (t.ex. datalogi) i en drop-down meny och väljer
med radioknappar om de vill se förfrågningar, erbjudanden eller om de vill se både och. Deras
träffar inom ämnesområdet och typ av inlägg kommer upp som rubriker med länkar till en
beskrivning av respektive inlägg.
Planera doktorand aktiviteter (figur 15)
Längst upp till höger finns en länk/knapp för att stänga fönstret.
Läraren väljer vilken doktorand som han vill planera för samt vilken typ av moment ur en
drop-down meny. och skriver in hur många timmar som ska registreras som lektionstid. I de
fall då detta är relevant räknar systemet ut hur många förberedelsetimmar som är standard till
det angivna antalet lektionstimmar. Användaren har här möjlighet att ändra, och ange fler
förberedelsetimmar än de som standarden ger, vilket markeras på lärarnas och
studierektorernas kurssidor. Det är sedan upp till dem att agera om antalet timmar är felaktigt.
Systemet räknar ut det totala antalet timmar och anger detta. Användaren får efter detta ange
ett datum eller datumintervall för aktiviteten/aktiviteterna. Användaren har även möjlighet att
skriva in en beskrivning av aktiviteten, vilken kommer ligga publikt. Detta är inte
obligatoriskt, vilket markeras genom att detta inmatningsfält inte är markerat med en stjärna
som anger att uppgiften är obligatorisk, vilket alla de andra aktiviteterna är. För att genomföra
adderingen av aktivitet har användaren två knappar: dels ”Addera!” för att addera aktiviteten
och sedan komma tillbaka till samma popup fönster och ha möjlighet att addera fler
aktiviteter, dels ”Addera och stäng” för att addera aktiviteten och stänga popup fönstret.
4.5.3
Funktionsbeskrivning för studierektor
Överst på varje studierektorsida, undantaget popup fönstren, finns en meny där studierektorn
kan välja vilken av sina sidor de vill se genom att trycka på länkar till; Startsidan, Användar administrationssidan, Kurs-administrationssidan, Variabelsidan, Exportsidan och
Resurssidan. Studierektorn kan även välja att logga ut från systemet, genom att trycka på
länken ”logga ut”.
Undantaget startsidan, har Studierektorns sidor längst ner (gäller ej popup-fönstren) en länk,
”till startsidan” ,som tar användaren tillbaka till dennes startsida.
23
Startsidan (figur 16)
På denna sida ligger följande funktioner:



Användaren kan välja att söka lärare genom att välja lärarens namn i en drop-down
meny eller genom att skriva in namnet i textrutan och trycka på ”Sök!” –knappen,
varpå systemet söker efter namnet i listan på lärare. När en matchning sker slussas
användaren vidare till en sida med information om den valda läraren (Studierektorns
lärarsida).
Användaren kan söka efter en doktorand på precis samma sätt som efter en lärare, vid
matchning visas användaren en sida med information om den valda doktoranden
(Studierektorns doktorandsida).
Användaren kan söka efter en kurs, genom att ange läsår i en drop-down meny.
Därefter väljer användaren antingen kursnamnet i en drop-down meny eller anger
kursens kurskod eller förkortning (t.ex. ”proj” för programutvecklings projekt) och
klickar på ”visa kurs!”- knappen, varpå systemet söker efter kurskoden/förkortningen i
listan på kurskoden/förkortningen. När en matchning sker slussas användaren vidare
till en sida med information om den valda kursen (Studierektorns kurssida).
Det finns även genvägar, länkar till studierektorns administrationssidor.:
 Klickar användaren på länken ”Lägg till ny användare” visas Användaradministrationssidan, som behandlas nedan i stycket med samma namn.
 Användaren kan skriva in ett användarID i textrutan och trycka på ”Gå!” –knappen.
Detta länkar användaren till en Användar-administrationssida, där alla uppgifter om
den valda användaren visas.
 Användaren kan välja att exportera allt varvid man länkas till studierektorns
Exportsida.
Studierektorns lärarsida (figur 17)
I anslutning till uppgifterna om läraren ligger knappen ”Ändra uppgifter”, ett klick på denna
kopplar användaren till Användar-administrationssida, där alla uppgifter om den valda läraren
visas.
Användaren kan välja vilket läsår man vill titta på genom att välja i en drop-down meny, där
det nuvarande läsåret står som default värde.
Efter detta val visas kurserna för det aktuella läsåret. Dessas koder är länkar som tar
användaren till Studierektorns lärare-kurssida för den aktuella läraren och kursen.
Användaren kan välja att låta systemet visa en annan lärare genom att välja lärarens namn i en
drop-down meny eller genom att skriva in namnet i textrutan och trycka på ”Sök!” –knappen,
varpå systemet söker efter namnet i listan på lärare. När en matchning sker slussas
användaren vidare till Studierektorns lärarsida med denna lärares uppgifter.
Studierektorns lärare-kurssida (figur 18)
Högst upp på denna sida intill lärarens personuppgifter ligger en ”Ändra” –knapp, Ett klick på
denna länkar användaren till sidan Administrering av kurs för den aktuella kursen.
Användaren har möjlighet att bli länkade till Studierektorns doktorandsida för de doktorander
som arbetar på kursen genom att klicka på deras namn.
24
I de fall det finns en beskrivning knuten till en aktivitet, kan användaren se hela denna genom
att klicka på ”mer!” –länken.
Användaren kan även se Studierektorns lärare-kurssida för de andra kurserna en lärare är
kursansvarig för genom att klicka på kursens kod.
Studierektorns doktorandsida (figur 19)
I anslutning till uppgifterna om doktoranden ligger knappen ”Ändra uppgifter”, ett klick på
denna kopplar användaren till Användar-administrationssida, där alla uppgifter om den valda
doktoranden visas.
Användaren har ett fält för att lägga in privata kommentarer om den aktuella doktoranden.
Användaren har möjlighet att ändra de siffror som anges för den aktuella doktorandens andel
gru (grundutbildning) arbetstid, föräldraledighet och övrig ledighet. Ett klick på ”Spara
ändringar!” –knappen sparar de nya uppgifter användaren lagt in.
Statusbaren visar hur stor andel av doktorandens totala timmar institutionstjänstgöring som är
genomförda (grön färg), planerade (blå färg) samt som återstår (röd färg).
Användaren kan välja läsår i en drop-down meny. Systemet visar då de kurser där
doktoranden har registrerat planerade eller genomförda timmar under läsåret. Kurskoden är en
länk, som tar användaren till Studierektorn doktorand-kurssida för aktuell doktorand och kurs.
Pilen till vänster om kursnamnet pekar i normalt läge åt höger, klickar användaren på detta
expanderas kursen, varpå pilen pekar neråt och varje moment som doktoranden bokfört
timmar inom visas.
Studierektorn doktorand-kurssida (figur 20)
 I anslutning till uppgifterna om doktoranden finns en ”Ändra” –knapp, Ett klick på
denna länkar användaren till sidan Administrering av kurs för den aktuella kursen.
 I textfälten kan användaren lägga in privat information och kommentarer, som lagras i
systemet när användaren klickar på ”Spara!” -knappen.
 Användaren kan välja att radera en aktivitet en doktorand lagt in genom att trycka på
”radera” –ikonen (soptunnan). Aktiviteten tas då helt bort ur systemet.
 Användaren ändrar doktorandens inlagda aktiviteter genom att trycka på ”ändra” –
ikonen. Detta genererar ett popup-fönster, där användaren kan ändra uppgifterna
angivna för aktiviteten.
 Användaren har möjlighet att flytta planerade aktiviteter till genomförda aktiviteter
genom att trycka på ”genomförd” ikonen.
 Klickar användaren på knappen ”Planera doktorandernas aktiviteter” kommer popupfönstret ”addera aktiviteter” (samma som för lärare), där användaren kan lägga till
aktiviteter för den aktuella doktoranden och kursen.
Studierektor variabler (figur 21)
Användaren har här möjlighet att välja vilka olika alternativ användare ska ha att välja bland
vad det gäller avdelning, befattning, moment och ämnesindelning.
Ett klick på ”radera” –ikonen (soptunnan) medför att alternativet raderas från listan på
möjliga alternativ.
25
Användaren har möjlighet att ändra texten i textfälten och kan med ett klick på ”Spara!” –
knappen spara de ändringar man gjort. Längst ner i varje lista över alternativ finns ett tomt
fält där användaren kan skriva in ett nytt alternativ som ska vara valbart. ”Lägg till” –knappen
lägger till detta alternativ till listan.
Vad det gäller variabler som hur många dagar ett år har etc. så kan användaren i textfältet
skriva in variabelvärdet och spara detta värde i systemet genom att trycka på ”Spara!” –
knappen.
Användaren har möjlighet att, genom inmatning i textfält, ange vilket varningsmeddelande
som ska visas då en doktorand angett fler förberedelsetimmar än standard, samt hur
påminnelsetexten i påminnelsemejlet ska se ut. (Påminnelsemejl skickas ut, till en doktorand
som har valt att ha denna funktion, när det har gått ett antal veckor utan att doktoranden har
registrerat några genomförda eller planerade timmar i systemet.)
Kurs administration (figur 22)
Användaren anger önskat kursår i en drop-down meny.
Användaren kan välja att ändra en kurs, genom att ange önskat kursår i en drop-down meny
och sedan antingen välja kursnamnet i en drop-down meny eller ange kursens kurskod eller
förkortning i textrutan och klicka på ”visa kurs!”- knappen, varpå systemet söker efter
kurskoden/förkortningen i listan på kurskoden/förkortningen. När en matchning sker visas
den aktuella kursen i fältet nedanför och användaren har då möjlighet att ändra alla variabler
för kursen utom läsåret och kurskoden (ska ändras till kursförkortningen då denna är den
unika identifikationssymbolen). Dessa ändringar behandlas i nästa stycke.
Användaren kan även välja att skapa en ny kurs, genom att ange önskat kursår i en drop-down
meny och sedan ange kursens kurskod. När användaren sedan klickar på ”Ny kurs!” –
knappen, så kommer den nya kursens uppgifter upp i fältet under. Läsår och kurskod är då
redan definierade, medan de övriga fälten är tomma. Som kursnamn visas ”ny kurs” tills
användaren anger vad kursen ska heta. Användaren väljer sedan ämnes område, ansvarig
lärare och kursassistent i drop-down menyer. Klickar användaren på ”Ändra/Spara” –knappen
sparas uppgifterna användaren matat in, klickar användaren på ”Radera kursen!” –knappen tas
kursen bort ur systemet.
”Generera nytt år” –knappen, lägger till ett nytt läsår till systemet, med kurser och
information från föregående år.
Användaradministration (figur 23)
Användaren (studierektorn ) kan söka på en annan användare genom att mata in antingen
dennes namn eller användarnamn i textfälten med samma namn. Ett klick på ”Sök användare”
–knappen medför att informationen kopplad till denna användare dyker upp i fältet nedanför.
Användaren (studierektorn) kan lägga till en användare i systemet genom att mata in
användarnamn och lösenord, samt välja vilken kategori av användare den nya användaren ska
tillhöra. Den nya användaren läggs in i systemet när ”Skapa användare” –knappen trycks in.
Då kommer den nya användarens uppgifter upp i fältet under. Användarnamn och lösenord är
då redan definierade, medan de övriga fälten är tomma.
26
Användaren (studierektorn) kan mata in eller ändra den aktuella användarens uppgifter genom
inmatning i textfälten (Namn/Epost, Andel Gru, Föräldraledighet, Övrig ledighet) ,val i dropdown menyerna (Användarkategori, Handledare, Startår, Slutår) och genom radioknappar
välja om användaren ska få påminnelsemejl och om användaren ska se kursernas kurskod
eller förkortning. Denna inmatning sparas när användaren klickar på ”Ändra/Spara!” –
knappen.
Användaren (studierektorn) kan radera den aktuella användaren genom att trycka på ”Radera
användare” –knappen, varmed användaren tas bort ur systemet.
27
5 Projektplan
5.1
Översikt
Projektplanen bygger på tillgängliga resurser (antal timmar), tidsramar satta av kursen samt
det lösningsförslag som presenterats ovan. Projektet har utfört första delen av sitt arbete i och
med överlämning av denna specifikation. Innan produktion kan startas återstår två moment,
för det första korrigeringar utifrån diskussion med uppdragsgivaren och referensgrupp samt
användartester. För det andra, systemdesign med tillhörande specifikation av datastruktur,
komponenter och informationsflöde.
När specifikationen preciserats och fastställts påbörjas produktion. Parallellt med detta
kommer lösningen kontinuerligt att testas och dokumenteras. Arbetet med testning och
bugghantering liksom dokumentation intensifieras mot slutet.
En grov uppskattning över projektets olika delar ses nedan. Antalet timmar som satts för
systemutvecklingen utgår ifrån tillgängliga resurser reducerat med vad övriga aktiviteter
kräver. Anledningen till detta är att det, beroende på ambitionsnivå, finns fler funktioner än
projektet har resurser att klara av inom kursens ram.
Aktivitet
Timmar
Förstudie & Specifikation 350
Dokumentation
100
Systemutveckling
450
Presentation & Projektavslut 80
Reserv & Övrigt
120
Aktiviteter
Användargränssnitt
Användartest av prototyp
Systemutveckling
Antal h
v11
Kommentar
utfört
timuppskattning i bilaga
systemdesign, kodning och testning
timuppskattning i bilaga
v12
v13
v14
v15
v16
v17
v18
25
450
Systemdesign & datastruktur
Logikdesign/informationsflöde
Sätta upp databas
Programmera gränssnitt (html)
Programmera gränssnitt (jsp/java)
Logik/Servletts
Sluttest & buggfix
Produktionsavslutning
Dokumentation
Användarhandledning
40
Systemdokumentation
30
Projektdokumentation
Övrigt
30
Presentation & Projektavslut
Summa planerat
5.2
tom v20
60
635
Projektets faser
Vecka 6 – 7
Uppstart av projekt.
Första skiss av lösning.
28
Vecka 8 – 9
Användarintervjuer och infosamlande. Förbättra lösningsförslag.
Undersöka tekniken
Vecka 10
Prototyp och funktionsbeskrivningar klara
Proof-of-concept (tekniklösning) klart
Specifikation klar fredag
Vecka 11
Datastruktur och dataflöde.
Användartest, utvärdering och förbättring av prototyp.
Fastställande av specifikation.
Vecka12-15
Kodning/produktion
v16 Slutproduktion, testning, dokumentera
v17 Sammanställa dokumentation
v18 DEADLINE, skapa presentation
v20 SLUT
(Beskrivning av arbetet vecka 6-10 finns i dokumentet Projektstatus 20 februari 2002.)
5.3
Design av användargränssnitt
En stor del av arbetet med utformning av systemets gränssnitt är utfört i och med det
lösningsförslag som presenterats. Under projektets gång kommer systemet, och därmed
användargränssnittet, att genomgå följande iterationer:
1. Lösningsförslag/skiss (idénivå, klar v7)
2. Prototyp på papper & Beskrivning av alla funktioner(klart torsdag v10)
3. Prototyp 2 (användartest & korrigeringar v11)
4. Färdig lösning (slutversion v18)
Användartest och ytterligare arbete med de förändringar som upptäcks beräknas ta 25 timmar
under vecka 11. (Uppskattningen gäller under förutsättning att testerna inte visar på allvarliga,
grundläggande felaktigheter.)
För fortsatt arbete med användargränssnitt, det vill säga kodning och testning under
produktionsfasen, se planering av Systemutveckling nedan.
29
5.4
Dokumentation
Dokumentation är, av två anledningar, en viktig del i detta projekt. För det första, så vill
kursansvarig träna projektgrupperna i att dokumentera samt att dokumentationen får
presentera gruppens prestation. För det andra, och nog så viktiga, är dokumentationen det
resultat som uppdragsgivaren har att utgå ifrån om han vill låta utveckla prototypen till en
färdig lösning att implementeras på Nada.
Dokumentationen ska färdigställas i två versioner, en anpassad för webben och en anpassad
för papper. Dokumentationsansvarig (MY) ansvarar för utformning och sammanställning,
dock kommer alla projektmedlemmar att dokumentera de delar av systemet som de varit
engagerade i.
Sammanlagd tidsåtgång för utpräglat dokumentationsarbete blir cirka 100 timmar, utöver
detta ingår dokumentering som en del i det övriga arbetet.
5.4.1
Användardokumentation
Användardokumentationen skrivs till stor del av användargruppen och
dokumentationsansvarig. Varje sida i gränssnittet beskrivs och dokumenteras. Målet är att
HTML-versionen av användarhandledningen för doktorander och lärare ska finnas
tillgängliga från respektive sida i systemet. Studierektors användarhandledning kommer också
göras tillgänglig från systemet, men inte anpassas i samma utsträckning som för doktorand
och lärare.
Dokumentationen påbörjas så tidigt som möjligt, dock senast under vecka 15 och färdigställs
under vecka 16.
Beräknad tidsåtgång är 40 timmar, inklusive att skapa HTML-version. (Se bilaga för
detaljplan)
5.4.2
Systemdokumentation
Systemdokumentationen skrivs till stor del av teknikgruppen. Arbetet med att dokumentera
systemet påbörjas under arbetet med systemdesign under vecka 11. Kodkomponenter
kommenteras löpande. Logikbeskrivning görs under vecka 11-12, men färdigställs till
dokumentationen under vecka 16 och 17.
Beräknad tidsåtgång är 30 timmar. (Se bilaga för detaljplan)
5.4.3
Projektdokumentation
Projektdokumentationen skrivs till huvudsak av projektledaren och dokumentationsansvarig.
Arbetet sker löpande med kraftsamling under vecka 16 och 17. Samtidigt kommer även en
webbsida utformas för att presentera projektet.
Beräknad tidsåtgång är 30 timmar, inklusive skapandet av webbplats för projektpresentation.
(Se bilaga för detaljplanering)
30
5.5
Systemutveckling
Systemutveckling används som samlingsnamn för ett antal olika aktiviteter såsom
 Specificering av systemdesign och datastruktur
 Sätta upp databasserver
 Programmera logikkomponenter (servletts)
 Programmera gränssnittet, dels HTML dels koppla till logiken med Java/JSP
 Bugghantering
 Acceptanstest
 Produktionsavslutning och kodrensning
Under hela systemutvecklingsfasen, vecka 11-17, kommer kontinuerlig bugghantering och
testning att ske. Dokumentation av systemlösningen sker under vecka 11-12 då
systemdesignen bestäms. Kommentering av kodkomponenter sker i samband med kodningen,
och all dokumentation sammanställs i slutet av projektet. (Se systemdokumentation ovan)
Tidplanen för systemutvecklingen begränsas av tillgängliga resurser liksom tillgänglig
deadlines för kursen. En mer detaljerad tidsplanering för all systemutveckling kommer att
göras under vecka 11-12 med systemdesignen och prioriteringen av funktioner som underlag.
Aktivitet
Systemdesign & datastruktur
Logikdesign/informationsflöde
Sätta upp databas
Programmera gränssnitt (html)
Programmera gränssnitt (jsp/java)
Logik/Servletts
Sluttest & buggfix
Produktionsavslutning
Tid
1 vecka
1vecka
1-2 veckor
2-3 veckor
3 veckor
3 veckor
1 vecka
2 dagar
Antal
3 pers
3 pers
en person
2 pers
2 pers
3 pers
5 pers
3 pers
Period
v11
v12
v12 (v13)
v12-14
v13-15
v12-15
v16
v17
Grovplanering:
5.6
Projektavslut & presentation
Under vecka 18-20 kommer två presentationer inom kursens ram att hållas, den första är en
förhandsvisning och den andra blir slutpresentationen. Eventuellt tillkommer, utöver detta,
presentation för uppdragsgivaren mfl. Vid presentationerna kommer alla projektmedlemmar
att delta. Arbetsfördelning görs senare.
Beräknad tidsåtgång är 60 timmar (se bilaga). Projektledaren ansvarar för arbetsdelning och
resultat.
31
6 Riskanalys
6.1
Identifierade riskområden
Genom diskussion har ett antal riskområden identifierats för projektet. Dessa områden har
analyserats för att finna hur hög sannolikheten är att problemet ska inträffa och vilken effekt
det i sådana fall skulle ha på projektet. Förslag på lösningar och sätt att eliminera, eller
åtminstone reducera, riskerna har undersökts och diskuterats.
Riskområde
1.Tekniklplattformens stabilitet
2.Kunskap/kompetens inom gruppen
3.Datastruktur
4.Ändringshantering/kodkommentarer
5.Arbetsdelning/ansvar
6.Gruppindividernas frånvaro
7.Tolkning av användarbehov
8.Ojämn arbetsbelastning
9.Förlust av data/kod
-misstag
-systemfel
10.Hög arbetsbörda
6.2
Sannolikhet
H
L
M
M
M
H
L
H
Effekt
L
M
H
M
H
M
M
L
H
L
M
L
H
M
Genomgång av riskområden för projektet
Teknikplattformens stabilitet
Det är svårt att idag veta om den valda teknikplattformen är stabil och pålitlig. På grund av
tidigare erfarenheter av arbete med Tomcat beräknas sannolikheten för att problem ska
inträffa vara hög, men det förefaller troligt att systemgruppen kommer att erbjuda en stabil
plattform.
Kunskap/kompetens inom gruppen
Saknad kunskap kan leda till tidsförseningar, men efter en kunskapsinventeringen beräknar vi
att gruppen innehar eller kan tillägna den kompetens som är nödvändig.
Datastruktur
Sannolikheten att problem ska uppstå med datastrukturen betraktas som medel och effekten
av detta skulle vara avsevärd, vilket innebär att det är viktigt att försöka förhindra detta. I
dagens läge har projektgruppen en utförlig bild av hur systemet ska utformas och utvecklas,
vilket minskar risken för att synvinklar och tankegångar överses. Det har även betydelse att
skaffa sig en bra bild av den befintliga kompetensen.
Ändringshantering/kodkommentarer
Efter att specifikationen låses, vilket kommer att ske efter användartester i vecka 11, finns
ingen risk för externa krav på ändringar. Anledningen till detta är dels att Henrik Artman,
uppdragsgivaren, har givit projektgruppen relativt fria händer att utforma systemet, dels att
32
feedbacken från honom hittills varit positiv. Dock kommer interna ändringskrav att ställes
under produktionsfasen. För att hantera detta och det övriga samarbetet mellan
gruppmedlemmar ska det finns en lista över förslag till ändringar, en lista för olösta
kodningsproblem och en lista med önskade funktionaliteter, där både förslag och idéer
presenteras.
Arbetsdelning/ansvar
En oklar arbetsfördelning kommer att leda till avsevärda problem, framför allt för
tidsplaneringen, eftersom en osäkerhet om ansvarsområden kommer att leda till att deadlines
inte kan hållas. Det föreligger en risk att detta kommer att ske eftersom olika ansvarsområden
delvis är integrerade. För att motverka detta ska en ännu tydligare uppdelning av ansvar än
den nuvarande utarbetas under vecka 11 av projektledaren. Regelbundna statusrapporter är av
yttersta vikt då det är möjligt att en omfördelning av ansvaret behöver ske.
Gruppindividernas frånvaro
För att motverka att gruppindividers frånvaro leder till förseningar ska samtliga medlemmar
göra en bedömning om möjligheterna att hålla tidsplanen och i god tid rapportera om detta
inte är möjligt så att åtgärder kan vidtas. Det är av stor betydelse att detta sker löpande under
projektets gång.
Tolkning av användarbehov
I och med att användarintervjuer och användartester har, eller kommer att, genomföras
betraktas risken för att användarnas behov misstolkats som begränsad.
Ojämn arbetsbelastning
Då ansvarområdena har olika omfattningsgrad föreligger risken att arbetsbelastningen blir
ojämn. Detta kommer delvis kontrolleras genom en regelbunden timrapportering, men
beroende på gruppindividernas ansvar för olika faser i projektet kommer medlemmarna inte
ligga på en jämn nivå förrän i slutskedet. Det ankommer därför på individen att rapportera till
projektledaren huruvida han/hon arbetar för mycket eller för litet.
Förlust av data/kod
Förlust av data eller kod kan dels ske genom misstag, dels genom systemfel. Båda dessa
varianter avhjälps delvis genom att regelbundet spara kopior på kod och data. Per-Henrik
Stenlund ansvarar dels för detta, dels för att kontrollera hur känsligt systemet är.
Hög arbetsbörda
Under 2.6 Prioritering beskrivs de begränsade resurser som finns för detta projekt. Systemet
kommer att bli relativt komplext, varför risken finns att resurserna inte räcker till. Det är då
viktigt att prioritering och nedskalning sker.
33
7 Bilagor
7.1
Bilaga 1 - Resursfördelning (arbetstid)
Resursfördelning (arbetstid)
Max tillgängligt
Genomförda aktiviteter
Detaljplanerade aktiviteter
Max resurser att fördela
Genomförda aktiviteter
Aktivitet
Förstudie & uppstart
Prototyp & lösningsförslag
Proof-of-concept
Prel specifikation
Summa använda resurser
Detaljplanerade aktiviteter
Aktivitet
Användartest utifrån prototyp 1
Användarhandledning
Systemdokumentaton
Projektdokumentation
Presentationer & projektavslut
Planerat resursb ehov
1100
-350
-185
565
systemutveckling + reservtid
Timmar
40
190
30
90
350
Timmar
25
40
30
30
60
185
cirka
Period
v11
v15-17
v11-12,v16-17
v16-17
v18-20
34
7.2
Bilaga 2 – Detaljplanering av aktiviteter
Användartest utifrån prototyp
Aktivitet
Timmar
Förberedelser
6
Tester
10
Utvärdering/efterarb
5
Justeringar gränssnitt
4
Summa:
25
Användarhandledning
Aktivitet
Inledning/generellt
Doktorand
Lärare
Studierektor
HTML-version
Skapa mallsidor
Summa
Systemdokumentation
Aktivitet
Allmän beskrivning
Systemskiss
Driftsdokumentation
Datastruktur
Logisk beskrivning
Sammanställning
Summa
Timmar
3
7
5
10
10
5
40
Timmar
3
1
3
3
15
5
30
Projektdokumentation & Sammanställning
Aktivitet
Timmar
Skriva texterna
15
Skapa webbsidor
10
Sammanställning
5
Summa
30
Presentation & Projektavslut
Aktivitet
Förbereda förhandsvisn
Förhandsvisning
Skapa slutpresentation
Genomgång inf presentation
Slutpresentation
Utvärdering
Sammanställa utv.
Summa:
Timmar
5
7
10
7
14
11
6
60
Kommentar
2 pers
2 pers x 5 intervjuer
Kommentar
5 unika sidor á 1,5 tim
2 unika + 2 lika sidor
7 unika, 3 lika sidor
20 sidor á 30 min
för systemets html-version
Kommentar
Översiktligt
inkl använda programvaror
moduler & informationsdiagram
layout och html
Kommentar
för hela projektet
all dokomentation
Kommentar
Hela gruppen, 1 tim
Hela gruppen, 1 tim
Hela gruppen, 2 tim
Hela gruppen, 1,5 tim
35
7.3
Bilaga 3 – Förslag till datastruktur
Förändringar och tillägg kommer att ske vecka 11.
Lärare & studierektor
Fält
Status
Användarnamn
Unik ident. för
doktorand/läare/studiere.
Namn
Data
Lösenord
Data
Epost-adress
Data
Avdelning
Referens
Val av
Data (ja/nej)
kurskod/förkortning
Egna kurser
Lista med referenser
Studierektoraccess
Boolean
Handledning
Lista med referenser
Aktiv
Data (boolean)
Resurs
Doktorand
Fält
Användarnamn
Namn
Lösenord
Epost-adress
Avdelning
Befattning
Val av
kurskod/förkortning
Val om
påminnelsemejl
Arbetsberäkning
Handledare
Inlagda aktiviteter
Privat kom.. från
studierek.
Aktiv
Resurs
Lista med referenser
Status
Unik ident. för
alla användare
Data
Data
Data
Referens
Referns
Data (ja/nej)
Koppling
Avdelning
Kurs
Doktorand
Resurs
Koppling
Avdelning
Befattning
Data (ja/nej)
Lista med
referenser
Referens
Lista med
referenser
Data (Text)
Ä
Ä
Ä
Ä
Ä
Ä
Ä
Ä
Ä
*/auto
*
*
*
Auto(aktiv
default)
Ä
Ä
Ä
Ä
Ä
Ä
Ä
Ä
*/auto
*
*
Ä
Arbetsberäkning
Lärare, studierektor
Aktivitet
Ä
Ä
Ä
Data (boolean)
Lista med
referenser
Ä
Ä
Resurs
36
Ä
Auto(aktiv
default)
Kurs
Fält
Förkortning
Status
Unik
identifikator
Data
Data
Data
Koppling
Referens
Referens
Referens
Lista med
referenser
Data (Text)
Lista med
referenser
Ämne
Lärare
Doktorand
Aktivitet
Ä
Ä
Ä
Ä
Kurskommentar
Ä
Ä
Moment
Fält
ID
Namn
Förberedelsetimmar
Varningsgräns
Status
Unik identifikator
Data
Data
Data
Koppling
Aktivitet
Fält
ID
Beskrivning
Omfattning
Förberedselse
Ev Summa
Datum1
Datum2
Genomförd/Planerad
Moment
Inlagd av
Status
Unik identifikator
Data (text)
Data (numeriskt)
Data (numeriskt)
Data (numeriskt)
Data (tid/datum)
Data (tid/datum)
Data (Boolean)
Referens
Referens
Koppling
Kurs
Referens
Moment
Lärare,
doktorand
Kurs
Doktorand
Referens
Doktorand
Markerad
Data(Boolean)
Namn
Årtal
Bokstavsdel av
förkortning
Ämne
Ansvarig lärare
Kursassistent
Aktiviteter
Beskrivning/kursinfo
Kommentarer
Ä
*/auto
*
Ä
Ä
Ä
Ä
Ä
Ä
Ä
*
Auto(från
foreg. år)
*/auto
Auto(Tilldelas)
*
*
*/auto
Auto(tilldelas)
Ä
Ä
Ä
37
Ä
Ä
Ä
Ä
Auto(Beroende
på vem lagt in)
? Ska
*/Auto(Beronde
kanske bli
på varifrån
ändringsbar adderat)
Auto(Beroende
på vem lagt in)
Ä
Auto(Beroende
på vem lagt in)
Arbetsberäkning
Fält
ID
Status
Koppling
Unik identifikator
Läsår
Referens
Andel GRU
Data
Ä
Läsår
Ä
Föräldraledighet
Data
Övrig ledighet
Data
Timmar från förgående år Data beräknad,
hur hantera sena
ändringar?
Studierektorkommentar
Data (Text)
Ä
Ä
Auto(från
föreg. år)
Ä
Befattning
Fält
ID
Namn
Status
Unik identifikator
Data
Koppling
Avdelning
Fält
ID
Namn
Status
Unik identifikator
Data
Koppling
Ämne
Fält
ID
Namn
Status
Unik identifikator
Data
Koppling
Resurs
Fält
ID
*/auto
Auto
(tilldelas)
Auto(beroende
på när skapas)
Auto(sätts till
10%)
Ä
*/auto
Auto(Tilldelas)
*
Ä
Ä
*/auto
Auto(tilldelas)
*
Ä
Ä
*/auto
Auto(tilldelas)
*
Ä
Koppling
Namn
Status
Unik
identifikator
Data
Ämne
Annan kontaktperson
Referens
Referens
Skapad av
Referens
Ämne
Studierektor,
lärare, doktorand
Studierektor,
lärare, doktorand
Deadline
Erbjuden/Efterfrågad
Data
Data (Boolean)
Ä
Ska
kunna
ändras
Dito
Dito
Auto(Beroende
på id inloggad)
Dito
Dito
38
*/auto
Auto(tilldelas)
Läsår
Fält
Läsår
Timmar per dag
Status
Unik identifikator
(numeriskt tex
0102, 0203, osv)
Data (numeriskt)
Koppling
Ä
*/auto
Auto(nästa år)
Ä
Auto(föregående
års)
Auto(föregående
års)
Auto(föregående
års)
Auto(Default
false)
Auto(föregående
års)
Dagar per år.
Behövs kanske ej?
Arbetstimmar per
år
Redigerbar
Data (numeriskt)
Ä
Data (numeriskt)
Ä
Data (boolean)
Ä
Kurslistan
Lista med
referenser
Kurs
Ä
Kurskommentar
Fält
ID
DoktorandID
Status
Unik identifikator
referens
Koppling
Ä
KursID
Referens
Kurs
Text
Publik/Privat
Data (Text)
Data (boolean)
Doktorand
Ä
Ä
39
*/auto
Auto(Tilldelas)
Auto(Beroende
på id inloggad)
Auto(Beroende
på gällande
kurs)
7.4
Bilaga 4 Skisser av användargränssnitt (prototyp 1)
Figur 1.
40
Figur 2.
Figur 3.
41
Figur 4.
Figur 5.
42
Figur 6.
43
Figur 7.
44
Figur 8.
45
Figur 9.
46
Figur 10.
47
Figur 11.
48
Figur 12.
49
Figur 13.
50
Figur 14.
51
Figur 15.
Figur 16.
52
Figur 17.
53
Figur 18.
54
Figur 19.
55
Figur 20.
56
Figur 21.
57
Figur 22.
58
Figur 23.
59