Professional Documents
Culture Documents
Objektno Oorijentisano Programiranje - 9
Objektno Oorijentisano Programiranje - 9
projektovanje
Faze Objektno Orjentisanog
projektovanja
Sprovođenje odgovarajuće analize
Pravljenje opisa sistema
Pravljenje prototipa korisničkog interfejsa
Pronalaženje klasa
Utvrdivanje odgovornosti svake od klasa
Određivanje saradnje između različitih klasa
Pravljenje opšteg modela koji opisuje sistem koji treba
stvoriti
Tok procesa projektovanja
Metoda vodopada.
Oštre granice između različitih faza. Projektovanje se
završava pre faze realizacije, koja se završava pre
faze testiranja, i tako dalje.
Metod brzog stvaranja prototipa,
Dominantan iterativni postupak. U ovim modelima
se, pre završetka faze projektovanja, vrši izvesna
realizacija, kao način da se dokaže valjanost zamisli.
Ispravno je da se prvo uradi potpun i temeljan
projekat, pa da se tek onda pređe na pisanje koda.
Zašto treba težiti ranom pre-
poznavanju zahteva korisnika
U fazi projektovanja, mali su troškovi izmene projekta
ili projektnog zahteva.
U fazi realizacije, znatno su veći izdaci izmene
projekta.
Troškovi izmene projekta, koji se nalazi u fazi
instaliranja, izuzetno su veliki.
Objektno modelovanje
Za manje strukturirane probleme sve češće se
primenjuje Object Orjented Analysis koja se
primenjuje u fazi sistem analize i pravljenja prototipa
korisničkog interfejsa
Osnova premisa objektnog modelovanjaje je da
objekti postoje svuda oko nas.
Objekat
Prema Websterovom rečniku
Objekat je nešto što postoji ili se može videti, dodirnuti
ili na drugi način osetiti.
Dodatak za objektno orjentisano modelovanje
i korisnik o tome, kao i o odgovarajućem ponašanju
treba da čuva podatke.
Nešto se odnosi na tip objekta
Podatak se odnosi na atribute
Ponašanje se odnosi na to šta objekat može da čini i
to korenspodira funkciji nad tim objektom
Opis sistema
Opis sistema je tekstualni dokument koji opisuje ceo
sistem. Utvrdivanje zahteva je osnovni cilj koji treba
postići u fazi analize, medutim, zahtevi nisu
namenjeni široj publici, već samo programerima.
Iz opisa sistema, trebalo bi da shvati čemu je sistem
namenjen, od čega se sastoji i kako radi.
Bez obzira kako je opis sistema napisan, on mora
kratko i jasno objasniti ceo sistem.
Opis sistema sadrži sve podatke koje treba znati o
sistemu. Mnogi kupci šalju zahteve za projekat
proizvođaču (Request For Proposal, RFP). Ovaj
zahtev je sličan opisu sistema, jer detaljno opisuje
kakav sistem kupac želi da kupi.
Ovakav zahtev za projekat kupac šalje mnogim
projektantskim kucama. Oni zatim, proučavaju ovaj
dokument i na osnovu njega vrše razne analize, da bi
na kraju odlučili hoće li poslati ponudu za dati
projekat i sa kojom cenom.
Request For Proposal
Dokument sa zahtevima opisuje šta korisnik očekuje
od sistema..
Opis sistema je običan dokument sastavljen iz
pasusa, dok se zahtevi obično pišu kao zaključci
(nekoliko rečenica) ili spisak stavki. Svaka
pojedinačna stavka predstavlja jedan određeni zahtev
u odnosu na sistem. Zahtevi se dobijaju iz opisa
sistema.
Postoji mnogo razloga zašto su ovi zahtevi najvažniji
deo sistema. Opis sistema može sadržati suvišne i
nevažne informacije. Međutim, zahtevi čine konačnu
predstavu sistema koji treba ostvariti. Svi naredni
dokumenti o razvoju softvera zasnivaju se na
zahtevima.
Razvijanje prototipa korisničkog
interfejsa
Prototip je jedan od najboljih načina da se proveri da
li korisnici i programeri razumeju kako sistem radi.
prototip treba da simulira korisnički interfejs. cime se
stvara predstava čime će raditi i kako će sistem
izgledati.
Većina sistema se pravi u integrisanom razvojnom
okruženju (Integrated Development Environment,
IDE). Ipak, crtanjem ekrana na tabli ili papiru možete
prikazati sve što je najvažnije.
U fazi izrade prototipa, ne morate realizovati logiku
(deo koda koji iza interfejsa obavlja obradu
podataka), U ovom trenutku, najbitniji su predlozi,
mišljenja i kritike korisnika na temu korisničkog
interfejsa
Pronalaženje klasa
Polazeći od zahteva, pravimo spisak klasa tako što
ćemo istaći sve imenice. To su objekti, poput ljudi,
mesta, stvari.
Na kraju ovog postupka, neke klase ćete izbaciti,
druge ćete dodati, a neke ćete menjati u raznim
fazama projektovanja.
Važno je početi od nečega. Iskoristite povoljnu
činjenicu da projektovanje predstavlja iterativan
proces. Kao i u ostalim oblicima stvaranja ideja, od
nečega počinjete, svesni da krajnji ishod može biti
daleko od početnih ideja.
Utvrđivanje odgovornosti svake od
klasa
Odgovornosti klase su podaci koje klasa mora
čuvati i radnje koje klasa mora obavljati?
Na primer, objekat klase Službenik je odgovoran za
izračunavanje plata i prenos novca na odgovarajući
račun. Takođe, ovaj objekat može biti odgovoran za
skladištenje raznih iznosa plata i brojeva računa
različitih banaka.
Utvrđivanje načina saradnje klase sa
ostalim klasama
Većina klasa ne radi u izolaciji. Da bi klasa mogla
ispuniti postavljene zadatke, ona mora sarađivati sa
ostalim klasama. Zato su neophodne poruke. Kada
jedna klasa želi od druge klase da dobije potrebne
informacije, ili želi da joj druga klasa nešto obavi, ona
drugoj klasi šalje poruku.
Pravljenje modela klasa koji opisuje
sistem
Odgovornosti klase
Saradnje te klase
Primer igre ajnc sa kartama
Izjava o zahtevima za sistem
Ova aplikacija treba da imitira igru ajnc.
Zna da li je štih.
Zna da li je as.
Zna da li je džoker
Špil
Mešanje.
JosKarata
Delilac VratiVrednost()
Spil
Dobijanje ukupne vrednosti ruke.
UzmiVrednostRuke
Igrac Ruka
vratiVrednost
Dobijanje vrednosti ruke.
UzmiKartu
Delilac vratiKartu
Spil
Deljenje karte i provera da li je igrač
izgubio
igracBankrotira
Delilac vratiVrednost
Igrac
Vraćanje ukupne vrednosti ruke.
UzmiVrednosRuke
Igrac Ruka
vratiVrednost
Da li igrač želi još karata
josKarata
Delilac D.igrac
vratiVredost()
uzmiVrednostRuke
D.igrac Ruka
vratiVrednost
CRC kartica za klasu karta
Klasa: karta
odgovornost saradanja
Uzmi ime spil
Uzmi vrednost
spil
Klasa: spil
odgovornost saradanja
Resetuj spil delilac
Uzmi velicinu spila karta
Uzmi sledecu kartu
Izmesaj spil
Prikazi spil
delilac
Klasa: Delilac
odgovornost saradanja
Pocni novu igru ruka
Klasa: igrac
odgovornost saradanja
Zeli jos karata Ruka
Uzmi kartu delilac
Pokazi ruku
Uzmi vrednost ruke
ruka
Klasa: ruka
odgovornost saradanja
Vrati vrednost Igrac
Dodaj kartu delilac
Pokazi ruku