ULM jezik za Softversko inženjerstvo
SADRŽAJ:
- UVOD…………………………………………………………………………3
- ULM modelovanje……………………………………………………………..3
- ULM (Unified Modeling Language)………………………………………3
- Struktura UML-a…………………………………………………………..4
- Statički, dinamički I fizički model Sistema…………………………………….6
- Statički model Sistema………………………………………………………7
- Dinamički model Sistema………………………………………………….7
- Fizički model Sistema………………………………………………………8
- Alati za UML modelovanje……………………………………………………10
- UML alati podržavaju sledeće vrste funkcionalnosti ……………………..10
- Star UML…………………………………………………………………..11
- Visual Paradigm for UML…………………………………………………19
- ZAKLJUČAK…………………………………………………………………21
- LITERATURA…………………………………………………………………22
- UVOD
Osnova svakog objektno-orijentisanog rješenja je takozvano objektno-orijentisano modelovanje (OOM), kojim se definiše principijelni postupak rješavanja, ali takođe i opšte primjenljivi 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 primjer, 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 primjer 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 vrijeme upotrebljavaju, iznenađujuće je da je objektno-orijentisano modeliranje, koje je u suštini koncepcionalna osnova objektnoorijentisanog programiranja, nastalo mnogo kasnije.
UML je zadovoljio sve uslove jednog konzistentnog opisnog matematičkog alata i podržavao obje 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.
- UML modelovanje
UML je sistem obilježavanja koji je postao standardan u svijetu razvoja sistema. UML predstavlja kolekciju najboljih uspješnih inženjerskih metoda kojima je, iskustveno dokazano, pojednostavljeno modelovanje velikih i složenih sistema.
- UML (Unified Modeling Language)
UML ili Unified Modeling Language specificiranje, konstruisanje i dokumentovanje postavljen kao standard od OMG-a. je grafički jezik za vizueliziranje, sistema programske podrške koji je
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.[1]
Ako napravimo poređenje između građevinara i programera, možemo reći da je UML standardizovani jezik za izradu nacrta programa.[2]
Postoji sedam ciljeva kojima UML kao jezik teži:
- 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.
- Pružiti korisniku mogućnost proširenja i stvaranja specijalizovanih delova.
- Biti nezavisan od programskih jezika i razvojnih procesa
- Pružiti formalne osnove za razumevanje jezika za modelovanje
- Podsticanje rasta i razvoja objektno orijentisanih programskih jezika
- Podrška visoko pozicioniranih razvojnih pojmova kao što su saradnja, okvirni rad, uzorci i komponente
- Integrisanje i nadopunjavanje praktičnim iskustvom.
UML je razvijen sa ciljem da pojednostavi veliki broj objektno orijentisanih razvojnih metoda.
2.2. Struktura UML-a
- Pogled korišćenja -pokazuje problem i rješenje onako kako ga vide oni koji postavljaju problem.
- Logički pogled – pokazuje strukturnu dimenziju problema i rješenja
- Pogled paralelnog rada – pokazuje dimenziju ponašanja problema i rješ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 rješenje ostvareno, a naziva se još i fizički pogled ili pogled na razmješ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
Da bi lakše razumjeli š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)
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:
- Dijagram slučajeva korišćenja (use case diagram)
- Dijagram klasa (class diagrams)
- Dijagram objekata (object diagrams)
- Dijagram redosleda (sequence diagrams)
- Dijagram saradnje (collaboration diagrams)
- Dijagram stanja (statechart diagrams)
- Dijagram aktivnosti (activity diagrams)
- Dijagram komponenti (component diagrams)
- 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 primjenjuje softver.
Objektno orijentisani (OO) jezici modelovanja nastaju sredinom 1970. i kasnih 1980. Namjenjeni 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 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 zahtjevima. (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 razumjeo UML zahtjeva 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:
- Strukturni dijagrami (4 tipa dijagrama) (klasni, objektni, komponentni i razvojni)
- 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)).
- Statički, dinamički i fizički model sistema
UML je sredstvo modeliranja koje je upotrebljivo i za čovjeka 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 rješavanje problema na ovakav način ima mnoge prednosti 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.
3.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)
3.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: [3]
- 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)
- 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.
3.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)
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.Slijedi dijagram klasa iz kog se može izgenerisati struktura:
- 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.[4]
- 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 mjenjanje UML modela.
No većina takvih alata obavlja i bar neke od sljedeć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.Oni se razlikuju po mogućnostima i stupnju integriranosti s određenim programerskim alatima.
[1] Jon Oldevik, UML Model Transformation Tool- Overview and user guide documentation. umt-qvt.sourceforge.net/docs/UMT_documentation_v08.pdf
[2] 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
[3] Muzafer Saračević ,Objektno – orijentisano programiranje i modelovanje, JAVA i UML. Univerzitet u Novom Pazaru 2011, Novi Pazar
[4] 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
Više u Informacione tehnologije
Cloud-orijentisani servisi i usluge
- Informacione tehnologije
- Beogradska poslovna škola Visoka škola strukovnih studija
- 14 stranica
Corel draw
- INofrmatika
- --- Srbija | Aleksinac --- · Arilje
- 31 stranica
Beleške za PS
- ps
- UNIVERZITET U BEOGRADU - Arhitektonski fakultet · Alibunar
- 20 stranica
Više u Seminarski radovi
Cloud-orijentisani servisi i usluge
- Informacione tehnologije
- Beogradska poslovna škola Visoka škola strukovnih studija
- 14 stranica
Akcionarsko društvo
- Bankarstvo
- ALFA UNIVERZITET - Fakultet za ekonomiju i političke nauke · Beograd
- 14 stranica
Teorijske osnove fizičkog vaspitanja
- Teorija Fizickog SPorta
- 8 stranica