Tarkvaratehnoloogiad eksam 28 mai 2020

Allikas: Lambda

Palun kirjuta vastused lihtsa tekstifailina (txt) või Wordi või Libreoffice failina ja saada emailiga õppejõule hiljemalt kella kaheksaks: tanel.tammet@taltech.ee

Palun pane oma emaili pealkirja sisse fraas "Tarkvaratehnoloogia eksam", et ta oleks kirjakastist kergemini leitav.

Ülesandeid on kolm.

Ülesanne 1: veebi funktsioneerimine

Selgita kõiki protsessi samme, mis toimuvad, kui avad brauserist sinu poolt varem külastamate veebilehe ameerikas. Kindlasti too lühidalt välja tehnilised põhitegevused (mitte stiilis "toob, võtab, annab", vaid kuidas seda tehakse):

  • Mida teeb sinu brauser ja arvuti.
  • Kuidas andmed ameerikasse olevasse serverissejõuavad.
  • Kuidas see server tõenäoliselt vastuse koostab.
  • Kuidas andmed sinu brauserisse jõuavad.
  • Mida sinu brauser nende andmetega teeb,


Ülesanne 2: arhitektuur

Stsenaarium:

Sul on tarvis luua ülemaailmne tarkvarasüsteem õues oleva valguse mõõtmiseks, salvestamiseks ja statistikaks.

Ehk, öösel on valgust väga vähe, päikesetõusu paiku hakkab valgust kiiresti juurde tulema ja päeval kõigub valgus vastavalt pilvisusele. Statistika eesmärk on koguda üle aastate keskmist valgusnivood iga kellaaja jaoks sekundi täpsusega, näidata varieeruvust, miinimume/maksimume jne. Konkreetsete statistikatüüpide arv ei ole täpselt määratud, nende suurusjärk on 10.

"Ülemaailmne" töhendab siin seda, et süsteem küsib andmeid umbes 100-lt erinevalt sensorilt üle maailma, Igalt sensorilt päritakse kord sekundis. Päring näeb välja näiteks http://sensor.com/tallinn/ või http://light.lt/riga/ . Igale päringule vastatakse ühe arvuga, mis näitab lukse.

Valgusinfot ja erinevat tüüpi statistikat tahab vaadata ca miljon inimesi brauserist, tehes seda keskmiselt igaüks kord päevas.

Mida sul on vaja teha:

  • Kirjelda, mis tarkvarakomponentidest ja mis keelte abil sa selle ülesande lahendaksid.
  • Selgita, mis rolli täidaks eri tarkvarakomponendid, kus ja kuidas hoitakse andmeid, kus ja kuidas tehakse statistikat jms.
  • Hinda, kui palju kettaruumi umbes võtaks kümne aasta andmete jooksev säilitamine (suurusjärk peaks olema õige).
  • Hinda, kas kümne aasta andmed saaks mahutada nö tava-läptopi põhimällu (mitte siis ketas)?
  • Hinda süsteemi tegemise ajakulu inimpäevades ja jaga see eraldi suuremateks etappideks/töölõikudeks.


Ülesanne 3: kasutajaliides, html/javascript ja andmebaasid

Stsenaarium:

On vaja teha veebileht, kus on väli, mis tuleb täita. Väljale tuleb valida konkreetne inimene ettevõtte töötajate seast. Ettevõttes on 10.000 töötajat. Seega ei ole realistlik esitada lehel valikuboks kõigi nende nimedega. Kuidas seda lahendada?

Küsimusel on kaks konkreetset osa:

  • Selgita põhimõtet, mida sa soovitaksid rakendada selle välja täitmise hõlbustamiseks vajalike andmete saamiseks, kontrolliks ja kasutajale esitamiseks, ning mida lõpuks serverile saadeta
  • Selgita, kuidas seda valitud põhimõtet tehniliselt teostada. Kas peaks kasutama javascripti (ja kui, siis milleks), või seda ei ole vaja, ja mida peaks seejuures tegema server. Konkreetset näitelahendust programmijupi näol ei ole vaja ehitada.