| Opis: | V tem diplomskem delu smo razvili dve različni spletni celostni aplikaciji z uporabo dveh različnih pristopov ter primerjali kakovost teh aplikacij.
Naš cilj pri razvoju prvega projekta je bil razviti celostno aplikacijo brez tehničnega dolga, pri čemer smo si vzeli toliko časa, kot je bilo potrebno. Pri drugem projektu smo ubrali drugačen pristop za razvoj aplikacije.
Cilj drugega projekta je bil razviti celostno spletno rešitev v najkrajšem možnem času, da pridemo do izdelka, ki je dovolj dober za uporabo na trgu. Da bi to dosegli, smo bili pripravljeni prevzeti tehnični dolg, kar je pomenilo, da bi morali ta dolg pozneje odplačati. Ubrali smo nekaj bližnjic; nismo pisali testov in ignorirali nekritičnih in manjših napak.
Prva spletna aplikacija je uporabnikom omogočala registracijo in prijavo v aplikacijo z e-poštnim naslovom in geslom. Prijavljeni uporabnik je nato lahko napisal le en motivacijski citat, tega urejal ali izbrisal, pregledoval citate drugih uporabnikov ter tudi vsak citat pozitivno ali negativno ocenil. Citate smo na strani prikazovali na dva različna načina. V prvem načinu smo citate razporedili po številu glasov, od citata z največjim številom glasov do citata z najmanjšim številom glasov. V drugem načinu smo citate razporedili po datumu objave, od najnovejšega do najstarejšega. Uporabnik je lahko na svojem profilu pregledoval citate, ki jih je pozitivno ocenil.
Druga spletna aplikacija je prav tako omogočala uporabnikom, da se registrirajo ter prijavijo z e-poštnim naslovom in geslom, tako kot prva. Toda za razliko od prve smo drugo spletno aplikacijo razvili kot geografsko igro, ki je prijavljenim uporabnikom omogočala, da naložijo sliko znane ali tudi manj znane lokacije in označijo na Googlovem zemljevidu, kje je bila ta slika posneta. Drugi uporabniki so nato izbrali sliko lokacije s seznama ter s postavitvijo žebljička na Googlov zemljevid ugotavljali dejansko lokacijo posnete slike. Spletna aplikacija je kot rezultat vrnila informacijo o tem, kako natančen je bil odgovor. Vsaka lokacija je imela tudi lestvico najnatančnejših uporabnikov in njihovih ugibanj.
Obe rešitvi sta bili razviti v jeziku Typesctipt; strežniški del smo razvili z uporabo NestJS ogrodja, odjemalčev del pa z React knjižnico. Za analizo kakovosti programske opreme smo uporabili okolje za preverjanje kakovosti kode SonarQube.
Ko smo imeli obe rešitvi pripravljeni in delujoči, smo oba pristopa lahko analizirali, ju primerjali in ugotovili, kateri pristop je najučinkovitejši.
Če se izvaja pravilno, drugi pristop daje rezultate hitreje kot prvi. Končna izdelka sta po kakovosti dokaj podobna in večina uporabnikov ne bi opazila razlike med njima, medtem ko bi izkušeni razvijalci spletnih aplikacij opazili različna pristopa. V tem delu smo ugotovili, da je v primeru, če imamo tesen časovni okvir za dostavo rešitve, drugi pristop učinkovitejši. Čas, ki ga prihranimo z nekaterimi bližnjicami, je dragocen; tehnični dolg, ki ga s tem ustvarimo, je vsaj v primeru naše aplikacije skoraj zanemarljiv. Pomembno je, da zabeležimo vsako bližnjico, vsak dolg, ki ga ustvarimo.
Znano nam je, da je tehnični dolg treba tudi odplačati; najbolje je, če ga začnemo odplačevati čim prej, na primer takoj, ko mine rok izdelave aplikacije in jo objavimo. V nasprotnem primeru se ta kopiči in kmalu bi dolg postal dražji, kot če bi znova začeli izdelovati aplikacijo. |
|---|