Čas 9 Vežbanje za ispit: Matf++ 1. Nacrtati dijagram slučajeva upotrebe 1
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
2. Opisati sve slučajeve upotrebe 2.1 Prijavljivanje na takmičenje
Naziv: Prijavljivanje na takmičenje
Kratak opis:
Studenti se prijavljuju na takmičenje iz programiranja, popunavavući formular podacima o svim članovima tima. Jedan student popunjava podatke za ceo tim.
Učesnici: Takmičar
Preduslovi: -
Postuslovi: Takmičar je uspešno prijavio svoj tim. Prijava je sačuvana u sistemu.
Glavni tok: 1. Takmičar otvara formular za prijavu 2. Takmičar unosi tražene podatke o članovima tima. 3. Takmičar unosi korisničko ime i lozinku. 4. Takmičar šalje prijavu 5. Sistem proverava ispravnost unetih podataka 6. Sistem čuva prijavu 7. Sistem obaveštava takmičara da je prijava uspešno sačuvana.
Alternativni tokovi:
5.1. Unos neispravnih podataka: Sistem obaveštava takmičara o neispravnom unosu. Slučaj upotrebe se nastavlja na koraku 2. 5.2. Duplirano korisničko ime: Sistem obaveštava takmičara da je korisničko ime zauzeto i da je potrebno da izabere neko drugo. Slučaj upotrebe se nastavlja na koraku 3. 2-4: Takmičar odustaje od prijave: Slučaj upotrebe se završava.
Specijalni zahtevi:
-
Dodatne informacije:
-
2
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
2.2 Proveravanje tačnosti rešenja
Naziv: Proveravanje tačnosti rešenja
Kratak opis:
Takmičari rešavaju zadatke i šalju svoja rešenja na proveru ocenivaču. Sistem im prosledjuje povrtanu informaciju o tačnosti zadatka. Svaki pokušaj rešavanja se evidentira u sistemu i nakon svakog pokušaja rešavanja se ažurira rang lista.
Učesnici: Takmičar
Preduslovi: Takmičar je ulogovan na sistem i rešio je neki zadatak
Postuslovi: Takmičar je dobio povratnu informaciju o tačnosti svog rešenja. Pokušaj rešavanja je zabeležen u sistemu. Rang lista je ažurirana.
Glavni tok: 1. Takmičar bira zadatak koji želi da proveri 2. Takmičar bira programski jezik 3. Takmičar bira izvorni kod. 4. Takmičar šalje rešenje na proveru 5. Sistem proverava poslate podatke 6. Sistem vrši obradu rešenja 7. Sistem pamti podatke o pokušaju rešavanja zadatka 8. Sistem ažurira rang listu
a. Ako je rešenje tačno, sistem uvećava broj tačno rešenih zadataka. b. Ako rešenje nije tačno, sistem uvećava broj neuspešnih pokušaja.
9. Sistem šalje takmičaru informacije o tačnosti rešenja
Alternativni tokovi:
5.1 Izabrani jezik i ekstenzija fajla se ne poklapaju: Sistem prikazuje takmičaru odgovarauću poruku. Slučaj upotrebe se nastavlja na koraku 2. 1-9: Problem u komunikaciji sa serverom: Takmičar se obraća dežurnom nastavniku ili organizatoru. Organizator rešava problem. Slučaj upotrebe se završava.
Specijalni zahtevi:
-
Dodatne informacije:
Ocenjivač je spolna komponenta i nije deo ovog informacionog sistema. Ocenjivač može vratiti neku od sledećih poruka: “Tačno rešenje”, “Pogrešan izlaz”, “Prekoračeno vremensko ograničenje”, “Prekoračeno memorijsko ograničenje”, “Greška pri kompilaciji”
3
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
2.3 Realizacija kvalifikacione runde
Naziv: Realizacija kvalifikacione runde
Kratak opis:
Predstavlja proces selekcije timova za finalno takmičenje. Takmičari rešavaju zadatke od kuće.
Učesnici: Takmičar, Organizator, Komisija
Preduslovi: Na takmičenje se prijavilo više timova nego što fakultet može da primi na finalnoj rundi.
Postuslovi: Izabrani su timovi koji će učestvovati na finalnoj rundi.
Glavni tok: 1. Takmičari se prijavljuju na sistem 2. Organizator šalje zadatke takmičarima putem elektronske pošte 3. Takmičari rešavaju zadatke (slučaj upotrebe “Proveravanje tačnosti
rešenja”) 4. Sistem ažurira preliminarnu rang listu
Koraci 3 i 4 se ponavljaju proizvoljan broj puta 5. Organizator zatvara kvalifikacioni deo takmičenja. 6. (Opciono) Takmičar ulaže žalbu na rezultate 7. Komisija proverava rešenja i vrši odgovarajuće sankcionisanje 8. Komisija proverava plagijarizam i vrši odgovarajuće sankcionisanje 9. Komisija razmatra žalbe (ukoliko ih ima) 10. Organizator objavljuje konačnu rang listu
Alternativni tokovi:
2.1 Takmičarima nije stigao dokument: Takmičari se obraćaju organizatoru. Organizator šalje dokument. Slučaj upotrebe se nastavlja na koraku 3.
Specijalni zahtevi:
-
Dodatne informacije:
-
4
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
2.4 Testiranje komunikacije sa ocenjivačem
Naziv: Testiranje komunikacije sa ocenjivačem
Kratak opis:
Takmičari testiraju pristup serveru i komunikaciju sa ocenjivačem rešavanjem “Hello world” zadatka
Učesnici: Takmičar
Preduslovi: Takmičar se plasirao na finalno takmičenje
Postuslovi: Komunikacija sa ocenjivačem je uspešno testirana. Hello world zadatak je uspešno rešen. Svi pokušaji rešavanja ovog zadatka (za sve timove) su obrisani.
Glavni tok: 1. Takmičar se prijavljuje na sistem. 2. Takmičar bira “Hello world” zadatak 3. Takmičar rešava zadatak 4. Takmičar šalje rešenje na proveru (slučaj upotrebe “Proveravanje
tačnosti rešenja”) 5. (Opciono)
5.1 Takmičar se obraća organizatoru jer ima problem 5.2 Organizator rešava problem.
Koraci 3,4 i 5 se ponavljaju dok god takmičar ne reši zadatak. 6. Organizator čeka dok svi timovi ne reše zadatak 7. Organizator briše zadatak i sve pokušaje njegovog rešavanja.
Alternativni tokovi:
-
Specijalni zahtevi:
-
Dodatne informacije:
-
5
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
2.5 Realizacija finalne runde
Naziv: Realizacija finalne runde
Kratak opis:
Proces održavanja finalnog takmičenja na fakultetu. Timovi rade zadatke na licu mesta. Imaju na raspolaganju jedan računar. Takmičenje traje 4 sata.
Učesnici: Takmičar, Organizator, Komisija, Dežurni nastavnik
Preduslovi: Takmičar je prošao na finalno takmičenje.
Postuslovi: Takmičenje je uspešno završeno. Timovi su rangirani po uspehu na takmičenju. Poznati su timovi koji su osvoili nagrade.
Glavni tok: 1. Organizator priprema materijale za svaki tim 2. Takmičar dolazi na svoje radno mesto 3. Dežurni nastavnik evidentira pristigle takmičare 4. Takmičar vrši testiranje komunikacije sa ocenjivačem (procedura
opisana u slučaju upotrebe 2.4) 5. Dežurni nastavnik deli koverte sa zadacima 6. Organizator putem poruke obaveštava dežurne nastavnike da
takmičenje može da počne 7. Dežurni nastavnik obaveštava takmičare da mogu da otvore kovertu sa
zadacima 8. Takmičar rešava zadatak 9. Sistem ažurira preliminarnu rang listu
Koraci 8 i 9 se ponavljaju sve do kraja takmičenja 10. Organizator šalje dežurnim nastavnicima obaveštenje o kraju takmičenja 11. Dežurni nastavnik obaveštava takmičare da se takmičenje završilo 12. (Opciono)
12.1 Takmičar ulaže žalbu 12.2 Organizator razrešava žalbu
13. Organizator objavljue konačnu rang listu na zvaničnoj stranici takmičenja.
Alternativni tokovi:
3. Učesnik se ne nalazi na spisku učesnika. Dežurni nastavik se obraća organizatoru. Organizator razrešava problem. Slučaj upotrebe se nastavlja na koraku 3. 4. Nema dovoljno koverti. Dežurni nastavnik se obraća organizatoru. Organizator donosi kovertu sa zadacima. Slučaj upotrebe se nastavlja na koraku 6.
6
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
Specijalni zahtevi:
Vreme čekanja takmičara na odgovor od ocenjivača ne sme biti veći od 5s. Takmičari treba da mogu da pristupe ocenjivaču, ali ne smeju da imaju pristup internetu.
Dodatne informacije:
Materijali koje organizator treba da pripremi: tekstovi zadataka, pravilnik takmičenja, uputstvo za takmičare, parametri za logovanje za takmičare
7
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
3. Nacrtati dijagram aktivnosti za realizaciju kvalifikacione runde
8
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
4. Nacrtati dijagram stanja tima (od početka prijave do kraja
takmičenja)
9
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
5. Nacrtati dijagram sekvenci za proces komunikacije sa
ocenjivačem
10
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
6. Nacrtati BPMN dijagram za realizaciju finalne runde
11
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
7. Nacrtati dijagram komponenti
8. Dati predlog izgleda korisničkog interfejsa
9. Dati predlog i kratak opis arhitekture sistema Informacioni sistem bi bio realizovan kao višeslojna veb aplikacija. Slojevi:
1. Prezentacioni sloj a. Zaduženja: prikaz podataka korisnicima (takmičarima) b. Tehnologije/Jezici: HTML/CSS
2. Klijentski kontroler a. Zaduženja: dohvatanje potrebnih podataka, provera prava pristupa, validacija
formulara. b. Tehnologije/Jezici: JavaScript, AngularJS
3. Serverski kontroler a. Zaduženja: obrada klijentskih zahteva, provera prava pristupa, komunikacija sa
bazom podataka, komunikacija sa ocenjivačem b. Tehnologije/Jezici: PHP, PDO
4. Sloj podataka a. Zaduženja: upravljanje podacima b. Tehnologije/Jezici: MySql
12
Informacioni sistemi, Vežbanje za ispit (Matf++) Čas 9
Komentar: Za proces prijavljivanja i dohvatanja spiska zadataka je dat potpun pregled komunikacije izmedju komponenti na različitim slojevima. U ova dva slučaja komunikacija je vrlo jednostavna. U slučaju složenije komunikacije (npr. za rešavanje zadataka), detalji komunikacije su izostavljeni jer bi preterano zakomplikovali dijagram - postao bi nečitljiv.
13