14
Uvod u razvoj softvera Bosnia Agile Meetup Treća gimnazija Jasmin Heljić Omer Gegić Sarajevo, 05.05.2016

Uvod u razvoj softvera

Embed Size (px)

Citation preview

Page 1: Uvod u razvoj softvera

Uvod u razvoj softvera

Bosnia Agile Meetup

Treća gimnazija

Jasmin Heljić

Omer Gegić

Sarajevo, 05.05.2016

Page 2: Uvod u razvoj softvera

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.

Page 3: Uvod u razvoj softvera

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

Page 4: Uvod u razvoj softvera

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.

Page 5: Uvod u razvoj softvera

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.

Page 6: Uvod u razvoj softvera

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

Page 7: Uvod u razvoj softvera

7 Životni ciklus razvoja softvera (1/3)

Page 8: Uvod u razvoj softvera

8 Životni ciklus razvoja softvera (2/3)

Page 9: Uvod u razvoj softvera

9 Životni ciklus razvoja softvera (3/3)

Page 10: Uvod u razvoj softvera

Tradicionalni pristup10

Page 11: Uvod u razvoj softvera

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

Page 12: Uvod u razvoj softvera

12 Tradicionalno naspram agilno (1/2)

Page 13: Uvod u razvoj softvera

13 Tradicionalno naspram agilno (2/2)

Page 14: Uvod u razvoj softvera

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