Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...Positive
Rad objavljen na Infotehu 2014,
Primena ovih metodologija smatra se neophodnim za očuvanje konkurentske prednosti IT kompanija koje se bave softverom i stoga je veoma važno proveriti da li se ove metodologije koriste, u kojoj meri i na koji način, na domaćem tržištu.
Program standardnih treninga kompanije TECOR Lean & Kaizen Consulting. Pored standardnih postoji mogućnost kreiranja treninga potpuno prilagođenih zahtevima i potrebama klijenata.
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...Positive
Rad objavljen na Infotehu 2014,
Primena ovih metodologija smatra se neophodnim za očuvanje konkurentske prednosti IT kompanija koje se bave softverom i stoga je veoma važno proveriti da li se ove metodologije koriste, u kojoj meri i na koji način, na domaćem tržištu.
Program standardnih treninga kompanije TECOR Lean & Kaizen Consulting. Pored standardnih postoji mogućnost kreiranja treninga potpuno prilagođenih zahtevima i potrebama klijenata.
➢ Standard je potvrđen uzorak u odnosu na koji drugi predmeti
mogu da budu mereni ili procenjeni.
➢ Standard je objavljen dokument koji sadrži tehničke
specifikacije ili druge kriterijume neophodne da osiguraju da će
materijal ili metoda dosledno da zadovolji potrebe za koje je
predviđen
INOVA Company Objectives Driver (iCOD) SpecificationsMaksim Sestic
iCOD is a software platform for creating balanced scorecards (BSC). Balanced scorecard is a strategy performance management tool - a semi-standard structured report, supported by design methods and automation tools, that can be used by managers to keep track of the execution of activities by the staff within their control and to monitor the consequences arising from these actions.
Kako identifikovati promenljive? Koji se tipovi promenljivih koriste? Kako se kreirane promenljive dodeljuju aktivnostima? Parametri tranzicija uslovnog grananja
Troslojna arhitektura je generička za višeslojne arhitekture koje postaju opšteprihvaćeni standard.
Koncept distribuiranih softverskih komponenti (CORBA, DCOM, Java Beans) omogućava da se i komponente srednjeg sloja distribuiraju
U njima se različite funkcije srednjeg sloja (“middleware”) raslojavaju, da bi se preko većeg broja slojeva, odnosno većeg stepena indirekcije, omogućila veća modularnost, heterogenost i elastičnost sistema.
Podatak je kodirana činjenica iz realnog sistema, on je nosilac
informacije.
Informacija je protumačeni (interpretirani) podatak.
Interpretacija podataka se vrši na osnovu strukture podataka,
semantičkih ograničenja na njihove vrednosti i preko operacija koje se
nad njima mogu izvršiti.
Model podataka opisuje strukturu nekog
sistema (skup objekata, njihovih atributa i
njihovih međusobnih veza) i njegovu dinamiku
(skup operacija).
➢ Standard je potvrđen uzorak u odnosu na koji drugi predmeti
mogu da budu mereni ili procenjeni.
➢ Standard je objavljen dokument koji sadrži tehničke
specifikacije ili druge kriterijume neophodne da osiguraju da će
materijal ili metoda dosledno da zadovolji potrebe za koje je
predviđen
INOVA Company Objectives Driver (iCOD) SpecificationsMaksim Sestic
iCOD is a software platform for creating balanced scorecards (BSC). Balanced scorecard is a strategy performance management tool - a semi-standard structured report, supported by design methods and automation tools, that can be used by managers to keep track of the execution of activities by the staff within their control and to monitor the consequences arising from these actions.
Kako identifikovati promenljive? Koji se tipovi promenljivih koriste? Kako se kreirane promenljive dodeljuju aktivnostima? Parametri tranzicija uslovnog grananja
Troslojna arhitektura je generička za višeslojne arhitekture koje postaju opšteprihvaćeni standard.
Koncept distribuiranih softverskih komponenti (CORBA, DCOM, Java Beans) omogućava da se i komponente srednjeg sloja distribuiraju
U njima se različite funkcije srednjeg sloja (“middleware”) raslojavaju, da bi se preko većeg broja slojeva, odnosno većeg stepena indirekcije, omogućila veća modularnost, heterogenost i elastičnost sistema.
Podatak je kodirana činjenica iz realnog sistema, on je nosilac
informacije.
Informacija je protumačeni (interpretirani) podatak.
Interpretacija podataka se vrši na osnovu strukture podataka,
semantičkih ograničenja na njihove vrednosti i preko operacija koje se
nad njima mogu izvršiti.
Model podataka opisuje strukturu nekog
sistema (skup objekata, njihovih atributa i
njihovih međusobnih veza) i njegovu dinamiku
(skup operacija).
Potpuna konvencionalna metodologija za specifikaciju
informacionog sistema
. Nastala je kao odgovor na problem neadekvatne
specifikacije zahteva korisnika pomocu klasicnih
sredstava funkcionalne analize
. Daje jasan i detaljan opis sistema, primenom metode
apstrakcije, tako da se sistem na višim nivoima
apstrakcije opisuje opštije, a na nižim detaljno;
. Predstavlja logicku, a ne fizicku specifikaciju procesa -
specifikacija opisuje šta ce buduci sistem raditi i šta ce
pružati korisniku, a ne kako ce biti implementiran;
Informacioni sistem je sistem u kojem se
veze između objekata i veze sistema sa
okolinom ostvaruju razmenom informacija.
Osnovni zadatak informacionog sistema je
prikupljanje, obrada, arhiviranje, analiza i
diseminacija informacija.
Речник података даје опис структуре и садржаја свих токова и складишта података.
Без обзира шта ток или складиште података представљају:
папирни докуменат,
низ карактера као улаз са терминала,
"пакет" информација добијен телекомуникационом линијом,
картотеку или датотеку.
Dijagram najvišeg nivoa, koji po pravilu sadrži samo jedan proces koji predstavlja ceo IS, zatim spoljne objekte sa kojima IS komunicira i odgovarajuće tokove podataka - naziva se dijagram konteksta
Dijagram prvog nivoa predstavlja dekompoziciju dijagrama konteksta - Procesi se označavaju brojevima 1,2,3, ....
Svaki proces sa dijagrama prvog nivoa se dalje dekomponuje do nivoa zadataka (procesa koji se više ne dekomponuju)
Dijagram dekompozicije prikazuje top-down (sa vrha na dole) funkcionalnu dekomoziciju i strukturu sistema
Pored procesa, mogu se dekomponovati i tokovi i skladišta - njihov opis se detaljno daje u rečniku podataka
Najvažnije pravilo koje se mora poštovati pri dekompoziciji procesa je pravilo balansa tokova!
Ovaj metod je jedan od metoda za funkcionalnu dekompoziciju sistema (funkcija i skupova podataka), odnosno tehnika softverskog inženjerstva koja opisuje sistem kroz hijerarhiju njegovih funkcija.
Sistem koji se dekomponuje opisuje se skupom objekata, događaja i njihovih međusobnih veza, odnosno skupom dijagrama i grafičkim jezikom.
GOOGLE TRANSIT Tamara Andjelkovic prezentacija.pptxVlada Nedic
Google Transit makes trip planning easy for riders with stop, route, schedule and ticket information.
Participating transit agencies can do the following:
*More riders: Google Transit works with an existing trip planner and connects users to a website, which helps new experienced riders discover services.
*World coverage: Google Transit covers transit agencies worldwide. Google Maps supports multiple languages, allowing users to plan trips in their native language without having to learn a new system.
*Free Partner with Google Transit: Participation in Google Transit is available to any agency that provides public transportation services and operates with fixed schedules and routes.
4. 4
Informacioni sistem kao model realnog sistema
REALNI SISTEM
ULAZ IZLAZ
CRNA KUTIJA
OBRADA
ULAZA STANJE IZLAZNA
TRANSFOR
MACIJA
aplikacije
za ažuriranje
BAZA
PODATAKA
generatori
izveštaja
INFORMACIONI SISTEM
5. 5
Modeli razvoja IS
Model životnog ciklusa
Iterativno-inkrementalni model
Prototipski razvoj
Spiralni model
Agilne metode
6. 6
Model životnog ciklusa razvoja IS
Tradicionalna metodologija razvoja velikih
informacionih sistema se oslanja na
organizaciju životnog ciklusa razvojnih
procesa: faze razvoja koje proizvode
informacioni sistem
7. 7
Model životnog ciklusa razvoja IS
(Waterfall)
definisanje
strategije
analiza
postojećeg
stanja
projektovanje
aplikativno
modeliranje
uvodjenje
održavanje
definisanje
strategije
8. 8
Definisanje strategije – procesi:
Definisanje strategije i ciljeva razvoja IS u
skladu sa strategijom i ciljevima preduzeća
Istraživanje savremenih pravaca razvoja
informacionih sistema
Sagledavanje mogućnosti savremenih
informacionih tehnologija
Utvrđivanje mogućnosti primene savremenih
informacionih tehnologija
Definisanje plana razvoja IS
9. 9
Model životnog ciklusa razvoja IS
definisanje
strategije
analiza
sistema
projektovanje
aplikativno
modeliranje
uvodjenje
održavanje
10. 10
Analiza zahteva korisnika
Postupak odozdo-na-gore (bottom-up)
Definisanje zahteva iz dokumenata :
Ulazna dokumenta,
Kartoteke, fascikle (skladišta podataka)
Izlazna dokumenta
Uzorci izveštaja
Organizacioni propisi o načinu rada
Da li postoje i koliko se poštuju
Da li postoji služba interne standardizacije
Da li su definisani normativi rada
11. 11
Analiza zahteva korisnika:
Postupak odozgo-na-dole (top-down)
Definisanje zahteva intervjuom
Pripreme za izvođenje intervjua
Liste rukovodilaca i vremenski raspored intervjua,
Teme za razgovor i potvrda termina,
Izbor opštih pitanja
Sagledavanje poslovanja top menadžmenta
Dekompozicija ciljeva, funkcija, procesa, potreba,
problema, projekata, organizacije, lokacije
Odnosi tima i rukovodioca
Definisanje prioriteta i preporuka
12. 12
Dokumentovanje snimka stanja
Strukturna sistem analiza
Potpuna metodologija za specifikaciju IS.
Predstavlja jasnu grafičku specifikaciju, pogodnu
za komunikaciju sa korisnikom
jasan i detaljan opis sistema (primenom metode
apstrakcije, sistem se na višim nivoima apstrakcije
opisuje jasno, a na nižim detaljno)
logička specifikacija procesa, (kako sistem sada
radi, kako budući sistem treba da radi)
14. 14
Model životnog ciklusa razvoja IS
definisanje
strategije
analiza
postojećeg
stanja
projektovanje
aplikativno
modeliranje
uvodjenje
održavanje
15. 15
Projektovanje
Analiza strukture sistema
Identifikacija procesa u sistemu
Definisanje tokova podataka
Definisanje skladišta podataka
Identifikacija interfejsa koji učestvuju u tokovima
podataka
Izrada modela sistema
Definisanje objekata sistema
Definisanje veza i relacija između objekata
sistema
16. 16
Definisanje načina realizacije informacionog
sistema
Izbor sistemskog softvera
Izbor koncepta skladištenja podataka
Izbor softverskih alata
Utvrđivanje nosilaca realizacije razvoja
Specifikacija potrebnih resursa
Projektovanje
17. 17
Model životnog ciklusa razvoja IS
definisanje
strategije
analiza
postojećeg
stanja
projektovanje
aplikativno
modeliranje
uvodjenje
održavanje
18. 18
Aplikativno modeliranje
Fizička realizacija IS
Generisanje baza podataka
Izrada aplikacija
Programiranje logike aplikacije
Kreiranje grafičkog interfejsa prema korisniku
Definisanje menija, izgleda formi, upita
Definisanje standardnih izveštaja
Testiranje aplikacija
Definisanje rasporeda softverskih komponenti
19. 19
Model životnog ciklusa razvoja IS
definisanje
strategije
analiza
postojećeg
stanja
projektovanje
aplikativno
modeliranje
uvodjenje
održavanje
20. 20
Uvodjenje IS
Postavljanje i fizičko povezivanje opreme
Instaliranje softvera
Instaliranje sistemskog softvera
Postavljanje baze podataka
Instaliranje aplikacija
Inicijalno formiranje baze podataka
Izrada pomoćnih aplikacija za formiranje baze podataka
Prikupljanje podataka za bazu podataka
Unos podataka u pomoćne datoteke
Prečišćavanje i sređivanje podataka
Punjenje baze podataka
Obuka
neposredni korisnici, priprema, operativno rukovodstvo,
top menadžment
21. 21
Model životnog ciklusa razvoja IS
definisanje
strategije
snimanje
postojećeg
stanja
projektovanje
aplikativno
modeliranje
uvodjenje
održavanje
23. 23
Pristup po Modelu životnog ciklusa
U situacijama kada je poželjan:
• predvideti sve mogućnosti sistema odjednom;
• kada je neophodno povući iz upotrebe ceo
zastareli sistem odjednom;
definisanje
strategije
snimanje
postojećeg
stanja
projektovanje
aplikativno
modeliranje
uvodjenje
održavanje
definisanje
strategije
24. 24
Rizici primene Modela životnog ciklusa
kada zahtevi nisu dobro shvaćeni;
sistem je prevelik da bi se sve uradilo odjednom;
očekuju se brze promene u tehnologiji;
postoje brze promene u zahtevima;
ograničeni resursi, npr. ljudstvo/novac.
Postoje faktori rizika koje je potrebno
razmotriti prilikom vrednovanja ovog pristupa:
25. 25
Prednosti pristupa po Modelu
životnog ciklusa
Strogo definisani i kontrolisani proces,
kojeg karakterišu standardizovane i
detaljno opisane aktivnosti u svim fazama
razvoja.
Uključeno testiranje odnosno verifikacija
izvršenih aktivnosti i dobijenih rezultata na
kraju svake faze razvoja.
Detaljna i kvalitetna dokumentacija.
26. 26
Nedostaci modela životnog ciklusa:
“FRONTALNI” PRISTUP- Razvoj sistema u jednom prolazu.
SLABA EFIKASNOST i NISKA EFEKTIVNOST - Dugo
vreme uvođenja i realni rizik da se sistem promeni do
završetka svih faza ciklusa.
NEOTKLANJANJE GREŠAKA -greške koje se ne otklone u
pojedinim fazama razvoja utiču na razvoj u celini.
SAMO POTPUNO GOTOV PROIZVOD JE UPOTREBLJIV.
28. 28
Iterativno -inkrementalni model
Naziva se i „predplanirano poboljšanje
proizvoda“,
Započinje datim skupom zahteva, a razvoj vrši
kroz više etapa.
Prva etapa obuhvata deo zahteva, sledeća
etapa dodaje još zahteva, i tako dalje, dok se
sistem ne završi.
Tokom svake etape, izvršavaju se detaljno
projektovanje inkrementa, aplikativno
modeliranje, softverska integracija i testiranja.
32. 32
Prednosti Iterativno-inkrementalnog pristupa
Prednosti ovog pristupa su u situacijama kada:
potrebno je brzo osposobljavanje sistema;
međuproizvod treba da je raspoloživ za korišćenje;
sistem je prirodno deljiv na inkremente;
obezbeđenje ljudstva/sredstava je inkrementalno.
neke od problema je moguće ostaviti za kasnije
cikluse
33. 33
Rizici Iterativno-inkrementalnog pristupa
ako zahtevi nisu dobro shvaćeni;
kada je poželjno realizovati sve mogućnosti
odjednom;
očekuju se brze promene u tehnologiji;
postoje brze promene u zahtevima;
integracija kreiranih inkremenata;
dugoročno su ograničena sredstava
(ljudstvo/novac).
35. 35
Evolutivni model životnog ciklusa
Evolutivni model životnog ciklusa takođe razvija
sistem kroz etape, ali se razlikuje od inkrementalnog
modela utoliko što podrazumeva da u početku zahtevi
nisu u potpunosti shvaćeni, i da ne mogu biti definisani.
U ovom pristupu, zahtevi se delimično definišu unapred,
a zatim se preciziraju, u svakoj sledećoj etapi.
37. 37
Evolutivni prototipski razvoj IS
Formiranje prvog prototipa na osnovu prioritetnih
zahteva korisnika
Višestruko ponavljanje životnog ciklusa, pri
čemu rezultat svake iteracije predstavlja jedan
relativno mali,korisniku značajan deo projekta.
KRITERIJUM:
Dva do tri meseca razvoja za jedan inkrement
• Jedan inkrement obuhvata samo nekoliko
funkcija
38. 38
Rizici evolutivnog pristupa
Ako su korisniku poželjne sve
mogućnosti odjednom;
Kada je dugoročno ograničeno
obezbeđenje sredstava (ljudstva, novca).
39. 39
Prednosti evolutivnog pristupa
Prednosti ovog pristupa su u situacijama kada je:
potrebno brzo osposobljavanje;
privremeni softverski proizvod raspoloživ za
korišćenje;
sistem je prirodno podeljen na inkremente;
snabdevanje ljudstvom/sredstvima je inkrementalno;
postoje povratne informacije za razumevanje svih
zahteva;
olakšano praćenje promena u tehnologiji.
41. 41
Spiralni model
Spiralni model posmatra razvoj IS u kontekstu
prisutnih rizika tako što kombinuje aktivnosti
razvoja sa upravljanjem rizicima, kako bi se rizici
smanjili i kako bi se lakše kontrolisali.
Ovaj metod kombinuje više prethodno pomenutih
metoda (u svojoj osnovi ima model životnog
ciklusa, kombinovan sa prototipskim i iterativnim
modelom razvoja IS).
Podrazumeva realni sistem čiji informacioni
sistem je moguće nadgrađivati u više prolaza.
42. 42
Spiralni model
2) Planiranje 3) Analiza rizika
4) Projektovanje
inicijalni
snimak zahteva
prvi prototip
6) Evaluacija od korisnika
1) Interakcija
sa korisnikom
5) Implementacija
43. Agilne metode razvoja IS
brz odgovor na promene koje nastupaju u
toku razvoja IS
izbegavanje detaljnog planiranja,
modeliranja i dokumentovanja za koje se
smatra da troše dosta vremena
razvoj se zasniva na direktnoj komunikaciji,
samoorganizaciji, formiranju deljenog znanja
u okviru tima i podsticanju kreativnosti svih
učesnika
43
44. Definisane vrednosti u okviru Agilnih
metoda
Pojedinci i njihove interakcije imaju veću
vrednost od metodoloških procesa i alata.
“Nešto što radi” vredi više od obimne
dokumentacije.
Stvaranje bliske saradnje sa korisnikom vredi
više od pregovaranja oko ugovora.
Reagovanje na promene vredi više od
striktnog praćenja planova.
44
45. Metodologije agilnog razvoja IS
Extreme Programming (XP)-Ekstremno programiranje
Scrum- Skram
Crystal-Kristal
Adaptive Software Development (ASD) - Adaptivni razvoj
softvera
Dynamic Systems Development Method (DSDM)-
Metodologija za dinamički razvoj softvera
Feature Driven Development (FDD)- Razvoj vođen
karakteristikama
Lean Development (LD) – Svedeni (suvi) razvoj
45
46. 46
Model životnog ciklusa razvoja IS
(Waterfall)
definisanje
strategije
analiza
postojećeg
stanja
projektovanje
aplikativno
modeliranje
uvodjenje
održavanje
Predispitne obaveze