You are on page 1of 22

Dnevnik stručne prakse

Dino Sijarić RT-133/17


Stručnu praksu obavljao sam u firmi GTP-inženjering.Osnovna
delatnost ove firme je građevinarstvo tj. spoljašnji i unutrašnji
radovi.
U razgovoru sa prijateljem koji radi u ovoj firmi rekao mi je da bi
im trebao neko ko bi mogao da im izvrši proveru računara,da li
im je potrebna reinstalacija operativnog sistema i sve što uz to
ide.
Kako sam potvrdio da sam u stanju da to što im treba uradim
on je pitao direktora firme koji me je pozvao na razgovor.
U razgovoru smo došli do dogovora da ja uradim sve što mogu a
ujedno da ja na taj način odradim stručnu praksu.
Objasnio mi je sa kojim problemima su se on i njegovi
uposlenici u administraciji susretali u radu sa računarima i
ostalo je da od sutra tj. od 26.07.2020. krenem sa radom.

1. dana kada sam stigao u firmu bila je gužva i stigao sam samo
da ustanovim šta nije u redu sa računarima.Računari su
uglavnom radili usporeno,dok jedan računar nije hteo da
podigne sistem.Ovog dana sam se uglavnom bavio neispravnim
računarom i na kraju došao do zaključka da je hard disk
neispravan.To sam utvrdio tako što sistem u BIOS-u nije
prepoznavao hard disk.Probao sam i da promenim SATA
kabl,kao i kabl za napajanje,pokušao sam i sa drugim SATA
portovima na matičnoj,to nije dalo rezultata.Kako se u
međuvremenu oslobodio jedan računar,koji nije bio potreban u
tom trenutku,skinuo sam njegov hard disk i prebacio ga na
neispravan računar koji ga je u BIOS-u odmah prepoznao,tada
sam shvatio da je hard disk tog računara neispravan.
Samnom je bio jedan od zaposlenih kome sam rekao u čemu je
problem,da je potreban novi hard disk za računar.I rekao mu da
to prenese direktoru i dao preporuku da se kupi SSD hard
disk.Do kraja radnog vremena sam kroz razgovor sa
upošljenima stekao celu sliku kako firma radi i funkcioniše.

2. dana dobio sam novi hard disk za računar i dobio zadatak da


instaliram sistem i sve programe koji su firmi potrebni.
Pre instaliranja sam očistio računar od prašine koliko je to bilo
moguće,ugradio hard disk i krenuo sa instalacijom Windowsa i
svih programa koji su potrebni.
Kada sam završio u potpunosti sa ovim računarom jedan od
upošljenih je prešao za taj računar kako bih mogao da se
pozabavim sa njegovim računarom.
Taj računar se je normalno palio i radio ali je radio usporeno.
Jedan od mogućih uzroka je bio taj što se previše programa
palilo na start-up-u.Izvršio sam defragmentaciju hard
diska,proverio temperaturu procesora i ostalih bitnih delova
računara.I ovaj računar sam takođe očistio od prašine,skenirao
ga na viruse i očistio ga od par virusa.U startup-u sam ostavio
samo one programe koji su bili potrebni.Nakon svega toga
računar je radio brže koliko je to bilo moguće jer konfiguracija
računara zbog svoje namene nije prejaka.

3. dana sam se pozabavio poslednjim računarom koji se je


slično ponašao kao i prethodni računar tako da sam i na njemu
očistio sistem od virusa,defragmentovao hard disk,očistio
računar od prašine.Računar je nakon toga radio brže.
U međuvremenu je direktor došao da vidi kako napredujem i
požalio mi se na problem koji ima sa njegovim lap topom.A to je
da mu se lap top odjednom ukoči,ugasi ili izbaci plavi ekran.
Uzeo sam lap top da vidim šta se sa njim dešava.Brzo nakon
podizanja sistema pojavio se plavi ekran.Nakon traženja na
internetu šta je uzrok pojavljivanja plavog ekrana na osnovu
greške koju je prikazivao pomislio sam da je moguće da se
laptop pregreva,što sam i testirao sa programom za praćenje
temperature.U to sam se i brzo i uverio jer su temperature
odmah po paljenju lap topa skočile na preko 90 stepeni i on se
odmah ugasi ili ukoči.
Nakon toga otvorio sam lap top da mu proverim termalnu pastu
na procesoru.Ona je bila suva pa verovatno nije prenosila
temperaturu kako treba.Zamenio sam termalnu pastu,očistio
kuler od prašine i zatvorio lap top.Upalio sam lap top i proverio
temperature koje su sada bile znatno niže.Lap top se nakon
toga više nije gasio.Vratio sam lap top direktoru i pitao ga da li
postoji još nešto što bih mogao za njih da uradim pošto sam sve
računare koji su imali neke probleme rešio.
On me je pitao da li sam u stanju da napravim neku aplikaciju
koja će njemu ali i radnicima olakšati evidenciju radnih sati jer
nisu naišli na aplikaciju/program koja je pogodna za njihove
potrebe.Ja sam ga pitao da li bi mu odgovarala Android
aplikacija na šta je on odgovorio da bi to bilo odlično jer svi
radnici poseduju telefon na koji bi najlakše mogli da upisuju
podatke.Pošto je bio već kraj radnog vremena dogovorili smo se
da ja sutra dođem da se dogovorimo šta bi aplikacija trebala da
radi.

4. dana sam po dogovoru došao kod direktora da mi on objasni


šta želi aplikacija da radi.
On je imao neku ideju da radnici imaju mogućnost da preko
kalendara za izabrani dan upisuju broj sati i da mogu da
izračunaju svoju platu.
On mi je objasnio da na svakom gradilištu postoji odgovorno
lice koje im upisuje sate ali da i svaki radnik zasebno za sebe
vodi satnicu.Rekao mi je da svaki radnik ima poseban
koeficijent po kome se računa plata i da mu radnik koji je
zadužen za vođenje evidencije sati šalje izveštaj o satnicama
radnika na tom gradilištu od 1. do 15. u mesecu i od 16. do
kraja meseca.Kako njegova firma radi na više gradilišta
istovremeno pa ima mnogo različitih izveštaja sa različitih
gradilišta Android aplikacija bi mu značajno olakšala vođenje
evidencije i šansa za greške prilikom evidencije sati bi praktično
nestale.Pošto sam dobio početne smernice za aplikaciju
dogovorili smo se da radim od kuće zato što u njegovoj firmi ne
postoji računar koji je dovoljno brz za razvoj aplikacije,s tim da
ja svaki dan dolazim u firmu i prezentujem mu moj napredak sa
aplikacijom.
Kada sam došao kući otprilike sam nacrtao šta bi koja stranica
programa trebala da sadrži na osnovu informacija koje sam
dobio od direktora.

5. dana krenuo sam sa izradom aplikacije.Cilj za taj dan je bio da


napravim sve stranice sa svim elementima koje će one
posedovati bez nekog ulepšavanja programa koje sam planirao
za kraj kada završim sa programiranjem aplikacije.Moja zamisao
bila je da imam jednu stranu koja će sadržati običan kalendar
gde će radnik birati datum a ispod kalendara upisivati broj sati
za taj izabran dan kao i neke eventualne napomene.
Ispod kalendara i polja za upis informacija za izabran dan stavio
sam 3 dugmeta koja će raditi sledeće:
-Dugme Dodaj koje će dodati informacije za taj dan i smestiti ih
u bazu podataka.
-Dugme Promeni koje će za unete informacije i izabrani datum
ukoliko postoje neki podaci za taj datum promeniti na vrednosti
koje je radnik uneo.
-Dugme Obračun koje će nas odvesti na drugu stranu gde
radnik može da obračuna svoju platu i vidi koliko ima sati za
obračunski period.
Na stranici za obračun sam stavio da radnik na početku izabare
obračunski period od 1. do 15. u mesecu ili od 16. do kraja
meseca,zatim odabir meseca i godine.Takođe sam stavio i
opciju da radnik može da izračuna svoju platu za bilo koji period
tj. od bilo kojeg datuma u mesecu do bilo koje datuma u
mesecu.
Ispod svega ovoga postoji dugme broj sati koje će za izabrani
period obračunati unete sate radnika i ispisati ih odmah ispod.
Nakon toga korisnik ima dva polja u koja unosi podatke od
kojeg je jedno obavezno a to je cena po satu i akontacija koja
nije obavezna.Direktor mi je rekao da radnici ponekad uzimaju
akontaciju pa ako mi nije problem da dodam i to.
Ispod polja za unos podataka nalazi se dugme koje računa platu
radnika u eurima jer je cena po satu izražena u eurima.
Kada sam sve to dodao,završio sam sa dodavanjem svih
elemenata koji su mi u tom trenutku bili potrebni za rad
aplikacije i mogao sam da krenem sa programiranjem kako bi
sve to i radilo.
Ovog dana stigao sam da isprogramiram prvu stranu tj. stranu
sa kalendarom kako bi bilo moguće da se dodaju informacije za
svaki datum.Prvo sam napravio SQLite bazu koja će čuvati
podatke trajno.Napravio sam klasu koja se zove RadniDan koja
će praviti objekat svaki put kada se klikne na dugme dodaj za
određeni datum.Kod SQLite baze napravio sam sve osnovne
funkcije koje su obavezne i dodao opcije za dodavanje
elementa u bazu i ažuriranje(update) elementa baze.
Na kraju mi je za kalendar stranu ostalo samo da isprogramiram
samu kalendar stranu tj. tri funkcije za sva tri dugmeta.Funkcija
za dugme Dodaj funkcioniše tako što se bazi prosleđuju
automatski dan u mesecu,mesec i godina tj. ceo datum koji je
izabran na kalendaru i podatak koji je radnik upisao za sate i
napomenu koja može biti prazna pod uslovom da ne postoji
zapis u bazi sa tim datumom koji je izabran u suprotnom
ispisuje poruku da postoji zapis za taj datum.
Dugme promeni funkcioniše na isti način kao i dugme dodaj
samo što ima dodatnu proveru da li postoji zapis za taj
datum.Ako ne postoji takođe se ispisuje odgovarajuća poruka.
Kada sam završio sa programiranjem kalendar strane taman mi
je ostalo vremena da odem do firme i pokažem direktoru šta
sam uradio.

Aplikacija je u ovom trenutku izgledala ovako:


Pokazao sam direktoru aplikaciju koja je bila u ovakvom stanju
kao na slikama i objasnio mu kako bi sve to trebalo da radi.Pitao
sam ga da li treba još nešto da se doda i da li je zamislio neki
izgled aplikacije tj. koje boje bih upotrebio itd.Rekao mi je da
bih na strani za obračun satnica mogao da dodam i kurs eura u
dinare kako bi prikazalo isplatu i u dinarima jer on plaća svoje
radnike u dinarima.Još mi je rekao da postoji logo firme koji je u
crno beloj boji pa bi i aplikacija mogla da ima bele,crne i sive
boje.Ja sam mu na kraju razgovora predložio neku moju ideju
koja mi je pala na pamet a to je da postoji i strana koja bi se na
primer zvala statistika koja bi nacrtala grafik gde se na
godišnjem nivou po mesecima prikazivalo koliko je radnik imao
sati.On mi je reko da nije loša ideja i da bih mogao to da
dodam.Sa tim smo završili naš razgovor za taj dan.

6. dana cilj mi je bio da završim svo programiranje aplikacije i da


dodam još stranu Statistika koja će imati polje gde će se
icrtavati grafik,dva polja za unos podataka a to su godina i cena
po satu i dugme Iscrtaj na čiji klik će se icrtati grafik za unete
podatke.
Takođe sam odlučio da napravim i posebnu početnu stranu koja
će sadržati samo dugmeta koja će voditi ka odgovarajućim
stranicama.

Nove stranice su u ovom trenutku izgledale ovako :


Na stranici za obračun napravio sam dve funkcije za dva
dugmeta koje su izvršavale računanje broja sati za
izabrani/uneti interval dana kao i obračun plate.
Na stranici za statistiku koristio sam AnyChart biblioteku
Android Studija za iscrtavanje grafika.Napravio sam jednu
funkciju koja se poziva dugmetom Icrtaj koja na osnovu unetih
podataka za sate u bazi i unetih podataka za godinu i cenu rada
po satu icrtava grafik gde je prikazana plata radnika za svaki
mesec u izabranoj godini.Kada sam završio sa programiranjem
aplikacija je radila i izgledala ovako:

Sa ovim sam ponovo otišao kod direktora s tim da mi je ostalo


da dodam na stranici za obračun polje za upis trenutnog kursa
eura u dinare kao i da dodam u funkciji za obračun koja se
poziva dugmetom računaj da ispiše platu u dinarima i u eurima.
Pošto je u ovom trenutku aplikacija radila samo za jednu osobu
tj. za svakog radnika ponaosob,na pamet mi je pala ideja da
dodam još jednu funkcionalnost a to je lista radnika gde bi se
dodavali radnici i svaki od radnika bi imao svoj kalendar u kome
bi zaposleni zaduženi za evidenciju sati upisivali sate.Tako
radnici ne bi morali da šalju svoje sate nikome već bi radnik
zadužen za evidenciju sam slao celu listu direktoru i tako dosta
pojednostavio proces.
Izneo sam ovu ideju direktoru i on je rekao da bi to bilo idealno
i napomenuo mu da nisam dodao polje za kurs i da treba raditi
na izgledu,on mi je takođe rekao da bi na stranici za statistiku
trebalo ukloniti polje cena po satu i da statistika ispisuje samo
sate jer cena po satu od radnika do radnika može varirati.
Direktor mi je saopštio da neće biti u firmi narednih par dana i
da će mi moj prijatelj koji radi u firmi reći kad je on tu da
dođem da mu pokažem šta sam uradio do tada.

7. dana cilj mi je bio da napravim sve stranice koje su mi


potrebne za listu radnika kao i da počnem sa radom na izgledu
programa.
Na početnoj strani dodao sam i četvrto dugme koje će voditi na
stranu sa listom radnika.
Listu radnika zamislio sam tako da su naravno na vrhu izlistani
svi radnici a ispod liste postoje polja za unos imena i prezimena
za dodavanje ili brisanje radnika.Pošto sam aplikaciju počeo sa
idejom da svaki radnik posebno void svoju evidenciju sada sam
morao da napravim novu bazu podataka koja će imati
odgovarajuće parametre za svakog radnika.
Lista radnika bi se ponašala u suštini kao poseban deo
programa za grupu radnika a sve ostalo što sam do sada radio
takođe kao poseban deo za individualno vođenje evidencije.
U listi gde su izlistani radnici zamislio sam da svaki element liste
sadrži ime i prezime radnika kao i dva dugmeta,kalendar i
obračun,koja će voditi na strane sa kalendarom i obračunom za
svakog radnika posebno.
Novu bazu sam napravio sa sličnim parametrima kao i baza za
radne dane samo što ova baza sadrži i parametre za ime
radnika,prezime radnika i gradilište na kojem je tog dana radio.
Takođe sve funkcije ove baze su iste kao i iz prethodne baze
samo sa dodatnim parametrima.
Napravio sam posebnu stranu za izgled svakog elementa u listi
kako bi svaki element mogao da ima po 2 dugmeta.
Kod Android programiranja za prikaz posebnog ListView-a ili
liste kao na primer ovde sa dugmićima potreban je i poseban
Adapter u kome se programira šta će svako dugme raditi,kako i
koje informacije iz baze će se prikazati za svaki element.Ja sam
postavio da se ispisuje ime i prezime radnika pored dva
dugmeta.Tu sam za ovaj dan stao sa radom.

8. dana cilj mi je bio da završim sa programiranjem cele


aplikacije kako bi mi za 9. dan ostalo da radim na izgledu
aplikacije.
Stranice za kalendar i obračun za svakog radnika u listi sam brzo
isprogramirao jer sam već imao takve dve stranice već urađene
iz dela za individualnu evidenciju.Razlika je bila samo u tome
što sam morao da promenim da se podaci upisuju u drugu bazu
kao i da dodam još jedno polje za upis gradilišta za izabrani dan.
Takođe na obe kalendar strane dodao sam jedan CheckBox koji
se zove Neradni dan koji ima svrhu da se jednim klikom u polja
za upis informacija upiše 0 sati i u napomeni Neradni dan kako
ne bi moralo nepotrebno da se kuca.
Stranica za obračun je ostala ista samo sam dodao jedno polje
za text koje ispisuje za kojeg radnika se vrši obračun.
Kada sam sve to završio na pamet mi je pala još jedna ideja a to
je da na stranici koja prikazuje listu radnika dodam da pored
svakog radnika ispisuje broj sati u trenutnom obračunskom
periodu tj. ako je na primer 5. u mesecu da računa sate
ostvarene u periodu od 1. do 5. pa sve do 15. Kada datum
pređe na 16. broj svih sati se postavlja na 0. Ovo će omogućiti
da radnicima koji vode evidenciju sati vrlo lako mogu da vide
automatski ko koliko ima sati u tom obračunskom periodu i
pošalju kao sliku ili na neki drugi način direktoru sate za sve
radnike.
Prijatelj mi je javio da bih mogao sutra da dođem kod direktora
da vidi aplikaciju.
Sa ovim sam završio za ovaj dan.
9. dan kako sam i planirao sam ostavio za izgled aplikacije.Kao
što mi je i direktor rekao tema aplikacija sa bojama bila je crno-
siva-bela.Zamislio sam da stranica bude podeljena na celine
koje izgledaju kao ”oblačići”.Kada sam završio sa izgledom
aplikacija je izgledala ovako:

Početna strana:
Stranice za lične potrebe:

Prva slika predstavlja kalendar,druga obračun i treća godišnja


statistika sati.
Stranice za evidenciju sati više radnika :

Na prvoj slici prikazana je lista radnika (karnet),druga i treća


slika su takođe kao i u prethodnom delu prikazani kalendar i
obračun sa razlikama da kalendar ima gradilište polje a obračun
ispisuje ime i prezime radnika za koji se vrši obračun.

Nakon što sam završio sa izgledom shvatio sam da će biti


potrebna opcija za import i export obe baze podataka kako bi
se trajno sačuvali podaci u slučaju promene telefona i sl.
Ova opcija dostupna je klikom na meni sa tri tačkice koji je
vidljiv na slikama gore.
Takođe dodao sam i Side-meni kako bi lakše moglo da se prelazi
sa jedne stranice na drugu bez vraćanja na početnu stranu.

Side-meni prikazan je na sledećoj slici :

Sa ovim sam završio za danas i otišao sam u firmu kod direktora


da mu pokažem sve što sam uradio.Direktor je bio zadovoljan
aplikacijom čak mi je rekao da je i više od očekivanog.Pošto se i
sama aplikacija zove po firmi ja sam mu tražio neki logo koji bih
mogao da stavim kao ikonicu za aplikaciju i unutar aplikacije.To
sam dobio i dogovorili smo se da postavim aplikaciju na Google
Play Store kako bi svi radnici mogli da je skinu.

10. dana ostalo mi je samo da dodam logo firme.

Dodao sam logo u side-meni aplikacije i postavio logo firme za


ikonicu aplikacije.
Takođe sam postavio aplikaciju na Google Play Store.
Link za aplikaciju na Play Store-u:
https://play.google.com/store/apps/details?
id=com.dinosijaricapp.gtpinzenjering2

Aplikacija na Play Store-u:


Primer rada stranica kalendar i obračun :

You might also like