seminarski rad iz dizain aplikativnog softvera tema je prednosti korišćenja objektno -...

44
UNIVERZITET U NOVOM PAZARU FAKULTET ZA INFORMATIKU I INFORMACIONE TEHNOLOGIJE SEMINARSKI RAD Predmet: Dizain Aplikativnog Softvera Tema: Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera MENTOR STUDENT

Upload: senad-sinanovic

Post on 01-Dec-2015

254 views

Category:

Documents


12 download

DESCRIPTION

Seminarski rad kod Danijele Milosevic, iz Dizajna aplikativnog softvera, za studetne trece godine internacionalnog univerziteta, smer informatika. :D :) :P :D xD :D ^^ (^^^) :$ 31313213

TRANSCRIPT

Page 1: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

UNIVERZITET U NOVOM PAZARU FAKULTET ZA INFORMATIKU I INFORMACIONE TEHNOLOGIJE

SEMINARSKI RAD

Predmet: Dizain Aplikativnog Softvera

Tema: Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera

MENTOR STUDENT

Prof.dr. Danijela Milošević Senad Sinanović

Page 2: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

2

Uvod

Osnova svakog objektno-orijentisanog rešenja je takozvano objektno-

orijentisano modelovanje (OOM), kojim se definiše principijelni postupak rešavanja, ali

takođe i opšte primenljivi mehanizam, ili, bolje rečeno, pogodan matematički opis

problema, koji omogućava formalnu, ali takođe jasnu i preciznu formulaciju problema.

Razvoj i projektovanje softvera brzo je od informatičara nazvan „inženjerstvom” i

mogao se izrazom „programiranje” samo nepotpuno definisati: da bi se došlo do toga

da je softver pravi inženjerski proizvod uporediv sa drugim inženjerskim proizvodima –

na primer, mostom, mašinom, uređajem, i sl. – i da bi se učinilo razumljivim da je

proces stvaranja softvera sličan drugim inženjerskim procesima – na primer procesu

konstruisanja, uveden je izraz „softversko inženjerstvo”.

Ovaj izraz bi trebalo da objasni da softver mora da bude konstruisan po strogo

postavljenim principima i kontrolisan jasno definisanom sistematikom, uz omogućavanje

upravljanja njime. Iako se objektno-orijentisani programski jezici već dugo vreme

upotrebljavaju, iznenađujuće je da je objektno-orijentisano modeliranje, koje je u

suštini koncepcionalna osnova objektnoorijentisanog programiranja, nastalo mnogo

docnije.

UML je zadovoljio sve uslove jednog konzistentnog opisnog matematičkog alata i

podržavao obe oblasti virtuelnog „programiranja”, tehniku analize i dizajna –

projektovanja. Bazirajući se na definisanoj sistematici i formalnoj notaciji, može se

pomoću UML-a od pojedinog problema razviti odgovarajući meta-model (tj. jedan

slikoviti, ali od nepotrebnih detalja abstrahovan model problema), koji se relativno lako,

pošto je konsekventno objektno-orijentisano postavljen, bez značajnijih gubitaka

informacija, pomoću objektno-orijentisanog jezika prevesti u izvršni program.

Page 3: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

3

Striktna konzistentnost objektne orijentacije, od analize preko dizajna do

programiranja, omogućuje čak i automatsko generisanje programskog koda. Tipičan

primer za to je razvojni alat „Together J”, pomoću koga se metamodel razvijen pomoću

UML notacije može automatski prevesti u jezik JAVA i obrnuto.

Osnove dizajna i analize softvera

Dizajn je dvojako definisan, kao “proces koji definiše arhitekturu, komponente, interfejse i druge karakteristike sistema ili komponente” i kao “rezultat tog procesa”. Posmatrano kao proces, dizajn softvera je aktivnost softverskog inženjerstva unutar životnog ciklusa razvoja softvera, gde su softverski zahtevi analizirani sa ciljem da se napravi opis unutrašnje strukture softvera, koji će služiti kao osnova za njegovu izradu.

Tačnije rečeno, dizajn softvera mora opisati softversku arhitekturu, odnosno opisati kako je softver podeljen i organizovan na komponente i interfejse koji povezuju ove komponente.

1.1. Dizajn softvera

Dizajn softvera igra važnu ulogu u razvoju softvera: on dozvoljava softver inženjerima da proizvode razlicite modele kako bi formirali ideju vodilju za rešenja koja ce biti primenjena. Kroz analizu i vrednovanje ovih modela odlucujemo da li ce nam omogiciti da ispunimo razlicite zahteve. Takode, možemo ispitati i vrednovati različita rešenja. Konacno, možemo koristiti vec postojece modele za planiranje sledecih razvojnih aktivnosti, posebno kao ulaznu i pocetnu tacku kodiranja i testiranja.1

Kada je softverski dokument specificiran i kompletan, softver inženjeru je omogućen prelazak u fazu dizajna. Pristupi softverskom dizajnu su učestalo bazirani na top-downmetodu, koji omogućuje uspješnu dekompoziciju problema, raščlanjivanjem u seriju potproblema. Ovo ponavljanje se vrši uspješno, dok svaki potproblem ne bude lakše rešen.

1Saračević ,Objektno - orijentisano programiranje i modelovanje, JAVA i UML. Univerzitet u Novom Pazaru 2011, Novi Pazar

Page 4: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

4

1.2. Strukturna sistemska analiza softvera

Strukturna sistemska analiza (SSA) je jedna potpuna metodologija za specifikaciju informacionog sistema, odnosno softvera. Ona se na različite načine može povezati sa metodama drugih faza u neku specifičnu metodologiju celokupnog razvoja IS. Tako na primer, ona može biti polazna osnova za metodu Strukturnog projektovanja programa, ili projektovanja logičke strukture baze podataka metodom normalizacije, ili se može tretirati kao metodološki postupak dekompozicije nekog sistema na podsisteme sa ciljem da se, nalaženjem modela podataka podsistema i njihovom integracijom, dođe do potpunog modela podataka posmatranog sistema. Upravo zbog mogućnosti njene raznovrsne primene, metoda SSA se ovde tretira kao jedinstvena, samosvojna metoda, dok se u drugim materijalima pokazuje kako se ona koristi u pojedinim koracima standardne metodologije razvoja informacionih sistema. Potpuna, tačna, formalna i jasna specifikacija IS, ili kako se to obično kaže, specifikacija zahteva korisnika, zahteva koje budući sistem treba da zadovolji, predstavlja bitan preduslov za uspešno dalje projektovanje i implementaciju sistema. Očigledno je zbog čega specifikacija IS treba da bude potpuna i tačna. Zahtev da specifikacija bude formalna iskazuje se zbog toga što je formalna specifikacija osnov za "transformaciono" projektovanje i implementaciju, za atomatizovano generisanje baze podataka i programa iz nje, odnosno za korišćenje CASE sistema. Zahtev da specifikacija bude jasna iskazuje se zbog toga što u specifikaciji IS u velikoj meri učestvuju korisnici sitema, ne informatičari, pa jezik specifikacije mora biti i njima prihvatljiv. Originalna SSA čiji su tvorci Yourdon i njegovi saradnici (DeMarco i drugi) poseduje veoma jednostavne, grafičke, pa samim tim i jasne koncepte. Ovde su svi ovi koncepti zadržani, a strožija formalizacija je dodata samo za opis strukture tokova i skladišta podataka, da bi se obezbedio specifičan transformacioni razvoj IS koji Standardna metodologija zagovara.

2. Objektno orijentisna analiza i dizajn

Analiza je istraživanje problema a ne definisanje rešenjaje rešenja. Dizajn ističe ističe logičko rešenje, kako sistem izvršava rešenje.Objektno orijentisana analiza i dizajn omogućava svim učesnicima u razvoju aplikacije da na jednostavan i sveobuhvatan način steknu uvid u analizu i implementaciju konkretnog problema. Shodno tome, javila se potreba za univerzalnim jezikom namenjenim za objektno-orjentisano modelovanje.Rezultat je UML (Unified Modeling Language) univerzalni jezik za modelovanje koji služi za specifikaciju, vizuelizaciju, konstrukciju i dokumentaciju razvoja sistema. Koristi se u različitim fazama razvoja, od specifikacije zahteva do testiranja završenih, gotovih sistema.

Page 5: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

5

2.1. Pojam OO analize

Proces objektno orijentisana analiza (OOA) koriste se za definisanje kljucnih koncepata (kljucnih apstrakcija) i veza izmedju koncepata (mehanizama) vezanih za domen problema modeliranja realnog sistema objekata.Realni sistem objekata i njihove veze modeliraju se predstavljanjem odredjenog broja precizno definisanih koncepata. U softverskom inzenjerstvu, koncepti sluze za formiranje jasnog, preciznog i potpunog modela realnog sistema (njegove specifikacije), kao uslov za implementaciju modela naracunaru.2

3

Za definisanje kljucnih apstrakcija ili koncepata potrebno je uociti termine koji opisuju karakteristicne entitete domena. U okviru aktivnosti Izrada konceptualnog modela definisu se koncepti, asocijacije izme|u koncepata, atributi I recnik podataka. Za radni primer koji se posmatra, kljucne apstrakcije su: Osoba, Isplata, Sertifikat i sifrarnici (slika 2.). Definisan koncept odgovara modelu objekti veze, koji se definise u tradicionalnom postupku modeliranja podataka.Za aktivnost Izrada dijagrama sekvenci potrebno je izvrsiti generisanje I dokumentovanje dijagrama sekvenci za odgovarajuće slucajeve upotrebe po kojima se realizuju interakcije izme|u programskih objekata. Dijagram sekvenci je dobar za shvatanje scenarija u pocetnim fazama razvoja sistema, pre nego sto se uoce protokoli pojedinacnih klasa. Dijagram sekvenci se fokusira na doga|aje, jer se na taj nacin mogu uociti i granice sistema. Treci bitan element je aktivnost Definisanje ugovora o izvrsenju operacija, kojom se defini{u odnosi dva ili vise koncepata, kao i opis interakcija dva ili vise objekata koji kroz tu iteraciju ostvaruju neki od tih zahteva. Identifikovani mehanizmi se koriste u okviru sledece faze, za objektno orijentisan dizajn, kao metoda ili procedura (funkcija clanica buducih klasa). Granica izmedju objektno orijentisane analize (OOA) i objektno orijentisanog dizajna (OOD) pomalo je maglovita. Iako obe analize posmatraju sistem iz razlicitog ugla, izmedju njih dolazi do malog preplitanja. Na slici 2. je prikazano stablo aktivnosti vezano za fazu Objektno orjenitisana analiza.

2 Hartmann, Đorđević, Gocić, Uvod u objektno orijentisano modeliranje (Softverski inženjering).3 [7] Muzafer Saračević, Mašović Sead, Kamberović Hamza: Tehnike Text Mining-a i njihova realizacija primenom objektno-orijentisane analize, 18. telekomunikacioni forum TELFOR 2010.

Page 6: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

6

Slika 2. Stablo aktivnosti faze Objektno orijentisana analiza

Izrada konceptualnog modela Konceptualni model opisuje domen realnog sistema i ne predstavlja model softverskog re{enja. Formalno gledano, koncept je ideja, predmet, objekt I dr. Konceptualni model se u notaciji UML-a opisuje dijagramom klasa bez operacija (sto odgovara modelu “objekti veze”) ili sa samo nekim elementarnim operacijama.Tako se c esto i naziva - dijagram klasa bez operacija.

2.2. Definisanje koncepta

Konceptom se opisuju stvari u realnom sistemu i na osnovu njih se kasnije, u fazi Objekto orijentisanog dizajna, definisu odgovaraju}e klase i objekti koji definisu odgovaraju}a softverska resenja. Koncept se definise preko odgovarajucih simbola, tekstualnog opisa i primera na kojima se koncept primenjuje (slika 3).

Slika 3. Definisanje koncepata

Page 7: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

7

3. UML modelovanje

UML je sistem obeležavanja koji je postao standardan u svetu razvoja sistema.

UML predstavlja kolekciju najboljih uspešnih inženjerskih metoda kojima je, iskustveno dokazano, pojednostavljeno modelovanje velikih i složenih sistema.

3.1. UML (Unified Modeling Language)

UML ili Unified Modeling Language je grafički jezik za vizueliziranje, specificiranje, konstruisanje i dokumentovanje sistema programske podrške koji je postavljen kao standard od OMG-a.

Ako malo fleksibilnije želimo to da objasnimo moramo naglasiti da UML nije programski jezik, to je grafički jezik.Njime nije samo moguće modelovati neki program, već je moguće pratiti razvoj neke građevine, izraditi plan uzgajanja voća u voćnjaku itd.4

Ako napravimo poređenje između građevinara i programera, možemo reći da je UML standardizovani jezik za izradu nacrta programa.5

Postoji sedam ciljeva kojima UML kao jezik teži:

1. Pružiti korisniku brz jezik za vizuelno modelovanje kojim će moći u relativno kratkom vremenu napraviti i razmenjivati modele sa određenim značenjem.

2. Pružiti korisniku mogućnost proširenja i stvaranja specijalizovanih delova.

3. Biti nezavisan od programskih jezika i razvojnih procesa

4 Jon Oldevik, UML Model Transformation Tool- Overview and user guide documentation. umt-qvt.sourceforge.net/docs/UMT_documentation_v08.pdf

5 Muzafer Saračević, Sead Mašović, Primena UML modelovanja i PHP jezika u izradi web aplikacije za e-učenje (Oktobar, 2010). Univerzitet METROPOLITAN - Elektronsko učenje na putu ka društvu znanja 2010, Beograd

Page 8: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

8

4. Pružiti formalne osnove za razumevanje jezika za modelovanje

5. Podsticanje rasta i razvoja objektno orijentisanih programskih jezika

6. Podrška visoko pozicioniranih razvojnih pojmova kao što su saradnja, okvirni rad, uzorci i komponente

7. Integrisanje i nadopunjavanje praktičnim iskustvom.

UML je razvijen sa ciljem da pojednostavi veliki broj objektno orijentisanih razvojnih metoda.

3.2. Struktura UML-a

Da bi lakše razumeli šta je UML i čemu služi moramo znati od čega se on sastoji. UML se sastoji od niza pogleda na arhitekturu (Architectural Views) koji zavise od problema i rešenja, a dele se na:

- Pogled korišćenja (use case view) - Logički pogled (logical view) - Pogled paralelnog rada (concurrency view) - Pogled na komponente (component view) - Pogled postavljanja (deployment view)

Pogled korišćenja -pokazuje problem i rešenje onako kako ga vide oni koji postavljaju problem.

Logički pogled – pokazuje strukturnu dimenziju problema i rešenja Pogled paralelnog rada – pokazuje dimenziju ponašanja problema i rešenja, a naziva se još i dinamički pogled.

Pogled na komponente – pokazuje strukturu i ponašanje realizacije rešenja, a naziva se još i razvojni pogled.

Pogled postavljanja – pokazuje strukturu i ponašanje domena u kome je rešenje ostvareno, a naziva se još i fizički pogled ili pogled na razmeštaj.

Svaki od ovih pogleda opisan je pomoću UML dijagrama. Njih postoji devet, a svaki pogled je opisan sa jednim ili više dijagrama. UML dijagram je grafička prezentacija skupa elemenata.Dijagrami se crtaju kako bi se vizuelizirao sistem iz različitih perspektiva.Za gotovo sve sisteme, osim onih vrlo jednostavnih, dijagrami predstavljaju

Page 9: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

9

poboljšani prikaz elemenata koji č ine sistem.Isti elementi mogu se pojaviti u svim dijagramima.

Teoretski, dijagram može sadržavati bilo koju kombinaciju stvari i relacija u modelu. U praksi, međutim, samo se mali broj kombinacija pojavljuje, i one su konzistentne sa pet najkorisnijih pogleda koje smo prethodno nabrojali.

UML dijagrami:

1. Dijagram slučajeva korišćenja (use case diagram)2. Dijagram klasa (class diagrams)3. Dijagram objekata (object diagrams)4. Dijagram redosleda (sequence diagrams)5. Dijagram saradnje (collaboration diagrams)6. Dijagram stanja (statechart diagrams)7. Dijagram aktivnosti (activity diagrams)8. Dijagram komponenti (component diagrams)9. Dijagram postavljanja (deployment diagrams)

STRUKTURA UML-aModel Driven Architecture (MDA)

UML se može definisati kao grafički jezik za vizuelizovanje, specifikovanje, konstruisanje i dokumentovanje projekata i programa u sistemu u kome se intenzivno primenjuje softver.

Objektno orijentisani (OO) jezici modelovanja nastaju sredinom 1970. i kasnih 1980. Namenjeni su OO analizi i projektovanju. Booch, Jacobson i Rumbaugh su začetnici su tvorci ovog koncepta koji se i dan danas aktivno koristi. Kritičan period za razvoj UML počinje sredinom 1990-tih kada su se ova trojica udružila. Oni su započeli unifakiciju svojih tehnika (metoda) i stvaranje opšteg prihvatljivog jezika.

Rad na UML-u zvanično je započet u oktobru 1994 a prva verzija UML 0.9 objavljena je u junu 1996. nakon koje dobijaju podršku od mnogih istaknutih kompanija (IBM, DEC, HP,Microsoft, Oracle, TI, ...)

UML 1.0 nastaje 1977. i ponuđen je za standardizaciju grupi OMG (ObjectMenagment Group) u januaru 1977.

Nove firme se pridružuju podršci UML-u i u junu 1977. nastaje verzija UML 1.1. Od novembra 1977. održavanje UML-a preuzima OMG-ova grupa za reviziju RTF (Revision

Page 10: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

10

Task Force) i u junu 1998. objavljuje verziju UML 1.2, a iste godine u jesen 1998. RTF objavljuje verziju UML 1.3. Prve značajnije razlike pojavljuju se u verziji UML 1.4. iz 2001. koja je kasnije poslužila kaoosnova za UML 2.0 koji je konačno oformljen 2003.

UML omogućava da se specifikuju, vizuelizuju i dokumentuju modeli softverskih sistema (uključujući njihovu strukturu i dizajn) u skladu sa postavljenim zahtevima. (Mogu se modelirati i nesoftverske aplikacije.) UML je nezavisan od metodologije koja se koristi za skupljanje i analizu aplikacionih zahteva, takođe je nezavisan od platforme za koju se vrši modelovanja iako se može povezati sa konkretnim platformama.

UML je usko povezan sa: Model Driven Architecture (MDA) na kome je i baziran.

Da bi se razumeo UML zahteva se poznavanje:

• osnovnih blokova za izgradnju UML-a;

• pravila za spajanje blokova u celine;

• opših mehanizama koji se primenjuju u UML-u.

Šta možemo uraditi pomoću UML-a?

UML 2.0 definiše 12 tipa dijagrama podeljena u 3 kategorije:

1. Strukturni dijagrami (4 tipa dijagrama) (klasni, objektni, komponentni i razvojni) 

2.Dijagrami ponašanja (5 vrsta dijagrama) (case-dijagrami, sekvencni, dijagrami aktivnosti, kolaboracioni i dijagrami stanja)

3.Dijagrami upravljačkih modela (3 tipa dijagrama) (paketi, (podsistemi i modeli)).

4. Statički, dinamički i fizički model sistema

UML je sredstvo modeliranja koje je upotrebljivo i za čoveka i za mašinu i da se uspostavi eksplicitna veza između koncepata i izvršnog koda.Takodje cilj je da se predstavi kompletan sistem, ne samo softverski deo, korišćenjem objektno-orjentisanih koncepata. Analiza i rešavanje problema na ovakav način ima mnoge prednosti.

UML standard koji se primenjuje kod objektno orijentisanog pristupa predviđa odgovarajuće poglede na sistem, s tim što se u svakom pogledu sistem može opisati sa

Page 11: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

11

statičkog (strukturnog) i dinamičkog aspekta. Koristi se za konstrukcija software-a kod koga treba odraditi plan ,nudi mogućnost vizualizacije u više dimenzija i nivoa detalja i prikladan je za nadogradnju nasljeđenih, starih sistema. Klasa predstavlja skup atributa i operacija kojima se opisuje struktura i ponašanje objekata posmatrane klase.

4.1. Statički model sistema

Statičkim modelom opisuju se entiteti sistema.Dijagram klasa i dijagram objekata su dijagrami pomoću kojih se prikazuje statička struktura sistema. Entiteti i veze između njih predstavljeni su klasama i vezama između klasa prikazanim na dijagramu klasa.

Statički : Dijagram slučajeva korišćenja (Use-Case Diagrams)

Dijagrami klasa i objekata (Class & Object Diagrams)

4.2. Dinamički model sistema

Dinamičkim modelom se opisuju karakteristike sistema, odnosno pojedinačno ponašanje objekata u sistemu, kao i ponašanje kompletnog sistema koji se modelira. Dinamičke karakteristike sistema opisuju se: 6

* objektima,ulogama koje objekti mogu imati u sistemu,

* vezama koje važe između objekata,

* porukama koje objekti međusobno prosljeđuju i operacijama koje se izvršavaju kao odgovor na primljene poruke,

* stanjima u kojima se objekti mogu naći i promjenama stanja kao odgovor na primljene poruke.

Za predstavljane dinamičkih modela sistema koriste se UML dijagrami, i to:

Dijagrami ponašanja (Behavior): dijagrami stanja (Statechart Diagrams) dijagrami aktivnosti (Activity Diagrams)

6 Muzafer Saračević ,Objektno - orijentisano programiranje i modelovanje, JAVA i UML. Univerzitet u Novom Pazaru 2011, Novi Pazar

Jon Oldevik, UML Model Transformation Tool- Overview and user guide documentation. umt-qvt.sourceforge.net/docs/UMT_documentation_v08.pdf

Page 12: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

12

Dijagrami interakcije (Interaction): dijagram sekvenci (Sequence Diagram)

dijagram saradnje (Collaboration Diagram)

Dijagramom sekvenci moguće je prikazati komunikaciju između skupa objekata, ostvarenu pomoću poruka koje objekti međusobno razmjenjuju u cilju ostvarivanja očekivanog ponašanja.

Slično dijagramu sekvence, dijagram kolaboracije opisuje interakciju između objekata kroz niz poruka pri čemu akcenat nije na vremenu, kao kod dijagrama sekvence,već na relacijama između objekata.

Služe za prikaz složenijih interakcija između objekata i njihove međusobne povezanosti.Fokusira se na kolaboracionoj strukturi i organizaciji između objekata.Modeluje link između objekata. Sastoji se od objekata, linkova, poruka.

Dijagrami stanja služe za modelovanje dinamičkih aspekta sistema.* Stanje je situacija u životu objekta kada on zadovoljava neki uslov. Objekat ostaje u nekom stanju u konačnom vremenskom intervalu.

* Dijagram stanja pokazuje odvijanje upravljanja od stanja do stanja. Obično modeluju objekte koji reaguju.

* Tranzicija pokazuje kretanje od jednog stanja ka drugom.To je relacija između 2 stanja koja kaže da će objekat u jednom stanju izvršiti neke akcije pa će ući u drugo stanje. Dijagrami aktivnosti služe za modelovanje dinamičkih aspekata sistema. Oni služe da prikažu: * proceduralnu logiku,

* poslovni proces ili tok posla. Slični su blok-dijagramima za opis algoritama (dodatno, podržavaju paralelno ponašanje).Dijagrami aktivnosti mogu se tretirati kao specijalan slučaj dijagrama stanja.U čvorovima ovog dijagrama prikazane su akcije. Akcije se implemetiraju kao metodi klasa ili neke podaktivnosti.

4.3. Fizički model sistema

Fizički model sistema opisuje konkretnu softversku i hardversku kompoziciju.

Za predstavljane fizičkih modela sistema koriste se UML dijagrami, i to: Dijagrami implementacije (Implementation): dijagram komponenti (Component Diagram)

dijagram realizacije (Deployment Diagram)

Page 13: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

13

Dijagrami implementacije prikazuju strukturu programskog koda i strukturi implementacije u realnom vremenu.Dijagram komponenata prikazuje : -(komponente programskog i binarnog koda i izvršne komponente)-fizičku strukturu koda u terminima kodnih komponenti (komponente u vremenu prevođenja,u vremenu povezivanja, vremenu izvršavanja ili u nekoliko od navedenih vremena).

Generisanje Java izvornog koda iz UML dijagrama i obrnuto

Postoji mogućnost generisanja koda iz UML dijagrama klasa u java izvorni kod.To se može odraditi u STAR UML-u ili u Visual Paradigm-u. STAR UML je alat za kreiranje raznih vrsti dijagrama u UML-U. On omogućava automatsko generisanje JAVA koda na osnovu dijagrama I obrnuto, generisanje dijagrama u skladu sa određenim JAVA kodom.Postupak kod STAR UML-a je sledeći: Da biste generisali JAVA kod , idite na tools na meniju pri vrhu, izaberite JAVA , pa Generate Code. Iz dialog box-a, izaberite model, verovatno nazvan model1 i idite na next.

• Izaberite opciju select all i idite na next • Izaberite zeljeni output direktorijum i idite na next • U Option setup obavezno čekirajte Generate the Documentation by JavaDoc i Generate empty JavaDoc. Ostale opcije ne treba čekirati • STAR UML će nakon ovog generisati kod na osnovu naših dijagrama. Za izlazak idite na FINISH

• Možete u skladu sa gore opisanim da dopunite kod da biste dodati željene i potrebne funkcionalnosti. Pogledajte klasu Pravougaonik sa klasama naslednicama (kvadrat i puni_Pravougaonik). Navedene klase smo radili u odeljcima – klase i objekti i nasleđivanje.Sledi dijagram klasa iz kog se može izgenerisati struktura:

Page 14: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

14

5. Alati za UML modelovanje

UML alati ili alati za UML modelovanje su softverske aplikacije koje podržavaju neke ili sve sisteme bilježenja i semantike povezane sa Unified Modeling Languge-om koji je industrijski standardni jezik za modeliranje za softversko inženjerstvo.7

5.1. UML alati podržavaju sljedeće vrste funkcionalnosti:

Grafički dijagrami Kružno (round-trip) inženjerstvo Generiranje koda Obrnuto inženjerstvo Model transformacije Dokumentacija Kontrola verzije

Diagramming - Crtanje i editiranje UML dijagrama, te na taj način implicitno stvaranje i menjanje UML modela.

7 Muzafer Saračević, Sead Mašović, Esad Međedović, Application of object-oriented analysis and design in navigation systems and transport networks (Sept, 2010), 10th International Conference "Research and Development in Mechanical Industry" RaDMI 2010

Page 15: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

15

No većina takvih alata obavlja i bar neke od sledećih dodatnih funkcija.

Forward Engineering – generiranje delova programskog koda u odabranom programskom jeziku na osnovu UML modela.

Reverse Engineering – generiranje UML modela na osnovu programskog koda.

Round-Trip Engineering – stalna sinkronizacija UML modela s programskim kodom i obratno.Danas postoji 50-tak besplatnih i 50-tak komercijalnih UML alata (vidi Wikipedia).Oni se razlikuju po mogućnostima i stupnju integriranosti s odreĎenim programerskim alatima.

5.2. Star UML

STAR UML je alat za kreiranje klasnih dijagrama i ostalih vrsti dijagrama u UML-U.U textu ispod je opisan kratak tutorijal u vezi kreiranja klasnih dijagrama u JAVI.

STAR UML (SU) je alat za kreiranje raznih vrsti dijagrama u UML-U. On omogućava automatsko generisanje JAVA koda na osnovu dijagrama i obrnuto , generisanje dijagrama u skladu sa drenenim JAVA kodom.SRAT UML se koristi da bi se kreirao program. Pažljivo sledimo korake ispod. STAR UML će generiati kod koji reflektuje strukturu klasa, ali ne i specifične akcije bilo kojih objekata. Zbog toga , nakon kreiranja dijagrama preko SU, dobijeni kod će samo trebati da se učini malo funkcionalnijim u tom smistu što će morati da se dopiše kod koji predstavlja akcije izmenu klasa8.9

1 korak – INSTALACIJADa bi počeli , STAR UML mora biti instaliran. Ako nije , ovaj softverski paket je slobodan ( free ), licenciran pod GPL ( GNU public licence ), opensource i može se besplatno skinuti sa INTERNETA. Jedna od adresa je -http://staruml.en.softonic.com/

2 korakKada je STAR UML instaliran , startujte program dvostrukim klikom mišena ikonicu.

3 korak

8 Grupa autora: Argo UML - an UML Tool with Cognitive Support. Open Source Software Engineering Tools. http://argouml.tigris.org/9

Page 16: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

16

Nakon startovanja programa , trebalo bi da se pojavi templejt stranica"New Project by Approach" koja ima izgled kao na slici ispod. Ukoliko je tako , izaberite “EMPTY PROJECT “ i kliknite OK.

4 korakU MODEL EXPLORERU sa desne strane izaberemo UNTITTLED .

5 korakU sladu sa opisom na slici ispod , izaberemo MODEL i opciju ADD I izaberemo DESIGN MODEL.

Page 17: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

17

6 korakKao na slici ispod , u MODEL EXPLORER panelu izaberemo opciju ADD DIAGRAM, pa nakon toga CLASS DIAGRAM.

Page 18: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

18

7 korakIdemo na MODEL PROFILE u okviru MODEL EXPLORERA , da bistepodesili profil modela koji ćemo koristiti. Budimo sigurni da ste uključili JAVA PROFILE. Grafički prikaz je na slici ispod.

8 korakSačuvamo projekat odmah da ne bi došlo do neželjenih situacija. Izaberemo FILE, SAVE AS i odaberemo ime i lokaciju za projekat. Nakon toga, projekat bi trebalo da ima izgled kao na slici ispod.

Page 19: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

19

9 korakSada trebamo početi stvarni rad sa dijagramom koristeći TOOLBOX, pozicioniran na levoj strani ekrana. Izanerite class i uradite i uradite levi klik miša bilo gde u prozoru. Ovo bi trebalo da stvori novu klasu nagenerisanim programskim imenom. Promenite joj ime u circle.

10 korakDodadajemo atribut ( ili polje ) kreiraniom circle-u, desnim klikon objekta na dijagramu, biranjem ADD MENU, pa Attribute opcije. Ukucamo za name_radius.

· Specificirajte tip podatka u Properties panelu da bude double· Vidljivost atributa je po automatski podešena na private, ukolikoima potrebe možemo je promeniti , ali mi ćemo na naš primer ostaviti kako jeste.

11 korakPonovite isti postupak pri kreiranje klasa RECTANGLE sa privatnim atributima _height i _width.

12 korak· Kreirajte interfejs ISHAPE. Iz toolbox-aizaberite opcijuInterface i kliknite negde na paletu. Promenite programskigenerisano ime naISHAPE.

· U toolbaru na vrhu izaberemo Stereotype Display i promenite jos vrednost na none. Ovo ’e promenimo prethodni cirkularni oblik upravougaoni oblik.· Isto, u toolbaru pri vrhu, de-selektujte Suppress Operations opciju.

Page 20: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

20

Dodajemo getArea metod tipa double u okviru ISHAPE interfejsa.· Ovo se postiže desnim klikom na interfejs biranjem opcije addmenu i klikom na crveno Operation dugme. Ime je kao što jeVeć rečeno getArea.

· DA bismo odabrali (povratni) tip metode, u MODEL EXPLORERU , desni klik na motod koji smo upravo kreirali, izaberimo Add Parameter, pa u Properties box za ime ništa ne menjamo, za Direction kind izabereno return , a za tip double.

13 korakDa bi rectange i circle implementirali interfejs ISHAPE, izaberite realization strelicu iz toolboxa i povežire rectangle i circle saISHAPE.

14 korakKako circle i rectangle implementiraju ISHAPE interfejs, obe moraju imati isto ponašanje (metode) kao taj interfejs.· U MODEL EXPLORER TOOLU iskopiramo getArea metod iz ISHAPE u circle i rectangle· Ove metode u cirlce i rectangle nisu abstraktne, ali logički gledano izvršavaju istu akciju (računaju površinu) pa se treba unčekirati opcija IsAbstract

15 korakDijagram treba da izgleda kao na slici iznad

Page 21: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

21

16 korakDodajemo klasu · Privatan atribut _price tipa double· Javna metoda getPrice tipa double

17 korakDa bi program imao referencu sa ISHAPE , izaberemo klasu · Izaberite vezu DirectedAssociation iz toolboxa i odpizza ka ISHAPE izvršite povezivanje· Nakon povezivanja, kliknite na strelicu i promenite jos ime sa End1.Aggregation na AGGREGATE

19 korakKonstruktori su posebni delovi koda kada želimo da inicijalizujrmo instance klase

· Da bi dodali konstruktor, uradimo desni klik na Pizza i iz Add menija izaberite Operation. Sada dodajte parametre, tipa double za price i ISHAPE za shape· Dodajte circle konstruktor sa parametrom double radius· Dodajte rectangle konstruktor sa parametrima double height i double Width

20 korakDa bismo generisali JAVA kod , idite na tools na meniju pri vrhu, izaberiteJAVA , pa Generate Code.

· Iz dialog box-a, izaberite model , verovatno nazvan model1 I idite na next· Izaberemo opciju select all i idite nanext

Page 22: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

22

· Izaberemo zeljeni output direktorijum i idite nanext· U Option setup obavezno čekirajte Generate the Documentation by JavaDoc i Generate empty JavaDoc. Ostale opcije ne treba čekirati· STAR UML će nakon ovog generisati kod na osnovu naših dijagrama. Za izlazak idemo na finish.· Možemo u skladu sa gore opisanim da dopunimo kod da bismo dodali željene i potrebne funkcionalnosti.

5.3. Visual Paradigm for UML

Visual Paradigm for UML- je alat koji podržava UML-a 2.1 .Pored modeliranja i UML-podrške, obezbeđuje modeliranje poslovnih procesa (BPMN), objektno-relacionog mapiranja generatora za Javu, NET i PHP-a.

Prednosti su: mogućnost generisanja kоda iz klase modela, a takođe i relacione strukture baze podataka (tabele) . Generisani kod se sastoji od klase zasnovane na dijagramima klasa i kontrolera klase koji pruža čitanje, pisanje i brisanje funkcije za baze podataka. Još neki od primera UML razvojnih alata su: Rational Rose, Microsoft Visio, Borland Together, Appolo for Eclipse, Enterprise Arhitect, Eclipse Uml2Tools, ArgoUML, MonoUML, Rational Software Architect, MagicDraw UML, PowerDesigner, Visible Analyst for UML, MetaUML, UmlDesigner itd.

Visual Paradigm for UML je proizvod tvrtke Visual Paradigm International sa sjedištem u Hong Kongu. Riječ je o jednom od vodećih komercijalnih UML alata koji zadovoljava najviše profesionalne zahtjeve. Dostupan je u donekle okljaštrenom no besplatnom “community” izdanju koje ćemo mi za sada koristiti. Čak i to okljaštreno izdanje u potpunosti podržava UML modeliranje, dakle crtanje i editiranje UML dijagrama. No svaki od dijagrama moguće je štampati ili preko clipboarda pretvoriti u JPG sliku te ubaciti u neki dokument.

Page 23: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

23

Glavni prozor izgleda otprilike ovako:

Glavni prozor je podeljen u 5 delova.1.Izbornik i alatne trake.

2.Hijerarhijski prikaz sadržaja otvorenog projekta.

3.Razni pomoćni prikazi.

4.Radni prostor, obično prikazuje jedan dijagram.

5.Poruke.

Crtanje dijagrama odvija se slično kao u MS Paint-u.Taj element se pomoću miša smješta na dijagram, rasteže, skuplja i slično.

Alat razumije sintaksu dijagrama, te nam prilikom crtanja “sugerira” poteze, ili pak zabranjuje neispravne poteze. Alat svrstava dijagrame i dijelove tih dijagrama u trenutno otvoreni model, a model u trenutno otvoreni projekt.

Dakle da bi mogli raditi, potrebno je stvoriti ili otvoriti projekt i model u njemu.

Model se zapravo može izbjeći (tada se sve sprema neposredno u projekt), no to se ne preporuča.

Dobro je imati barem dva modela unutar projekta: za analizu, odnosno za oblikovanje. Cijeli projekt sa svim uključenim modelima i dijagramima pohranjuje se na disku kao jedna datoteka. Nalazi se u radnom prostoru (workspace - ustvari direktoriju) kojeg je korisnik odabrao.

Page 24: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

24

5.4. Rational Rose

Familija programaRational Rose projektovana je tako da programerima obezbedi kompletalata za vizuelno modelovanje koji omogućuju razvoj robusnih, efikasnih rešenja za stvarneposlovne potrebe. Proizvodi Rational Rosea koriste opšti univerzalni standard i timepribližavaju modelovanje kako programerima koji modeluju logiku aplikacije, tako ineprogramerima koji bi hteli da modeluju poslovne procese.

Rational Rose je softver za vizuelno objektno orjentisano modelovanje koji omogućava formiranje, analizu, projektovanje, pregled i izmenu modela, manipulisanje njima i implementaciju softverskih sistema iz objektnih modela. Rational Rose podržava notacije UML, Booch i OMT kojima se dokumentuje arhitektura sistema.

5.5. Kreiranje i pamćenje modela

Kada se prvi put pokrene Rational Rose pokazaće se dijalog za kreiranje Rose modela, slika 1.1. Iz ovog dijaloga može se učitati model koji već postoji ili kreirati model korišćenjem nekog od postojećih šablona. Da bi se kreirao nov model, bez upotrebe postojećih šablona, treba izabrati opciju Cancel.10

Slika 1.1 Dijalog za kreiranje Rose modela

10 Martin Fowler :UML ukratko, Mikro knjiga , Beograd, 2004

Page 25: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

25

Kao i kod drugih aplikacija, dobra je praksa da se model, na kome se trenuto radi, periodično snima na disk. Rose model i svi dijagrami, objekti i drugi elementi se pamte u jednoj datoteci sa ekstenzijom .mdl. Da bi se snimio model treba izabrati opciju File, a zatim opciju Save iz menija. Prilikom prvog snimanja modela neophodno je i dati ime modelu i eventualno odrediti mesto gde će model biti snimljen.

5.6. Delovi ekrana Rational Rose-a

U toku kreiranja Rose modela, na ekranu, prikazanom na slici 1.2, mogu se videti pet osnovnih delova:

· pretraživač - koristi se za brzu navigaciju kroz model;

· prozor dokumenatcije - koristi se za pregled ili ažuriranje dokumentacije elemenata modela;

· log prozor - korsiti se za prikaz grešaka, izveštaja i rezultata različitih

komandi;

· palete alata - koriste se za brz pristup često korišćenim komandama;

· prozor dijagrama - koristi se za prikaz ili obradu jedno ili više korišćenih UML dijagrama.

Page 26: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

26

Slika 1.2 Rose interfejs

5.7. Pretraživač

Pretražiavač je hijerarhijska struktura koja se koristiti za lako kretanje kroz Rose model. Šta god da se doda u model, (akter, slučaj upotrebe, klasa, komponenta...), biće prikazano u prozoru pretraživača. Pretraživač je prikazan na slici 1.3.

Pomoću pretraživača mogu se:

· dodati neki elementi u model (slučaj upotrebe, akter, klasa, komponenta, dijagram, itd.)

· pregledati postojeći elementi u modelu

· pregledati postojeće veze između elementa modela

· pomerati elementi modela

· preimenovati elementi modela

· dodati elementi modela na dijagram

· povezati datoteke ili URL za neki element

Page 27: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

27

· grupisati elementi u pakete

· učitati dijagrami.

Kao što se iz pretraživača može videti, model u Rose-u organizovan je u pakete koji predstavljaju osnovne prikaze sistema. Ti prikazi su:

· prikaz slučajeva upotrebe (Use Case View),

· logički prikaz (Logical View),

· prikaz komponenata (Component View) i

· prikaz raspoređivanja (Deployment View).

Slika 1.3 Pretraživač Rose

Svaki prikaz standardno sadrži dijagram pod imenom Main. U tabeli 1.1 se nalazi lista svih ovih prikaza i elemanata koje oni mogu sadrže.

Page 28: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

28

Tabela 1.1 Prikaži u Rational Rose-u

5.8. Prozor dokumenatcije

U prozoru dokumentacije može se formirati, menjati ili samo pregledati dokumentacija za bilo koji izabrani element modela. Sve što se napiše u prozoru dokumentacije pojaviće se u vidu komentara u kodu koji se može generisati na osnovu modela, kao i u izveštajima koji se takođe mogu generisati iz Rose-a. Prozor dokumentacije prikazan je na slici 1.4.

Da bi dodali dokumentaciju za određeni element treba uraditi sledeće:1. Izaberite element u stablu pretraživača.2. Postavite kursor u prozor dokumentacije.3. Unesite dokumentaciju.

Page 29: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

29

Slika 1.4 Prozor dokumentacije

5.9. Palete alata

Palete alata u Rational Rose-u omogućavaju brz pristup komandama koje se često koristite. Postoje, načelno, dve palete alata u Rose-u: standardna paleta alata i paleta alata dijagrama. Standardna paleta alata nalazi se u gornjem delu ekrana i sadrži opcije koje se mogu koristiti u svim dijagramima. Paleta alata dijagrama nalazi se između pretraživača I prozora dijagrama i sadrži opcije koje se menjaju u zavisnosti od UML dijagrama koji se kreira. Svaka od paleta alata može da se modifikuje:

1. Desni klik na željenu paletu.2. Izaberite opciju Customize.3. Izaberite odgovarajući element a zatim opciju Add iliRemove kako bimodifikovali paletu alata, kako je prikazano na slici 1.6.

Slika 1.6 Modifikacija palete alata

Page 30: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

30

5.10. Prozor dijagrama

U prozoru dijagrama, prikazanom na slici 1.7, mogu se videti UML dijagrami Rose modela. Kako se vrše promene na dijagramu, automatski se vrše promene i u pretraživaču i slično, ako se promene vrše u pretraživaču istovremeno se ažuriraju odgovarajući dijagrami.

Slika 1.7 Prozor dijagrama

5.11.Osnovni elementi modela

Svaki Rose model se sastoji od elemenata, pri čemu se svaki element, u skladu sajezikom UML, može svrstati u jednu od tri kategorije:

*stvari (things) - paketi, akteri, slučajevi upotrebe, klase, komponente...*relacije (relations) - zavisnosti, asocijacije, generalizacije...*dijagrami (diagrams) - klasa, slučajeva upotrebe, kolaboracije...

Da bi se kreirao željeni element (paket, akter, slučaj upotrebe, klasa, dijagram...):1. Desnim tasterom miša pritisnite odgovarajući paket u stablu pretraživača.2. Iz prikazanog menija birajte opciju New a zatim odgovarajući element,kako je prikazano na slici 1.8.3.Dok je novi element izabran, dodelimo ime.

Page 31: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

31

Slika 1.8 Kreiranje elementa

Između ostalog, elementi modela se mogu u okviru pretraživača premeštati, na primer, u novo kreirani paket:1. Izaberite element modela koji želite da premestite.2. Prevucite taj element u odredišni paket.

Specifikacija se prikazuje pomoću kartica, tako da je kretanje kroz nju lako. Na primer, ako je potrebno dodati nov atribut ili operaciju klasu:

1. Otvorite specifikaciju klase.2. Izaberite karticu Attributes iliOperations.3. Pritisnite desni taster miša da bi se prikazao meni.4. Izaberite stavku menija Insert, čime se dodaje atribut ili operacija, slika 1.10.5. Dok je novi atribut ili operacija izabrana, dodelite mu ime.

Page 32: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

32

Slika 1.10 Prozor specifikacije sa karticom Operations

6. Primena UML modelovanja u dizajnu softvera U ovom poglavlju sam opisala primenu UML modelovanja u dizajnu softvera, uzela sam za primer projekat koji sam odradila kao praktični deo ovog rada.

5.1. Analiza gotovih UML projekata i njihova funkcionalnost

U ranim danima kompjuterizacije programeri se nisu pouzdali u dubokosežne analize problema na stvari. Ako su učinili bilo kakve analize bilo je tipično na parčetu papira. Često su pisali programe od temelja prema gore kreirajući kod dok su radili. Iako je ovo dodalo dah romanse i odvažnosti procesu, to je neispravno u današnjem visokorizičnom poslovnom svijetu. Danas, dobro promišljen plan je neophodan. Klijent mora razumjeti što će tim za razvijanje napraviti i uputiti na promjene ako se tim nije potpuno posvetio klijentovim potrebama (ili ako se klijent predomisli u procesu). Uz to razvoj je tipično timski rad, stoga svaki član tima mora znati gdje je njegovo ili njezino mjesto u timu.

11

11 Gotov Projekat korišćen za analizu UML funkcionalnosti.

Page 33: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

33

Kako svijet postaje zamršeniji, kompjuterski sistemi moraju povećavati složenost. Često upliću mnogobrojne dijelove hardvera i softvera, odaslano preko velikih daljina, povezano sa bazom podataka koja sadrži brdo infiormacija. Ako želite stvoriti sistem koji će vas odvesti u sledeći milenijum tj. kako dovesti do složenosti? Njihov ključ je organizovati stvaralački proces na način da analitičari, klijenti, programeri i drugi uključeni u sistem razvoja mogu razumjeti i složiti se jedni s drugima. UML osigurava organizaciju. Kao što bi ste voljeli sagraditi složenu strukturu kao zgradu bez da prvo ne razvijete nacrt, ne biste gradili komplicirani sistem da dobijete zgradu, a da prvo ne napravite detaljan plan. Plan mora biti takav da se u njega razumijete kao kad arhitekt predoči shemu zgrade onome koji plaća zgradu. Taj plan dizajna bi trebao biti rezultat pažljivih analiza klijentovuh potreba. Kratki vremenski rokovi za razvoj su druga slika suvremenog sistema razvoja okruženja. Kad se rokovi nagomilaju jedan na drugi solidan dizajn je od potpune važnosti. Kad jedna kompanija potraži usluge od druge kompanije, njihova nova organizacija mogla bi bitno promjeniti njihova stajališta u razvoju projekta. Najbolji projekt bit će presudan za preokret. Ako je dizajn dobar, promjene u izvršenju proći će glatko. Potreba za dobar dizajn dovela je do potrebe obilježavanja koji će analitičari, razvijači i klijenti prihvatiti kao standard, kao obilježje u šematskom dijagramu kružnih pomoćnika kao standard za elektronički inžinjering. UML je to obilježje.

Zaključak

U toku izrade ovog rada upoznala sam se sa alatima i okvirima koji znatno olakšavaju razvoj softvera i omogućavaju brži razvoj aplikacija, bez preterane brige o detaljima.UML je sistem obeležavanja koji je postao standardan u svetu razvoja sistema. On je rezultat rada Booch-a, Rumbaugh-a i Jacobson-a.

Sadržavajući skup dijagrama, UML pruža standard koji omogućuje da sistemski analitičar izgradi konstrukciju sistema pristupačnog klijentima, programerima i svima uključenim u proces razvoja. Neophodno je imati sve ove dijagrame jer svaki je u vezi s drugim, ulagaće u sistemu. UML model govori ŠTO sistem treba činiti a ne KAKO treba raditi.

Analiza i rešavanje problema pomoću UML-aima mnoge prednosti. UML standard koji se primenjuje kod objektno orijentisanog pristupa predviđa odgovarajuce poglede na sistem, s tim što se u svakom pogledu sistem može opisati sa statičkog (strukturnog) i dinamičkog aspekta. Koristi se za konstrukcija software-a kod koga treba

Page 34: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

34

odraditi plan ,nudi mogućnost vizualizacije u više dimenzija i nivoa detalja i prikladan je za nadogradnju nasljeđenih, starih sistema.

Prednosti UML-a su: otvoren standard, obuhvata celi životni ciklus oblikovanja programske potpore, temeljen je na iskustvu i potrebama zajednice oblikovatelja i korisnika programske potpore, podržavaju ga mnogi alati. UML notacija nudi razlicite dijagrame za razlicite svrhe, on je moćan i bogat opcijama.UML dijagrami imaju jasno definisanu semantiku, podržava apstrakcije, i ima široku primenu.UML predstavlja budućnost - trend njegovog razvoja i upotrebe će se nastaviti.

Literatura

[1] Muzafer Saračević, Objektno - orijentisano programiranje i modelovanje, JAVA i UML. Univerzitet u Novom Pazaru 2011, Novi Pazar

[2] Jon Oldevik, UML Model Transformation Tool- Overview and user guide documentation. umt-qvt.sourceforge.net/docs/UMT_documentation_v08.pdf

[3] Sead Mašović, Muzafer Saračević , Hamza Kamberović, Objektno-orijentisani pristup u simulaciji i metodologija simulacionog modeliranja, (Sept.2010). Festival informatičkih dostignuća - INFOFEST 2010 Budva, Crna Gora.

[4] Muzafer Saračević, Sead Mašović, Primena UML modelovanja i PHP jezika u izradi web aplikacije za e-učenje (Oktobar, 2010). Univerzitet METROPOLITAN - Elektronsko učenje na putu ka društvu znanja 2010, Beograd.

[5] Muzafer Saračević, Sead Mašović, Esad Međedović, Application of object-oriented analysis and design in navigation systems and transport networks (Sept, 2010), 10th International Conference "Research and Development in Mechanical Industry" RaDMI 2010

[6] Muzafer Saračević, Mašović Sead, Lončarević Zoran: Primena UML dijagrama aktivnosti u predstavljanju Data Mining modela tehnikom genetskih algoritama, 18. telekomunikacioni forum TELFOR 2010.

[7] Muzafer Saračević, Mašović Sead, Kamberović Hamza: Tehnike Text Mining-a i njihova realizacija primenom objektno-orijentisane analize, 18. telekomunikacioni forum TELFOR 2010.

Page 35: Seminarski rad iz Dizain Aplikativnog Softvera tema je Prednosti korišćenja objektno - orijentisanog modelovanja u dizajnu aplikativnog softvera  2622626262

35

[8] Sead Mašović, Muzafer Saračević, Modelovanje poslovnih procesa i primena Data Mining tehnika u e-učenju (Oktobar, 2010). Univerzitet METROPOLITAN - Elektronsko učenje na putu ka društvu znanja 2010, Beograd.

[9]Hartmann, Đorđević, Gocić, Uvod u objektnoorijentisano modeliranje (Softverskiinženjering).

[10] Mr.Ivana Stanojević, Dr.Dušan Surla, Uvod u objedinjeni jezik modeliranja, PMF Novi Sad.

[11] Grady Booch, Robert Maksimchuk, Michael W. Engle, Bobbi J. Young, Ph.D., JimConallen, Kelli A. Houston, Object-Oriented Analysis and Design withApplications.

[12]Martin Fowler :UML ukratko, Mikro knjiga , Beograd, 2004

[13 ]Er ic J . Na iburg , Rober t A . Maks imchuk : UML za projektovanje baza podataka ,CET,Beograd, 2001;

[14] Gotov Projekat - UML za program rada masine za pranje odece

[15] Grupa autora: Argo UML - an UML Tool with Cognitive Support. Open Source Software Engineering Tools. http://argouml.tigris.org/

[16] http://muzafers.uninp.edu.rs/ Posećeno 28.08.2012 godine.

[17]http://infosys3.elfak.ni.ac.rs/nastava/attach/URPredavanja/Softversko+inzenjerstvo.pdf Posećeno 11.07.2012 godine.

[18] http://www.cet.rs/ Posećeno 07.09.2012 godine.