Red Inc. Förstudie till. Inkrementell uppbyggnad av Webbdatabas för småföretag. Uppdragsgivare: Harald Kjellin



Relevanta dokument
Systembeskrivning.

Utvärdering av projektet

Preliminär specifikation av projekt

LiTH Autonom styrning av mobil robot Projektplan. Martin Elfstadius & Fredrik Danielsson. Version 1.0

Utsikt - Ett projekt kring missbruksproblematik och

Dokumentation och presentation av ert arbete

LIPS 1, 2002 Lätt Interaktiv Projektstyrningsmodell

Dokumentation och presentation av ert arbete

Webbserverprogrammering

Projekt Intelligent Indexering

Projektstatus 20 februari 2002

WEBBSERVERPROGRAMMERING

Projektplan, Cykelgarage

Dokumentation och presentation av ert arbete

Projektplan. LiTH AMASE Accurate Multipoint Acquisition from Stereovision Equipment. Johan Hallenberg Version 1.0

Människa- datorinteraktion, MDI, ht 2011, anvisningar för projekt- /grupparbete

Guide för Innehållsleverantörer

Projektdirektiv Oskar Ljungqvist Sida 1. Kund/Examinator: Daniel Axehill, Reglerteknik/LiU

Användning av handdatorer och trådlösa nät på föreläsningar och i labsalar. Preliminär specifikation

Projektet. TNMK30 - Elektronisk publicering

DM1012 Multimediaproduktion

Bilaga 5 b Mall för projektplan

Introduktion till MySQL

Människa- datorinteraktion, MDI, vt 2012, Anvisningar för projekt- /grupparbete

Dokumentation och presentation av ert arbete. Kursens mål. Lärare Projektmedlemmar. Studenter Extern personal. Projektfaser. Projektroller.

Ramverk för projekt och uppdrag

Slutrapport för JMDB.COM. Johan Wibjer

Ingenjörsprojekt, TFYY Föreläsning 3. Urban Forsberg Institutionen för Fysik, Kemi och Biologi, IFM

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Bilaga 5 b: Mall för projektplan

Inkapsling (encapsulation)

Snabbguide - Region Skånes projektmodell webbplats:

Projektanvisning. Webbsideprojekt. Författare: Johan Leitet Version: 2 Datum:

LIPs Martin Lindfors ChrKr Projdir2017_sbd.doc CKr

DATABAS ÖVER PROVVÄGAR

ÖrebroCupen. Institutionen för Ekonomi, Statistik och Informatik, ESI Informatik, Klientprogrammering för webbsystem, 5 poäng

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Riktlinjer Projektmodell fo r Kungä lvs kommun

Dokumentation och presentation av ert arbete

Projektstyrning - kortversionen Jan-Åke Olofsson

Dokumentation och presentation av ert arbete

Projektuppgift.

Projektplan. LiTH Segmentering av MR-bilder med ITK Anders Eklund. Version 1.0. Status. Bilder och grafik projektkurs, CDIO MCIV LIPs

KTH Programutvecklingsprojekt med mjukvarukonstruktion 2D1362. Projektpresentation

LIPs Daniel Axehill ChrKr Projektdirektiv_Saab_v3 CKr

Webservice & ERP-Integration Rapport

Medborgaren och myndigheten

Projektplan, teaterqlan

extensible Markup Language

ProPlanner. Uppdragsgivare: Torbjörn Jönsson, AstraZeneca. Ett projekt för kursen Programutvecklingsprojekt 2D1954

Rapport för Projekt Alhanko

Kort om World Wide Web (webben)

Kurs-PM fo r HI1028, Projektkurs inom programvaruutveckling, VT16

Sakfrågan Preliminär specifikation

LIPs Fredrik Ljungberg ChrKr Projektdirektiv18_ROV.doc CKr

Projektplan David Sandberg Version 1.0

Projektprocessen. Projektprocess

Före Kravspecifikationen

Utvecklingen av ett tidregistrerings- och faktureringssystem

Innan du anmäler dig till Quantum View Outbound Checklista

Manual HSB Webb brf

Gör en modern släktbok för CD eller webben

Projektplan: Standardiserad hantering av SLU:s användaridentiteter, SLU-identiteter

Projektplan. LIPs. Per Henriksson Version 1.0. LiTH 7 december Optimering av hjullastare. TSRT10 projektplan.pdf WHOPS 1

Specifikation för Projekt Alhanko

Christer Scheja TAC AB

Institutionen för Tillämpad fysik och elektronik Stefan Berglund och Per Kvarnbrink. Laboration: Flerskiktade applikationer

Projekthandbok. administrativa utvecklingsprojekt

Web Services. Cognitude 1

LIPs Isak Nielsen ChrKr Projektdirektiv13_ROV.doc CKr

Projektarbete. Johan Eliasson

Projekt Foreläsning VI

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Människa- datorinteraktion, MDI, ht 2012, Anvisningar för projekt- /grupparbete

TJOHO PROJEKTSPECIFIKATION FEBRUARI Uppdragsgivare: Ylva Dalén, KI Starthus

Rafel Ridha Projektdefinition

Med koppling till EmiWeb

Tvättfat. Produktframtagning och projektgrupper. Tips. Vattenkran. Engreppsblandare. Blandare. Claes Tisell. Maskinkonstruktion.

Kravdefinition Johan Andersson Sid: 1/9. Kravdefinition Refurn AB

12 juni 2009 Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Databaser design och programmering. Design processen ER- modellering

Innehållsförteckning

Projektarbete. Anvisningar, tips och mallar. Sammanställt lå 05/06 av lärgruppen - Projektarbete

Här ges en överblick över de delar som ingår i projektarbetet och beskriver kraven och bedömningskriterierna.

Etablera projektet Intressenter

1DV411 Webbprojekt I Slutrapport

IKOT-Projekt. Kontaktdon till elbil

Objektorientering. Grunderna i OO

Robotgräsklippare PROJEKTPLAN. Robotgräsklippare. Version 1.1. Status. Granskad. Godkänd. Robotgräsklippare.

Webbservrar, severskript & webbproduktion

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Senaste version kan hämtas från Internet i PDF 1 format

INFÖRANDE, AVSLUT OCH UPPFÖLJNING. Agneta Bränberg

Rapportering som krävs utöver LIPS-dokumenten: poster föredrag där projektets genomförande och resultat beskrivs hemsida som beskriver projektet

Introduktion Vi har som uppgift att göra ett systemutvecklingsprojekt åt en kund. Målet är att tillfredställa alla behov denne kund har.

Filhanterare med AngularJS

Transkript:

Förstudie till Red Inc Inkrementell uppbyggnad av Webbdatabas för småföretag Uppdragsgivare: Harald Kjellin Projektmedlemmar: Mikael Nyqvist Ulf Rustas Thomas Jansson Rikard Laxhammar Daniel Oscarsson Emil Stridfeldt Alexander Ahl Karin Råde

Innehållsfärteckning Innehållsfärteckning...2 1 Problembeskrivning...3 1.1 Bakgrund...3 1.2 Problemet...3 1.3 Syfte...4 1.4 Krav och avgränsningar...4 1.4.1 Krav från uppdragsgivare...4 1.4.2 Användare...4 1.4.3 Funktioner...5 1.4.4 Datormiljö...5 1.5 Ordlista...5 2 Förslag till lösning...6 2.1 Systemskiss...6 2.1.1 Moduler...7 2.1.2 Diagram...8 2.2 Preliminär användarhandledning... 12 2.2.1 Sökningar/Rapporter... 12 2.2.2 Objektformulären - Visa/Ändra/Lägg till objekt... 14 3 Genomförande... 15 3.1 Projektets styrning och genomförande... 15 3.2 Ansvarsfördelning... 16 3.2.1 Projektledare... 16 3.2.2 Vice projektledare... 16 3.2.3 Informationsansvarig... 16 3.2.4 Databasansvarig... 16 3.2.5 JSP/XML-ansvarig... 16 3.2.6 Testningsansvarig... 16 3.2.7 Sekreterare... 17 3.3 Administration och möten... 17 3.4 Dokumentation... 17 3.5 Preliminär tidsplanering... 18 4 Riskanalys... 19 4.1 Tidsplanering... 19 4.1.1 Felaktig tidsplan... 19 4.1.2 Ofullständig tidsplan... 19 4.1.3 Tidsplanen ej följs... 19 4.1.4 Sjukdom eller annan frånvaro av gruppmedlem... 20 4.1.5 Dokumentationen hamnar på efterkälke... 20 4.2 Produkten... 20 4.2.1 Att projektet ej uppfyller specifikationen... 20 4.3 Beställaren... 20 4.3.1 Beställaren ändrar direktiv under projektets gång / Missförstånd mellan beställare och grupp... 20 4.4 Gruppen... 21 4.4.1 Missförstånd inom gruppen... 21 4.4.2 Gruppen inte kommunicerar tillräckligt... 21 4.4.3 Gruppen ägnar för mycket tid åt möten... 21 4.4.4 För låg kunskapsnivå i gruppen... 21 2

1 Problembeskrivning 1.1 Bakgrund Alltmer företag upptäcker att de har behov att samla in, lagra och söka information via webben. Det kan handla om att anställda rapporterar arbetsresultat genom att fylla i ett webbformulär, reseräkningar sköts via formulärhantering, man använder webben för att göra det möjligt för kunder att boka en tjänst t ex en resa, en biobiljett, anmäla sig till en kurs på universitetet etc. De flesta sådana system använder MS-asp eller Java-Servlets och dessutom någon form av relationsdatabas för att sköta kommunikationen med slutanvändaren som via sitt webbgränssnitt kommunicerar med databasen. De flesta sådan system är uppbyggda runt en relativt enkel vision av hur tjänsten bör utformas. Varje gång företaget behöver lägga till en ny webbtjänst så måste ett nytt system för detta byggas eftersom tidigare system har blivit specialkonstruerade och hårdkodade för bara ett enda syfte. Dessutom blir det svårt att få informationen från de olika databaserna att samverka. För mycket stora företag är detta inget problem. De kan använda stora standardsystem i kombination med SAP, Oracle m.m. för att bygga upp en enhetlig portal mot anställda och kunder. 1.2 Problemet Man skulle önska att det vore möjligt att ha en generell design på en databas för webbtjänster. Att man kunde ha samma databas för olika webbtjänster och att mindre företag kunde bygga upp sina webbtjänster steg för steg på denna. Fördelarna med detta skulle vara att man då kunde göra kombinerade sökningar (utan att behöva 3

tillämpa ett "Data-Warehouse" perspektiv på databaserna eller köpa svindyr applikation typ SAP). En sådan generell databas skulle dock ställa stora krav på enhetlig standard för hur data lagrades och hämtades i databasen. 1.3 Syfte Vårt syfte är att designa en metod som utifrån en XML-standard skapar enhetliga objekt för lagring i en standardiserad databas och sedan implementera ett system som accepterar XML-sidor som input och ur dessa sidor skapar en output av färdiga webbapplikationer för lagring och sökning av data. Vårt mål är att leverera en fungerande prototyp, kallad Red Inc, som är en inkrementell databas för småföretag. All erforderlig dokumentation skall dessutom skrivas enligt god sed och levereras inom givna tidsramar. 1.4 Krav och avgränsningar 1.4.1 Krav från uppdragsgivare Språket bör vara Java och Java-Servlets. Databasen bör var open-source, gärna skriven i Postgress. Slutprodukten bör vara freeware och open source med dokumenterad kod. Detta betyder att enda sättet för projektgruppen att kapitalisera resultatet är att implementera systemet hos de kunder som vill betala för att få systemet installerat. 1.4.2 Användare Red Inc kommer att ha två användare, administratören och övriga användare. Administratören skall ha minst 3 veckors erfarenhet av att programmera med XML, och kommer att ha fullständiga rättigheter. Övriga användare t ex anställda skall behärska en webbrowser, och kommer att ha begränsade rättigheter. 4

Red Inc kommer att stödja administratören, i ett företag, i dess arbete att ta fram specifika system som sedan de anställda kan nyttja. Hur användarna och system interagerar visa i figur 1. Red Inc Specifikt system Administratör Slutanvändare Figur 1: Användarna 1.4.3 Funktioner Red Inc är en generell databas och kommer därför stödja de funktioner som är typiska för en databas; lagra, editera och söka information. Red Inc är dessutom inkrementell, dvs. administratören skall kunna skapa och editera formulär med hjälp av XML-filer. Formulären används sedan som in- och utmatningsformulär av de anställda för att behandla information. 1.4.4 Datormiljö 1.4.4.1 Hårdvara Systemet skall verka på en plattformsoberoende miljö. Den föreslås användas i en PC-miljö i nätverk. 1.4.4.2 Mjukvara För att behandla data behövs en webbrowser. Till databasen skall Postgress användas. Kommunikationen mellan webbgränssnittet och databasen skall skötas av JSP. 1.5 Ordlista För att underlätta förståelsen av de uttryck vi kommer att använda oss av i de dokument som kommer att presenteras inom projektet följer nedan en mindre ordlista. 5

Freeware; ett gratis program som är fritt att använda av alla. HTML; HyperText Markup Language, standard språket för programmering av hemsidor på internet idag. Java; Ett objekt-orienterat programmeringsspråk Java-Servlets; generar html sidor med hjälp av javakod. JSP; Java Server Pages, se Java-Servlets Metadatabas; en databas över en databas Open Source; Innebär att alla får använda och sprida ett program fritt och att källkoden är öppen, med andra ord tillgänglig för de intresserade. Likt freeware men inte samma krav på källkoden. Postgress; databasprogram som får användas fritt (freeware) Specifikt system; skapas av administratör utifrån Red Inc SQL; Structured Query Language programmeringsspråk som används vid hantering av databaser. Webbtjänst; tjänst som erbjuds på internet. Webbformulär; formulär på internet. Webbrowser; Verktyget/programmet som används för att surfa på webben XML; Extensible Markup Language, ett språk som gör det möjligt att definiera innehåll och innehållets innebörd i ett dokument. 2 Förslag till lösning 2.1 Systemskiss Systemet byggs upp av tre funktionalitetsnivåer med olika roller att uppfylla i samverkan: XML-nivå, Servlet/JSP-nivå samt databasnivå. XML-nivån är administratörens kontakt med systemet. Härigenom kan han/hon definiera funktionaliteten för det specifika systemet. Denna funktionalitet kan således ändras/uppdateras/utökas när som 6

helst av administratören, allt efter behov, genom editering av XMLfilerna. Servlet-nivån utgör kärnan och motorn i systemet. På denna nivå utförs det som specificeras av administratörens XML-filer, dvs. kommunikation med användaren och med databasen. Servleten genererar alltså html mot användaren och initierar förfrågningar mot databasen. På databasnivå sker all lagring av information. Här hamnar eventuella tyngre algoritmer för sökning och lagring. 2.1.1 Moduler För att ge en mer specifik bild av vilka aktörer som samarbetar i ett färdigt system så visar vi i figur 2 ett modulschema. Av dessa moduler tillhör XML-spec, JSP samt DB Red Inc, dvs. det system vi utvecklar. Modulerna XML-filer och WebServer bidrar administratören med och browsermodulen finns hos slutanvändaren. Det generella användarfallet som förklarar modulschemat är som följer: slutanvändaren navigerar in på en webbadress som är till för att accessa det specifika systemet. Här kan användaren göra olika saker som innebär sökning eller ändring i databasen, som t ex bokning av biljett. För att kunna visa något behöver browsern HTML-kod från webservermodulen. JSP-modulen står för genereringen av denna HTML-kod. XML-filermodulen bestämmer vilken HTML-kod som JSP-modulen skall generera. XML-filerna skrivs av administratören efter den mall som XML-specmodulen utgör. När användaren vill få tillgång till databasen så gör JSPmodulen uppslagningar i DB-modulen. 7

Administratör XML-fil XML spec. Klient/Browser WebServer JSP Slutanvändare DB Red Inc Figur 2: Moduler 2.1.2 Diagram 2.1.2.1 Roller och kontrollflöde i de generella användarfallen Vi tänker oss tre generella användarfall för slutanvändaren som systemet skall stödja, nämligen att ändra data i databasen (t.ex. boka biobiljett), att söka i databasen, med en objektlista som resultat (t.ex. visa lediga föreställningar), samt att visa detaljer om ett objekt (t.ex. läs om en viss film eller visa lediga platser på en föreställning). I figurerna 3 och 4 visar vi hur vilka roller de olika aktörerna spelar i arbetsgången i dessa tre fall. Figur 3 visar arbetsgången för fallen ändra data och visa detaljer (då båda opererar på enskilda objekt) och figur 4 visar arbetsgången för sökningar som opererar på hela databasen, dvs. objektmängder. 8

Användare JSP DB Klickar på länk Läser in XML filen som är knuten till den adress som användaren klickar på. Ska man lägga till nytt data, eller editera/visa befintligt objet? NYTT Läser in data från databasen för det objekts fält man vill visa. Dessa anges i XML-filen. VISA Förvandla XML till HTML. Visa HTML Ska man editera objektet eller bara visa det? Om man ska editera genereras ett HTMLformulär, annars bara en vanlig HTML-sida. Visa HTML-formuläret. Fyller i HTML-formuläret och postar det Tar emot och översätter till SQL JA Lägg in data. Fanns alla de fält som användaren fyllt i redan i databasen? Visa HTML Parsa resultaten till HTML med hjälp av XML filen. NEJ Uppdatera databas med nya fält. Lägg in data Visa HTML Parsa resultaten till HTML med hjälp av XML filen. Figur 3: Visa och ändra data 9

Användare JSP DB Klickar på länk Läser in XML filen som är knuten till den adress som användaren klickar på. Generera ett HTML-formulär med textrutor som kan användas till att specifiera värden man vill söka efter. Fyller i sökrutorna HTML formuläret och postar det Tar emot och generera ett SQLuppslag. Kör SQL-uppslaget. Returrnera resultaten Översätt resultaten till HTML med hjälp av XML filen. Visa HTML. Figur 4: Söka data 10

2.1.2.2 Metadatabasgrund För att kunna realisera ett dynamiskt inkrementellt databassystem behöver vi en relationsdatabas i grunden som beskriver relationerna mellan objekt, attribut, relationer, mallar, datatyper, osv. för all data vi vill lagra. I figur 5 visar vi en preliminär konceptuell bild av hur vi tänkt oss denna metadatabas. * PossibleValues 1 MultiValueAttribute TextAttribute Attribute Template Area * 1 * 1 NumericAttribute 1 1 * * MultiValueRelation Relation * 1 Object TextRelation {Subtypen av Relation måste ha rätt subtyp av Atrtibute} NumericRelation Figur 5: Underliggande relationsdatabas I tabellen Object lagras alla enskilda instanser av objekt i databasen. Varje objekt är av en typ (t.ex. patient, biobiljett, bil, fordon), vilket beskrivs i tabellen Template. Varje objekttyp/mall har en viss mängd attribut, vilket beskrivs med kopplingen till Attributetabellen, där alla tänkbara attribut för objekt i databasen lagras. I tabellen Relation lagras slutligen alla attributvärden för alla objekt. Denna klass bär alltså i viss mening datamassan för hela databasen. Attribut- och relationstabellerna behöver förmodligen delas upp i 11

subklasser för att vi ska kunna hantera olika datatyper på ett effektivt sätt. Vi har dessutom en Area-tabell där man kan knyta objekttyper till områden inom en organisation, vilket tillåter sammanslagning av databaser avsedda för vitt skilda uppgifter inom organisationen (t.ex. löneavdelning och marknadsföringsavdelning). 2.2 Preliminär användarhandledning Den enda användarhandledning som är väsentlig i vårt fall är gentemot administratören eftersom det är han/hon som sedan vidarebefordrar service till slutanvändaren. Denna handledning utgörs till stor del av XML-specen vi skapar. Administratören kommer dock att få vägledning i hur dessa skall tolkas, men i nuvarande läge är det för tidigt att gå in på XML-specen. Däremot kan vi här visa lite hur vi har tänkt att gränssnittet för slutanvändaren kan se ut. 2.2.1 Sökningar/Rapporter Systemet är tänkt att kunna generera sök/rapportsidor, där man ska kunna söka på olika attributvärden och få fram de objekt som matchar. Man ska kunna söka på specifika attribut och objekt, men det ska också finnas en allmän sökning, där man söker igenom alla objekts alla attribut efter matchande värden. Utseendet på söksidorna specificeras i särskilda XML-sidor av webbsidans administratör. I dessa ska man kunna välja t ex. vilka attribut och objekt man kan söka på, vilka attribut som ska presenteras i resultatet och även vilka kommandokolumner (Visa/Ändra/Ta Bort/Lägg till ny/...) som ska visas. OBS! Bilderna nedan ska bara ses som förslag på vilken funktionalitet en rapport skulle kunna ha, det är mycket möjligt att 12

det färdiga systemets utseende kommer att skilja sig avsevärt från dessa. Figur 6 - Sökning på specifikt objekt (person). Om man klickar på Visa eller Lägg till ny person tas man till resp. objektformulär. Figur 7 - Allmän sökning, det fanns både Personer och Bilar som matchade sökningen. 13

2.2.2 Objektformulären - Visa/Ändra/Lägg till objekt. Den andra huvudtypen av formulär som genereras av systemet är objektformulär som visar ett objekt hos en specifik objekttyp i taget. Utseendet av dessa bestäms av webbsidans administratör genom att editera XML-filer. De tre olika funktionernas formulär är såpass lika så att det är mycket möjligt att man skulle kunna generera HTML-koden från samma XML-fil för en given objekttyp. Däremot har olika objekttyper olika XML-filer. I XML-filerna ska man kunna välja vilka fält som ska visas. Figur 8 - Visa objekt (person) Figur 9 - Ändra objekt (Person) 14

Figur 10 -Lägg till objekt (Person) 3 Genomförande 3.1 Projektets styrning och genomförande Som övergripande styrmodell för vårt projekt har vi valt PPSmetoden, utvecklad av TietoEnator. PPS-metoden är ganska omfattande och projektmedlemmarna har en begränsad kunskap och erfarenhet kring nyttjandet av metoden. Endast en översiktlig föreläsning om metoden har hållits för projektets medlemmar. Därför kommer i praktiken endast ett urval av alla de mallar som finns att användas i detta projekt. Projektet kommer att följa de allmänna beslutspunkter som finns i PPS-metoden, där varje beslutspunkt kan ses som en milstolpe i utvecklingen. I och med att denna förstudie är färdigskriven och överlämnad till beställaren har projektet nått fram till beslutspunkt 4, där beslut om projektets genomförande skall fattas. I nästa fas, design och implementation av mjukvaran, kommer några beslutpunkter följa som avstämningspunkter för projektets utveckling. I projektets slutskede, leverans och slutlig överlämning av mjukvaran, kommer även här ett fåtal beslutspunkter styra arbetet. 15

Projektets programmering kommer att till största delen ske i UNIX miljö, då vi använder oss av KTH:s resurser för programmering. Versionshantering är tänkt att ske med sunt förnuft och att använda oss av daterade ZIP-filer. 3.2 Ansvarsfördelning 3.2.1 Projektledare Har det övergripande ansvaret för projektet och dess genomförande. Tillsammans med vice projektledaren skall denna ansvara för att den övergripande planeringen följs, att deadlines respekteras och att den beställda produkten levereras till kund enligt överenskommelse. 3.2.2 Vice projektledare Arbetar tillsammans med projektledaren samt tar över dennes uppgifter och ansvar vid projektledarens frånvaro. 3.2.3 Informationsansvarig Ansvarar för dokumentation, samordning av data och projektets webbplats. 3.2.4 Databasansvarig Ansvarar för definition och funktionalitet för databasen samt dess gränssnitt mot andra moduler. 3.2.5 JSP/XML-ansvarig Ansvarar för definition och funktionalitet för de moduler som hanterar gränssnittet mellan användare och databas. 3.2.6 Testningsansvarig Utför tester på produkten för att undersöka dess funktionalitet innan leverans till kund. Produktens funktionalitet godkänns av projektledaren innan leverans. 16

3.2.7 Sekreterare Dokumenterar och för protokoll vid mötena. I projektet används roterande sekreterare. 3.3 Administration och möten Bortsett från möten i samband med beslutspunkter kommer projektledaren att en gång i veckan sammankalla gruppen till informella möten. Under dessa möten kommer framgång, problem och lösningar i projektarbetet att diskuteras samt uppställning av nya delmål. Målet är att kunna fastställa en återkommande tid i veckan för möten, men det troliga är att mötestiden ibland kommer att variera från vecka till vecka. Under mötet, som leds av projektledaren, utses i vanlig ordning en sekreterare. Sekreteraren ansvarar för att mötesanteckningar görs och att dessa vidarebefordras till informationsansvarige, som i sin tur lägger upp dem på projektets hemsida1. 3.4 Dokumentation Projektets informationsansvarige har det övergripande ansvaret för all dokumentation. Skrivarbetet inom de olika delarna av dokumentationen kommer dock att delegeras till lämpliga projektmedlemmar, för att sedan sammanställas av informationsansvarige som ser till att dokumenten blir färdiga i tid. Nedan följer en kort beskrivning av projektets dokumentation. 1. Förstudie; innehåller preliminära specifikationer. 2. Lägesrapport; summarisk situationsstatus. 3. Projektpresentation 4. Användarhandledning 5. Minnesanteckningar; skall föras vid alla möten. 1 Projekthemsidans adress: http://www.nada.kth.se/projects/redinc 17

3.5 Preliminär tidsplanering V. 48-52 Initiering av projekt där projektledare utses. Genomgång tillsammans med beställaren och en första kravspecifikation av produkten görs. En motspecifikation levereras och överenskommelse nås om slutlig kravspecifikation. Indelning av ansvarsområden för projektets medlemmar. Inlämning av kravspecifikation till beställare och kursansvarig skall ske senast den 15 december. Beräknad tidsåtgång är 20 timmar per projektmedlem varav åtta timmar möten. V. 02-12 Preliminär bedömning av förstudie den 10 januari. Muntlig lägesrapport till beställaren skall ske i början av mars. Implementation av de olika modulerna skall ske. Löpande arbete med dokumentation. Beräknad tidsåtgång 90-100 timmar per projektmedlem varav tio timmar är möten. V.13-15 Förberedelser av förhandsvisning och sammanställning av dokumentation skall utföras. Förhandsvisning skall ske i början av april och inlämning av dokumentation. Sluttestning av produkt. Beräknad tidsåtgång 30 timmar per projektmedlem varav sex timmar är möten. V. 16 Påsklov 18

V. 17 Muntlig slutredovisning sker i månadsskifte april/maj. Förberedelse inför slutredovisning och opposition (2 stycken) Beräknad tidsåtgång 20 timmar per projektmedlem varav 10 timmar är möten. 4 Riskanalys 4.1 Tidsplanering 4.1.1 Felaktig tidsplan Effekt: En oöverlagd eller orealistisk tidsplan leder till felprioriteringar av tillgänglig tid, vilket i sin tur kan leda till att mindre viktiga delar upptar tid som borde ha allokerats till mer kritiska delar av projektet. Detta leder typiskt till hög arbetsbelastning i slutet av projektet och onödiga brister i genomförandet. Sannolikhet: Hög Åtgärd: Att noggrant gå igenom de olika delarna av projektet, prioritera dem och tilldela dem troligt tidsutrymme. Följa upp att delmomenten hinns med och i nödvändiga fall omprioritera dem. 4.1.2 Ofullständig tidsplan Effekt: Om delar av projektet missats i tidsplanen, riskerar vi tidsbrist eller att inte uppfylla kravspecifikationen. Sannolikhet: Medel Åtgärd: Kolla tidsplan mot kravspecifikationen. 4.1.3 Tidsplanen ej följs Effekt: Projektet ej klart i tid eller inte uppfyller kravspecifikationen. Sannolikhet. Medel 19

Åtgärd: Uppföljning av tidsplanen, omplanering och omprioritering. Dessutom bör tempot i början av projektet hållas uppe, vilket kan ge extratid mot slutet till oförutsedda problem. 4.1.4 Sjukdom eller annan frånvaro av gruppmedlem Effekt: Arbetsbelastningen ökar för resten av gruppen. Kunskap eller material oåtkomligt för resten av gruppen. Sannolikhet: Medel Åtgärd: Genom att arbeta i par, dokumentera utfört arbete och sända det till informationsansvarig alternativt lägga arbetet i gemensam mapp, kan problem minimeras, 4.1.5 Dokumentationen hamnar på efterkälke Effekt: fullständig dokumentation saknas vid slutpresentationen. Restuppgift för gruppen. Sannolikhet: Medel Åtgärd: Kontinuerlig dokumentation allteftersom delar färdigställs. 4.2 Produkten 4.2.1 Att projektet ej uppfyller specifikationen Effekt: Beställaren blir ledsen, gruppen underkänd. Sannolikhet: Låg Åtgärd: Sköta återkoppling till beställaren och noggrant redovisa framsteg i projektet. 4.3 Beställaren 4.3.1 Beställaren ändrar direktiv under projektets gång / Missförstånd mellan beställare och grupp Effekt: Tidsplaneringen måste ändras. Tidsbrist kan uppstå. Arbete kan ha utförts i onödan. Sannolikhet: Låg Åtgärd: God och kontinuerlig kontakt med beställaren ska hållas. Bra projektbeskrivning så att alla inblandade vet vad som skall utföras. 20

4.4 Gruppen 4.4.1 Missförstånd inom gruppen Effekt: Dubbelarbete eller att vissa moment missas. Tidsbrist kan uppstå. Sannolikhet: Medel Åtgärd: Kommunikation inom gruppen hålls ständigt. Tydlig arbetsfördelning görs. Projektledaren följer upp arbetet och håller kontakt med gruppmedlemmarna. 4.4.2 Gruppen inte kommunicerar tillräckligt Effekt: Det kan bli besvärligt att sammanfoga delarna till en fungerande enhet. Tidsbrist eller en dåligt fungerande produkt. Sannolikhet: Medel Åtgärd: Möten med god avrapportering och en bra projektplan som kontinuerligt följs upp. 4.4.3 Gruppen ägnar för mycket tid åt möten Effekt: Ineffektiv tidsanvändning. Riskerar att komma efter i tidsplan. Sannolikhet: Låg Åtgärd: Gruppmedlemmarna dokumenterar vad de gjort sen sist, så att man kan hålla sig uppdaterad på vad de andra gjort. Effektiv avrapportering på mötena. 4.4.4 För låg kunskapsnivå i gruppen Effekt: Lösningar på problem i speciellt implementeringsfasen blir onödigt krångliga eftersom kunskapen saknas för att lösa problemet på ett effektivt sätt. Problemet kanske löses effektivt men orsakar förseningar vilket kan leda till att projektet inte blir klart i tid eller att projektet inte uppfyller de krav som är ställda. Sannolikhet: Hög Ätgärd: Genom att avsätta mer tid till förstudie ökas kunskapsnivån inom implementationsteamet innan utvecklingsfasen 21

startar. Att sedan göra små prototyper med användande av olika typer av tekniker för att sedan göra en utvärdering av dem ger ett bättre beslutsunderlag vid val av teknik än enbart genom instudering av källmaterial. 22