Predavanje 04 Flashcards

(60 cards)

1
Q

Proces programskog inženjerstva - definicija

A

Strukturirani skup aktivnosti koji čini okvir neophodan za izvođenje sustavnog plana razvoja i oblikovanja programske potpore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Generičke aktivnosti procesa PI

A

-specifikacija
-oblikovanje i implementacija
-validacija i verifikacija
-evolucija

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Što je model procesa PI?

A

apstraktna reprezentacija procesa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Specifikacija (PI) - definicija

A

proces određivanja potrebnih usluga i ograničenja u radu i razvoju sustava, određuje se procesom inženjerstva zahtjeva, rezultira dokumentom u kojem se navode potrebne usluge i ograničenja u radu i razvoju sustava

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Generičke aktivnosti procesa inženjerstva zahtjeva

A

-studija izvedivosti
-izlučivanje i analiza zahtjeva
-specifikacija zahtjeva
-validacija zahtjeva
-rukovanja promjenama u zahtjevima

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Oblikovanje i implementacija (PI) - definicija

A

proces preslikavanja specifikacije u stvarni sustav

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Oblikovanje programske potpore - definicija

A

oblikovanje strukture sustava koja realizira specifikaciju

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Implementacija (PI) - definicija

A

preslikavanje strukture u izvršni program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Na čemu se temelji oblikovanje arhitekture

A

na neformalnoj analizi i primjeni dobre inženjerske prakse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Sistematski pristup oblikovanju programskog proizvoda provodi se na temelju

A

odabrane arhitekture

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Implementacija programskog proizvoda - definicija

A

preslikavanje dokumentiranog oblikovanja u program i otklanjanje pogrešaka u programu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Validacija programskog proizvoda - pitanje

A

Are we building the right system?
-zadovoljava li sustav funkcijske zahtjeve
-provodi se ispitivanjem sustava

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Verifikacija programskog proizvoda - pitanje

A

Are we building the system right?
-zadovoljava li sustav zahtjeve na ispravan način
-uključuje provjeru programa radi otklanjanja pogrešaka

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Lehmanovi ‘zakoni’ evolucije

A

-programska potpora mora se stalno mijenjati ili propada
-povećanje složenosti ograničava rast
-programska potpora mora stalno rasti i razvijati nove funkcionalnosti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Modeli procesa PI - nabroji

A

ad hoc, vodopadni, prototipni, evolucijski, inkrementalni, spiralni, unificirani, ubrzani razvoj

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ad hoc / oportunistički model - definicija

A

tim počinje izradu programske potpore bez strukturiranja skupa aktivnosti na projektu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Ad hoc model - nedostaci

A

-dolazi do brze istrošenosti / propadanja
-nema mogućnosti ocjene napretka, rizika i kvalitete
-trošak razvoja i održavanja

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Vodopadni model - procesne faze

A

-analiza zahtjeva
-oblikovanje sustava
-implementacija i ispitivanje modula
-integracija i ispitivanje sustava
-rad sustava i održavanje

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Vodopadni model - temeljna značajka

A

pojedina faza se mora dovršiti prije pokretanja nove faze

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Vodopadni model - prednosti i nedostaci

A

-p : zahtjevi poznati prije oblikovanja, rijetko dovodi do pogrešaka
-n : nije pogodan za složene projekte, teško ugraditi promjene, prikladan samo ako su zahtjevi dobro razumljivi i eventualne promjene svedene na minimum

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Evolucijski model - definicija

A

uključuje iterativni i inkrementalni pristup
cjelokupni ciklus aktivnosti ponavljaju se za svaku novu verziju programske potpore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Oblici evolucijskog modela

A

-metoda odbacivanja prototipa
-istraživački razvoj i oblikovanje

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Metoda odbacivanja prototipa

A

koristi se prototip za razjašnjavanje zahtjeva, ali se na kraju ne koristi za završni projekt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Istraživački razvoj i oblikovanje

A

kontinuiran rad s kupcem, na temelju inicijalne specifikacije gradi se prototip koji se unaprjeđuje

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Prototipni model - definicija
vrsta razvoja koja stavlja naglasak na razvoj prototipova rano u razvojnom procesu kako bi se dobila rana povratna inf
26
Evolucijski model - problemi
-proces razvoja i oblikovanja nije jasno vidljiv -sustavi često loše strukturirani -često potrebne posebne vještine -klijent vjeruje da je prototip gotov proizvod
27
Evolucijski model - primjenjivost
-mali i srednji interaktivni sustavi -dijelovi velikih sustava -sustavi kratkog vijeka trajanja
28
Dva međuovisna pristupa iteracijama
-inkrementalni pristup -spiralni razvoj i oblikovanje
29
Inkrementalni pristup - značajke
-sustav se ne isporučuje u cjelini -zahtjevi se svrstaju u prioritetne cjeline -s početkom razvoja inkrementa njegovi se zahtjevi fiksiraju -tijekom razvoja inkrementa može se proći kroz nekoliko iteracija
30
Inkrementalni razvoj - prednosti
-kupac dobiva vrijednost svakim inkrementom -funkcionalnost se ostvaruje u raznim fazama -rani inkrementi kao prototipovi -manji rizik za neuspjeh
31
Spiralni razvoj i oblikovanje - značajke
-proces se predstavlja spiralom, a ne slijedno -svaka petlja = faza procesa -nema fiksnih faza -kombinira ideju inkrementalnog razvoja sa vodopadnim modelom
32
Sektori u spiralnom modelu
-postavljanje ciljeva -procjena i smanjivanje rizika -razvoj i validacija -planiranje
33
Spiralni model - prednosti i nedostaci
-p : iterativna priroda, ali uzima u obzir nejasnoće zahtjeva, smanjuje rizik razvoja, preglednost projekta, razvoj se može podijeliti na manje dijelove (raniji razvoj rizičnih dijelova) -n : složen, administrativno opterećenje, zahtjeva poznavanja tehničke analize rizika, nerazumljiv netehničkom rukovodstvu
34
Unificirani proces - definicija
model procesa programskog inženjerstva izveden na temelju jezika za modeliranje UML i pridruženih aktivnosti
35
Unificirani proces - svojstva
priznaje utjecaj korisnika, sugerira evolucijski pristup, podržava OO, prilagodljiv, 3 perspektive : dinamička, statička, praktična
36
The Rational Unified Process (RUP)
promiče više iteracija na pojedinim inkrementima, temelji se na obrascima uporabe, u fokusu je arhitektura sustava, RUP je okosnica procesa za razvoj ili prilagodbu programske potpore
37
Struktura unificiranog procesa
-proces -disciplina -uloga -aktivnosti -artefakt -tijek rada
38
Značaj komunikacije u UP
UP naglašava kontinuiranu komunikaciju s korisnicima u svim fazama, na kraju svake iteracije korisnici mogu predložiti izmjene
39
Faze UP-a
-početak - definira doseg projekta, rezultira dokumentom visoke razine apstrakcije -razrada - svrha razumijevanje domene problema i razvoj arh. sustava, obuhvaća plan projekta, specifikaciju značajki, temeljne arhitekture sustava i utvrđivanje rizika -izgradnja - razrada preostalih zahtjeva, inkrementalna izgradnja proizvoda, pažljivo planiranje -prijenos - instalacija korisnicima
40
Dvije dimenzije procesa UP
horizontalna - dinamika, vertikalna - statika
41
Ključne točke UP-a
Između dvije susjedne faze, označavaju što treba biti napravljeno na kraju faze prije prijelaza na sljedeću
42
UP i obrasci uporabe
UP se zasniva na obrascima uporabe, obrasci povezuju sve aktivnosti, pokreću brojne aktivnosti i sinkroniziraju sadržaj različitih modela
43
UP : Arhitektura sustava
arhitektura programske potpore je struktura ili strukture sustava koji sadrži elemente, njihova izvana vidljiva obilježja i odnose među njima, arhitektura sadrži skup pogleda u modele
44
Najbolja praksa svojstvena UP
1. iterativan razvoj 2. upravljanje zahtjevima 3. uporaba komponentno zasnovane arhitekture 4. vizualno modeliranje (UML) 5. kontinuirana verifikacija kvalitete 6. upravljanje promjenama programske potpore
45
Agilni razvoj - definicija
grupa metoda za razvoj programske potpore kojima je zajednički iterativni razvoj uz male inkremente te koje podržavaju brzi odziv na korisničke zahtjeve
46
Načela agilnog razvoja
1. zadovoljstvo kupaca kroz ranu i neprekidnu isporuku 2. otvorenost prema zahtjevima za promjenom 3. često isporučivanje inačica 4. kontinuirana suradnja 5. motivirani pojedinci uz puno povjerenje su okosnica projekta 6. izravna komunikacija 7. program je mjera napretka 8. održivi razvoj 9. kontinuirana usmjerenost na tehničku izvrsnost i dobro oblikovanje 10. jednostavnost 11. samoorganizirajući timovi 12. redovita prilagodba promjenama za povećanu produktivnost
47
Ekstremno programiranje XP
vrsta inkrementalnog postupka razvoja i isporuke, bazira se na isporuci vrlo malih inkremenata, kontinuirano poboljšanje koda
48
Dobra praksa XP
planiranje rada ( engl . user stories, plannin mala izdanja ( engl . small releases, building blocks jednostavni projekti ( engl . simple design automatsko testiranje ( engl . testing kontinuirana integracija ( engl . continuous integration prepravljanje postojeće inačice ( engl . refactoring programiranje u paru ( engl . pair programming kolektivno vlasništvo engl . collective ownership 40 satni tjedan ( engl . 40 hour workweek kupac u timu ( engl . on site customer standardi kodiranja ( engl . coding standard terminologija ( engl . metaphor, standardized naming schemes
49
Prednosti agilnog razvoja
-pogodan za srednje velike projekte -brzi odgovor na zahtjeve korisnika -iterativnost -kvaliteta osigurana stalnim ispitivanjem
50
Nedostaci agilnog procesa
-teško primjenjivo na velike projekte -potrebno isustvo -veća cijena programiranja u paru -izrada kvalitetnih ispitnih scenarija zahtjeva posebne vještine
51
Što je SCRUM
radni okvir za projekte strukturiran da podrži razvoj složenih proizvoda, utemeljen na empirizmu, koristi iterativni, inkrementalni pristup za optimizaciju i kontrolu rizika, sastoji se od timova, agilni pristup
52
Elementi SCRUM-a
tim, događaji, artefakti
53
Scrum tim - uloge
1.vlasnik proizvoda (product owner) - zaostaci 2.razvojni tim (development team) - razvijaju i isporučuju inkrement 3.vođa Scruma (Scrum master) - stvara okolinu za tim i organizira sastanke
54
Sprint - definicija i elementi
-kontejner za događaje, 2 - 4 tjedna - sastanak planiranja sprinta (do 1 dan) - sprint kao posao razvoja s dnevnim Scrumom (15ak min) - revizija sprinta (2 - 4h) -retrospektiva sprinta (1 - 3h)
55
Artefakti Scruma
- projektni dnevnik zaostataka - dnevnik sprinta - skup stavki odabranih za sprint - inkrement - zbor svih stavki završenih tijekom tekućeg i svih prethodnih sprintova
56
Disciplinirana agilna isporuka - ključne značajke
- ljudi prije svega - hibridni razvoj - puni ciklus isporuke - ovisnost o kontekstu - iskoristivo programsko rješenje umjesto funkcionalne programske potpore - samoorganizacija timova, uz upravljanje
57
Kanban - glavne prakse
- vizualizacija rada i procesa - ograničavanje količine rada u tjednu - upravljanje tokom procesa - jasna pravila - implementacija povratne veze - zajednička poboljšanja
58
Kontinuirana integracija (CI) - definicija
razvojna praksa koja zahtijeva integraciju koda u zajedničko spremište više pita dnevno
59
Kontinuirana isporuka(CD) - definicija
osigurava da se programsko rješenje može pouzdano objaviti u bilo kojem trenutku
60
Virtualni stroj - definicija
računalno okruženje čiji skup resursa i funkcionalnost je izgrađeno iznad nekog drugog programskog okruženja