01 Systemudvikling I
I denne uge skal vi starte der hvor de fleste programmer starter, nemlig med at finde ud af hvad vi overhovedet skal lave og hvem vi skal lave det til. Vi skal træne systematisk udvikling af programmer, så vi kommer ikke til at kode endnu. Men bare rolig, det skal nok komme :-)
I dag skal du forberede dig til tirsdag ved at gøre følgende
- Orientér dig på Moodle. Kig især på semesterplanen og se hvilke emner vi skal igennem. Kig også på ugeplanen for at få en idé om hvordan ugerne forløber. Find ud af hvordan du opnår tilstrækkeligt med study points til at blive indstillet til eksamen.
- Find ud af hvad fullstack systemer er
- Find ud af hvad funktionelle og non-funktionelle krav er
- Læs om Pet Project
- Støv dit SP4-projekt fra 1. semester af og find ud af om det skal være dit Pet Project. Hvis ikke, så find på et nyt projekt. Tænk over
- vil jeg videreudvikle eller lave nyt?
- vil jeg være i samme gruppe eller sammen med nogle andre?
- Lav en kort idébeskrivelse af dit Pet Project
Skriv eventuelt 2-3 spørgsmål ned, hvis du bliver i tvivl om noget
Introduktion til semesteret og til fullstack arkitekturen.
Arbejde med funktionelle og non-funktionelle krav.
Se under mandag
- Introduktion til semesteret
- Pet project speeddating
- Hvad er fullstack?
- Systemudvikling – fra idé til produkt
- Funktionelle og non-funktionelle krav
Vi skal lave user stories og acceptkriterier til jeres Pet Projects. Det er derfor vigtigt, at I kender målgruppen og deres behov.
Husk at tjekke ind på moodle for at få study points!
I skal have jeres funktionelle og non-funktionelle krav til Pet Project formuleret og nedskrevet. Lav et git repo på Github eller Codeberg med jeres projekt. Lav en mappe til dokumenter. Læg jeres krav i mappen.
- Hvad er user stories og hvorfor er de vigtige?
- Hvilken rolle har accept kriterier?
- Hvad er scope creep?
- Hvem laver vi user stories sammen med?
- Hvem godkender user stories?
- Hvad er en god user story? Hvad er en dårlig? Fælles øvelse.
- Lav 2-3 user stories til jeres Pet Project
- Byt med en anden gruppe og giv feedback. Tænk over dette:
- Kan vi forstå hvem brugeren er?
- Kan vi forstå hvad brugeren vil?
- Kan vi forstå hvorfor?
- Er storyen afgrænset?
- Kan acceptkriterierne fortælle os, hvornår den er færdig?
- Fortsæt med user stories til jeres Pet Project
- User stories og acceptkriterier
- Gode og dårlige user stories
- Gode og dårlige user stories - cheatsheet
Vi skal have styr på en del begreber, som I har hørt i forbindelse med objektorienteret analyse og design. Nogle hører til det objektorienterede paradigme og andre er generelle for systemudvikling.
Læs op på hvad domænemodeller er. Beskriv kort for jer selv hvad forskellen på en domænemodel og et klassediagram er.
Hvilke analyse- og designbegreber anvendte I på 1. semester? Skriv begreberne ned med en kort forklaring.
- Analyse og design; hvilke begreber kender vi? Hvad bruges de til? Hvornår bruges de og af hvem?
- Domænemodel. Hvad er det og hvad bruger vi den til? Hvem er målgruppen?
- Klassediagram. Hvad er det og hvad er sammenhængen med domænemodellen?
- Find (mindst) fem fejl i en domænemodel
- Interview hinanden og tegn domænemodel
- Lav en domænemodel for jeres Pet Project
Find (mindst) fem fejl i en domænemodel
Eksempel på PlantUML fil som ikke viser boksene som klasser (med C øverst) men bare som kasser.
I dag skal I sørge for at blive færdige med følgende for jeres Pet Project
- Kort idébeskrivelse
- Beskrivelse af målgruppen og dens behov
- Funktionelle og non-funktionelle krav
- User stories inkl. acceptkriterier
- Domænemodel
Kig på kravene for Pet Project og se om jeres projekt opfylder dem alle.
Læg jeres projekt i et offentligt git repo på fx Github eller Codeberg. Læg et link til jeres repo på moodle.
Aftal hvem i gruppen der præsenterer for underviser på mandag.