Univerziteti u Novom Sadu Tehnički fakultet „Mihajlo Pupin“ Zrenjanin Seminarski rad Predmet: Softversko Inženjerstvo 2 TEMA : WEB APLIKACIJA ZA EVIDENTIRANJE SOFTVERSKIH ZAHTEVA Profesor: doc. dr Ljubica Kazi Asistent: doc. dr Ljubica Kazi Student: Hrćan Jan Indeks: IT 3/14 Smer: Informacione tehnologije Zrenjanin, 2018. godina
36
Embed
TEMA : WEB APLIKACIJA ZA EVIDENTIRANJE … · FUNKCIJA I PROFILI KORISNIKA: Profil korisnika – root: ... Troskovi – nema troskova Kvalitet – kvalitet softvera (baze podataka,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Univerziteti u Novom Sadu
Tehnički fakultet „Mihajlo Pupin“
Zrenjanin
Seminarski rad
Predmet: Softversko Inženjerstvo 2
TEMA : WEB APLIKACIJA ZA EVIDENTIRANJE
SOFTVERSKIH ZAHTEVA
Profesor: doc. dr Ljubica Kazi
Asistent: doc. dr Ljubica Kazi
Student: Hrćan Jan
Indeks: IT 3/14
Smer: Informacione tehnologije
Zrenjanin, 2018. godina
1
CONTENTS
1. PREDMETNI CILJ ........................................................................................................... 1
2. PRIJAVA STUDENTSKOG PROJEKTA ............................................................................... 2
5. IMPLEMENTACIJA WEB APLIKACIJE ............................................................................... 9
5.1. UML DIJAGRAMI .......................................................................................................... 9 5.1.1. USE CASE DIJAGRAM ............................................................................................................. 9 5.1.2. DIJAGRAM KOMPONENTI ..................................................................................................... 10 5.1.3. DIJAGRAM RAZMEŠTAJA ....................................................................................................... 10 5.1.4. DIJAGRAM KLASA ................................................................................................................ 11 5.1.5. DIJAGRAM SEKVENCI ........................................................................................................... 11 5.2. TABELARNI PRIKAZ VIŠESLOJNE ARHITEKTURE SOFTVERA ........................................................ 12 5.3. OPIS BAZE PODATAKA ................................................................................................... 14 5.4. REST SERVIS .............................................................................................................. 16 5.4.1. INSTALACIJA SYMFONY PROJEKTA .......................................................................................... 16 5.5. PHP SYMFONY RESTFULL SERVIS .................................................................................... 18 5.5.1. PRIMER KLASE POSLOVNE LOGIKE CLSPOSLOVNALOGIKA ............................................................ 18 5.5.2. PRIMER KODA IZ KONFIGURACIONOG FAJLA CONFIG.YML ........................................................... 19 5.5.3. PRIMER KODA ZA KONTROLER „KORISNIKCONTROLLER“ – PRIMER HTTP POST METODE NAD
KORISNIKOM – LOGIN ....................................................................................................................... 20 5.6. ANGULAR .................................................................................................................. 21 5.6.1. INSTALACIJA ANGULAR ........................................................................................................ 21 5.6.2. RUTIRANJE U ANGULAR-U .................................................................................................... 21 5.6.3. NGMODUL – GLAVNA PODEŠAVANJA U OKVIRU GLAVNE „KLASE“ ............................................... 22 5.6.4. SERVIS PODATAKA – SERVICE.TS ............................................................................................ 23 5.6.5. PRIMER KODA KOMPONENTE „SOFTVERSKI ZAHTEV“ ................................................................ 24
6. PRIKAZ RAZVIJENE WEB APLIKACIJE ZA EVIDENCIJU SOFTVERSKIH ZAHTEVA ................ 27
6.1. LOGIN FORMA ......................................................................................................... 27
Listing 8. Prikaz primera koda komponente „Softverski Zahtev“
6. PRIKAZ RAZVIJENE WEB APLIKACIJE ZA EVIDENCIJU
SOFTVERSKIH ZAHTEVA
6.1. LOGIN FORMA
Na prvoj stranici korisnika očekuje „login“ forma gde se mora ulogovati da bi nastavio
dalje. Unesu se najpre podaci korisničko ime, lozinka i pritisne dugme „Uloguj se!“.
28
Slika 13. Prikaz "login" forme
6.2. HOMEPAGE FORMA
Ako se korisnik uspešno ulogovao, dočekuje ga „homepage“ ili početna stranica. Na
početnoj stranici korisnik ima mogućnost da pritisne na meniju gore da ode u listu
projekata za tog korisnika, da se odloguje iz aplikacije, ili da se vrati na početnu
„homepage“ stranicu.
Slika 14. Hompage strana
6.3. LISTA PROJEKATA - FORMA
Na klik na stavku menija „Lista mojih projekata“ korisniku se otvara nova stranica sa
listom projekata koje taj korisnik ima.
29
Slika 15. Prikaz liste projekata i opcija dodavanjanovih projekata
Ovde postoje opcije dodavanja novih, izmene kao i brisanje projekata koje je taj
korisnik prethodno napravio. Kolona „Naziv projekta“ jeste zapravo hiperlink koji dalje
otvara sve softverske zahteve vezane za odabrani projekat.
6.4. LISTA ZAHTEVA - FORMA
Slika 16. Prikaz funkcionalnosti na stranici sa listom softverskih zahteva
Na stranici sa listom softverskih zahteva ima nekoliko funkcionalnosti. Dodavanje,
izmena, brisanje zahteva, kao i filtriranje po nazivu i dugme za štampu koje vodi do
stranice za podešavanje štampe.
Slika 17. Prikaz dodatnih funkcionalnosti na stranici sa listom zahteva
30
Dalje slede primeri dodavanja, izmene i štampe.
Slika 18. Prikaz dodavanja zahteva
Kao što se može videti na slici (Slika 18), dodat je nov zahtev koji se nalazi pod brojem
5.
Slika 19. Prikaz izmene zahteva
Sada je zahtev pod brojem 5 izmenjen i dodate su mu neke nove vrednosti najpre
klikom na dugme izmeni, pa posle izvršenih izmena na dugme Dodaj/izmeni.
31
Slika 20. Prikaz funkcionalnosti fintriranja zahteva
Takođe, jedna od glavnih funkcionalnosti jeste filtriranje liste softverskih zahteva kao
što se može videti na slici (Slika 20).
6.5. FORMA ŠTAMPANJE
Slika 21. Prikaz filtriranih zahteva i izgleda stranice za štampu
Na kraju (Slika 21) imamo i primer izgleda stranice za štampu softverskih zahteva.
32
7. ZAKLJUČAK
U ovom seminarskom radu je korišćena kombinacija dva frameworka. Upotrebnom
Google Angular 4 frameworka razvijen je front end prikazane web aplikacije, dok je za
razvoj back enda iste korišćen Symfony framework, razvijen od francuske kompanije
SensioLabs
Symfony se jako lepo pokazao kao RESTfull servis kako sa brzinom tako i sa
pouzdanošću. Tema seminarskog rada je evidentiranje softverskih zahteva. Tema je
odabrana sa ciljem da se prikažu osnovne funkcije jedne web aplikacije kao što su
dodavanje, izmena, brisanje, filtriranje štampa, itd. Pravljenje kombinacije ovih
framework-ova se pokazalo kao dosta veliki izazov, međutim sama aplikacija se
pokazala kao robusno i profesionalno rešenje za moderne web aplikacije.
Prednosti korišćenja ovih tehnologija jeste pojednostavljen i lepo uređen pristup MVC
tematici kao i sama robusnost i kvalitet dobijenog softvera.
Kao glavnu manu razvoja ovakvog projekta jeste upotreba i konstantni rad dva web
servera koji znatno usporavaju rad u bilo kojem razvojnom okruženju kao i samo
testiranje softvera.
Jedna od mogućih smernica daljeg razvoja ovog softvera jeste implementacija
funkcionalnosti kolaboracija na projektima sa nekim drugim korisnikom, što dalje
dovodi do toga da ovaj softver više nije samo softver za evidenciju već i softver za
timski rad.
33
LITERATURA
Knjige i naučni radovi
[1] Murray, N., Coury, F., Lerner, A., Taborda, C.(2017) Ng-Book The Complete
Guide to Angular 4. Fullstack.io. San Francisco, California.
[2] SensioLabs. (2016) Symfony The Book, Version:master. SensioLabs.
Linkovi ka stranicama sajtova
[3] https://angular.io/, Poslednji put posećeno: 12.01.2018
[4] https://symfony.com/, Poslednji put posećeno: 12.01.2018
[5] https://www.bootstrapcdn.com/, Poslednji put posećeno: 15.01.2018
[6] https://getbootstrap.com/, Poslednji put posećeno: 15.01.2018
[7] https://www.mysql.com/about/, Poslednji put posećeno: 15.01.2018
[8] https://nodejs.org/en/about/, Poslednji put posećeno: 15.01.2018
INDEKS SLIKA
Slika 1. Prikaz Use Case dijagrama ................................................................................. 9 Slika 2. Prikaz dijagrama komponenti ............................................................................ 10
Slika 3. Prikaz dijagrama razmeštaja ............................................................................. 10 Slika 4. Prikaz dijagrama klasa ...................................................................................... 11
Slika 5. Prikaz dijagrama sekvenci ................................................................................. 11 Slika 6. Fizički model baze podataka.............................................................................. 14 Slika 7. Prikaz instalacije composer-a ........................................................................... 16
Slika 8. Prikaz instalacije Symfony projekta na određenu lokaciju ............................... 17 Slika 9. Prikaz parameters.yaml fajla ............................................................................. 18
Slika 10. Prikaz povezivanja Doctrine framework-a ...................................................... 18 Slika 11. Validacija mapiranih klasa .............................................................................. 18
Slika 12. Prikaz instalacije Angular projekta ................................................................. 21 Slika 13. Prikaz "login" forme ........................................................................................ 28 Slika 14. Hompage strana ............................................................................................... 28 Slika 15. Prikaz liste projekata i opcija dodavanjanovih projekata ............................... 29
Slika 16. Prikaz funkcionalnosti na stranici sa listom softverskih zahteva .................... 29 Slika 17. Prikaz dodatnih funkcionalnosti na stranici sa listom zahteva ....................... 29 Slika 18. Prikaz dodavanja zahteva ................................................................................ 30 Slika 19. Prikaz izmene zahteva ...................................................................................... 30 Slika 20. Prikaz funkcionalnosti fintriranja zahteva ...................................................... 31
Slika 21. Prikaz filtriranih zahteva i izgleda stranice za štampu ................................... 31
INDEKS LISTINGA
Listing 1. Skripta za formiranje i popunjavanje baze podataka ..................................... 16 Listing 2. Primer primene pravila poslovne logike ........................................................ 19
Listing 3. Prikaz primera koda iz konfiguracionog fajla config.yml .............................. 20 Listing 4. Prikaz primera koda za kontroler „KorisnikController“ ............................... 21 Listing 5. Prikaz rutiranja Angular-a ............................................................................. 22 Listing 6. Prikaz glavnih podešavanja u okviru glavne "klase" - NgModul ................... 23 Listing 7. Prikaz http zahteva prema Symfony RESTfull servisu .................................... 23 Listing 8. Prikaz primera koda komponente „Softverski Zahtev“ .................................. 27