You are on page 1of 3

Univerzitet u Sarajevu

Elektrotehnički fakultet Sarajevo


Predmet: Napredni razvoj softvera 2019/2020

Tutorijal 2
Uputstva za izradu tutorijala online
● Klonirajte​ vaše rješenje tutorijala 1 (repozitorij nrs-t1) kao novi repozitorij pod nazivom
nrs-t2-z1.
● Preuzmite ovaj repozitorij i riješite u preuzetom projektu zadatak 1, te rješenje
pushajte​ na repozitorij. Prilikom rješavanja zadatka pridržavajte se pravila za
korištenje Gita (a posebno atomic commits).
● Ponovite proceduru za zadatak 2: klonirajte repozitorij nrs-t2-z1 u repozitorij nrs-t2-z2,
preuzmite, riješite zadatak 2, pushajte rješenje.
● Isto tako za zadatak 3.
● Zadatak 4 je vježba koja predstavlja pripremu za projekat te je trebate svakako uraditi
kroz projektne zadatke.
● Rok za rješavanje kompletnog tutorijala je četvrtak 26.3.2020.

Priprema za tutorijal
● Završen tutorijal 1

Zadatak 1

Na glavnu formu dodajte dugme "Štampa" koje otvara izvještaj pod nazivom gradovi.jrxml.
Ovaj izvještaj treba da prikazuje sve gradove u bazi podataka sortirane po broju stanovnika u
opadajućem redoslijedu. Projekat treba sadržavati klasu GradoviReport sa metodom
showReport koja prikazuje izvještaj u uobičajenom vieweru.

Zadatak 2
Korisnički interfejs treba biti dostupan na dva jezika: bosanski, engleski. Dodajte na korisnički
interfejs dugme "Jezik" koje otvara standardni dijalog za izbor (klasa ChoiceDialog) u kojem
se može izabrati jezik.

Zadatak 3
Maven je moćan alat za upravljanje projektima (project management) baziran na ​POM –
project object model​. Koristi se za ​build​ projekata, dokumentovanje i upravljanje resursima
o kojima ovisi neki projekat(​dependencies​). Maven pojednostavljuje ​build​ projekta.

Maven pojednostavljuje mnogo korisnih zadataka nad projektom poput:

● Build projekta
● Dodavanje resursa o kojima ovisi projekat (dependencies)
● Pruža infromacije o projektu (dokumenti, dependecy list, uni test izvještaji)
● Upload JAR resursa na centralni repozitorij
● Kreiraje JAR i WAR datoteka za pokretanje projekta i deployment bez posebni skripti
● Integracija projekta sa source control sistemom (Git)

Project Object Model(POM) Files je XML datoteka koja sadrži informacije vezane za projekat
i kofiguraciju projekta (source direktorij, plugins, dependencies) koja je potrebna kako bi se
projekat kompajlirao i izbuildao. Svaka maven komanda cita pom.xml datoteku kako bi
izvršila svoj zadatak.

Više pročitajte ​ovdje​.

Vaš zadatak je da konvertujete vas projekat iz tutorijala u Maven projekat prateći korake
opisane ​ovdje​.

Nesto više o samom alatu i njegovoj primjeri procitajte na ​ovdje​.

Obzirom da je poslije Jave 8 JavaFX izbačen iz JDK, da biste uspjeli instalirati projekat
koristeći Maven install i kreirati Jar datoteku, potrebno je da dodate ovisne resurse u vašu
pom.xml datoteku. Na kraju zadatka 3, vaša pom.xml datoteka bi trebala izgledati ovako:

<?x​ ml version​="1.0" ​encoding​="UTF-8"​?>


<​project ​xmlns​="http://maven.apache.org/POM/4.0.0"
​xmlns:​xsi​="http://www.w3.org/2001/XMLSchema-instance"
​xsi​:schemaLocation​="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"​>
​<​modelVersion​>​4.0.0​</​modelVersion​>

​<​groupId​>​nrs-tutorijal​</​groupId​>
​<​artifactId​>​rpr19-2parc-1t​</​artifactId​>
​<​version​>​1.0-SNAPSHOT​</​version​>
​<​build​>
​<​plugins​>
​<​plugin​>
​<​groupId​>​org.apache.maven.plugins​</​groupId​>
​<​artifactId​>​maven-jar-plugin​</​artifactId​>
​<​configuration​>
​<​archive​>

<​manifestFile​>​src/main/resources/META-INF/MANIFEST.MF​</​manifestFile​>
​</​archive​>
​</​configuration​>
​</​plugin​>
​</​plugins​>
​</​build​>
​<​dependencies​>
​<​dependency​>
​<​groupId​>​org.openjfx​</​groupId​>
​<​artifactId​>​javafx-controls​</​artifactId​>
​<​version​>​11​</​version​>
​</​dependency​>
​<​dependency​>
​<​groupId​>​org.openjfx​</​groupId​>
​<​artifactId​>​javafx-fxml​</​artifactId​>
​<​version​>​11​</​version​>
​</​dependency​>
​</​dependencies​>
</​project​>
Zadatak 4

Rad u timu je neizbježan segment razvoja softvera. Timski rad podrazumijeva organizaciju,
povjerenje i odgovornost izmedju članova tima. Kako bi članovi tima što bolje funkcionirali
kroz agilne procese razvoja, kreirani su alati za upravljanje projektima poput Jira-e i Github-a.
Pored samog koda, za projak su jako važni atributi: vrijeme, kvalitet, novac, resursi i
isporuka.

Github pored toga što je repozitorij za kod, omogućava i praćenje procesa rada na projektu i
u timu.

Vaš zadatak je da kreirate vas projektni repozitorij na Github-u za projekat u sklopu predmeta
NRS. Kada ste kreirali repozitorij, u sklopu istoj na tabu Project, kreirajte vaš projektni prostor
koji ce vam služiti za planiranje, organizaciju, praćenje napretka tima, praćenje zadataka,
dodjelu zadataka i dokumentovanje. Kako kreirati projektni prostor i projektnu ploču (​project
board)​ pročitajte ​Creating a repository project board​. Preporuka je da iskoristite već postojeći
template za Kanban agilni proces.

Kanban kao agilna metodologija se sve više koristi za praćenje razvoja projekata, jer za
razliku od Scrum metodologije fokusirana je na prioritetne zadatke koje je potrebno da tim
uradi. Isporuka nije ograničena vremenskim intervalima i članovi tima su rasterećeniji od
projektnih vremenskih događaja. Svi zadaci su unaprijed procijenjeni i stavljeni na ploču sa
svojim prioritetom. Na osnovu tih podataka menadžeri mogu procijeniti kada će neka
funkcionalnost biti dostavljena, a sami softver inženjeri nisu ograničeni vremenskim
intervalima poput sprintova i spirala.

Nešto više o Kanban agilnom procesu pročitajte ​ovdje​.

You might also like