Čas 9 Vežbanje za ispit: Matf++ -...

13
Čas 9 Vežbanje za ispit: Matf++ 1. Nacrtati dijagram slučajeva upotrebe 1

Transcript of Čas 9 Vežbanje za ispit: Matf++ -...

Čas 9 

Vežbanje za ispit: Matf++ 

1. Nacrtati dijagram slučajeva upotrebe  

 

 

   

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: 

     

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” 

  

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: 

      

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: 

      

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. 

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 

    

Informacioni sistemi, Vežbanje za ispit (Matf++)   Čas 9  

3. Nacrtati dijagram aktivnosti za realizaciju kvalifikacione runde 

 

Informacioni sistemi, Vežbanje za ispit (Matf++)   Čas 9  

 

4. Nacrtati dijagram stanja tima (od početka prijave do kraja 

takmičenja)  

 

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