RPP 1-2-3 Flashcards

(24 cards)

1
Q

Faze razvoja programskog proizvoda

A

PADITO

Planiranje
Analiza
Dizajn
Implementacija
Testiranje
Odrzavanje

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

Što je Programsko Inžinjerstvo

A

Programsko inženjerstvo je
inženjerska disciplina koja se bavi
svim aspektima razvoja softvera, od
početne konceptualizacije, do
uporabe i održavanja.

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

Značajke dobrog softvera

A
  • korisniku isporučuje željenu funkcionalnost po zahtijevanim performansama
  • održiv (maintainable)
  • pouzdan (dependable)
  • koristan i jednostavan za korištenje (usable).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Krivulja neispravnosti hardvera

A

prikazana je u obliku slova U, što označava kako su u početku vremena male neispravnosti, međutim vremenom
neispravnosti rastu, s obzirom da se hardver troši.

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

Krivulja neispravnosti softvera

A

prikazuje kako je softver osmišljen i razvijen, ali ne proizveden u tvornici te se u pravilu ne može istrošiti. S
obziro na objašnjeno krivulja prikazuje kako s vremenom neispravnosti padaju i postaju konstanta, odnosno dolazi do neispravnosti u
određenom vremenu te se tada reagira i ispravlja neispravnost i tako kontinuirano.

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

Discipline programskog inženjerstva

A

UPNU

  • Uvod u programsko inženjerstvo
  • Pouzdanost i sigurnost softvera
  • Napredno programsko inženjerstvo
  • Upravljanje softverom
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Procesni model

A

Procesni model predstavlja
putokaz za razvoj programskih
proizvoda – definira tijek
aktivnosti, akcija i zadataka, te
stupanj iteracija, rezultate i
organizaciju rada.

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

Navedi Preskriptivni procesni modeli

A

● Evolucijski
● Vodopadni
● Konkurentni
● Inkrementalni

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

Agilni pristup

A

Agilni pristup razvoju softvera utemeljen je na filozofiji koja potiče zadovoljstvo korisnika i ranu inkrementalnu isporuku programskog proizvoda, te podrazumijeva male, ali izrazito motivirane projektne timove, neformalne metode i jednostavnost razvoja

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

12 Agilnih principa vj znati 4 samo

A

1) Rana i kontinuirana isporuka programskog proizvoda
2) Prihvaćanje zahtjeva za promjenom
3) Isporuka funkcionalnog programskog proizvod u kratkim intervalima
4) Svakodnevni timski rad
5) Motivirani pojedinci
6) Komunikacija licem-u-lice
7) Mjerenje napretka
8) Održiv razvoj
9) Tehnička izvrsnost i dobar dizajn
10) Jednostavnost
11) Samoorganizirajući timovi
12) Razmišljanje o načinima postizanja veće učinkovitosti

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

NAbroji Agilne metode

A

Ekstremno programiranje (XP),
Scrum,
DSSD,
Agilno modeliranje (AM),
Agilni objedinjeni proces (AUP)

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

Ekstremno programiranje

A

agilna razvojna metoda koja koristi moćne tehnike i skup pravila za česte isporuke softvera, fokusirajući se na planiranje, dizajn, kodiranje i testiranje kako bi osigurala brz i kvalitetan razvoj

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

Opiši SCRUM

A

Scrum je agilni okvir za razvoj softvera koji koristi skup uzoraka procesa kako bi timovi mogli brzo i prilagodljivo isporučivati proizvode u kratkim vremenskim rokovima, unatoč čestim promjenama zahtjeva i kritičnom poslovanju.

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

Razvojni zadaci SCRUM-a

A

Backlog – Popis svih zadataka i zahtjeva potrebnih za razvoj proizvoda, koji se kontinuirano ažurira i prioritizira.

Sprintevi – Kratki, vremenski ograničeni razvojni ciklusi (obično 1-4 tjedna) u kojima se implementiraju i testiraju zadaci iz backlog-a.

Scrum sastanci – Redoviti timski sastanci (npr. daily stand-up sastanci) na kojima se raspravlja o napretku, preprekama i planovima za daljnji rad.

Demonstracije – Prezentacija dovršenih funkcionalnosti nakon svakog sprinta, gdje tim pokazuje što je razvijeno i dobiva povratne informacije od dionika.

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

3 vrste rizika programskog proizvoda

A

Projektni
Poslovni
Tehnicki

Projektni rizici: odnose se na potencijalne probleme vezane uz budžet, raspored, osoblje, resurse, dionike i zahtjeve, te njihov utjecaj na projekt

Tehnički rizici: obuhvaćaju probleme vezane uz dizajn, implementaciju, sučelje, verifikaciju i održavanje, te tehničke neizvjesnosti i zastarjelosti

Poslovni rizici: odnose se na rizik tržišta, strateški rizik, rizik prodaje, rizik upravljanja i proračunski rizik

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

Dizajn arhitekture softvera

A

Dizajn arhitekture softvera
* Provodi se u ranoj fazi procesa dizajna sustava
* Predstavlja vezu između zahtjeva i samog procesa dizajna sustava
* Često se provodi paralelno s nekim aktivnostima specifikacije
* Uključuje identifikaciju važnih komponenti sustava i njihove povezanosti Strukturiranje sustava

17
Q

Nabroji i objasni slojeve višeslojne aplikacijske
arhitekture

A

Sloj prezentacije
* Prezentacija rezultata obrade korisnicima
* Prikupljanje korisničkih naredbi i ulaznih podataka

  • Sloj obrade (aplikacijski sloj)
  • Sadržava specifičnu funkcionalnost aplikacije (npr. u bankarskom sustavu bi
    to bile funkcionalnosti tipa otvaranja i zatvaranja računa)
  • Sloj upravljanja podacima
  • Upravljanje podacima i bazama podataka
18
Q

Objasnit o otvorenim, zatvorenim i izoliranim slojevima

A

Izoliranost / zatvorenost slojeva nalaže prolazak zahtjeva kroz svaki prethodni sloj do odredišnog sloja
Dodavanje otvorenog sloja kojeg se može preskakati ako ga se pojedini zahtjevi ne tiču

Otvoreni sloj – Omogućuje preskakanje slojeva u višeslojnoj arhitekturi, što znači da komponenta može izravno komunicirati s bilo kojim slojem ispod sebe.

Zatvoreni sloj – Zahtijeva da svaki zahtjev prolazi kroz sve slojeve redom, osiguravajući bolju kontrolu i modularnost, ali smanjujući fleksibilnost.

Izolirani sloj – Ne izlaže svoje funkcionalnosti drugim slojevima, koristi se interno unutar sustava bez direktne komunikacije s ostalim slojevima.

19
Q

Arhitektura tankog klijenta

A

Arhitektura tankog klijenta – klijent je sloj prezentacije, server je sloj obrade i upravljanje podacima
→ koristi se pri migriranju postojećih legacy sustava na klijent-server arhitekturu
→ primjena: sustav intenzivne obrade bez upravljanja podacima, podatkovno intenzivni sustavi s malo ili nimalo aplikacijske
obrade, legacy sustavi u kojima je odvajanje sloja obrade od sloja podataka nemoguće

→ nedostaci: opterećenje servera obradom i opterećenje mreže prijenosom podataka
* Obrada i upravljanje podacima se izvršavaju na serveru
* Prikaz podataka se izvršava na klijentu

  • Legacy sustavi gdje je odvajanje sloja obrade od sloja podataka nepraktično ili nemoguće
  • Sustavi intenzivne obrade bez upravljanja podacima
  • Podatkovno intenzivni sustavi s malo ili nimalo aplikacijske obrade
20
Q

Arhitektura debelog klijenta

A

Arhitektura debelog klijenta – klijent je sloj prezentacije i sloj obrade, server je upravljanje podacima
→ primjenjiva u novim sustavima u kojima su mogućnosti klijenta poznate unaprijed
→ primjena: COTS aplikacije namijenjene klijentima, procesorski zahtjevna obrada, stabilna funkcionalnost i sustav održavanja
→ nedostaci: komplicirana za održavanje, nove verzije aplikacije moraju biti instalirane na sve klijente

21
Q

Navedi uzorke dizajna

A

Lazy load
Singleton
Observer
Factory
MVC

Lazy load
* predstavlja uzorak dizajna koji omogućava odgođeno izvršavanje/učitavanja/dohvaćanje
podataka ili objekata

Singleton
kontrola broja objekata spojenih na bazu

MVC
omogućava implementaciju višeslojne arhitekture

22
Q

Daj 2 primjera mehanizma kako poboljšati Performanse (nefunkcionalni zahtjev)

A

Lazy load (omogućava odgođeno izvršavanje/učitavanje/dohvaćanje podataka, LINQ)
Singleton (kontrola broja objekata spojenih na bazu)
Indeksiranje
Paginacija
Asinkrone operacije

23
Q

Lazy load – objasni

A
  • predstavlja uzorak dizajna koji omogućava odgođeno izvršavanje/učitavanja/dohvaćanje podataka ili objekata
  • specifičan uzorak dizajna za LINQ
  • bitan kod rada s podacima
24
Q
  1. Koji uzorak dizajna ima istu ideju kao i dogadaj u #C
A
  • Observer
  • uzorak dizajna koji omogućava obavještavanje pretplaćenih slušatelja o događaju koji se dogodio
  • kod rada s podacima, važno je obavijestiti objekte da su nastale promjene na podacima i slično