Napredni softver inžinjering (ETF RIO NSI 5970)

Opšte informacije

Naziv kursa

Napredni softver inžinjering

Oznaka (šifra) predmeta

ETF RIO NSI 5970

Studij

ETF-B

Odsjek

Računarstvo i informatika

Godina

5

Semestar

9

Tip

Obavezni

ECTS

7

Ukupno sati nastave

70

Sati predavanja

40

Sati vježbi

30

Sati tutorijala

0

Cilj kursa - Znanje i vještine koje treba postići student

  Cilj kursa je upoznavanje sa naprednim metodama i tehnologijama razvoja softverskih sistema. Studenti stiču znanja o razvoju softverskih sistema kombinujući ključne koncepte: komponente, uzorke dizajna, softverske arhitekture. Studenti će u sklopu kursa upoznati sa open source softverskim (OSS) sistemima i projektima njihovog razvoja

Program

  1.Komponente i motivi za realizaciju softvera korištenjem komponenti. Upoznavanje sa savremenim komponentnim modelima (npr. CORBA, JavaBeans) Interfejs komponente i projektovanje komponenti s 'ugovorenim' ponašanjem.
2.Koncept projektnih uzoraka i njihov razvoj od apstraktnog modela u iskoristive softverske komponente.
3.Tumačenje principa i osobina otvorenog i open source softvera. Analiza OSS proizvoda u pogledu njihovih arhitektura, razvoja komponenti, konstrukcije, generisanja i testiranja. Prednosti upotrebe OSS proizvoda.
4.Uloga i značaj koncepta sofverske arhitekture - konkretne i apstraktne - u procesu projektovanja kompleksnih i heterogenih softverskih sistema. Softverske arhitekture bazirane na tehnologiji komponenti.
5.Modelom vođene arhitekture (MDA). Tipovi modela: kompjutaciono neovisan model (CIM), model neovisan o platformi (PIM) i model specifične platforme (PSM). Jezici za opis modela (MOF, UML, OCL). Transformacije modela.
6.Koncepti i alati za opisivanje i modeliranje softverskih arhitektura, tehnike njihove analize i evaluacije. Automatsko generisanje koda na osnovu modela, modelom vođeno programiranje i ekstremno programiranje.
7.Upoznavanje sa tehnikama i metodama razvoja softverskih sistema na bazi koncepta servisa i servisno orijentisane arhitekture (SOA). Integracija MDA metoda kod razvoja servisno orijentisane arhitekture.

Literatura

Obavezna1. Bilješke i slajdovi s predavanja (moci ce se preuzeti na web siteu Fakulteta).
2. E. Gamma, R. Helm, R. Johnson, and J. Vlissides,Design Patterns: Elementes of Reusable Object-Oriented Software, Addison-Wesley, 1995.
Preporučena1. G.T. Heineman, W.T. Councill, Component Based Software Engineering: Putting the Pieces Together, Addison-Wesley Professional, 2001.
2. S.J. Mellor, K.Scott, A.Uhl, D.Weise, MDA Distilled: Principles of Model-Driven Architecture, Addison-Wesley, 2004.
3. A. Hemrajani, Agile Java Development with Spring, Hibernate and Eclipse (Developer's Library), 2006.

Didaktičke metode

  Predavanja. Individualni i timski rad na projektnim zadacima u laboratoriji: projektovanje i implementacija korištenjem metoda, tehnika i alata prateći koncepte uvedene na predavanjima. Testiranje i evaluacija uspješnosti razvijenih primjera.

Način provjere znanja

  Tokom trajanja kursa student prikuplja bodove prema slijedećem sistemu:
- prisustvo satima predavanja, vježbi i tutorijala: 10 bodova, student koji više od tri puta izostane s predavanja,vježbi i/ili tutorijala ne može ostvariti bodove po ovoj osnovi;
- izrada domaćih zadaća: maksimalno 10 bodova; predviđena je izrada od 5 do 10 domaćih zadaća ravnomjerno raspoređenih tokom semestra;
- parcijalni ispiti: dva pismena parcijalna ispita, pri čemu svaki pozitivno ocijenjen parcijalni ispit donosi 20 bodova;
Student koji je tokom trajanja semestra ostvario manje od 20 bodova ponovno upisuje ovaj kurs.
Student koji je tokom trajanja semestra ostvario 40 i više bodova pristupa usmenom završnom ispitu; ovaj ispit sastoji se iz diskusije zadataka s parcijalnih ispita, domaćih zadaća i odgovora na jednostavna pitanja koja se odnose na teme kursa.
Usmeni završni ispit donosi maksimalno 40 bodova. Da bi postigao pozitivnu završnu ocjenu, student na ovom ispitu mora ostvariti minimalno 20 bodova. Student koji ne ostvari ovaj minimum pristupa usmenom dijelu popravnog ispita.
Student koji je tokom trajanja semestra ostvario 20 i više bodova, a manje od 40 bodova, pristupa popravnom ispitu. Popravni ispit struktuiran je na slijedeći način:
- pismeni dio koji je struktuiran na isti način kao i pismeni parcijalni ispit; u okviru ovog ispita student polaže zadatke iz tema za koje nije postigao prolaznu ocjenu (10 i više bodova) polažući parcijalne pismene ispite,
- usmeni dio koji je struktuiran na isti način kao usmeni dio završnog ispita.
Usmenom dijelu popravnog ispita može pristupiti student koji je nakon polaganja posmenog dijela popravnog ispita uspio stvariti ukupan skor od 40 i više bodova; ovaj skor sastoji se od bodova ostvarenih kroz: prisustvo nastavi, izradu domaćih zadaća, polaganje parcijalnih sipita i polaganje pismenog dijela popravnog ispita.
Usmeni popravni ispit donosi maksimalno 40 bodova. Da bi postigao pozitivnu završnu ocjenu student na ovom ispitu mora ostvariti minimalno 20 bodova. Student koji ne ostvari ovaj minimum ponovno upisuje ovaj kurs.

Napomene