Skip to main content
Dat 2. semester
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

01 Systemudvikling I

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 :-)

Læringsmål for systemudvikling I

Mandag

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

Tirsdag: Introduktion

Introduktion til semesteret og til fullstack arkitekturen.

Arbejde med funktionelle og non-funktionelle krav.

Forberedelse

Se under mandag

Dagens program

  • Introduktion til semesteret
  • Pet project speeddating
  • Hvad er fullstack?
  • Systemudvikling – fra idé til produkt
  • Funktionelle og non-funktionelle krav

Ressourcer

Onsdag: Workshop

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!

Forberedelse

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.

Dagens program

  • 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

Ressourcer

Torsdag: Domænemodeller med mere

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.

Forberedelse

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.

Dagens program

  • 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

Ressourcer

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.

Eksempel på domænemodel

Eksempel på klassediagram

Eksempel på use case diagram

Fredagsopgave

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.