Predavanje 05 Flashcards

(59 cards)

1
Q

Arhitektura programa - značajke

A
  • nositelj kvalitete sustava
  • strukturira razvojni projekt
  • ponovno korištenje
  • osnovica za komunikaciju dionika
  • izrađuje se prije detaljne specifikacije
  • obuhvaća formalne opise, alate i tehnike analize
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Arhitektura programske potpore - definicija

A

struktura/e sustava koji sadrži elemente programa, njihova izvana vidljiva obilježja i odnose između njih

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

Od čega se sastoji arhitektura programa?

A

elementi (što), struktura (kako), razlozi (zašto)

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

Komponente arhitekture

A
  • elementi programa (struktura, ponašanje, podaci i procedure)
  • odnosi (unutarnji i vanjski)
  • principi (pravila arhitekture i evolucije)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Što je opis arhitekture?

A

skup dokumentiranih pogleda raznih dionika

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

kako se dokumentiraju pogledi?

A

dijagramima koji opisuju strukturu sustava i sadrži elemente, odnose među njima i vanjski vidljiva obilježja

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

Oblikovanje arhitekture programske potpore - definicija

A

proces identificiranja i strukturiranja podsustava koji čine cjelinu te okruženja za upravljanje i komunikaciju između podsustava

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

Prednosti oblikovanja arhitekture PP

A
  • smanjuje cijenu oblikovanja, razvoja i održavanja prog. proizvoda
  • omogućuje jasno objašnjenje strukture prog. potpore
  • poboljšava kvalitetu proizvoda i dokumentacije
  • otkriva mogućnost za ponovnu uporabu
  • pomaže u određivanju prioriteta
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Osobine arhitekta

A
  • razumije potrebe poslovnog modela
  • svjestan različitih tehničkih pristupa u rješavanju problema
  • vrednuje dobre i loše strane tih pristupa
  • preslikava vrednovan zahtjeve u tehnički opis arh.
  • vodi razvojni tim u oblikovanju i implementaciji
  • koristiti ‘meke’ vještine kao i tehničke vještine
  • njegov pogled na arhitekturu : struktura kao skup implementacijskih zahtjeva, odnosi prog. struktura i okoline
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Konceptualni model arhitekture - elementi

A
  • arhitekturni opis - AD
  • dionik
  • pitanja
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Navedi neke korake oblikovanja arhitekture elemenata

A
  • ustanoviti arhitekturu sustava najviše razine
  • ocijeniti arhitekturu prema kriterijima
  • pretvoriti zahtjeve u arhitekturu
  • oblikovanje sučelja na najvišoj razini
  • oblikovanje dokumenta najviše razine baze podataka
  • dokumentirati preliminarnu korisničku dokumentaciju
  • dokumentirati zahtjeve preliminarnog ispitivanja
  • procijeniti arhitekturu prema kriterijima
  • provesti zajednički pregled
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Klasifikacija modela arhitekture po dosegu

A
  • koncepijska - usmjeravanje pažnje na pogodnu dekompoziciju sustava
  • logička - precizno dopunjena koncepcijska arhitektura
  • izvršna - pridruživanje aktivnosti fizičkom sustavu
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Arhitektonski pogledi - definicija

A

prikaz jednog ili više strukturnih aspekata arhitekture koji ilustrira kako arhitektura rješava jedan ili više problema koje imaju jedan ili više njezinih dionika

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

Arhitektonski pogledi - značajke

A
  • pogledi nisu ortogonalni
  • pogledi su modularni
  • dosljednost između pogleda
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Klasifikacija arhitekturnih pogleda

A
  • statičan strukturni pogled - pogled modula (komp./dekomp. sustava)
  • dinamički procesni izgled - ponašajni (komponente i konektori)
  • pogled alokacije (odnos PP i razvojne okoline)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Pogled komponente i konektori - definicija

A

opisuje ponašanje sustava tijekom izvođenja

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

Komponente - definicija

A

osnovna jedinica izračunavanja i pohrane podataka

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

Konektori - definicija

A

apstrakcija interakcije između komponenata
cjevovodi, repozitoriji, utičice

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

Višestruki pogledi na arhitekturu - nabrajanje

A
  • logički pogled - predstavlja funkc. sustava
  • pogled dekompozicije modula - predstavlja dekomp. sustava na jedinice implementacije
  • pogled komunikacijskih procesa - dretve i sinkronizacija
  • pogled implementacije - kako se program pridružuje sklopovlju
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

4 + 1 pogled arhitekture

A
  • logički pogled - funkc. sustava
  • procesni - opis sustava kroz aktivnosti i komunikacije
  • fizički - topologija sustava na fiz. razini
  • razvojni - programerska perspektiva
  • scenariji - opisuju podskup obrazaca uporabe
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Arhitekturni okvir - definicija

A

unaprijed definirani skup interesa, dionika, gledišta, pogleda i pravila

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

Stil arhitekture programske potpore - definicija

A

familija sustava definirana sličnim oblicima strukturne organizacije

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

Primjeri stilova

A
  • apstrakcija podataka i objektno usmjereni stil
  • protok podataka
  • repozitorij podataka
  • arhitektura zasnovana na događajima
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Apstrakcija podataka i objektno usmjereni arhitekturni stil - definicija

A

temelji se na zatvaranju reprezentacije podataka i pridruženih primitivnih operacija u apstraktan tip podataka (ADT)

25
Apstrakcija podataka i objektno usmjereni arh. stil - pogled na sustav
- sustav je skup objekata u interakciji - objekti međusobno komuniciraju slanjem i primanjem poruka
26
Arhitektura zasnovana na događajima - temeljne značajke
- komponente se međusobno ne pozivaju eksplicitno - neke komponente generiraju signale -> događaje - neke komponente su zainteresirane za pojedine događaje - komponente ne znaju kako će netko reagirati na njihov događaj - asinkrono rukovanje događajima - nedeterministički odziv na događaj - model izvođenja: događaj se javno objavljuje te se pozivaju registrirane procedure
27
MVC obrazac je stilistička varijacija kojeg arhitekturnog stila
arhitektura zasnovana na događajima
28
Arhitektura model - pogled - naglednik
- model - sadrži razrede čiji objekti se obrađuju - pogled - sadrži razrede čiji objekti služe za prikaz podataka - naglednik - sadrži razrede koji upravljaju s pogledom i modelom
29
Aktivnosti u oblikovanju arhitekture
analiza, sinteza i vrednovanje
30
Proces izbora i vrednovanja - definicija
proces donošenja odluka, traži rješenja podproblema u prostoru odluka
31
Zadaće donošenja odluka u oblikovanju
- postavljanje prioriteta sustava - dekompozicija sustava - definiranje svojstava sustava - postavljanje sustava u kontekst - cjelovitost sustava
32
Klasifikacija odluka u oblikovanju
- strukturne odluke - ponašajne odluke - odluke o svojstvima - izvršne odluke
33
Tehnike donošenja odluka
1. pobroji i opiši alternative oblikovanja 2. pobroji prednosti i nedostatke svake alternative u odnosu na prioritete i ciljeve 3. odredi alternative koje su u sukobu s ciljevima 4. odaberi alternative koje najbolje zadovoljavaju ciljeve 5. prilagodi prioritete za daljnje donošenje odluka
34
Što je prostor oblikovanja?
skup svih mogućih rješenja oblikovanja zasnovanih na različitom izboru
35
Opcije za moguće odluke oblikovanja
- prednosti debelog klijenta - širina pojasa, mrežne usluge, itd - prednosti tankog klijenta - jednostavniji klijentski uređaji, održavanje usluga - ostali podproblemi - znanje, cijena, pouzdanost, itd
36
Arhitekturno značajni zahtjevi - definicija
zahtjevi koji imaju daleko dublji utjecaj na arhitekturu sustava (tri stupnja ocjene od dionika - najznačajniji, srednje, manje)
37
Tipovi vrednovanja arhitekture
- tehnički - uporaba metoda analize arhitekturnih kompromisa - ekonomski - metoda analize troškova i dobiti
38
UML proširenja k ADL-u
profili i metamodel
39
Ea - Arhitektura informacijskih sustava velikih organizcija
archimate podupire opis, analizu i vizualizaciju EA kroz poslovnu, primjensku i tehnološku razinu
40
Oblikovanje arhitekture programske potpore obuhvaća
- razdvajanje sustava u podsustave i komponente - proces donošenja odluka kako će ti elementi biti povezani - određivanje međusobne interakcije tih elemenata - određivanje sučelja elemenata
41
Vrste oblikovanja arhitekture
- oblikovanje od vrha prema dolje - prvo najviša razina strukture, a postepeno detalji - oblikovanje od dna prema vrhu - prvo komponente najniže razine pa odluke o integraciji - hibridno oblikovanje - uporaba obje metode
42
Razine zrelosti arhitekture
ništa, početna, u razvoju, definirana, upravljana, mjerena
43
Principi oblikovanja
1. podijeli pa vladaj 2. povećaj koheziju 3. smanji međuovisnost 4. zadrži višu razinu apstrakcije 5. povećaj ponovnu uporabu 6. povećaj uporabu postojećeg 7. oblikuj za fleksibilnost 8. planiraj zastaru 9. oblikuj za prenosivost 10. oblikuj za ispitivanje 11. oblikuj konzervativno 12. oblikuj po ugovoru
44
Podijeli pa vladaj - načini podjele programske potpore
- raspodijeljeni sustavi - podjela sustava u podsustave - podjela podsustava u pakete - podjela paketa u razrede
45
Kohezija - definicija
podsustav ili modul ima veliku koheziju ako grupira međusobno povezane elemente
46
Klasifikacija kohezije
- funkcijska - grupiranje po operacijama - razinska - grupiranje prema pristupu povezanim uslugama - komunikacijska - grupiranje prema mijenjanju istih podataka - sekvencijska - grupiranje procedura koje su povezane (ulaz / izlaz) - proceduralna - grupiranje procedura koje sepozivaju jedna iza druge - vremenska - grupiranje prema istoj fazi rada - korisnička
47
Međuovisnost - definicija
promjene na jednom mjestu zahtijevaju promjene drugdje
48
Klasifikacija međuovisnosti
- međuovisnost sadržaja - komponenta prikriveno mijenja drugu - opća međuovisnost - globalne varijable - upravljačka međuovisnost - izravna kontrola rada druge procedure - međuovisnost u objektnom oblikovanju - tip argumenta je razred - podatkovna međuovisnost - tip argumenta je jednostavan podatak - povezivanje poziva procedura - procedura poziva drugu - međuovisnost tipova - globalno definiran tip - međuovisnost uključivanjem - kada komponenta uključuje datoteke ili pakete - vanjska međuovisnost - ovisnost modula o elementima izvan sustava
49
Zadrži razinu apstrakcije - zašto
omogućava razumijevanje suštine podsustava bez poznavanja nepotrebnih detalja
50
Što su razredi?
podatkovne apstrakcije koje sadrže proceduralne apstrakcije
51
Kako postići mogućnost ponovne uporabe?
oblikovanje sustava tako da sadrži kopče/sučelje koje omogućava dodavanje specifične funckionalnosti
52
Oblikovanje za fleksibilnost - Kako?
aktivno predviđanje buduće moguće promjene i provedi pripremu za njih
53
Oblikovanje za prenosivost - Kako?
omogućiti rad na što većem broju platformi
54
Konzervativno oblikovanje - Kako?
obraditi sve slučajeve u kojima se komponenta može neprikladno upotrijebiti
55
Skup zahtjeva ugovaratelja
- preduvjeti - odgovornost pozivajuće metode - završni uvjeti - pozvane - invarijante - pozvane
56
SOLID
1. Princip jedne odgovornosti - svaki razred u objektno usmjerenom oblikovanju treba implementirati samo jednu odgovornosti te posljedično ima samo jedno izvorište i razlog za eventualnu promjenu njegove specifikacije 2. Princip otvoren - zatvoren - svaki programski entitet treba biti otvoren za izmjene, ali zatvoren za promjene 3. Princip Liskovine supstitucije - svaki objekt u programu treba moći biti zamjenjiv s primjercima njegovih podtipova bez potrebe za izmjenama u programu 4. Princip segregacije sučelja - klijent koji implementira sučelje ne smije ovisiti o metodama koje ne koristi 5. Princip inverzije ovisnosti - rad komponenti više razine ne smije ovisiti o implementacijskim detaljima komponenti niže razine
57
Minimalna dokumentacija arhitekture - elementi
- referentna specifikacije - pregled za upravu - dokumentacija komponenti - specifikacija komponente, sučelja te dijagrami suradnje
58
Struktura dokumenta oblikovanja
- svrha - opći prioriteti - skica sustava - temeljna pitanja - detalji oblikovanja
59
Svojstva dokumentacije
- dobra - ispravna - uspješna