DevOps Transformation in BH Telecom – Case Study by Jasmin Ahmetbašić and Edi...
Uvod u razvoj softvera
1. Uvod u razvoj softvera
Bosnia Agile Meetup
Treća gimnazija
Jasmin Heljić
Omer Gegić
Sarajevo, 05.05.2016
2. 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.
3. 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čka
analiza - 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 - Proces
softverskog razvoja
Sistemska arhitektura Računarska arhitektura – Računarska organizacija – Operativni sistemi
Telekomunikacije i
umrežavanje
Računarski audio – Rutiranje – Mrežna topologija - Kriptografija
Baze podataka Sistemi upravljanja bazama podataka (DBMS) – Relacione baze podataka – SQL – Transakcije – Indeksi baza
podataka – 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
4. 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.
5. 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.
6. 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
11. 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
14. 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