Predavanje 06 Flashcards

(36 cards)

1
Q

UML dijagram razreda - elementi

A
  • razred - tip podatka - sadrži atribute i operacije
  • relacije - pridruživanje, generalizacija, ovisnost i realizacija
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Što je razred?

A

jedinica apstrakcije u OO paradigmi koja opisuje sklop objekata sa zajedničkim obilježjima, ograničenjima i ponašanjem

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

UML reprezentacija razreda - pravokutnik koji sadrži

A
  • naziv razreda
  • atributi
  • operacije (metode)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Razred : razine detalja

A
  • konceptualni
  • specifikacijski
  • implementacijski
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Atributi - oblik zapisa

A

[visibility]name[[multiplicity]][:type][=
type][=< default>][{property}]

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

Vrste vidljivosti

A

+ public
- private
# protected
~ package

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

Odgovornost <- operacija <- metoda

A
  • odgovornost - nešto što sustav mora izvršiti, svaki funkcionalni zahtjev je odgovornost nekog razreda
  • operacije - ostvaruju odgovornosti i implementiraju se metodama, oblik zapisa:
    [visibility] name [(parameter list)] [: return type ] operation modifier }]
    parameter-list:==[ direction ] name : type [ = default value direction ::= in |
    out | inout
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Odnosi među razredima

A
  • pridruživanje (asocijacija, agregacija, zadaje se smjer i brojnost)
  • generalizacija
  • realizacija
  • ovisnost
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Pridruživanje i brojnost

A

-brojnost - prikazuje se na krajevima pridruživanja
- moguće imenovati pridruživanje
- naziv uloge
- smjer (jednosmjerna ili dvosmjerna veza)
- višestrukost (1,n1,n1..n2,n1..,0.. ili *)
- može biti refleksivno

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

Agregacija - definicija

A

vrsta pridruživanja koja pokazuje da jedan razred sadrži druge razrede (odnos cjelina - dio)
smjer strelice je od dijela prema cjelini

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

Kompozicija

A

jaki tip agregacije, kod uništavanja objekta uništavaju se i pripadnici agregata

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

Ovisnost

A

najopćenitiji odnos razreda, utjecaj jednog objekta na drugi
stereotipovi: «use», «call», «create», «modifies»
slabije od pridruživanja

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

Generalizacija

A

usmjerena veza od izvedenog razreda (podrazred) prema općenitijem (nadrazred)
veza IS A
npr. jabuka —-> voće

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

Što moramo provjeriti pri korištenju generalizacije?

A
  1. IS A pravilo
  2. Imaju li sve naslijeđene značajke smisla?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Liskovin princip zamjene

A

Ako postoji tip varijabla čiji tip je nadrazred, program se mora korektno izvoditi ako se u varijablu pohrani instanca tog nadrazreda ili instanca bilo kojeg podrazreda

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

Gdje je moguće višestruko nasljeđivanje?

A

u C++, ali ne u Javi ni C#

17
Q

Prednosti generalizacije

A
  • mehanizam apstrakcije pogodan za organizaciju
  • mehanizam ponovne uporabe
18
Q

Nedostaci generalizacije

A
  • razredi nisu samodostatni i ne mogu se razumjeti bez poznavanja nadrazreda
  • nasljeđivanja uočena u fazi analize mogu dati neučinkovita rješenja
19
Q

Sučelje

A
  • opisuje dio vidljivog ponašanja skupa objekata
  • razred koji ga realizira - implements
20
Q

Nasljeđivanje ili realizacija

A
  • generalizacija prikladna podrazredi dijele zajedničke atribute i koriste konkretne metode iz nadrazreda
  • realizacija prikladna ako razredi ne dijele nikakav zajednički kod
21
Q

Nabrajanje

A

oblik tipa podatka koji sadržava uređene parove imenovanih identifikatora i njima pridruženih vrijednosti

22
Q

Parametrizirani razred

A
  • predložak sa generiranje novih elemenata modela iz predloška
  • neophodno povezati sa stvarnim vrijednostima - vezajući odnos dodjeljude vrijednosti parametrima predloška
23
Q

Objektno usmjerena analiza i oblikovanje

A

iterativni i inkrementalni pristup analizi ii oblikovanju sustava primjenom objektno usmjerenih koncepata

24
Q

Aktivnosti u životnom ciklusu

A
  • analiza
  • oblikovanje
  • implementacija
25
Razlika analize i oblikovanja
- analiza : usredotočena na istraživanje i razumijevanje problema, a ne na rješenje - oblikovanje : usredotočeno na razumijevanje koncepta rješenja i dobar naputak za implementaciju
26
Cilj objektno usmjerene analize
obuhvatiti cjelovito i nedvosmisleno zahtjeve sustava te ustanoviti objekte i načine njihove suradnje
27
Koraci objektno usmjerene analize
- oblikovanje obrazaca uporabe - oblikovanje razreda - modeliranje dinamičkog ponašanja
28
Objektno usmjereno oblikovanje
- transformira analitički model oblikovanja koji služi kao podloga za implementaciju
29
Proces razvoja dijagrama razreda - modeli
- istraživački - razredi opisani na koceptualnoj razini - model domene sustava - razredi opisani na razini specifikacije - model sustava - implementacijska razina
30
Oblikovanje razreda - koraci
1. identifikacija razreda 2. određivanje temeljnih odgovornosti razreda 3. dodavanje pridruživanja i atributa 4. poboljšavanje razreda specificiranjem ovisnosti o drugim razredima 5. specifikacija sučelja - ponavljanje postupka
31
Pristup identifikaciji OO elemenata
- klasični pristup - analiza obrazaca uporabe - zajednički obrasci razreda - analiza domene - analiza ponašanja - razred, odgovornosti i suradnje
32
Utvrđivanje razreda - značajke
- dobro oblikovanje obuhvaća i modelira stvarnost - tijekom razvoja korisničkog sučelja ili arhitekture sustava razredi se osmišljavaju - obratiti pažnju na mogućnost ponovne uporabe razreda - težak problem - utvrđivanje granica sustava, analiza domene, dekompozicija sustava
33
Zajednički obrasci razreda
- događaji - organizacija - ljudi - mjesta - opipljive stvari - koncepti
34
Pridruživanje između razreda postoj ako razred
- posjeduje - upravlja - spojen je s - odnosi se prema - dio je od - ima dijelove - član je - ima članove nekog drugog razreda
35
Klasifikacija operacija
- osnovne - konstruktori i destruktori - pomoćne - ne mijenjaju stanje objekta - modificirajuće - utječu na promjenu stanja - operacije pretvorbe - stvaraju objekt drugog tipa - ponavljajuće operacije - obrađuju skupine objekata
36
Načini identificiranja generalizacija
- odozdo prema gore - odozgo prema dole