3.11.2024. Objavljen je preliminaran tekst projektnog zadatka u sekciji projekat. Tekst će biti naknadno dopunjen opisom onoga što studenti treba da isporuče kao svoj zadatak, ali se tema, obim i sadržaj projekta neće menjati (osim, po prekoj potrebi, ispravke i dopune razjašnjenjima). Tekst je objavljen sada kako bi studenti mogli da počnu analizu zahteva i pažljivo i polako osmišljavaju svoj projekat i predstavljaju ga onim delovima modela čiji su koncepti objašnjeni na časovima nastave.

23.10.2024. Prvi kolokvijum iz Projektovanja softvera biće održan u nedelju, 27. oktobra 2024. godine. Tačno vreme održavanja će biti javljeno naknadno. Zamolili bismo studente koji žele da izađu na kolokvijum da se prijave putem sledećeg linka, do petka, 25. oktobra 2024. godine u 18 časova.

30.09.2024. Svim studentima želimo uspešan početak nove školske godine!


Informacije o predmetu

Semestar: SI: V, RTI: VII
Smerovi: Obavezan predmet na SI, izborni na RTI
Šifra: 13E114PS, 13S113PS
Nastavnik: prof. dr Dragan Milićev (predavanja: sreda, 12-14h, sala 308; sreda 14-16 u 61; četvrtak, 16-18h, sala 61)
dmilicev@etf.rs
http://www.rcub.bg.ac.rs/~dmilicev
Asistenti: as. ms Predrag Obradović (vežbe: četvrtak 18-20, sala 61; četvrtak 10-12, sala 311)
pedjao@etf.rs
as. ms Mihajlo Ogrizović (vežbe: petak 12-14, sala 308; četvrtak 10-12, sala 311)
ogrizovic@etf.rs
dipl. inž. Luka Hrvačević (vežbe: petak 16-18, sala 61; četvrtak 10-12, sala 311)
lukah@etf.rs
Ocena:
    rade se pojedinačno
    svaki nosi po 20% ocene
    K1: projektni obrasci; prva kolokvijumska nedelja, nadoknada/popravka sa K2
    K2: modelovanje na jeziku UML; druga kolokvijumska nedelja, nadoknada/popravka u prvom ispitnom roku
    kratki praktični zadaci na licu mesta i pitanja za pismene odgovore
    nosi 30% ocene
    priprema se kao domaći zadatak, brani samostalno
    brani se u januarskom, februarskom ili avgustovskom ispitnom roku
    nosi 30% ocene

Sadržaj i ciljevi

  • Principi projektovanja softvera
  • Projektni obrasci (design patterns)
  • Modelovanje softvera na jeziku UML
  • Osposobiti se za projektovanje složenih softverskih sistema
  • Osposobiti se za modelovanje softvera na jeziku UML

Materijali

Predavanja
  • Slajdovi sa predavanja: link.
  • E. Gamma, R. Helm, R. Johnson, J. Vlissides, “Design Patterns, Elements of Reusable Object-Oriented Software”, Addison-Wesley,1995.
  • D. Milićev, Model-Driven Development with Executable UML”, Wiley/Wrox,2009.
  • Booch,G., Rumbaugh,J., Jacobson,I., The Unified Modeling Language User Guide”, Addison Wesley, 2nd. Edition, 2005.
  • I. Tartalja, Modelovanje softvera na jeziku UML – I deo: modelovanje strukture, Akademska misao, 2023.
  • D. Milićev, Objektno orijentisano modelovanje na jeziku UML, Skripta sa praktikumom, Mikro knjiga, Beograd, 2001.
  • Referenta specifikacija UML-a: https://www.omg.org/spec/UML
  • Stare prezentacije sa predavanja prof. Igora Tartalje je moguće preuzeti ovde.
  • Materijale sa kursa prof. Milićeva iz 2003. godine je moguće preuzeti ovde.
Vežbe
Vežbe Gradivo Materijali
1 Projektni obrasci - Fasada, Kompozit i Most
2 Projektni obrasci - Zastupnik, Posrednik, Apstraktna fabrika, Graditelj, Podsetnik, Muva
3 i 4 Različite primene projektnih obrazaca.
6 - 9 UML zadaci - dijagram klasa, dijagram paketa, dijagram objekata, dijagram sekvenci.
Primeri projekata
Nekoliko primera urađenih praktičnih projekata koji mogu koristiti kao uzor, posebno u pogledu konceptualnog modelovanja.

1. Zvanična i standardna UML specifikacija.

2. Primer detaljnog projekta Informacionog sistema za Generalni sekretarijat Vlade Srbije (2008)
Napomene:
- Ovaj projekat i dokument su urađeni preterano detaljno i formalno, više nego što je neophodno za realne potrebe. Ovo je urađeno svesno, jer se radilo o dokumentaciji za javni poziv za implementaciju. Može poslužiti kao ilustracija ”maksimalističkog” pristupa, u kome se mogu videti gotovo svi elementi koji se mogu pronaći u realnim projektima.
- U vreme kada je projekat rađen (2007. godina), tehnologija, posebno veb aplikacija, bila je na daleko skromnijem nivou nego danas. JavaScript je bio u povoju i nije bio prisutan na svim pregledačima, jer su ga mnogi korisnici isključivali iz bezbednosnih razloga, a imao je i daleko manje mogućnosti nego danas.
- UML se vremenom menjao i moguće je da su modeli rađeni prema ranijim verzijama ovog jezika, pa nisu sasvim u skladu sa sadašnjom verzijom.
- Modeli su rađeni u različitim, starim alatima koji možda nisu podržavali UML na standardan način ili su podržavali njegove starije verzije.

3. Primer konceptualnog modela jednog modula za praćenje poslovnih procesa (engl. Workflow Management).
Napomene:
- UML se vremenom menjao i moguće je da su modeli rađeni prema ranijim verzijama ovog jezika, pa nisu sasvim u skladu sa sadašnjom verzijom.
- Modeli su rađeni u različitim, starim alatima koji možda nisu podržavali UML na standardan način ili su podržavali njegove starije verzije.

Projektni zadatak

Postavka projektnog zadatka za 2024/2025. godinu: link
Izvorna verzija dokumenta: link