Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Uvod u OMG




Ujedinjeni jezik modelarstva (UML ®) ( Unified Modeling Language™ (UML®))
_____________________________________________________________________________________________________________________

Velike poslovne aplikacije - one koje izvršavaju osnovne poslovne aplikacije, i održavaju kompaniju, moraćeda budu više od puke gomile koda modula. One moraju biti struktuirane na način koji omogućava proširivost, bezbednost i snažno izvršenje pod stresnim uslovima, a njihova struktura - često nazivana niihovom arhitekturom - mora biti definisana dovoljno jasno da bi programeri za održavanje (brzo!) pronasli i popravi grešku koja se pokazala mnogo kasnije nakon što su originalni autori prešli na druge projekte. To znači da ovi programi moraju biti projektovani tako da savršeno rade u mnogim oblastima, a posao funkcionalnosti nije jedini (iako je svakako osnovno jezgro). Naravno, dobro osmišljena arhitektura koristi bilo kom programu, a ne samo onim najvećim, kao što smo izdvojili ovde. Pomenuli smo velike zahteve prve, jer je struktura način suočavanja sa kompleksnošću, pa su koristi od strukture (i modelovanja i dizajna, kao što ćemo pokazati) ujedinjeni kao velika aplikacija. Još jedna prednost strukture je što omogućava ponovnu upotrebu koda: Vreme dizajniranja je najlakši put da se strukturira aplikacija kao kolekcija samostalnih modula ili komponenata.. Na kraju, preduzeća grade biblioteku modela komponenti, svaka od njih predstavlja implementaciju uskladištenu u biblioteci kod modula. Kada druga aplikacija mora imati istu funkcionalnost, projektant može brzo uvesti svoj modul iz biblioteke. U vremenu kodiranja, programer može isto toliko brzo uvesti modul koda u aplikaciju.

Modeliranje je projektovanje softverskih aplikacija pre kodiranja. Modelovanje je suštinski deo velikih softverskih projekata, a od pomoći je i srednjim čak i malim projektima. Model igra analognu ulogu u razvoju softvera kao što su nacrti i drugi planovi (mape sajtova, uzvišenja, fizički modeli) igraju ulogu u izgradnji nebodera. Koristeći model, oni koji su odgovorni za uspeh razvoja softvera projekta mogu da se uvere da je posao funkcionalnosti potpun i tačan, krajnje potrebe korisnika su ispunjene, i program dizajniranja podržava zahteve za skalabilnost, robusnost, sigurnost, proširivost i druge karakteristike, pre sprovođenja u kodu te promene je teško i skupo napraviti. Istraživanja pokazuju da veliki softverski projekti imaju veliku verovatnoću neuspeha - u stvari, više je verovatno da velika softverska aplikacija neće uspeti da zadovolji sve svoje potrebe na vreme i u okviru budžeta nego da će uspeti. Ako koristite neki od ovih projekata, potrebno je da uradite sve što možete da povećate šanse za uspeh, a modelovanje je jedini način da vizualizujete svoj dizajn i proverite zahteve pre nego što vaša ekipa počne kodiranje.

Podizanje Apstrakcija: Modeli nam pomažu tako što radimo na višem nivou apstrakcije. Model može ovo da uradi tako što skriva ili maskira detalje, iznosi veliku sliku, ili putem fokusiranja na različie aspekte prototipa. U UML 2.0, možete da iz detaljnog prikaza aplikacije umanjite na sredinu gde se izvršava, vizuelno vežete sa drugim aplikacijama ili, zumirate čak i dalje, na druge sajtove. Alternativno, možete da se fokusirate na različite aspekte primene, kao što je automatizovani poslovni proces, ili pregled pravila poslovanja. Nova mogućnost osnovnih elemenata modela, koja je dodata u UML 2.0, podržava direktno ovaj koncept ).

OMG Unified Modeling Language ™ (UML vam pomaže da odredite, vizuelizujete i dokumentujete modele softverskih sistema, uključujući i njihove strukture i dizajn, na način koji zadovoljava sve ove zahteve. (Možete da koristite UML za poslovno modelovanje i modeliranje drugih nesoftverskih sistema takođe.) Korišćenjem bilo kog od velikog broja UML alata baziranih na tržištu , možete da analizirate zahteve vaše buduće aplikacije i dizajn rešenja koja je ispunjavaju, i predstavite rezultate koristeći trinaest standardnih tipova dijagrama UML 2.0 .

Možete modelovati skoro bilo koji tip aplikacije, koji radi na bilo kom tipu i kombinaciji hardvera, operativnom sistemu, programskom jeziku, i mreži u UML. Njegova fleksibilnost omogućava da modelira distribuirane aplikacije koje koriste bilo koji posrednik na tržištu. Izgrađen na osnovnom OO konceptu, uključujući klasu i operaciju, prirodno se uklapa u objektno-orijentisane jezike i okruženja, kao što su C + +, Java, i noviji C #, ali možete ga koristiti za modeliranje ne- OO aplikacija kao , na primer, Fortran, VB ili COBOL. UML profili (tj., podgrupe UML prilagođene za specifične svrhe) pomažu vam da modelirate Transactional, Real-time, i Fault-Tolerant sisteme na prirodan način.

Možete da radite i druge korisne stvari sa UML. Na primer, neki alati analiziraju postojeći izvorni kod (ili, kao što neki tvrde, objekatski kod!) i mogu ga ga preokrenu u skup UML dijagrama. Još jedan primer: Neke alatke na tržištu izvršavaju UML model, obično u jednom od dva načina: Neke alatke izvrše svoj model na način koji vam omogućava da potvrdite da je to zaista ono što želite, ali bez skalabilnosti i brzine koja će biti potrebna u raspoređenoj aplikaciji. Ostali alati (obično dizajnirani da rade samo u ograničenom domenu aplikacije, kao što su telekomunikacije i finansije) generišu kod programskog jezika iz UML, proizvodeći bug-free, razmeštenu aplikaciju koja se pokreće brzo ako kod generatora sadrži najbolje prakse skalabilnih obrazaca za , na primer, transakcionu bazu operacije ili druge uobičajene programske zadatke. (OMG članovi sada rade na specifikaciji za izvršenje UML). Naš konačni ulazak u ovu kategoriju: broj alata na tržištu generiše test i verifikacione svite iz UML modela.

UML i OMG's Model Driven Architecture® (MDA®): Pre nekoliko godina (u stvari, iznenađujuće koliko samo malo pre!), najveći problem sa kojim se suočavao programer prilikom pokretanja distribuiranog programiranja projekta bio je pronalaženje veze sa funkcionalnošću koja mu je potrebna, koja pokreće hardver i operativne sisteme koji rade u njegovoj prodavnici. Danas, suočen sa sramotno bogatim nizom posredničkih platformi, programer ima tri različita posrednička problema: prvo, izabrati jednu platformu, drugo, osposobiti je da radi sa drugim platformama koje su već raspoređene, ne samo u njegovoj prodavnici, već i kod njegovih klijenata i dobavljača, i treće, interfejs (ili, još gore, migracija) na “novu najbolju stvar” kada se pojavi nova platforma i zainteresuje analitičare i, nužno, CIOS koji je svuda.

Sa bogatom paletom i nezavisnošću, UML predstavlja temelj OMG-og Model Driven Architecture (MDA). U stvari, UML model može da bude ili nezavisan od platforme ili određen platformom, kako izaberemo, a MDA razvojni proces koristi oba ova oblika: Svaki MDA standard ili aplikacija se zasniva, normativno, na nezavisnom modelu platforme (PIM ), koja predstavlja poslovnu funkcionalnost i veoma precizno ponašanje, ali ne uključuje tehničke aspekte. Od PIM-a, MDA razvojni alati prate OMG-ova standardizovana mapiranja da bi proizveli jedan ili više specifičnih modela platforme (PSMs), takođe u UML, jedan za svaku ciljnu platformu koju programer izabere. (Ova konverzija je veoma automatizovana, ali nije nemoguća: Pre nego što alatka proizvode PSM, programer mora da obeleži PIM bazu za proizvodnju specifičnijeg, ali i dalje nezavisnog PIM-a koji obuhvata podatke o željenoj semantici, i izborima vodiča koje će alat posedovati. Zbog sličnosti među posredničkim platformama datog žanra - zasnovanih na komponentama ili zasnovanih na porukama, na primer - ove smernice mogu da se uključe u PIM-u ne izlažući ga specifičnim platformama. Ipak, programeri će morati da u izvesnoj meri fino usklade proizvedene PSM-ove, više u ranim danima MDA, ali sve manje i manje kao alate i algoritme).

PSM sadrži iste informacije kao implementacija, ali u obliku UML modela, umesto radnog koda. U sledećem koraku, alatka generiše radni kod sa PSM, zajedno sa ostalim neophodnim fajlovima (uključujući i dosijea interfejsa ako je potrebno, konfiguracione fajlove, napravljene fajlove i druge tipove datoteka). Nakon davanja prilike programeru da ručno podesi generisani kod, alat naređuje datotekama da proizvedu konačnu aplikaciju.

MDA aplikacije su kompozitne: Ako uvodite PIMS-ove za module, usluge ili druge aplikacije MDA u svoj razvojni alat, možete da ga usmerite da vam generiše pozive koristeći bilo koji potrebni interfejs i protokol, čak i ako su pokrenuti na cross-platformi. I, MDA aplikacije su sigurne za budućnost: Kada se nova "najbolja stvar" pojavi na tržištu, OMG članovi će generisati i standardizovati mapiranje do nje, i vaš prodavac će nadograditi svoj MDA alat da bi je uključio. Korišćenjem prednosti ovih dešavanja, bićete u mogućnosti da generišete cross-platformu prizivanjem nove platforme, pa čak i prebacivanjem postojećih MDA aplikacija na nju, automatski koristeći svoje postojeće PIM-ove.

Modeli vs metodologije: Proces prikupljanja i analiziranja uslova aplikacija, i njihovog uključivanja u dizajn programa, je složen i industrija trenutno podržava mnoge metodologije koje definišu formalne procedure koje preciziraju kako da se to radi .Jedna od karakteristika UML -a, u stvari, ona koja omogućava široku podršku industriji koju jezik podržava - je ta da je metodologija-nezavisna. Bez obzira koju metodologiju koristite za obavljanje svoje analize i dizajna, možete da koristite UML za pokazivanje rezultata. I, koristeći XMI (XML Metadata Interchange, još jedan OMG standard) ,možete da prenesete UML model iz jednog alata u spremištu, ili u neki drugi alat za prečišćavanje ili u sledeći korak u vašem izabranom razvojnom procesu. To su prednosti standardizacije.

Šta možete da modelirate sa UML-om? UML 2.0 definiše trinaest tipova dijagrama, podeljenih u tri kategorije: Šest vrsta dijagrama predstavlja statičke aplikacije strukture; tri predstavljaju opšte vrste ponašanja, a četiri predstavljaju različite aspekte.

Strukturni Dijagrami uključuju dijagram klasa,dijagram objekta, komponentni dijagram, kompozitnu strukturu dijagrama, paket dijagram, i raspoređivanje dijagrama.

Dijagrami ponašanja uključuju dijagram slučaja upotrebe (koriste ga neke metode tokom okupljanja zahteva); dijagram aktivnosti, kao i dijagram formulisane mašine.

Dijagrami interakcije svi su izvedeni iz opštijih dijagrama ponašanja, uključuju dijagram sekvenci,dijagram komunikacije , vremenski dijagram i dijagram pregleda interakcija.

Mi ne nameravamo da ova uvodna veb stranica bude kompletni vodič UML-a tako da nećemo navoditi detalje o različitim vrstama dijagrama ovde. Da biste saznali više, možete proveriti jedan od mnogih on-line tutorijala ,ili kupite knjigu. (Poslednji put kad smo proverili, kucanje "UML" u polje za pretragu za velike on-line knjižare dalo je spisak više od 100 naslova!) Ili, ako ste tehničari i želite celu priču, možete preuzeti samu UML specifikaciju sa OMG sajta. To je besplatno, naravno, ali ona je takođe i vrlo tehnička, jezgrovita, i veoma je teška da bi je početnici razumeli. (Za još nekoliko pasusa o tome zašto su specifikacije teške za čitanje, pogledajte ovde .)

Uskoro ću da započnem svoj prvi UML zasnovan na razvoju projekta. Šta treba da uradim? Tri stvari, verovatno (ali ne nužno), po ovom redosledu:

1) Izaberite metodologije: Metodologija formalno definiše proces koji koristite da prikupite zahteve, analizirajte ih i dizajnirate aplikaciju koja ih ispunjava na svaki način. Postoje mnoge metodologije, svaka je različita na neki način ili načine od ostalih. Postoje mnogi razlozi zašto neka metodologija može biti bolja od druge za određeni projekat: Na primer, neke su pogodnije za velike poslovne aplikacije, dok su druge napravljene da osmisle male ugrađene ili bezbednosno kritične sisteme. Na drugoj strani, neke metodologije bolje podržavaju veliki broj arhitekata i dizajnera koji rade na istom projektu, dok druge rade bolje kada ih koristi samo jedna osoba ili male grupe.

OMG, kao nezavisna organizacija, nema nikakvo mišljenje o metodologijama. Da bismo vam pomogli da počnete odabir one koja je najbolja za vas, mi smo ovde prikupili linkove ka metodološkim sredstvima .

2) Izaberite UML razvojni alat: Zato što većina (mada ne svi) UML-zasnovani alati sprovode određenu metodologiju, u nekim slučajevima možda neće biti praktično da izaberete alatku, a zatim da pokušate da je koristite sa metodologijom koja nije izgrađena za nju. (Za ostale kombinacije alata / metodologija , to ne može biti problem, ili možda jednostavno za rad.) Ali, neke metodologije su sprovedene na više instrumenata, tako da ovo nije striktno jedini izbor okruženja.

Možete naći alatku koja je toliko pogodna za vašu aplikaciju ili organizaciju da ste spremni da isključite metodologije kako bi je koristili. Ako je to slučaj, samo napred - naš savet da prvo koristite metodologiju je opšti, a ne može se primeniti na određenom projektu. Druga mogućnost: možete naći metodologiju koja vam se dopada, koja nije implementirana u alat koji odgovara veličini vašeg projekta ili vašem budžetu tako da morate da je isključite. Ukoliko se dogodi bilo koji od ovih slučajeva, pokušajte da izaberete alternativnu metodologiju koja se ne razlikuje mnogo od one koja vam se prvobitno svidela.

Kao i metodologije, OMG nema mišljenje ili rejting UML alata za modelovanje, ali ovde imamo veliki broj linkova . Ovo će vam pomoći da napravite vaš izbor.

3) Obučite se: I vi i vaše osoblje (osim ako ste dovoljno srećni da zaposlite UML-ove iskusne arhitekate) moraćete da imateo obuku za UML. Najbolje je da naučite kako da iskoristite odabran alat sa svojom izabranom metodologijom, obično tu obuku pružaju dobavljač alata ili metodolog. Ako odlučite da ne idete tim putem, proverite OMG stranicu obuke za kurs koji odgovara vašim potrebama. Kada ste naučili UML, možete postati UML profesionalac sa OMG-sertifikatom - proverite ovde za više detalja .

UML 2.0 - Velika nadogradnja: "Dostupna" verzija UML 2.0 nadgradnja specifikacija (to jest, verzija koja je završila prvo izdanje održavanja i izgrađena je u kupljeni proizvod) je završena i dostupna je svima za besplatno preuzimanje. Tri odvojena dela UML 2.0 - infrastruktura (to jest, meta-metamodel), objekat ograničenja jezika i dijagram razmene - još uvek prolaze kroz svoju prvu fazu održavanja i biće dostupni kada se završi. Ovde je opis trenutnog stanja sve četiri specifikacije i veze sa njima .

Šta je novo u UML 2.0: Već smo integrisali nove funkcije u ovaj opis, ali evo rezimea:
  • Ugnežđeni klasifikatori: To je izuzetno moćan koncept. U UML, skoro svaki model blokova sa kojima radite (klase, objekti, delovi, ponašanja kao što su aktivnosti i mašine, i drugo) je klasifikator.U UML 2.0, možete ugnezditi skup klasa unutar komponente koja ih upravlja, ili ugraditi ponašanje (kao što je stalni aparat) unutar klase ili komponente koja ga sprovodi. Ova mogućnost takođe omogućava da se izgradi složeno ponašanja od jednostavnijih sposobnosti da se definiše interakcija pregleda dijagrama. Možete poređati različite nivoe apstrakcija na više načina: Na primer, možete da napravite model svog preduzeća, i zumirate ugrađeni sajt pogledima, a onda pogledom odeljenja u okviru sajta, a zatim aplikacijom u okviru odeljenja. Alternativno, možete ugnezditi računarske modele u okviru modela poslovnog procesa. Omg-ov Business Enterprise Integration Domain Task Force (BEI DTF) trenutno radi na nekoliko interesantnih novih standarda u poslovnom procesu i pravilima poslovanja.
  • Poboljšano modelovanje ponašanja: U UML 1.k, različiti modeli ponašanja su bili nezavisni, ali u UML 2.0, svi proizilaze iz osnovne definicije ponašanja (osim za slučaj korišćenja, što je suptilno, ali ipak drugačije učestvuje u novoj organizaciji)
  • Poboljšanje odnosa između strukturnih modela i modela ponašanja: Kao što smo istakli u ugnežđenom klasifikatoru, UML 2.0 omogućava da odredite da ponasanje bude određeno (na primer) od strane stalne mašine ili sekvencijalnog dijagrama i to je ponašanje klase ili komponente.
Novi jezik ide i van klasa i objekata koji su dobro modelirani od strane UML 1.x tako da dodaci predstavljaju ne samo modele ponašanja, već i arhitektonske modele, poslovne procese i pravila, i drugi modeli se koriste u različitim delovima računarstva i čak ne-računarskih disciplina.

Tokom procesa nadogradnje, nekoliko dodataka jeziku je uključeno u nju, uključujući i Object Constraint Language (OCL) i Action Semantics.




Published (Last edited): 03-12-2012 , source: http://www.omg.org/gettingstarted/what_is_uml.htm