Synopsis i Programmering
OBS !! : Der er ikke én fast facitliste, men baseret på struktur, som angivet i Programmering B-vejledning:
Synopsen skal:
Give et overblik over projektets problemstilling og løsning
Dokumentere programmets struktur, funktionalitet og faglige overvejelser
Understøtte den mundtlige fremlæggelse
Vise, at eleven kan reflektere over, hvad de har lavet og lært
Det er vigtigt, at synopsen ikke kun er kode, men at den forklarer tankerne bag programmet og viser, hvordan du arbejder med fagets mål — fx krav, design, test og refleksion.
Omfang: 5-8 normalsider (kun tekst og pseudokode tæller med) resten, kode, billeder, data-tabeller og andre illustrationer tæller ikke med)
Indhold / Struktur
Forside
Titel på projektet
Elevnavn(e), Hold, fag og niveau
Dato
Antal normalsider
Evt. et relevant billede af dit produkt.
Abstract / Kort resume
Kort beskrivelse (2-5 linjer) af, hvad projektet går ud på — hvad programmet er, og hvad det gør.
(Abstrakt placeres på sin egen side, før indholsfortegnelse)
Det vigtigste i hele synopsen.
Hvad er formålet med projektet?
Hvilke spørgsmål eller problemer vil du løse med programmet?
Problemformuleringen skal være konkret og afgrænset, så det er klart, hvad du vil arbejde med.
Problemformuleringen vil i høj grad ligne det du har i projektbeskrivelsen. Dine krav kan du med fordel udbygge og lave en dedikeret sektion/afsnit til disse, se kravspecifikation.
Kravspecifikation (ikke angivet i vejledning)
Kravspecifikationen beskriver, hvad programmet skal kunne for at løse problemformuleringen.
Kravene er formuleret i naturligt sprog og uden tekniske detaljer, så de kan forstås uden kendskab til koden.
Kravspecifikationen omsætter problemformuleringen til konkrete testbare krav
Her kan du spørge: Hvad skal programmet konkret kunne, hvis problemformuleringen skal besvares?
Kravene er opdelt i forskellige typer for at skabe overblik og tydelighed.
Kravtyper
Funktionelle krav beskriver, hvad programmet gør.
Brugerkrav beskriver, hvordan brugeren interagerer med programmet.
Output/feedback‑krav beskriver, hvilken feedback eller output programmet giver.
Afgrænsningskrav beskriver, hvad programmet bevidst ikke indeholder.
Der skelnes desuden mellem krav, som programmet skal opfylde, og krav som er valgfrie. Bemærk her sprogbrug ift. 'skal', 'burde', 'kan'
Prioritering (MoSCoW)
Metoden opdeler krav i fire kategorier, efter MoSCoW metoden:
Oversigt over krav
| Id. | Kravtype | Prioritet | Krav |
| K1 | Funktionelt | M | Programmet skal kunne modtage input fra brugeren |
| K2 | Funktionelt | M | Programmet skal reagere på brugerens handlinger |
| K3 | Output/feedback | M | Programmet skal give feedback i form af point |
| K4 | Brugerkrav | M | Programmet skal kunne betjenes med mus |
| K5 | Output/feedback | C | Programmet kan vise en highscore |
| K6 | Afgrænsning | W | Programmet skal ikke gemme data permanent |
Funktionsbeskrivelse
Funktionsbeskrivelsen forklarer, hvad programmet gør set udefra.
Den beskriver programmets funktionalitet, ikke dets kode eller tekniske opbygning.
Man kan tænke den som en ”brugsforklaring” eller en systembeskrivelse i naturligt sprog.
Programmets grundlæggende formål
Bruger roller (bruger, moderator, admin, andre?)
Use cases - formuler use‑cases på baggrund af kravspecifikationen for at få overblik over brugerens handlinger.
Skærmlayout ved wireframes. (brug evt. draw.io Mockup-forms)
Du kan med fordel starte din funktionsbeskrivelse ved at lave use case diagrammer over de interaktions muligheder brugeren har ift. jeres system. I kan lave arbejdesnoter som:
UC1: Bruger opretter udfylder bestilling, op klikker ok.
UC2: Bruger sletter bestillling.
UC3: Bruger Login
UC4: Bruger Logoff
etc..
Teknisk dokumentation
I den tekniske dokumentation forklarer du, hvordan programmet er bygget. Du kan med fordel anvende et udvalg af nedestående metoder og diagram-former.
Objekt Orienteret Analyse (OOA)
UML-klassediagrammer
Programstruktur (moduler, klasser, funktioner)
Flowcharts, pseudokode
Udvalgt relevant programkode med forklaring
Angiv de metoder og teknikker du bruger
ER-diagrammer for database struktur
OBS!
Husk dine diagrammer/illustrationer må ikke stå alene, og forklares fyldestgørende med tekst.
Husk at forklare dine valg — fx hvorfor du valgte netop denne struktur eller algoritme.
Her kan det være en god ide at starte med en Objekt Orienteret Analyse (OOA) for at identificere de klasser, metoder og variable jeres system kan bestå af.
Test og validering
Beskriv hvordan du har testet dit program:
Dette viser, at du kan arbejde systematisk med kvalitetssikring.
Konklusion
Kort opsummering af, hvad du har opnået i projektet i forhold til problemformuleringen.
I hvilket omfang bekræfter dine tests din kravspecifikation.
Bilag
Her kan du fx lægge:
Projektbeskrivelse (oprindelig) - incl. tidsplan
Hele koden (Hvis du har mere end 30 siders kode, så angiv et link til git repository istedet)
Yderligere diagrammer
Evt. ekstra tests
Evt. revideret tidsplan
Andet