Tarkvaratehnoloogia praktikumide etapid
Siintoodud etappide sisu töö reaalse töö käigus veidi muutub, kuid on üldjoontes järgmine:
1. päev: ülesande valik, soovitud tulemuse kirjeldus, keskkonna ülesseadmine, katse-html lehe tegemine
Päeva eesmärk on (a) valida andmestik ja otsustada, mida meie rakendus sellega teeks, (b) töövahendite installeerimine ja katsetamine.
- Otsi andmestik, uuri, kas see on sulle kättesaadav/töödeldav.
- Otsusta, kuidas seda avalikkusele ilusamini kuvada ja millised filtrid/valikud lasta kasutajatel teha.
- Installeeri endale sobiv tekstiredaktor, soovitavalt ka Python ja Flask.
- Logi katseks dijkstra serverisse ja püüa sinna mõni fail veebiserveri alla kopeerida.
- Tee konto (soovitavalt) digitaloceani serverisse ja githubi koodihoidlasse, lae sinna faile.
- Alusta oma rakenduse veebilehe tegemist esmaste pisikatsetustega.
Kui Pythonit ja Flaski ei õnnestu enda arvutisse installeerida, saab nendega töötada ka üle võrgu otse dijkstra või digitaloceani serveris.
Päeva lõpuks teeb iga grupp paariminutise ettekande, kus on öeldud (a) grupiliikmete nimed, (b) mis andmekogu ja ülesanne valiti, (b) mis töövahendid käima saadi ja kuhu õnnestus sisse logida/andmeid kopeerida, (c) kuhu aeg peamiselt kulus ja mis olid ootamatused. (d) mis on plaan järgmiseks korraks.
2. päev: andmete töötlemine ja baasi panek, esmase html lehe tegemine serveris
Päeva eesmärk on (a) katsetada tehnoloogiaid: python ja flask, sqlite (b) teha oma andmebaas ja laadida andmed oma andmebaasi (c) teha katseid päringutega andmebaasist (d) ideaalis realiseerida juba mingi mõttekas osa süsteemist. Päeva lõpuks teeb iga grupp ühe-kahe minutise ettekande, kus on öeldud (a) grupiliikmete nimed, (b) mis käima saadi (c) kuhu aeg peamiselt kulus ja mis olid ootamatused. (d) mis on plaan järgmiseks korraks.
See, mis sa päeva lõpuks (ja kuidas) realiseerid, sõltub sellest, mis tehnoloogiad sa käima saad (kas saad flaski ja pythoni ja sqlite käima, kas oled juba saanud sisse logida ja tegutseda jne). Kui sa mingite tehnoloogiatega hätta jääd, vali alternatiivne lahendus, millega asjad välja tulevad.
Kui andmete saamine andmebaasi osutub keeruliseks (sest näiteks sa ei saanud Pythonit ja Flaski ja sqlite oma arvutisse, serverisse ei õnnestu või on keeruline sisse logida vms) siis on OK teha alternatiivselt lihtsamaid ülesandeid ilma andmebaasita:
- Andmete sqlite sisestamise asemel võid panna andmed otse veebilehele või csv faili, nii et neid serveris eraldi ei töödeldagi ja kuvamist ja valikuid teeb javascript otse veebilehel. Loe ja kasuta õpetust ja näitekoodi
- Html lehe digitalocean serverisse panemise asemel kas paned nad tehnikaülikooli dijkstra serverisse või jätkad html lehe arendamist oma arvutis failidena, mida brauser siis kuvab.
3. päev: veebilehe kasutajaliidese tegemine ja seostamine andmebaasiga
Siit alates on kolm tegevussuunda kursuse lõpuni:
- Kasutajaliidese parandamine.
- Brauserist Flaskiga pythoni programmilt andmete küsimine
- Oma ülesande põhjal veidi suurema funktsionaalsuse väljamõtlemine, arhitektuuri plaani tegemine ja töömahtude hindamine: nö tellimuse ja lahenduse kondikava ja töömahtude hinnangu toorik.
4. päev: kujunduse parandamine, testimine, arenduse jätk
5. päev: edasiarenduse planeerimine, vigade ja puuduste parandamine, ettekanne
Päeva põhieesmärk on edasiarenduse planeerimine: mida saaks/tasuks süsteemi juurde teha, kes ja kui palju neid täiendusi kasutaks, mis oleks tehnoloogiline/arhitektuuriline plaan edasiarenduse jaoks, mis on ajalise ja rahalised hinnangud, milline oleks projektiplaani kondikava. Edasiarenduse kontekstiks oleks selle tellimine, mitte teiepoolne tegelik ehitamine.
Ülejäänud aeg kasuta oma rakenduse täiustamisele: tee need asjad korda, mis jäid puudulikuks.
Kursuse lõpus teevad kõik grupid veidi pikema presentatsiooni, ca 15 minutit:
- kui kaugele te oma rakendusega jõudsite, sh reaalne demo,
- mis oli algses plaanis, aga mis tingimata päris lõpp-rakendusse veel ei jõudnud,
- ettekanne oma edasiarenduse plaanist ja selle lühike arutelu.