-
Naštej modele razvoja programske opreme
- Tradicionalni modeli- zaporedni (waterfall model)
- - inkrementalni model
- Evolucijski modeli- Iterativni model
- - Prototipni model
- - Spiralni model
- Agilne metode- ekstremno programiranje
- - Scrum
-
Zaporedni model opis
- Je model za razvoj PO
- Vsaka faza mora biti dokončana preden se lahko pomaknemo na naslednjo
- Faze:
- Analiza zahtev
- Načrtovanje sistema
- Implementacija
- Testiranje enot
- Namestitev sistema
- Vzdrževanje
-
Inkrementalni model
 - Začnemo z manjšimi funkcionalnostmi podsistemov in ob vsaki novi izdaji dodajamo nove funkcionalnosti
Z vsako novo izdajo se doda nov podsistem
-
Iterativni razvoj
Cel sistem izdelamo že na začetku in nadgrajujemo funkcionalnosti podsistemov z vsako novo izdajo.
To pomeni da pri Iterativnem imamo že vse podsisteme le nagrajujemo jih
-
Inkrementalni in iterativni
Učinkovita kombinacija
Razdelitev na inkremente, vsak inkrement se izvaja iterativno.
-
Kaj je metodologija in prednost njene uporabe
okvir za strukturiranje, načrtovanje in nadzor nad procesom razvoja programske opreme
- Prednosti uporabe metodologij
- ◦bolj kakovosten končen izdelek
- ◦bolj kakovosten proces razvoja ◦standardizacija poslovanja
- ◦lažje delo s kadri, izobraževanje kadrov
- ◦vtis na naročnika
-
Problem plansko vodenih metodologij
- Dolg življenjski cikel
- Zahtevne za učenje in uporabo
- Preveč dokumentacije
- Težave pri vključevanju sprememb med razvojem
-
Bistvo agilnih procesov
- Bistvo agilnih procesov je ideja o preprostosti ◦nikoli ne proizvedi več, kot je potrebno
- ◦nikoli ne izdeluj dokumentov, ki skušajo predvideti prihodnost
Poudarek je na fleksibilnosti pri hitri izdelavi zmogljive PO
-
Naštej primere agilnih metodologij
- Scrum
- XP - ekstremno programiranje
- AD - Agile Database Techniques
- Agilne tehnike podatkovnih baz
- AM - Agile Modeling
- Agilno modeliranje
- ASD - Adaptive Software Development
- Prilagodljiv razvoj programske opreme
- AUP - Agile Unified Process
- Družina metodologij Crystal
- FDD - Feature Driven Development
- Značilno voden razvoj prog. opreme
- DSDM - Dynamic System Development Method
- Metoda dinamičnega razvoja sistemov
- LSD - Lean Software Development
- Vitek razvoj programske opreme
- TDD - Test Driven Development
- Testno voden razvoj
-
Značilnosti agilnega pristopa
- Inkrementalen, iterativen razvoj
- kratki cikli (več krajših iteracij)
- rezultat vsakega cikla je delujoča koda, ki gre takoj v uporabo
Prototipiranje, ponovna uporaba
- Intenzivno sodelovanje z uporabniki
- stalna komunikacija
- nudi povratne informacije skozi razvojni cikel
- Enostavnost
- metode enostavne za učenje in uporabo
- poenostavitev pri načrtovanju in razvoju
- Prilagodljivost
- sprotno vključevanje sprememb zahtev naročnika
-
Štiri osnovna načela agilnosti
Posamezniki in interakcije
Delujoč program
Vključevanje (sodelovanje uporabnika)
Upoštevanje sprememb
-
12 principov agilnosti
- 1. Zadovoljstvo stranke z zgodnjimi in stalnimi nadgradnjami
- 2. Tudi pozne spremembe zahtev dobrodošle
- 3. Kratka obdobja med izdajami
- 4. Dnevno sodelovanje med poslovnimi uporabniki in razvijalci
- 5. Razvoj zaupamo najbolj motiviranemu posamezniku
- 6. Neposredni pogovor najboljši za posredovanje informacij
- 7. Glavno je da imamo delujoči program
- 8. Vsi udeleženci vzdržujejo stalen tempo razvoja
- 9. Težimo k tehnični odličnosti in dobremu načrtovanju
- 10. Ključna enostavnost
- 11. Najboljše rešitve izhajajo iz samoorganiziranih ekip
- 12. Občasno ekipa oceni svoje delovanje in ga ustrezno popravi.
-
Zakaj načrtujemo projekt
Glavni namen je uskladitev aktivnosti, tako da bo čas trajanja projekta čim krajši, ter da je potrebno število ljudi in stroškov čim manjše.
-
Vrste naćrtovanja
- Plansko vodeno Celotna funkcionalnost določena v naprej
- Agilno
- Programsko opremo dajemo uporabniku v inkrementih
Funkcionalnost ni načrtovana v naprej, določi se med razvojem, kaj se vključi je odvisno od napredka in uporabnikovih prioritet
Mejniki morajo biti jasni
Plan se stalno spreminja
-
Dva pristopa k razvoju programske opreme
Plansko voden pristop ◦ izdelava programske opreme poteka po točno določenem, vnaprej predpisanem postopku ◦ uporaba metodologije ◦ razbitje projekta na zaporedje majhnih, obvladljivih korakov ◦ uporaba diagramskih tehnik ◦ natančno vnaprejšnje načrtovanje ◦ obsežna dokumentacija, slaba odzivnost na spremembe v zahtevah
Agilen pristop ◦ prilagajanje spremembam v zahtevah uporabnika ◦ opuščanje aktivnosti, ki niso nujno potrebne
-
Agilno vodenje projekta
- Sprotno določanje zahtev
- Pogoste spremembe (zahtev in izdelka)
-
Manifest agilnosti
◦pripravila skupina 17 svetovalcev in praktikov ◦ srečanje leta 2001 ◦predpisuje principe in postopke, ki jih morajo upoštevati agilne metode
-
Model procesa razvoja, kaj model procesa sploh pomeni?
Je organiziranje aktivnosti, tako da razvoj naredimo bolj učinkovit.
|
|