2D1362 Programutvecklingsprojekt med mjukvarukonstruktion, 6p, för D3, I3, PDI, m.fl., 2003/2004, delar av denna översikt uppdateras successivt

 

Tryck här för att hämta kursenkäten:

Innehåll:
Kursfilosofi, relaterade tidigare kurser
Registrering på kursen
Checklista, dödlinjelista (deadlines)
Föreläsningar
Projektförslag, regler för projektförslag, avtal
Prioriteringar på projektförslag
Projekten
Kontaker med uppdragsgivaren, intensivarbete
Dokument som ska göras
Lägesrapport
Förhandsvisningar
Slutredovisningar, inkl opposition
Examination, kommitté för utvärdering av projekt
Utvärdering, kursanalys

Några som vill läsa gamla versionen av kursen (2D1954, 4p) kan finna mer information här

Kursfilosofi, målsättningar

Projektdelen av denna kurs har "alltid" funnits som obligatorisk i D3, dvs ända sedan 1985, då de första KTH/D-teknologerna kom upp i trean, i form av ett 4-poängsmoment inom PMI- kursen (1985/86 -- 1988/89) resp PIM- kursen (1989/90 -- 1992/93). Hittills har mer än 200 projekt genomförts, resulterande i mer eller mindre användbara verktyg för "riktiga" användare på Macintosh, PC och Sun-arbetsstationer. Mjukvarukonstruktionen är tänkt att ta upp delar som fanns bl.a i 2D1359 OMPA-kursen.
Mera information finns i studiehandbokstexten

Tanken är bl.a. att ni ska få prova på att genomföra ett lite större arbete i form av ett projekt genomfört i dialog med en idégivare/handledare, nedan kallad "uppdragsgivare", som stått för den ursprungliga idén. Mjukvarukonstruktionsdelen av kursen är till för att ge mera teoribakgrund för projektarbetet.

Kursen går under tre perioder vilket ger goda möjligheter till planera arbetet. Erfarenheter från tidigare projektkurs (2D1954, 4p) finns i förra årets kursanalys. Se också förra årets kursöversikt. samt förra årets projektdokumentationer.

Målsättningar för kursen är bl.a.:
   - förbereda för yrkeslivet i ett praktiskt arbete
   - ge erfarenhet av samarbete i grupp
   - ge erfarenhet av ett större arbete, inkl organisation av ett sådant arbete
   - ge erfarenhet av kontakt med en uppdragsgivare med annan bakgrund och kompetens
   - ge erfarenhet av ett större, spännande programmeringsprojekt som inte bara är en extra stor laboration
   - ge erfarenhet av arbete inom de roller som finns i en projektgrupp
   - ge en översikt av olika teorier kring hur mjukvara kan utvecklas
   - ge ytterligare kunskap om de dokument som tas fram vid konstruktion av stora mängder mjukvara

Registrering på kursen

Alla som vill delta i kursen ska göra res checkin prom03 (görs på faun eller my senast deadline enligt listan nedan)
och svara på de frågor som man får.
Detta behövs för att jag ska kunna sammanställa och rapportera resultat på kursen.
 

Checklista, dödlinjelista (deadlines)

Följande utgör en kombinerad check- och dödlinjelista som också anger krav individuellt och i grupp:
• göra res checkin prom03 senast 5 november
• prioritera projekt senast 14 november, kl 13
• projektfördelningen tillkännages senast 18 november, kl 15
• inlämning av förstudie - preliminär specifikation senast 15 december
• yttrande om förstudien senast 10 januari (blev tyvärr 12 januari)
• åtminstone tre träffar med "uppdragsgivaren"
• muntlig lägesrapport; en ur gruppen träffar kursledaren för samtal, tider finns nedan (under tiden 3/3-8/3)
• bokningslistor för förhandsvisning och slutredovisningar sätts upp på anslagstavla på plan 3
  månd 8 mars, kl 15 (fönsternischen mot Osquars backe)
• förhandsvisning, alla deltagare är med, enligt schema där man bokar tid, tiderna i början av april
• dokumentation (pappersform och www-form), lämnas i samband med förhandsvisningen
• muntlig slutredovisning, alla deltagare är med, enligt schema där man bokar tid, tiderna i månadsskiftet april/maj
• opposition på två andra gruppers projekt vid två olika redovisningstillfällen (ej samma som när ni redovisar själva)
• Utvärderingskommittén sammanträder efter sista muntliga slutredovisningen
• individuella svar på frågor om kursen och dess innehåll (både examination och utvärdering)
 

Föreläsningar

    torsd 30/10, 13-15, sal D1, Lars Kjelldahl, Översikt av kursen,    
                                                regler och råd för ert projekt
    
    fred 31/10, 13-15, sal D1, Alexander Baltatzis, vattenfallsmodellen och andra
                                                likartade modeller, Anteckningar
    månd 3/11, 8-10, sal D1, Alexander Baltatzis, versionshantering, Anteckningar
    
    onsd 5/11, 10-12, sal F1, Presentationer av projektförslag
Ett antal intressenter, inom och utom högskolan, presenterar vid två tillfällen projektförslag som består i utveckling av en tillämpning (ofta ett "datorstött verktyg") där grafisk interaktion är ett moment men där också kunnande från andra kurser, t.ex. databaskursen, kan tillämpas. En lista över projektförslagen kommer att finnas via denna länk. Fullständiga beskrivningar till alla projekten finns enbart i pappersform.
månd 10/11, 8-10, sal D1, Presentationer av projektförslag

tisd 11/11, 13-15, sal F1, Björn Eiderbäck, extreme programming, xp.pdf

tisd 18/11, 13-15, sal F1, Björn Eiderbäck, extreme programming, fortsättning

fred 21/11, 13-15, sal D1, Björn Eiderbäck, design patterns, design-patterns.pdf

tisd 25/11, 13-15, sal F1, Alexander Baltatzis, vad krävs i en systemdokumentation?,
                                           repetition av UML, testning, Anteckningar
fred 28/11, 13-15, sal D1, Börje Törnblom, TietoEnator, projektstyrning enligt PPS-metoden
                                           mallar kommer att göras tillgängliga
                                           En CD med PPS-mallar finns till utlåning hos Lars Kjelldahl

tisd 2/12, 13-15, sal F1, Anna Stockhaus, Projektarbete bortom projektmodellen,
                                          organisation och gruppdynamik, OH-bilder


onsd 21/1, 15-17, sal E1, systemgruppen/Johan Berglund, programvaror vid Nada, OH-bilder


fred 23/1, 13-15, sal E1, Nils-Erik Gustafsson, Erfarenheter från projektarbete i     
                          industrin, nils-erik@raffinaderiet.se (blev tyvärr inte av) fred 30/1, 13-15, sal E1, *** inställd, ges på något sätt mot slutet av kursen i stället *** fred 6/2, 13-15, sal E1, paneldiskussion om projektarbete - vattenfall kontra XP, med     
                         Karl Meinke och Björn Eiderbäck

Alla ska individuellt i samband med slutredovisningarna i vår redovisa (genom att svara på frågor) hur teoristoffet kom in i arbetet med projektet. Jag räknar med att göra visst material tillgängligt i anslutning till vissa föreläsningar (på papper eller via hemsidan).
 

Projektförslag, regler för projektförslag, avtal

En lista över projektförslagen kommer via denna länk men fullständiga beskrivningar till alla projekten finns bara i pappersform, som finns tillgängliga vid presentationerna.

Alla förslag till projekt ska följa de regler för projekt som satts upp i samband med den inbjudan till projektförslag som kursledaren skickat ut till presumptiva uppdragsgivare. Projektförslag ska kunna prioriteras av alla grupper och också tilldelas alla grupper. Det får inte finnas "beroendeförhållanden" mellan uppdragsgivare och projektgrupp - man kan därför inte definiera ett projekt, som man sedan gör själv. Projekten ska vara av en typ så att resultatet av dem går att presentera på ett överskådligt och begripligt sätt för andra kursdeltagare i samband med slutredovisningen.

Framtida användning av utvecklat program: Vi förutsätter normalt att uppdragsgivaren får fri tillgång till användning av programmet så länge det är fråga om icke kommersiell användning. Om det skulle bli fråga om ett kommersiellt utnyttjande så får detta diskuteras mellan uppdragsgivare (som stått för idén) och projektgruppen (som stått för programmet). Alla grupper ska göra en text för ett tänkt avtal mellan gruppen och uppdragsgiavren. Det är inte obligatoriskt att detta avtal fullföljs men det är ofta bra att göra det. Det finns en checklista för avtal . Exempel på avtal kommer att finnas. Mera material om IT-juridik finns i litteraturen och IT-företagens sida. En möjlighet till att hantera gruppens programvara ges av GNU General Public License.
 

Prioriteringar på projektförslag

Ni ska göra prioritering av projekt på två sätt (bägge ska göras):
** 1. genom att fylla i uppgifter via webbgränssnittet
webbgränssnitt för prioritering av projekt
mera information finns i den användarhandledning som ni kan studera via
handledningen
** 2. genom att skicka e-post lassekj@nada.kth.se med angivande av intresset
för projektidéerna i form av prioriteringar senast vid tid enligt
dödlinjelistan. Alla prioriteringar ska innehålla tio projekt listade från
1 (högst prioritet) till 10 (tionde plats). Om man endast ger t.ex. 2
prioriteringar antages alla andra projekt ha prioritet 3. Namn och email
ska anges för samtliga projektdeltagare. De som vill anmäla sig i mindre
grupp eller individuellt kan också göra detta varmed de överlämnar åt
kursledaren att forma en grupp. Jag bekräftar mottagandet av dessa e-brev
så kolla att ni får mitt svar (annars bör ni skicka ett nytt e-brev till
mig). Endast en person i gruppen ska kommunicera med mig om
prioriteringarna (annars finns det risk att jag missar och t.ex. ger er
två projekt). Jag bekräftar mottagandet och tilldelar gruppen ett nummer.
Ni får alltså bilda grupper själva men tänk på att det kan vara bra om ni
har lite olika kunskaper i gruppen, t.ex. är det bra om åtminstone några
läser GrIP-kursen.
OBS: Gamlingar, dvs ni som läser 4p-versionen av kursen (proj04) ska ange
detta i e-brevet till mig, så ni kan sorteras tillsammans.

Projekten

Senast vid tidpunkt enligt dödlinjelistan tillkännages projektfördelningen.
Resultat och erfarenheter från årets kurs kommer att finnas i dokumentationerna från projekten.
Utvärderingskommittén kommer att utse ett eller flera bästa projekt
 

Kontaker med uppdragsgivaren

Under kursens gång skickas viss e-post ut enbart till kontaktpersonerna i projektgrupperna. Dessa brev finns samlade här (kursinfobrev).
Så snart ni fått ert projekt vidtar specificerande av uppgiften tillsammans med uppdragsgivaren, gärna i form av enkla prototyper. Ni ska alltså försöka få tillstånd en träff med er uppdragsgivare så snart som möjligt (se vidare checklista). Kursledaren är intresserad av att få reda på tiden för denna träff eftersom jag vill ha möjlighet att vara med vid några gruppers inledande träffar.

Ni ska hålla regelbunden kontakt med er uppdragsgivare. Följande träffar är ett minimikrav (annars blir ni inte godkända):

1. Träff för att diskutera förstudien (den preliminära specifikationen) samt diskutera avtal med uppdragsgivaren om användningen av programmet (görs normalt under november/december). En checklista för avtal finns.

2. Träff för etappredovisning samt för att diskutera modifieringar av den preliminära specifikationen (görs normalt under januari/februari).

3. Förhandsvisning inför slutredovisningen: Detta sker några veckor före slutredovisningen enligt bokningslista. Närvarande ska vara kursledaren, några ur de två oppositionsgrupperna, alla gruppdeltagare samt helst också uppdragsgivaren. Om uppdragsgivaren inte kan vara med vid det bokade tillfället ska ni ordna en separat visning för honom/henne.

Gruppen får i samråd med uppdragsgivaren själv välja miljö för programutvecklingen.
På NADA finns kompetens främst när det gäller Mac och UNIX-miljö samt JAVA som med fördel bör kunna användas i flera av projekten även i PC-miljö.
 

Förstudie - preliminär specifikation

Senast vid tidpunkt enligt dödlinjelistan skall varje projektgrupp till kursledaren (postfack plan 4 och 6 eller via attachment i ett email, pdf- eller ps-format) och till uppdragsgivaren lämna en preliminär specifikation främst enligt de principer som angivits vid föreläsning samt via www. En mall för förstudie - preliminära specifikationen finns.
 

Lägesrapport

Någon från gruppen, normalt "projektledaren", ska boka en tid, i början av mars, för samtal med kursledaren. En bokningslista kommer att sättas upp i trapphuset, plan 6, E-huset. En kort skriftlig rapport (c:a 1 A4-sida) skickas till kursledaren 24h före mötet via email. För samtalet reserveras en halvtimme. Projektledaren ger en lägesrapport och det finns möjligheter att diskutera problem som gruppen kan ha, t.ex. när det gäller utrustning, programvara, kontakter med uppdragsgivaren, samarbete i gruppen etc.

Tider för samtalen är onsd 3/3, 9-12, torsd 4/3, 13-16, månd 8/3, 10-13. Bokningslista på plan 6 på bordet i trapphuset. Plats för samtalen är rum 1632, plan 6 (ring på för att komma in på IPLab).

Det finns en kort checklista för lägesrapportsamtal.

Förhandsvisningar

Tider för förhandsvisning (45 minuter per grupp enligt bokningslista, fyra grupper per pass):
Månd 29/3, 14-17
Onsd 31/3, 13-16
Torsd 1/4, 10-13, 14-17
Fred 2/4, 10-13
Vid förhandsvisningen förväntas gruppen prata om sitt projekt och demonstrera det vid dator. Den avsatta tiden ger utrymme för diskussioner mellan gruppen, oppositionsgruppmedlemmar, uppdragsgivare och kursledare.
Bokningslistor för förhandsvisningarna och slutredovisningarna kommer att sättas upp på en av anslagstavlorna på plan 3 (i fönsternischen ut mot Osquars backe) enligt tidpunkt i dödlinjelistan.

I samband med förhandsvisningen och gärna tidigare inlämnas:
* Projektpresentation, användarhandledning, systembeskrivning och utvärdering (dels via www och dels på papper i en form anpassad för papper). Det finns följande krav på slutdokumentationen. Observera att en bristfällig dokumentation kan underkännas varvid gruppen normalt ges möjlighet att komplettera dokumentationen. En  deadline kommer att ges för en sådan komplettering.
* Körbar version tillgänglig så att en annan projektgrupp, uppdragsgivare och kursledare kan utvärdera.
Ett bristfälligt projekt kan underkännas varvid komplettering normalt får göras. En deadline kommer att ges för en sådan komplettering.

Schema för förhandsvisningar och slutredovisningar för de olika grupperna, inkl fördelning av oppositionsuppdrag, kommer via denna länk (efter det att alla grupperna bokat tid).
 

Slutredovisningar

Tider för slutredovisningar, troligen i sal D2, med 20 minuter per grupp enligt bokningsschema, tre grupper per tillfälle:
onsd 28/4, 13-15, 15-17
torsd 29/4, 15-17
fred 30/4, 10-12
månd 3/5, 9-11, 11-13
Vid slutredovisningen förväntas gruppen presentera sitt projekt på ett professionellt sätt där alla gruppmedlemmar ska yttra sig. Det program som tagits fram ska demonstreras "live" med projektorkanon. Riktlinjer för slutredovisningen finns. En bristfällig slutpresentation kan underkännas varvid gruppen får göra om presentationen vid senare tillfälle.
Alla som presenterar ska vara närvarande även vid de två andra presentationerna (dvs hela tvåtimmarspasset).

Opposition

Gruppen ska utvärdera två av de andra projekten på kursen genom att skriva en oppositionsrapport samt ställa frågor direkt efter respektive grupps presentation (ge positiva och negativa synpunkter). De två oppositionerna görs vid två olika presentationstillfällen. Använd checklistan för opposition för detta.
Oppositionen innebär att man åtminstone två personer närvarar vid förhandsvisningen för den grupp man ska opponera på. Man skriver sedan en oppositionsrapport och skickar till Lars Kjelldahl och till gruppen senast en vecka före slutredovisningen.Gruppen har då möjlighet att göra slutjusteringar inför slutredovisningen och ta hänsyn till vad oppositionsgrupperna skrivit.

Notera att det är två oppositioner på varje projekt.
 

Examination, kommitté för utvärdering av projekt

Bedömning av projekten görs av en utvärderingskommitté bestående av fyra personer (Lars Kjelldahl, Alexander Baltatzis, Caroline Nordquist och troligen en person till). Kommittén använder ett antal kriterier vid sin bedömning. Vi bedömer även språk, layout etc. Kommittén utser ett eller flera "bästa projekt" och kommer dessutom kanske att använda ytterligare särskilda pris/omnämnanden.
Kommittén planerar att träffas enligt tidpunkt i dödlinjelistan.
Uppdragsgivarens syn på projektarbetet kommer att inhämtas av kommittén, men beslutet om bedömning av projektet ligger hos kommittén (formellt hos kursledaren).

På kursen ges enbart betyget godkänt eller underkänt. Däremot får alla grupper ett differentierat omdöme från utvärderingskommittén. De bästa grupperna får ett "bästa projekt"-diplom utdelat vid ett särskilt tillfälle.
Godkännandet på kursen inkluderar godkänd förstudie (preliminär specifikation), lägesrapport, godkänd slutdokumentation inkl grupputvärdering, godkänd opposition, godkänd slutpresentation och individuella frågor om teori. Dessa sex moment bokförs i res som laborationer. Den enda delen som godkänns individuellt är den sista delen som utgör frågor om hur teorin påverkat arbetet i projektet där det praktiska arbetet ska jämföras med teorigenomgångarna i början av kursen.
 

Utvärdering, kursanalys

Utvärdering görs på tre sätt, varav de två första är obligatoriska och utgör del av examinationen:
• Grupputvärdering som utgör en del av slutdokumentationen.
• Alla ska svara på en www-enkät som inte är anonym. Denna del är en individuell examination:
Enkäten innehåller frågor om teorin/föreläsningarna samt hur arbetet fungerat.
• Anonym enkät på traditionellt sätt med frågor om kursen.

Även uppdragsgivarna kommer uppmanas att lämna synpunkter.

Erfarenheter från årets kurs kommer att finnas i kursanalysen.
 
 

Välkommen till kursen!

Lars Kjelldahl, kursledare, nås säkrast via email: lassekj@nada.kth.se

Denna sida har webb-adressen http://www.nada.kth.se/kurser/kth/2D1362