Jeg har valgt emnerne Backend-udvikling og Databaser og datalagring, fordi jeg gerne vil opnå en bedre forståelse af, hvordan en backend arbejder med databasen for at levere informationer hurtigt og effektivt.
De to emner hænger i mine øjne tæt sammen. I en objektorienteret backend arbejder man med objekter og relationer mellem dem, mens data eksempelvis kan gemmes i en relationel database. Det gør det relevant at forstå hvordan data modelleres i databasen, og hvordan objektmodellen i backend omsættes til og fra den relationelle datamodel.
Som led i 4. semester og det tilhørende semesterprojekt har jeg formuleret overordnede læringsmål for hvert af de to emner. Læringsmålene fungerer som pejlemærker for mit arbejde og som grundlag for den løbende dokumentation og refleksion over min læring gennem projektforløbet.
Backend-udvikling
Mål:
Jeg vil kunne designe og implementere en struktureret backend i ASP.NET Core, så jeg kan træffe og begrunde valg omkring API-design, arkitektur, forretningslogik og ansvarsfordeling mellem backendens forskellige komponenter.
Jeg vil herunder kunne vurdere, hvordan backendens struktur understøtter projektets use cases, og hvordan ansvar fordeles mellem eksempelvis API, applikationslogik og dataadgang.
Bevis:
I porteføljen dokumenterer jeg backendens struktur og udvalgte dele af implementeringen, fx API-endpoints, validering, fejlhåndtering, forretningslogik, dataadgang og tests. Jeg dokumenterer desuden centrale arkitektur- og designvalg og reflekterer over de ændringer, jeg foretager undervejs.
Første skridt:
Jeg implementerer en sammenhængende feature gennem backendens relevante dele og bruger erfaringerne herfra til at evaluere og eventuelt justere den valgte backendstruktur.
Databaser og datalagring
Mål:
Jeg vil kunne analysere projektets behov for datalagring og på den baggrund vælge og begrunde en egnet databaseløsning. Herefter vil jeg kunne designe og implementere løsningen og integrere den med backend gennem EF Core.
Jeg vil kunne træffe og begrunde valg omkring datamodellering, relationer, dataintegritet, dataadgang samt hvilke data der bør lagres eller beregnes.
Jeg vil desuden kunne vurdere ansvarsfordelingen mellem backend og database i forbindelse med håndtering og forespørgsel af data.
Som delmål vil jeg kunne undersøge og vurdere, hvordan projektets geografiske data bedst håndteres, herunder hvilke databasefunktioner eller teknologier der egner sig til lagring og forespørgsel af lokationsdata.
Bevis:
I porteføljen dokumenterer jeg mit valg af databaseløsning og begrunder det ud fra projektets behov.
Jeg dokumenterer datamodellen, EF Core-integrationen, migrations, relevante constraints og udvalgte databaseforespørgsler samt mine vigtigste designvalg.
Jeg reflekterer over konkrete modelleringsbeslutninger, lagring af data og grænsen mellem database- og backendansvar.
Første skridt:
Jeg analyserer projektets databehov og sammenligner relevante databaseløsninger. På den baggrund vælger og begrunder jeg en løsning og videreudvikler herefter datamodellen ud fra projektets use cases.
