Naziv predmeta KI301 Konstruisanje softvera
Opis predmeta
Konstruisanje softvera je centralna aktivnost razvoja softvera, i ona u zavisnosti od veličine projekta  tipično obuhvata od 30 do 80 % od totalnog vremena potrošenog na projektu. Konstruisanje obuhvata kodiranje, debagovanje (engl. debugging), detaljno projektovanje, konstrukciono planiranje, testiranje jedinica, i integraciju. Zahtevi i arhitektura softvera se urade pre konstruisanja, a sistemsko testiranje posle konstruisanja. Prema tome, termin konstruisanje označava detaljnu izradu tj. neposrednu proizvodnju softvera i predstavlja kombinaciju kodiranja, debagovanja, detaljnog dizajna, jediničnog testiranja, i integracionog testiranja. Detaljno projektovanje  softvera se uglavnom obavlja tokom konstruisanja, iako neki početni detaljni dizajn može biti urađen pre konstruisanja. Ddetaljno projektno rešenje obuhvata projektovanje  klasa i metoda klasa, kao i njihovih interfejsa i njihovih struktura podataka.
Porgram predmeta
Program predmeta obuhvata sledeće nastavne jedinice:
  • Konstrukciono planiranje
  • Kodiranje klasa i klasnih metoda
  • Debagovanje klasa i klasnih metoda
  • Defanzivno programiranje
  • Projektovanje  klasa i klasnih metoda
  • Refaktorisanje klasa i klasnih metoda
  • Konstrukciono testiranje
  • Integracija softvera
  • Konstrukciona merenja
  • Poboljšanje performansi softvera
  • Poboljšanje kvaliteta softvera
  • Kolaborativno konstruisanje
  • Konstrukcioni alati