RPP 6-7 Flashcards
(30 cards)
Što su nefunkcionalni zahtjevi?
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
Navesti Važnosti nefunkcionalnih zahtjeva
Performanse
Sigurnost
Korisnost
Kompatibilnost
Fleksibilnost
Pristupacnost
Mogucnost oporavka
Navedi kvantitativne pokazatelje ispunjenosti NFZ
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.
Kako su NFZ klasificirani
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
Navedi 2 mehanizma za poboljšpanje performansi NFZ
Lazy load
Paginacija
Indeksiranje
Asinkrone operacije
Objasni važnost pouzdanosti NFZ
Sustav će se oporaviti od neočekivanih grešaka bez uzrokovanja neugodnosti za korisnika
zato se rade Exceptioni u try catch
Objasni dizajn na razini komponente
Dizajn na razini komponente definira
strukture podataka, algoritme, karakteristike sučelja i komunikacijske mehanizme dodijeljene svakoj softverskoj komponenti.
Objasni što je komponenta
Softverska komponenta je kompozitna jedinica s ugovorom specificiranim sučeljima i isključivo eksplicitnim ovisnostima o kontekstu.
Spajaju se preko sučelja
Što je ugovor
- 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.
Objasni ovisnost o kontekstu
- Ovisnosti o kontekstu - Specifikacija okruženja za implementaciju i okruženja za izvođenje
Objasni neovisnost komponente
Komponenta bi trebala biti neovisna –treba ju biti moguće sastaviti i implementirati bez potrebe za korištenjem drugih specifičnih komponenata.
Način promatranja komponenata
- Crna kutija
- Bijela kutija
- Siva kutija
- Staklena kutija
Navedi principe dizajna
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
Navedi 3 konstrukta komponenti
niz, stanje, ponavljanje
temelji za strukturirano programiranje - vazna tehnika projektiranja na razini komponente
Što je CBSE - Component based software engineering
proces je koji naglašava projektiranje i konstrukciju računalnih
sustava koji koriste višekratne softverske komponente.
Objasni inženjergin domene
identificirati, konstruirati, katalogizirati i širiti skup softverskih komponenti koje su primjenjive na postojeći i budući softver u određenoj aplikacijskoj domeni.
Objasni kvalifikaciju komponente
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)
objasni prilagodbu komponente
Inženjering domene stvara
biblioteku komponenti koje se lako mogu integrirati u arhitekturu aplikacije
3C model komponente
- 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.
Što su sučelja komponenti i navedi 2
Uloga:
* Specifikacija pristupne točke
* Zahtijevane funkcionalnosti
* Pružene funkcionalnosti
- 2 postojeće reprezentacije
- Najdeskriptivnije
- Kompaktne
Kako su komponente povezane
- 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
Navedi karakteristike komponenti
Ugradiva
Postavljiva
Dokumentirana
Neovisna
Standardizirana
Što znaci da je komponenta ugradiva
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.
Što znaci da je komponenta postavljiva
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.