Ohjelmistokehityksen sovellusprojekti

Oikopolut eri viikoille

Ohjaajien kommentteja ja vinkkejä

Projektista

Avainsanoja: UML/määrittelyt, Qt, API, MySQL, UI/UX

Oppimistavoitteet

Arviointi

Arviointi perustuu:

Lisätehtäviä parempaan arvosanaan:

Extratehtäviä (erityisesti monimuoto-opiskelijat, joilla on jo Linux-kurssi käytynä). Nämä eivät korota arvosanaa:

Qt/Express-materiaalit (Pekka Alaluukas)

Ohjelmistokehityksen perusteet ja UML-mallinnus videot Yujassa (Teemu Leppänen)

Extraa: IaC, reverse proxy, ohjelmistiolisensseistä (Teemu Korpela)

Kaaviot dokumentointiin

Esimerkiksi näillä työkaluilla:

Katso näistä Teams-kanavan dokumenteista mallia teknisen määrittelydokumentin kaavioihin:

Softalisensseistä

Noin 15 min viikkopalavereiden yleinen agenda

Viikkopalaverit pidetään ryhmän alikanavalla MS Teamssilla, niin ei tarvitse tehdä erillisiä kutsuja vaan voi liittyä suoraan siellä.

Viikko 1

Täysin extraa, ei vaikuta arviointiin: Huom! tvt24spl ja tvt24spo: ei tarvitse Kanbania

Viikko 2

Viikko 3

Viikko 4

Viikko 5

Viikko 6

Viikko 7

Viikko 8

Kirjat ja kurssit taustatiedoksi ja malliksi

Tee tunnus O'Reillyn verkkokirjastoon students.oamk.fi:n sähköpostilla: https://libguides.oulu.fi/oreilly ja valitse institution not listed. Tuo on kaupallinen palvelu, mihin Oamkin kirjasto on ostanut pääsyn. Kannattaa käydä selailemassa tuota online-kirjastoa muutenkin.

Aika tunnettuja ja arvostettuja ohjelmistotekniikan kirjoja. Enemmistö näistä kirjoista suoraan tästä tweetistä:

Qt-aiheiset (ei tiedoa laadusta):

Node.js (ei tieto laadusta):

Linux-aiheiset (ei tieto laadusta):

UML (ei tietoa laadusta):

API (ei tietoa laadusta):

MySQL (ei tietoa laadusta):


Projektityön kuvaus

Työn aihe on pankkiautomaatti

Ohjelmiston rakenne on seuraava

Projektikuva

Työ sisältää

Huom! Edellä mainitut kuuluvat kurssin sisältöön ja arviointi perustuu niiden osaamiseen, joten millään muilla tekniikoilla noita ei saa korvata.

Sovelluksen toiminta

ARVIOINTI

Arviointi perustuu tähän dokumenttiin. Mikäli ristiriitaista tietoa esiintyy, niin tämä dokumentti on se, jota noudatetaan.

Huom! Monimuotoryhmissä ei käytetä kortinlukijaa, vaan aloitusikkunasta avataan Tunnuksen syöttökäyttöliittymä painiketta painamalla, jossa annetaan PIN-koodin lisäksi kortin-id.

Vähimmäisvaatimukset sovellukselle (arvosana 1)

Vähimmäisvaatimukset (arvosana 2)

Hyvän arvosanan vaatimukset (arvosana 3)

Hyvän arvosanan vaatimukset (arvosana 4)

Kiitettävän arvosanan vaatimukset (arvosana 5)

Arvosanaa alentavia seikkoja

Vaatimukset tietokannalle

Ilman credit-kortti ominaisuutta

Kun toteutetaan credit-kortti ominaisuus

Kun toteutetaan kaksoiskortti

Lisäominaisuuksia tietokannalle

Opiskelijan arviointi

Arvioinnin kohteet

Lisäominaisuusideoita

Kuvan lataus ja näyttäminen

Idean esittelyvideo: https://www.youtube.com/watch?v=DlKRlZTNYl8

Toimintaperiaate:

REST APIssa voi käyttää Multer-moduulia.

Swagger dokumentointi

Tämä on kokonaisen arvosanan arvoinen.

Idean esittelyvideo: https://www.youtube.com/watch?v=M6Fj5Y2K24w
https://www.npmjs.com/package/swagger-ui-express

Logitus

WebSocket

Toteutetaan WebSocketeilla jokin toiminto sovellukseen.

Idean esittely: https://youtu.be/QGnv7s0JIIo

Docker

Sovelluksen ajaminen Dockerissa. (vaikutus arvosanaan 1)

Testien lisääminen backendiin

Esimerkiksi jest ja supertest (vaikutus arvosanaan 1)

Esittelyvideo: https://youtu.be/HEZufcp2umI