RPP 6-7 Flashcards

(30 cards)

1
Q

Što su nefunkcionalni zahtjevi?

A

Nefunkcionalni zahtjevi su
zahtjevi koji opisuju koliko dobro softver radi ono što radi.

  • Takvi zahtjevi čine softversko rješenje upotrebljivim, brzim, stabilnim, sigurnim, jednostavnim za korištenje,jednostavnim za nadogradnju…
  • Definiraju razinu kvalitete koju softver mora ostvariti, pa ih zovemo i zahtjevima kvalitete
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Navesti Važnosti nefunkcionalnih zahtjeva

A

Performanse
Sigurnost
Korisnost
Kompatibilnost
Fleksibilnost
Pristupacnost
Mogucnost oporavka

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

Navedi kvantitativne pokazatelje ispunjenosti NFZ

A

Brzina (Speed) – Vrijeme odziva, broj zahtjeva po sekundi.

Lakoća koristenja - vrijeme obuke

Veličina (Size) – Količina memorije, prostora na disku, broj linija koda.

Pouzdanost (Reliability) – MTBF (Mean Time Between Failures), postotak dostupnosti.

Prenosivost (Portability) – Broj podržanih platformi/sustava.

Robusnost (Robustness) – Broj nepredviđenih pogrešaka pod opterećenjem.

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

Kako su NFZ klasificirani

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
5
Q

Navedi 2 mehanizma za poboljšpanje performansi NFZ

A

Lazy load
Paginacija
Indeksiranje
Asinkrone operacije

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

Objasni važnost pouzdanosti NFZ

A

Sustav će se oporaviti od neočekivanih grešaka bez uzrokovanja neugodnosti za korisnika

zato se rade Exceptioni u try catch

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

Objasni dizajn na razini komponente

A

Dizajn na razini komponente definira
strukture podataka, algoritme, karakteristike sučelja i komunikacijske mehanizme dodijeljene svakoj softverskoj komponenti.

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

Objasni što je komponenta

A

Softverska komponenta je kompozitna jedinica s ugovorom specificiranim sučeljima i isključivo eksplicitnim ovisnostima o kontekstu.

Spajaju se preko sučelja

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

Što je ugovor

A
  • Ugovor - Specifikacija priložena sučelju koja međusobno obvezuje klijente i pružatelje komponenti.
  • Funkcionalni aspekti (API)
  • Preduvjeti i uvjeti nakon operacija navedenih u API-ju.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Objasni ovisnost o kontekstu

A
  • Ovisnosti o kontekstu - Specifikacija okruženja za implementaciju i okruženja za izvođenje
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Objasni neovisnost komponente

A

Komponenta bi trebala biti neovisna –treba ju biti moguće sastaviti i implementirati bez potrebe za korištenjem drugih specifičnih komponenata.

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

Način promatranja komponenata

A
  • Crna kutija
  • Bijela kutija
  • Siva kutija
  • Staklena kutija
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Navedi principe dizajna

A

otvorenosti-zatvorenosti (OCP) - Komponenta bi trebala biti otvorena za proširenje, ali zatvorena za izmjene.

  • Liskovljevkino načelo zamjene (LSP) - potklase bi trebale biti zamjenjive svojim osnovnim klasama
  • Načelo inverzije ovisnosti (DIP) - Ovisite o apstrakcijama. Ne ovisite na konkretnim klasama.
  • Načelo razdvajanja sučelja (ISP) - Mnoga sučelja specifična za klijenta bolji su od jednog sučelja opće namjene
  • Načelo ekvivalentnosti ponovnog korištenja (REP) - Granula ponovne upotrebe je granula oslobađanja
  • Zajednički princip zatvaranja (CCP) – Klase koje se mijenjaju zajedno pripadaju zajedno.
  • Zajednički princip ponovne upotrebe (CRP) - Klase koje se ne upotrebljavaju zajedno ne bi se trebale grupirati zajedno
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Navedi 3 konstrukta komponenti

A

niz, stanje, ponavljanje

temelji za strukturirano programiranje - vazna tehnika projektiranja na razini komponente

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

Što je CBSE - Component based software engineering

A

proces je koji naglašava projektiranje i konstrukciju računalnih
sustava koji koriste višekratne softverske komponente.

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

Objasni inženjergin domene

A

identificirati, konstruirati, katalogizirati i širiti skup softverskih komponenti koje su primjenjive na postojeći i budući softver u određenoj aplikacijskoj domeni.

17
Q

Objasni kvalifikaciju komponente

A

Osigurava da će kandidatska
komponenta obavljati potrebnu funkciju, pravilno će se “uklopiti” u arhitektonskom stilu, te će izložiti tražene karakteristike (npr. performanse, pouzdanost, upotrebljivost)

18
Q

objasni prilagodbu komponente

A

Inženjering domene stvara
biblioteku komponenti koje se lako mogu integrirati u arhitekturu aplikacije

19
Q

3C model komponente

A
  • Koncept: opisuje što komponenta radi
  • Sadržaj: opisuje kako je koncept realiziran
  • Kontekst: postavlja softversku komponentu koja se može ponovno koristiti unutar svoje domene primjenjivosti.
20
Q

Što su sučelja komponenti i navedi 2

A

Uloga:
* Specifikacija pristupne točke
* Zahtijevane funkcionalnosti
* Pružene funkcionalnosti

  • 2 postojeće reprezentacije
  • Najdeskriptivnije
  • Kompaktne
21
Q

Kako su komponente povezane

A
  • Koristi se pojam spojnice
  • Približno opisano, riječ je o načinu da se komponente međusobno povežu i natjeraju da “komuniciraju” putem zahtjeva za uslugama
  • Generalizacija načina komunikacije
  • Klijent-poslužitelj
  • Cijev i filter (pipe and filter)
  • Razmjena poruka
22
Q

Navedi karakteristike komponenti

A

Ugradiva
Postavljiva
Dokumentirana
Neovisna
Standardizirana

23
Q

Što znaci da je komponenta ugradiva

A

Da bi komponenta bila ugradiva, sve vanjske interakcije moraju se odvijati putem javno definiranih sučelja. Osim toga, mora
omogućiti vanjski pristup informacijama o sebi, poput svojih metoda i atributa.

24
Q

Što znaci da je komponenta postavljiva

A

Da bi bila postavljiva, komponenta mora biti samostalna. Mora biti sposobna funkcionirati kao samostalna jedinica na platformi koja osigurava implementaciju modela komponente. To obično znači da je komponenta binarna i da ne mora biti kompajlirana prije implementacije. Ako je komponenta implementirana kao usluga, nije ju potrebno implementirati od strane korisnika te komponente. Umjesto toga, implementira je pružatelj usluge.

25
Što znaci da je komponenta dokumentirana
Komponente moraju biti potpuno dokumentirane kako bi potencijalni korisnici mogli odlučiti odgovaraju li njihove potrebe. Sintaksa i, idealno, semantika svih sučelja komponenata trebaju biti specificirane
26
Što znaci da je komponenta neovisna
Komponenta bi trebala biti neovisna –treba ju biti moguće sastaviti i implementirati bez potrebe za korištenjem drugih specifičnih komponenata. U situacijama gdje komponenta zahtijeva vanjske usluge, to bi trebalo biti eksplicitno navedeno u specifikaciji ulaznih sučelja
27
Što znaci da je komponenta standardizirana
Standardizacija komponenata znači da komponenta korištena u CBSE procesu mora biti u skladu sa standardnim modelom komponenata. Ovaj model može definirati sučelja komponenata, metapodatke komponenata, dokumentaciju, sastavljanjei implementaciju
28
objasni kompoziciju komponenti
* postupak integriranja komponenti jedna s drugom * dokumentacija komponente koristi se za odlučivanje jesu li sučelja semantički kompatibilna
29
Kad su sucelja nekompatibilna, navedi vrste
* Nekompatibilnost parametara Operacije na svakoj strani sučelja imaju isto ime, ali su im tipovi parametara ili broj parametara različiti. * Nekompatibilnost operacija Nazivi operacija u sučeljima "pruža" i "zahtjeva" su različiti. * Neispunjenost operacija Izlazna sučelja (engl. provides) komponente je podskup ulaznih sučelja (engl. requires) druge komponente, ili obrnuto.
30
Kako rijesiti problem nekompatibilnosti sucelja
* problem nekompatibilnosti može se riješiti pisanjem adaptera koji usklađuje sučelja dviju komponenti