Kurs: Alati i metode softverskog inženjerstva

Opis kursa

Ovaj kurs studentima pruža duboko razumijevanje savremenih alata i metodologija softverskog inženjeringa, fokusirajući se na najbolje prakse razvoja softvera, strategije testiranja i arhitektonske obrasce. Studenti će steći praktično iskustvo sa kontrolom verzija softvera, alatima za upravljanje projektima i okvirima za testiranje, osiguravajući da mogu efikasno upravljati softverskim projektima u stvarnim okruženjima.

Alati i metode softverskog inženjerstva

Sa sve većim naglaskom na računalstvu u oblaku, mikroservisima i arhitekturi bez servera, ovaj kurs uvodi napredne principe softverskog inženjeringa bitne za skalabilan i efikasan razvoj aplikacija. Studenti će naučiti da dizajniraju, implementiraju i održavaju moderna softverska rješenja, uključujući infrastrukturu zasnovanu na oblaku i alate za automatizaciju koji se široko koriste u okruženjima vođenim umjetnom inteligencijom i računarskim okruženjima visokih performansi (HPC).

Sadržaj kursa (12 modula)

  1. Alati za softversko inženjerstvo – Uvod u alate za upravljanje projektima i okruženja za razvoj softvera.
  2. Agilni razvoj – Principi i alati za agilno upravljanje projektima i iterativni razvoj softvera.
  3. Arhitektura softvera i kontrola verzija – Osnove obrazaca dizajna softvera i sistema kontrole verzija (npr. Git).
  4. MVC arhitektura – Razumijevanje Model-View-Controller (MVC) i praktična implementacija.
  5. SOLID Principi – Pisanje čistog, održivog i skalabilnog softvera koristeći najbolju praksu u industriji.
  6. Obrasci dizajna koda – Uobičajeni obrasci koji se koriste u strukturiranom i objektno orijentiranom programiranju.
  7. Testiranje softvera – Jedinično testiranje, razvoj vođen testom (TDD) i razvoj vođen ponašanjem (BDD).
  8. Arhitekture zasnovane na oblaku – Uvod u računarstvo u oblaku, tehnologije bez servera i strategije implementacije.
  9. Aplikacije bez servera – Razvoj aplikacija zasnovanih na oblaku koristeći AWS Lambda, autentifikaciju i integraciju baze podataka.
  10. Arhitektura mikroservisa – Dizajn i implementacija aplikacija zasnovanih na mikroservisima.
  11. Sistemi vođeni događajima – Istraživanje izvora događaja i asinhrone obrade u modernim aplikacijama.
  12. Pisanje elegantnog koda – Najbolje prakse za čist kod, refaktoriranje i izradu softvera.

Ishodi učenja

Nakon uspješnog završetka ovog kursa, studenti će moći:

  • Koristite moderne alate za softversko inženjerstvo za upravljanje projektima, kontrolu verzija i saradnju.
  • Primijenite principe softverske arhitekture da dizajnirate skalabilne aplikacije koje se mogu održavati.
  • Razvijte i testirajte softverske aplikacije koristeći jedinične testove, TDD i BDD metodologije.
  • Implementirajte aplikacije zasnovane na Cloud i HPC.
  • Slijedite najbolje prakse kodiranja za pisanje strukturiranog, čitljivog softvera koji se može održavati.