Projektovanje softvera

Zašto je ovaj predmet važan?

Osnovne informacije o predmetu
- Naziv predmeta
- Projektovanje softvera
- Status
- Izborni
- Broj ESPB
- 8
- Nastavnici
- Verislav Đukić, Nebojša Đorđević, Ivan Jezdović
- Godina studija
- III godina
- Vrsta nastave
- Teorijska (45) + Praktična (30)
- Oblici nastave
- Predavanja, vežbe i seminarski radovi.
Ciljevi predmeta
Uporedni prikaz metodologija u razvoju softvera, pri čemu bi jedna obavezno trebala da se odnosi na tzv. razvoj softvera pomoću modela i namenskih grafičkih jezika. Pregled alata za projektovanje softvera i postojećih implementacionih tehnologija. Zbog značaja dokumenta, kao univerzalne tvorevine kojom se iniciraju, prati tok i dokazuje progres u ostvarivanju planiranih poslova, napraviti analogiju između razvoja i proizvodnje softvera sa razvojem i proizvodnjom dokumenata.
Ishodi učenja
Studenti treba da nauče i usvoje bar dve metodologije u razvoju sofvera koje obezbeđuju dobru organizaciju rada, dobru i pouzdanu specifikaciju problema i njegovo rešavanje. Prikazati par softverskih alata i okruženja koje podržavaju takve metodologije, tako da studenti steknu uvid kako se problemi rešavaju sa postojećim softverskim alatima, a ako alati ne postoje, kako ih treba razvijati. Studenti će moći da projektuju softver u skladu sa savremenim metodama razvoja softvera
Sadržaj predmeta
Teorijska nastava:
Sadržaj predmeta podeliti na dve celine vezano za projektovanje softvera i to:
- na statička i
- na dinamička svojstva.
U okviru projektovanja statičkih svojstava sistema studente upoznati sa projektovanjem baza podataka, aplikacija i grafičkog interfejsa. Za svaku od nabrojanih celina prikazati alate za modelovanje (projektovanje) sa jednostavnijim primerima. U okvuru projektovanja dinamičkih svojstava sistema studenti treba da nauče šta su to mašine stanja i kako se koriste za potrebe specifikacije dinamičkih svojstava sistema. Teme su:
- strategije i metode projektovanja softvera;
- različiti modeli proizvodnje softvera;
- logičko modelovanje podataka;
- arhitektura softverskih rešenja;
- specifikacija i provera ispravnosti algoritama;
- projektovanje aplikacione logike;
- grafički interfejsi;
- povezivanje aplikacija sa bazama podataka.
Praktična nastava:
U okviru praktične nastave koristiti primere za bar jedan savremeni programski jezik, poput C# ili Java. Prikazati radna okruženja. Znatan deo pažnje posvetiti logičkom modelovanju podataka i upotrebi softverskih alata za te potrebe. Prikazati „Prošireni model objekti veze“, odnosno modelovanje pomoću proširenog jezika objekti-veze. Rad sa bazom podataka.
Povezivanje GUI-a sa bazom podataka preko nivoa aplikacija.
Važno: U okviru vežbi studenti treba da vide da se svaki od postojećih jezika za modelovanje ili projekotvanje softvera može napraviti i koristiti nezavisno od postojećih alata, ukoliko se poznaje smisao (semantika) problema koji treba da se reši. Ovao znanje i način razmišljanja može da bude podjednako važan i za projektovanje softvera kao i za razvoj modela upravljanja proizvoljnim tehničkim ili orgnizacionim sistemima.
Ocena i način polaganja
- Oblik ocenjivanja
- Poeni
- Aktivnost u toku predavanja
- 20
- Praktična nastava
- 20
- Kolokvijum(i)
- Seminar(i)
- 20-30 poena, što
menja poene za
aktivnosti i
praktičnu nastavu - Ukupno
- 100
