Software expertreivew
Analyseren
Als team hebben wij actief gesproken met onze opdrachtgever, we hebben interviews gehad met verschillende medewerkers zo hebben geprobeerd hun problemen in kaart te brengen en mogelijke oplossingen voorgesteld. Er is bijvoorbeeld veel over security besproken en hoe wij dit al bij het begin gaan toepassen.
Adviseren
Er is gekozen voor een N-tier model, wij willen hierbij 3 servers hebben dus een frontend/proxy, backend/python-flask, database/mssql. Zo is elke server uitebereiden in het toekomst en als bijvoorbeel 1 server gehackt zou worden zou niet elke server direct compromised zijn. Hierbij hebben we wel verteld aan de opdrachtgever dat dit soort model wat meer geld zal kosten dan alles in 1 server zetten.
Ontwerpen
ERD, voor de database van onze website heb ik er gekozen om een ERD te maken zodat er een overzicht is van wat er in de database moet. Dit wordt dan gebruikt in bijvoorbeeld het coderen zo weet je wat er in de database moet.
Feedback: Er is dubbele data zoals ISBN, Status. Er is geen 2de table voor adres. Niet alles staat in de Boek table zo is er geen omschrijving.
Hierbij is er weer gekeken naar onze n-tier model waarbij wij gebruik maken van 3 servers, van de school hebben we de eis gekregen om gebruik te maken van een virtualisatie software in ons geval is dit Docker.
Realiseren
Er is een bibiotheek website gebouwt, er is gekeken naar de wensen van de opdrachtgever en dat mogelijk is voor ons. Zo is er bijvoorbeeld gekozen voor Python en niet een andere taal omdat dit een goeie basis taal is voor nieuwe programmers. Er is ook bijvoorbeeld gekozen voor Flask omdat ik en mijn team genoten hier eerder mee hadden gewerkt.
Ook is er gekeken naar het gebruik van Docker maar er is nu nog wat problemen met het uitvoeren van de webapplicatie in docker, zo weet ik niet hoe ik het best de database met data etc in een docker container kan krijgen zonder initdb (MYSQL support dit wel maar MSSQL niet)
Manage & control
Er wordt momenteel gebruik gemaakt van een dev/developement branch, in de branch wordt er goed getest of de applicatie wel goed werkt en of het alle eisen van de issue bevat (test-eisen).
Er wordt nu gekeken of het mogelijk is om een CI/CD deployment te hebben, maar ik moet hier wat meer informatie vragen bij iemand die de HVA instances beheerd. Als het goed is heeft de HVA zelf wat runners.
Software expertreivew 2
Analyseren
Als team hebben wij actief gesproken met onze opdrachtgever, we hebben interviews gehad met verschillende medewerkers zo hebben geprobeerd hun problemen in kaart te brengen en mogelijke oplossingen voorgesteld. Er is bijvoorbeeld veel over security besproken en hoe wij dit al bij het begin gaan toepassen.
Adviseren
Er is gekozen voor een N-tier model, wij willen hierbij 3 servers hebben dus een frontend/proxy, backend/python-flask, database/mssql. Zo is elke server uitebereiden in het toekomst en als bijvoorbeeld 1 server gehackt zou worden zou niet elke server direct compromised zijn. Hierbij hebben we wel verteld aan de opdrachtgever dat dit soort model wat meer geld zal kosten dan alles in 1 server zetten.
Ontwerpen
ERD, voor de database van onze website heb ik er gekozen om een ERD te maken zodat er een overzicht is van wat er in de database moet. Dit wordt dan gebruikt in bijvoorbeeld het coderen zo weet je wat er in de database moet.
Realiseren
Er is een bibiotheek website gebouwt, er is gekeken naar de wensen van de opdrachtgever en dat mogelijk is voor ons. Zo is er bijvoorbeeld gekozen voor Python en niet een andere taal omdat dit een goeie basis taal is voor nieuwe programmers. Er is ook bijvoorbeeld gekozen voor Flask omdat ik en mijn team genoten hier eerder mee hadden gewerkt.
Ook is er gekeken naar het gebruik van Docker maar er is nu nog wat problemen met het uitvoeren van de webapplicatie in docker, zo weet ik niet hoe ik het best de database met data etc in een docker container kan krijgen zonder initdb (MYSQL support dit wel maar MSSQL niet)
Manage & control
Er is meer gekeken naar de manage en control functies in Gitlab, hierbij is er gebruik gemaakt van de CI/CD functie.
Er wordt gekeken of de Flask app runt en als het geen error geeft dan is de test gegekeurd. Dit is gedaan zodat er bijv. bij een merge request de flask app eerst moet werken voordat de merge wordt geaccepteerd. Wij werken hierbij met een dev branch en een main branch.
Tijdens een merge request is er wel iets fout gegaan, zo was er een force merge wat er voor zorgde dat er een paar merges verwijderd waren die direct naar de main branch waren gepushed. Zie https://gitlab.fdmci.hva.nl/propedeuse-hbo-ict/onderwijs/student-projecten/2024-2025/out-c-bim-cs/blok-3/peecuuhaajoo67/-/issues/66
Feedback: Omdat de code is gecopieerd van de learning journey CI/CD voorbeeld, is er veel extra informatie wat niet echt wordt gebruikt voor mijn test. Zo is er een call naar een public directory and wordt er gekeken naar subrepos wat ik niet heb. Dit heb ik allemaal verwijderd.