31-49 Flashcards

1
Q

Који су најважнији савремени концепти развоја који су настали из потребе за смањивањем ризика у
развојном процесу

A
  • Inkrementalni razvoj
  • Odredjivanje koraka prema rokovima
  • Pojacana komunikacija medju subjektima
  • U zizi su objekti a ne procesi
  • Pravljenje prototipova
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Објаснити концепт инкременталног развоја

A

Umesto da se razvoj posmatra kao jedna velika celina, sa slooenim
projektom i implementacijom, ta celina se deli u niz inkrementalnih faza. Te faze se nazivaju inkrementi ili ciklusi. Svaki inkrement ima sve osnovne podfaze, kao sto su: analiza zahteva, dizajn, implementacija i testiranje.

Dobit:
- Svaka faza je manja i jednostavnija, cime je pojednostavljeno plani-
ranje i implementacija.
- Veca tacnost planiranja troskova i rokova i tacnije izvestavanje o
toku razvoja.
- Klijent moze da odgovori na svaki napredak.

Rizik:
- Ako u prvim koracima zanemarimo predstojece korake, onda postoji rizik da ce u narednim koracima biti potrebne vece izmene.
- Ako se u prvim koracima uzmu u obzir svi prestojeci, onda postoji
rizik da se njihova slozenost priblizi slozenosti citavog sitema (“na-
duvavanje koraka”), cime ovakav pristup gubi smisao.
- Cesto nije moguce sagledati unapred broj, cenu i ukupno trajanje
svih koraka.

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

Објаснити концепт одређивања корака према роковима?

A

Za svaki inkrementalan korak se prvo odrede budoet i rokovi, a tek
posle toga poslovi koji ce tim korakom biti obuhvaceni.

Dobit:
- Drasticno smanjivanje rizika od prekoraaenja budzeta ili rokova;
- Uspostavljanje ritma redovnog isporucivanja novih verzija sistema;
- Redovnija kontrola kvaliteta i visi stepen poverenja izmedju subjekta;
- Postepeno prilagodjavanje korisnika novim elemetnima sistema.

Mane:
- Uspostavljanje tesnih okvira inkrementalnog koraka moze oterati pojedine korake i podici ukupnu cenu i trajanje razvoja;
- Neki elementi sistema se ne mogu prirodno podeliti u razlicite korake;
- Svaki korak zahteva troskove isporucivanja sto u zbiru moze da po-
stane velika stavka u slucaju velikog broja malih koraka;
- U prvim koracima se obicno biraju poslovi koji donose vecu dobit;
- Pri kraju razvoja postoji rizik da se ne implementiraju poslovi “cija
je cena veca od dobiti” iako su znacajni za sistem kao celinu.

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

Објаснити концепт појачане комуникације међу субјектима?

A

U planiranju (i svakog pojedinacnog koraka) se ukljucuju u razmatranje sve vrste subjekata u sto vecem broju.

Dobit:
- Dobija se tacnija slika o potrebnim ciljevima iz razlicitih uglova;
- Smanjuje se rizik razvoja neupotrebljivog resenja;
- Subjekti se kroz proces razvoja pripremaju za upotrebu.

Mane:
- Previse informacija mooe dovesti do preteranog planiranja, a time i
do “naduvavanja” pojedinacnih koraka.
- Prevelikim razmatranjem misljenja subjekata koji su navikli na postojece procese i ne sagledavaju planirane izmene. Moze se smanjiti obim sustinskih funkcionalnih izmena u okviru koraka, a time i nepotrebno povecati broj koraka da se dode do “konacnog” resenja.

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

Објаснити концепт давања предности објектима у односу на процесе?

A

U srediste paznje se stavljaju objekti pre procesa.

Dobit:
- Objekti su obicno stabilniji od procesa (manje se menjaju i manje
su sanse da se skroz obrisu);
- Prilagodjeniju su inkrementalnom pristupu;
- Smanjuje se rizik od pogresnih odluka u ranijim fazama razvoja (u
ranijim fazama je vise akcenat na objektima, a na kasnijim na pro-
cesima).

Rizik:
- Potpuno zanemarivanje procesa u ranim fazama moze voditi ka pogresnoj arhitekturi sistema sto se kasnije tesko menja;
- Sasvim detaljno razmatranje procesa u ranim koracima moze da dovede do “naduvavanja” koraka.

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

Објаснити концепт прављења прототипова

A

U okviru analize problema se pravi prototip koji odroava nacin funkcionisanja i upotrebe softvera.

Dobit:
- Olaksava se netehnickim subjektima da u ranim fazama razvoja uoce odredjene nedostatke;
- Smanjuje se rizik od pogresnih odluka u ranim fazama razvoja.

Rizik:
- Prototipovi obicno odrazavaju funkcionalne aspekte i elemente korisnickog interfejsa, ali ne i unutrasnju strukturu softvera. Zbog toga su samo delimicno odgovarajuci objektno orijentisanim metodologijama;
- Nedovoljno siroko napravljen prototip i nedovoljno siroko razmatranje prototipa mogu da prikriju nedostatke u drugim aspektima IS;
- Previse paznje posvecene prototipu preti da “naduva” fazu njegove
izrade, kao i da skrene tok razvoja na prototip umesto na sistem kao
celinu.

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

У којим околностима су настале објектно оријентисане развојне методологије?

A
  1. Postojanje metodologija koje strukturirano pristupaju analizi i opi-
    sivanju procesa;
  2. Potreba za strukturiranim opisivanjem podataka;
  3. Potreba za opisivanjem entiteta koji menjaju stanja;
  4. Podizanje nivoa apstraktnosti posmatranja elemenata sistema;
  5. Programiranje upravljano dogadjajima;
  6. Vizuelni korisni£ki interfejsi;
  7. Povecana modularnost softvera;
  8. Skracivanje razvojnog ciklusa;
  9. Tranzicija modela;
  10. Visestruka upotrebljivost softvera;
  11. i drugo . . .

Za razliku od strukturnih, koje su u srediste paznje stavljale uredjivanje procesa i algoritama, objektno orijentisane metodologije u srediste paznje stavljaju uredjivanje objekata kojima se opisuje sistem. Razvoj objektno orijentisanih metodologija je poceo u vreme kada su slabosti prethodnih metodologija bile uglavnom poznate. U njih su ugradjeni neki od predstavljenih savremenih koncepata razvoja.

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

Објаснити основне концепте приступања објектно оријентисаних развојних методологија проблему
развоја.

A
  • U zizu se stavljaju objekti, a ne procesi;
  • Sve objektno orijentisane metodologije se odlikuju skracivanjem trajanja razvojnog ciklusa:
  • RUP (i druge) propisuju inkrementalni razvoj,
  • Agilne metodologije propisuju odredjivanje koraka prema rokovima i troskovima;
  • Pojacana komunikacija medju subjektima u svim fazama.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Шта је објекат? Објаснити својим речима и навести једну од познатих дефиниција.

A

“Objekti imaju stanje, ponasanje i identitet” (Booch, 1994)

Objekat je apstrahcija neceg konkretnog u domenu problema. Ima stanje, ponasanje i znanje (ne mora svo troje). Ima svoj oivotni ciklus:
- Nastajanje
- Postojanje
- Nestajanje

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

Шта је класа? Атрибут? Метод?

A
  • Klasa predstavlja skup objekata koji imaju isto ponasanje (isti skup
    metoda) i isti skup atributa.
  • Metodi su funkcije definisane u okviru neke klase. Skup metoda
    opisuje ponasanje objekta (klase).
  • Atributi su polja klase. Trenutne vrednosti atributa opisuju trenut-
    no stanje objekta.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Који су основни концепти на којима почивају технике објектно оријентисаних методологија?

A
  • enkapsulacija
  • interfejs
  • polimorfzam
  • nasledjivanje
    Nasledjivanje je specijalizacija i generalizacija u hijearhiji klasa. Smanjuje dupliran kod i koristi se za dinamicki polimorfizam.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Објаснити концепт енкапсулације.

A

Ideja je da se podaci i funkcije koje rade sa tim podacima spoje u
jednu klasu. Klasa se deli na javni i privatni deo. Podaci se uglavnom nalaze u privatnom delu, sa izuzecima (javne staticke konstante su relativno prihvatljive). Javne funkcije opisuju klasu i njenu svrhu u okviru modula u kojem se koristi.
Svrha je apstrahovanje strukture metodima i visi nivo medjusobne nezavisnosti klasa od modula u kojem se upotrebljava.

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

Објаснити концепт интерфејса

A

Klasa je opisana korisniku preko javnih metoda klase (plavi, javni deo
kapsule sa slike). Korisnik interfejsa ne mora da zna implementaciju klase da bi je koristio.
Svrha interfejsa je sakrivanje slozenosti implementacije. Sustina objekta je u njegovom ponasanju.
Napomena: Ako objekat ima vise interfejsa, znaci da ima vise funkcija, pa je potrebno razmotriti njegovo razlaganje na vise objekata.

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

Објаснити концепт полиморфизма

A

Poenta polimorfizma je da se jedan kod sto vise puta iskoristi.
Vrste:
- hijearhijski (dinamicki): dobijen kombinacijom dinamickog pove-
zivanja i nasledjivanja;
- parametarski (staticki): sabloni;
- implicitni: retko koji jezici ovo podrzavaju.
Pisemo apstrakniji kod koji ima vecu upotrebljivost.

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

Објаснити концепт наслеђивања и одговарајуће односе

A

Nasledjivanje klase je ekvivalentno uvodjenju jednosmerne parcijalno uredjene relacije “jeste” izmedju klasa.
Klasa A “jeste” klasa B akko svaki objekat klase A ima sve osobine
koje imaju i objekti klase B.
Ako A “jeste” klasa B kaoe se i da je:
- A “izvedena” klasa iz B ili A “je potomak” klase B
- B “osnovna” klasa za A ili B “je predak” klase A
Predstavlja osnovu za gracjenje hijerarhija klasa.
Svrha:
- Nasledjivanje se koristi za eksplicitno oznacavanje slicnosti medju klasama (objektima).
- Predstavlja osnovu za hijerarhijski polimorfizam: ako se to moze uraditi sa svakim objektnom klase B, onda se to moze uraditi i sa svakim objektom klase A koja je izvedena iz B.
Nasledjivanje se posmatra u dva smera, kao specijalizacija ili generalizacija:
- klasa A je poseban (specijalan) slucaj klase B
- klasa B je opstiji (generalan) slucaj klase A

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

Кроз које фазе је прошао развој ОО методологија?

A
  • Pocetni koraci (-1997)
  • Oblikovanje UML-a (1995-2005)
  • Post-UML koraci (2000-)
17
Q

Које су карактериситике прве фазе развоја ОО методологија?

A
  • Veliki broj razli£itih notacija i metodologija
  • Nijedna kompletna i dovoljno siroka
  • Booch, 1991.
  • Coad, Yourdon, 1991.
  • Martin, Odell, 1992
18
Q

Које су карактериситике друге фазе развоја ОО методологија

A
  • Nekoliko dubljih metodologija koncetrisanih na razlicite faze razvoja
  • Pokusaji ujednacavanja notacije
  • Akcenat na notaciji
19
Q

Које су карактериситике треће фазе развоја ОО методологија?

A
  • Ujednacena notacija
  • Siroko shvatanje procesa razvoja
  • Potpuno posvecenje metodologijama
  • RUP i druge savremene metodologije
  • Agilne metodologije