Upload
bosnia-agile
View
437
Download
3
Embed Size (px)
Citation preview
Uvod u razvoj softvera
Bosnia Agile Meetup
Treća gimnazija
Jasmin Heljić
Omer Gegić
Sarajevo, 05.05.2016
Bosnia Agile2
Bosnia Agile je udruženje za promociju agilnih metoda razvoja softvera i
agilnog upravljanja projektima.
Ideja o osnivanju udruženja u BiH je rođena u novembru 2013, a realizovana
2014.
Bosnia Agile organizuje konferencije, meetupe, treninge i druge događaje s
ciljem afirmacije agilnog pristupa u Bosni i Hercegovini, ali i u regiji.
BA Day je godišnja koferencija koja okuplja priznate agiliste iz cijelog svijeta
i pruža networking, razmjenu iskustava i zanimljiva predavanja svim
učesnicima.
Računarstvo i informatika (1/3)3
Glavna područja računarstva i informatike
Matematičke osnove Matematička logika - Teorija skupova - Teorija brojeva - Teorija grafova - Teorija tipova - Teorija kategorija - Numeričkaanaliza - Teorija informacija - Kombinatorika - Bulova algebra
Teorija računanja Teorija automata - Teorija izračunljivosti - Računarska teorija kompleksnosti - Teorija kvantnog računarstva
Algoritmi Analiza algoritama - Dizajn algoritama - Računarska geometrija
Programski jezici Parseri - Interpreteri - Proceduralno programiranje - Objektno-orijentisano programiranje - Funkcionalno programiranje- Logičko programiranje - Paradigme programiranja
Konkurentni, paralelni, distribuirani sistemi
Multiprocesiranje - Grid računarstvo - Kontrola konkurentnosti
Softverski inžinjering Analiza zahtjeva - Dizajn softvera - Računarsko programiranje - Formalne metode - Testiranje softvera - Processoftverskog razvoja
Sistemska arhitektura Računarska arhitektura – Računarska organizacija – Operativni sistemi
Telekomunikacije iumrežavanje
Računarski audio – Rutiranje – Mrežna topologija - Kriptografija
Baze podataka Sistemi upravljanja bazama podataka (DBMS) – Relacione baze podataka – SQL – Transakcije – Indeksi bazapodataka – Rudarenje podataka
Vještačka inteligencija Automatizirano rezonovanje – Računarska lingvistika – Računarska vizija – Evolutivno računarstvo – Ekspertni sistemi –Učenje mašina – Procesiranje prirodnog jezika - Robotika
Računarska grafika Vizualizacija – Računarska animacija – Procesirane slike
Interakcija čovjek-računar Računarska dostupnost – Korisnički interfejsi – Odijevno računarstvo – Sveprisutno računarstvo - Virtuelna realnost
Naučno računarstvo Vještački život – Bioinformatika – Kognitivna nauka – Računarska hemija – Računarska neuronauka – Računarska fizika– Numerički algoritmi – Simbolička matematika
Računarstvo i informatika (2/3)4
Prosječna neto plata u BiH za februar 2016. iznosi 829 KM (Agencija za
statistiku).
Plate prema podacima Posao.ba:
1. Web dizajner 973 KM
2. PHP programer 1191 KM
3. Java programer 1497 KM
4. Softver inžinjer 1666 KM
5. IT projekt menadžer 1761 KM
Plate u IKT sektoru u Hrvatskoj su za oko 30% veće u odnosnu na prosječnu.
Do 2020. godine u EU će nedostajati milion informatičara.
Računarstvo i informatika (3/3)5
Lista početnih plata
diplomanata u SAD-u
prema fakultetskom
usmjerenju za 2015.
Inžinjerstvo i računarstvo su
najplaćenija zanimanja.
Razvoj softvera
Razvoj softvera - proces nastanka softverskog proizvoda.
Softver je znanje zapisano na specifičan način o izvršavanju određenih
aktivnosti.
Softverski inžinjering - profesija koja se bavi dizajniranjem, implementacijom i
modifikacijom softvera s ciljem isporučivanja kvalitetnog softverskog
proizvoda.
Različiti pristupi razvoju softvera: tradicionalni i agilni.
Predstavnik tradicionalnog pristupa: Waterfall.
Predstavnik agilnog pristupa: Scrum.
6
7 Životni ciklus razvoja softvera (1/3)
8 Životni ciklus razvoja softvera (2/3)
9 Životni ciklus razvoja softvera (3/3)
Tradicionalni pristup10
Individue i interakcije iznad procesa i alata
Funkcionalan softver iznad obimne dokumentacije
Saradnja sa klijentom iznad ugovaranja
Reagovanje na promjene umjesto slijeđenja plana
Agilni manifest11
12 Tradicionalno naspram agilno (1/2)
13 Tradicionalno naspram agilno (2/2)
Razvoj softvera nije isto što i programiranje.
Razvoj softvera je proces koji obuhvata različite faze i
uloge potrebne da se dođe do finalnog proizvoda.
Razvoj softvera je uopšteniji pojam od softverskog
inžinjeringa.
Softverski inžinjering je profitabilna profesija, koja
podrazumijeva sistematičan pristup razvoju softvera.
Različiti pristupi razvoju softvera – tradicionalni i agilni.
Zaključci14