drugi kolokvij Flashcards

(49 cards)

1
Q

Što su nefunkcionalni zahtjevi

A

zahtjevi koji opisuju koliko dobro
softver radi ono što radi

ograničavaju dizajnerski prostor i odluke

Opisuje KAKO softver radi, određuju ju okruženje (legislativa, tehn napredak) i dionici (programeri,
korisnici)

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

Navedi zahtjeve klasifikacije, objasni ih.

A

Zahtjevi sustava – ponašanje softvera u toku izvođenja

Organizacijski zahtjevi – politike i procedure organizacije koje naručuju ili isporučuju

Eksterni zahtjevi – sve što ne proizlazi iz sustava ili dionika

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

Koje su ISO kvalifikacije?

A

Kvaliteta u uporabi – ponašanje u realnoj uporabi iz perspektive korisnika

Kvaliteta proizvoda – karakteristike koje utječu na kvalitetu (stabilnost, sigurnost, pouzdanost…)

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

Od cega se rizik sastoji

A

Rizik = vjerojatnost x ozbiljnost (vjerojatnost je da će failat, ozbiljnost posljedica)

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

Nabroji dimenzije pouzdanosti

A

Dostupnost – sustav dostupan

Pouzdanost – raditi ispravno

Bezbjednost (safety) - neće uzrokovati štetu

Otpornost – nastaviti raditi unatoč greškama ili napadima

Sigurnost (security) – oduprijeti upadima

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

Kakav je to sustav sociotehnicki?

A

sustav koji uz tehničke (računala, oprema) ima netehničke (procesi, pravila) elemente

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

Što je redundancija a što raznolikost?

A

Redundancija – rezervni elementi za kada zakaže primarni element

Raznolikost – da redundantni elementi nisu istog tipa/vrste da ne bi bili onemogućeni zbog iste greške

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

Kakav softverski proces mora biti (5 osobina)

A

Provjerljiv – razumljiv svima i izvan procesa

Raznolik – sadržavati redundantne i raznolike verifikacijske i validacijske aktivnosti

Dokumentiran

Robustan – oporaviti od neuspjeha pojedinačnih aktivnosti

Standardiziran – koristiti skup standarda

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

Dizajn na razini komponente definira:
(4 nabrojat)

A

strukture podataka,
algoritme,
karakteristike sučelja i
komunikacijske mehanizme svake komponente

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

Što je komponenta?

A

Komponenta – kompozitna jedinica s ugovorom sučeljem i eksplicitnim ovisnostima o kontekstu

Komponenta – potvrđuje komponentni model, može se samostalno postaviti, sastavljen bez izmjena

ugovor sučelja = API

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

Nabroji principe dizajna (7)

A

OCP -open close, otvorena za proširenje, zatvorena za izmjene

LSP – potklase zamjenjive svojim osnovnim klasama

DIP – dependency inversion – ovisno o apstrakcijama, ne o konkretnim klasama

ISP – interface separation – bolje mnogo specifičnih nego jedno opće sučelje

REP – reusability equivalency – ponovna upotreba je oslobađanje

CCP – common close – klase koje se mijenjaju zajedno pripadaju zajedno

CRP – common reusability – klase koje se ne upotrebljavaju zajedno ne grupiraju se zajedno

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

Što je inžinjiring odmene

A

Inženjering domene – identificirati, konstruirati i širiti skup komponenti koje su primjenjive na postojeći i budući softver u aplikacijskoj domeni

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

Što kvalificira komponentu?

A

da obavlja funkciju, da se uklapa i ima tražene karakteristikle (performanse,
pouzdanost…)

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

Što je Component Based Software Engineering - CBSE

A

proces je koji naglasava projektiranje i konstrukciju racunalnih sustava koji koriste visekratne softverske komponente.

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

Što su uzorci dizajna

A

Uzorci dizajna na razini komponente pružaju dokazana
rješenja koja se odnose na jedno ili više podproblema

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

Što je low code development

A

programiranje sa jako malo kodiranja, štedi vrijeme, smanjuje troškove, minimalno znanje

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

Navedi primjer no code platforme

A

Oracle apex

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

Što je super aplikacija ?

A

apk koje sadržavaju skup mogućnosti preko kojih se mogu dodati mini aplikacije
REVOLUT

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

Što je API ekonomija

A

organizacije nude digitalne podatke/usluge za besplatno ili naknadu

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

Navedi neke česte vrste API-eva

A

geolokacija, procesiranje slika, strojno učenje

21
Q

Što je Ekonomika programskog inženjerstva

A

grana mikroekonomije, nastoji odrediti troškove, resurse i
trajanje faza razvojnog i životnog ciklusa

22
Q

Nabroji neke Projektne troškove razvoja:

A

projektiranje, programiranje, implementacija, otklanjanje nedostataka,
upravljanje projektom, upravljanje organizacijskim promjenama

23
Q

Koje su metrike slozenosti

A

Količina koda
Funkcionalnost

24
Q

Razlika fizickih i logickih LOC metrika

A

Fizičke LOC metrike – uključuju mrtav kod, komentare, prazne linije, lakse se broje i mogu automatizirati, problematicne kod visih programskih jezika

Logičke LOC metrike – isključuju to sve, teško se automatiziraju i broje, tesko se broje i automatiziraju , mogu prebacit u funkcijske tocke

25
Što su funkcijske točke
Izvana vidljivi parametri složenosti sustava
26
Nabroji metode procjene troškova(8)
1. Algoritamsko modeliranje troškova - cost drivere povezat u neki algoritam da dobijenu cijenu 2. Ekspertna procjena - konzultiramo se sa ekspertima , Delfi metoda 3. Procjena na temelju analogije - iskustva iz proslih projekti 4. Parkinsonov zakon - Cijena je raspolozivi proracun, utrosak resursi resursi koji su na raspolaganju, Nezavršeni poslovi prebacuju se u fazu korištenja i održavanja 5. Cijena koja pobjeđuje - cijena koliko kupac spreman platiti (loše ili za nas ili za kupca), napravimo koliko vremena i resursa imamo 6. Cijena odozgo dolje -> odrede se troškovi najvećih dijelova projekta, ostane malo novaca u budžetu za samo razvijanje komponenti 7. Cijena odozdo gore - obrnuto 8. Metoda funkcijskih točaka - iz vana vidljive elemente ponderiramo
27
Što je polimorfizam
mogućnost izvedenoj klasi objekta korištenje metoda osnovne klase objekta te preoblikovanje i korištenje tih metoda s drugačijom funkcionalnošću
28
Što je učahurivanje/enkapsulacija
Glavni cilj učahurivanja je zaštititi podatke i pružiti kontrolirani način pristupa. Skrivanje unutarnje logike objekta i omogućavanje pristupa samo preko jasno definiranih sučelja public, protected, private
29
Što je nasljeđivanje
klasa objekta niže razine koristi podatke i metode klase objekta više razine, nasljeđivanje je jednosmjerno, a modifikatori pristupa definiraju nasljedivost, ne postoji mogućnost direktnog višestrukog nasljeđivanja
30
Što je Uzorak Meta Language Creation
napisat prompt pomocu posebnih znakova i spec jezika
31
Što je uzorak flipped interaction
da promptiramo AI da on nas pita pitanja kak bi znal kaj treba sve napraviti
32
Što je uzorak cognitive verifier
isto kao flipped interaction ali trebamo mu dati KONTEKST
33
Što je uzorak PERSONA
dok u prompt stavimo mu "ti si doktor sa 10 godina iskustva "
34
Što je uzorak template
u promptu mu velimo kak bi odgovor trebal trebal izgledati u kojem formatu i spec za nasu aplikaciju
35
Što je uzorak visual generator
da AI kreira vizualni sadrzaj neke grafove i tak od prilozene skice
36
Što je uzorak RECIPE
u promptu mu damo tocan slijed koraka za postizanje cilja
37
Nabroji uzorke dizajna
Strategy Provider Lazy load Factory Singleton Observer Model-View-Controller
38
Navedi i opisi uzorke dizajna
Strategy, Provider (kreira infrastrukturu s vanjskim pružateljem usluge * Lazy load (omogućava odgođeno izvršavanje/učitavanje/dohvaćanje podataka, LINQ), * Factory (kreira objekt odgovarajućeg tipa), * Singleton (kontrola broja objekata spojenih na bazu), * Observer (obavještavanje pretplaćenih slušatelja o događaju – promjene na podacima), * Model-View-Controller (omogućava implementaciju višeslojne arhitekture)
39
Nabroji 3 vrste rizika
Projektni Tehnički Poslovni
40
Navedi 4 principa modeliranja
1. Ne kreirajte više modela nego što je potrebno. 2. Težite izgradnji korisnih modela a ne savršenih modela. 3. Izgradite modele koje će biti moguće izmijeniti. 4. Prilagodite modele samom sustavu koji izgrađujete.
41
Navedi 3 zlatna pravila
* 1. Pravilo: Stavite korisnika u kontrolu * 2. Pravilo: Smanjite kognitivno opterećenje korisnika * 3. Pravilo: Budite konzistentni kod definiranja sučelja
42
Prednosti i nedostaci za TOP DOWN
Prednosti: 1. temelji se na dekompoziciji 2. prirodan nacin, često koristi 3. lakse planiranje resursa, 4. jednostavna nadogradnja Nedostaci: 1. vazne odluke odma rano 2. tesko procijenit kad stat s dekompozicijom 3. dupliciranje elemeti dizajna
43
Prednosti i nedostaci BOTTOM UP
Prednosti: 1. temelji na kompoziciji 2. rano pocinjemo sa programiranjem 3. jednostavnije testiranje 4. potice izgradnju ponovo iskoristivih komponenti Nedostaci: 1. zahtjevno 2. tesko procijeniti napredak 3. kasno skuzimo probleme arhitekture
44
Što je diversifikacija a što konvergencija
Diversifikacija– proces generiranja dizajnerskih alternativa (u skladu sa definiranim zahtjevima) Konvergencija– proces evaluacije i odbijanja generiranih alternativa koje ne ispunjavaju nefunkcionalne zahtjeve (npr. radi, ali presporo, nesigurno, nepouzdano…).
45
Navedi i objasni 3 kriterija modeliranja
* Kriterij mapiranja – postoji „original” koji je mapiran na model. * Kriterij redukcije – nisu sve (ali neke obavezno jesu) karakteristike originala mapirane na model. Model je redukcija (apstrakcija) originala. * Kriterij pragmatičnosti – model može zamijeniti original u nekom kontekstu, tj. model je koristan.
46
Što su apstraktne klase
Apstraktne klase se ne mogu instancirati već ih se mora naslijediti. Apstraktna klasa može sadržavati funkcionalnost
47
Opisi debelog klijenta
klijent je sloj prezentacije i obrade, server je upravljanje podacima koristi u novim sustavima gdi unapred znamo mogucnosti klijenta kompliciran za odrzavat, nove verzije moras instalirat na sve klijente
48
Opisi tankog klijenta
klijent je sloj prezentacije, server je sloj obrade i upravljanje podacima koristi kod migriranja legacy sustava na klijent-server arhitekturu nedostaci su opterecenje servera i mreze zbog puno podataka
49
Što je arhitektura a što dizajn?
Arhitektura je globalni opis strukture sustava i to su detalji više razine Dizajn su svi oni manji detalji koji su vazni kako bi sustav funkcionirao i to su detalji nize razine