VI semestar

Predmeti:

Konkurentno i distribuirano programiranje

(obavezni, III godina, VI semestar)

Procesi i sinhronizacija.
Locks i barijere, Tie Breaker, Ticket i Bakery algoritmi. Različiti načini implementacije barijera.
Semafori. Raspodeljeni binarni semafori, tehnike prosleđivanja štafete, alokacija resursa i raspoređivanje pomoću semafora.
Monitori. Uslovne promenljive, discipline za signal, detaljna analiza dijagrama stanja pridruženog monitorima. Različiti problemi rešeni pomođu monitora: Readers/Writers, Interval timer, Sleeping barber, Santa Claus Problem.
Uslovni regioni. Naredba аwait. Uslovni kritični regioni. Postavljanje uslova blokiranja. Različiti problemi rešeni pomoću regiona: One lane Bridge, Dining philosophers, Cigarette Smokers.
Prosleđivanje poruka – Asinhrono prosleđivanje poruka – filterske mreže, klijenti i serveri. Sinhrono prosleđivanje poruka – Primene u CSP, Linda, Java .
Udaljeni pozivi procedura – prikaz korišćenja RMI u Javi
Rendezvous – prikaz primene u ADA jeziku

Principi softverskog inženjerstva

(obavezni, III godina, VI semestar)

Uvod u softversko inženjerstvo, istorijat razvoja, ekonomska motivacija, ciljevi, definicije i terminologija, softverski proces, modeli životnog ciklusa softvera, model vodopada, brzi prototipski, inkrementalni, spiralni, uvod u objedinjeni proces firme Rational, CASE alati, analiza zahteva, projektovanje arhitekture, detaljno projektovanje, implementacija i integracija, standardi kodiranja, upravljanje konfiguracijom i promenama, organizacija tima, motivacioni faktori, upravljanje projektom, planiranje, analiza i upravljanje rizicima, testiranje (tehnike i organizacija), validacija i verifikacija, višestruka upotreba softvera, održavanje/evolucija, reinženjerstvo i reverzno inženjerstvo.

Infrastruktura za elektronsko poslovanje

(izborni, III godina, VI semestar)

Introduction to E-Commerce. Web store. Shopping Cart Software - Yahoo!Store, EcBuilder, Microsoft Site Server Commerce Edition.
E-business Infrastructure. Workflow Technologies. Workflow Oriented Information Systems.
Virtual Marketplace on the Internet. Structure of VM. VM Models. Digital Signatures and Electronic Currency on the Internet. Example: Oracle Exchange Marketplace.
Introduction to e-Banking. E-Bank. E-Banking in Serbia. Overview of the security problems. Cryptography basics. Digital signatures. Digital Certificates. Secure Sockets Layer (SSL). E-Bank software architecture. Application Service Providers.
Peer to Peer technologies. File Sharing Applications.
Ubiquitous Computing. Java MIDP - CLDC.
E-Marketing. Web site building & promotion. Banner advertising. E-mail marketing.
Denial of Service Attack. Methods, Tools, and Defenses.
System Support for Electronic Business on Internet. Asymmetric Digital Subscriber Line (ADSL). The 1390 Standard. Internet Fax Mailbox. Internet to Phone Talk. Internet PC to PC Talk. Music on WWW. The Mobile IP.

C#.Net
Osnovi UMLa sa implementacijom na C#. Design Patterns.
.Net Framework. Pravljenje Web strana
Web Servisi
Rad sa bazama podataka (ADO.NET i MS SQL Server)

Sistemski softver

(izborni, III godina, VI semestar)

Asembleri. Arhitektura hipotetičkog računara. Emulator. Punilac. Asemblerski jezik. Konstrukcija dvoprolaznog asemblera. Konstrukcija jednoprolaznog asemblera.
Makroprocesori. Funkcije makroprocesora: makrodefinicije i makroekspanzija, uključivanje teksta, uslovna makroekspanzija, makropromenljive i ugneždavanje poziva. Konstrukcija makroprocesora: familija progresivno složenijih algoritama makroprocesiranja. Studija slučaja: pretprocesor za C/C++.
Formati objektnih programa. Namena objektnog fajla. Primeri iz prakse: jednostavan format MS-DOS COM, relokacija MS-DOS EXE, prenosivi izvršni format PE/COFF. Školski format predmetnog programa. Učitavanje i pokretanje izvršnih fajlova.
Povezivači i punioci. Istorijat razvoja punilaca. Osnovne funkcije punilaca. Algoritam povezivanja. Biblioteke objektnog koda.
Punjenje. Osnovni algoritam. Punjenje sa relokacijom. Punjenje deljenog koda. Punjenje sa prekrivanjem. Dinamičko povezivanje i punjenje.

 

Arhitektura i organizacija računara 2

(izborni, III godina, VI semestar)

1. Procesor. 1.1 Struktura procesora. Operaciona jedinica. Upravljačka jedinica. 1.2 Arhitektura procesora. Programski model. Tipovi podataka. Formati instrukcija. Načini adresiranja. Skup instrukcija. Prekid. Dijagram toka faza čitanje instrukcije, formiranje adresa i čitanje operanada, izvršavanje operacija, smeštanje rezultata i opsluživanje prekida. 1.3 Operaciona jedinica. Strukturne šeme sa direktnim vezama, jednom, dve i tri interne magistrale i sekvence upravljačkih signala po koracima za realizacije bez i sa spajanjem operacionih i upravljačkih koraka. 1.4 Upravljačka jedinica. Ožičena realizacija. Strukture upravljačkih jedinica za realizacije bez i sa spajanjem koraka. Mikroprogramska realizacija. Formati mikroinstrukcija, mikroprogrami i strukture upravljačkih jedinica za realizacije sa dva i jednim tipom mikroinstrukcija i horizontalnim, vertikalnim i mešovitim kodiranjem upravljačkih signala operacione jedinice. Nanoprogramska realizacija. Mikroprogram, nanoprogram i struktura upravljačke jedinice.

2. Simulator. 2.1 Pregled raspoloživih simulatora i njihovih karakteristika. Prednosti i nedostaci. 2.2 Osnovne karakteristike simulatora. 2.3 Vizuelna simulacija projektovanog sistema. Pikazivanje vrednosti signala i stanja različitih vrsta logičkih kola. Strukturiranje i crtanje ekrana delova operacione i upravljačke jedinice sistema. Definisanje ponašanja osnovnih logičkih kola i kompleksnih modula. Problemi digitalne simulacije projektovanog sistema. Realizacija osnovne funkcije sistema kao korisničke aplikacije. Realizacija asemblerskog jezika.

Upravljanje softverskim projektima

(izborni, III godina, VI semestar)

Framework Programme 7. Definisanje FP7. Finansiranje projekata od strane EU.

Capability Maturity Model Integration.
Uvod. Svrha CMMI modela. Istorija CMMI. Izbor CMMI modela. Staged CMMI model i njegove osobine. Continuous CMMI model i njegove osobine. Čeriti vrste izbora CMMI modela. Sistemsko inženjerstvo, softversko inženjerstvo, integracija razvoja za procese i proizvode, isporuka. Maturity levels. Capability levels. Komponente CMMI. Terminologija CMMI. Kategorije CMMI Process Areas. Korišćenje CMMI modela.

Software Project Management. Rational Unified Framework.
Uvod. Model vodopada i mane tog modela. Konvencionalne karakteristike softverskog menadžmenta. Evolucija softverske ekonomije. Osnovni parametri software cost modela.
A Software Management Process Framework. Life-Cycle Phases. Artifacts of the Process. Model-based software Architectures. Workflows of the Process. Checkpoints of the Process.
Software Management Disciplines. Iterative Process Planning. Project Organizations and Responsibilities. Process Automation. Project Control and Process Instrumentation. Tailoring the Process. Modern Project Profiles. Next-Generation Software Economics.