IMPLEMENTACIJA PODLOGE ZA SARADNJU KROKI ALATA SA ALATIMA ZA UML MODELOVANJE OPŠTE NAMENE

Similar documents
Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

Podešavanje za eduroam ios

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

ПРОШИРЕЊЕ КРОКИ АЛАТА ЗА СКИЦИРАЊЕ ПОСЛОВНИХ АПЛИКАЦИЈА ГРАФИЧКИМ UML ЕДИТОРОМ

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

Klasterizacija. NIKOLA MILIKIĆ URL:

SAS On Demand. Video: Upute za registraciju:

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

Otpremanje video snimka na YouTube

Priprema podataka. NIKOLA MILIKIĆ URL:

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

MDA pristup u realizaciji izveštajnog podsistema informacionih sistema

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

mdita Editor - Korisničko uputstvo -

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

1. Instalacija programske podrške

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

Bušilice nove generacije. ImpactDrill

PROJEKTNI PRORAČUN 1

Uvod u relacione baze podataka

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

Mindomo online aplikacija za izradu umnih mapa

STABLA ODLUČIVANJA. Jelena Jovanovic. Web:

Port Community System

Rešavanje problema pomoću računara

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

STRUČNA PRAKSA B-PRO TEMA 13

KREIRANJE DINAMIČKIH INTERFEJSA ZASNOVANIH NA META-ŠEMAMA CREATION OF DYNAMIC INTERFACES BASED ON META-SCHEMES

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

Upute za korištenje makronaredbi gml2dwg i gml2dgn

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

Tema 2: Uvod u sisteme za podršku odlučivanju (VEŽBE)

TEHNIKA I INFORMATIKA U OBRAZOVANJU

Struktura i organizacija baza podataka

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

TEHNIKA I INFORMATIKA U OBRAZOVANJU

Direktan link ka kursu:

MODELOM VOĐEN RAZVOJ SKLADIŠTA PODATAKA ZASNOVANOG NA DATA VAULT PRISTUPU

BENCHMARKING HOSTELA

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

Sybase PowerDesigner 12

1. MODEL (Ulaz / Zadržavanje / Stanje)

Provajderi sadržaja. Doc. dr Vladimir Milićević

MODEL OBJEKTI - VEZE KONCEPTI MODELA METODOLOGIJA MODELIRANJA

IZRADA TEHNIČKE DOKUMENTACIJE

Tutorijal za Štefice za upload slika na forum.

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll)

2. Objektno orjentirana analiza i dizajn poslovnih aplikacija, MVC model

Nejednakosti s faktorijelima

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

POSTUPAK IZRADE DIPLOMSKOG RADA NA OSNOVNIM AKADEMSKIM STUDIJAMA FAKULTETA ZA MENADŽMENT U ZAJEČARU

POSEBNA POGLAVLJA INDUSTRIJSKOG TRANSPORTA I SKLADIŠNIH SISTEMA

Primjeri pitanja iz 1. ili 2. skupine (za 2 ili 4 boda po pitanju) -

Aplikacija za podršku transferu tehnologija

RANI BOOKING TURSKA LJETO 2017

MATEMATIČKI FAKULTET BEOGRADSKI UNIVERZITET MASTER TEZA. Aplikacija za voñenje evidencije prihoda i rashoda zasnovana na.

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

Materijali za pripremu usmenog ispita Predmet: Procesi razvoja softvera

11 Analiza i dizajn informacionih sistema

Projektovanje softvera. Uvod

TEHNIČKO REŠENJE. Integrisani sistem za fizikalnu terapiju

Windows Easy Transfer

Interaktivni Generator Vizuelnih Simulatora Digitalnih Sistema (IGoVSoDS)

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

Dr.Miroljub Banković, prof. Kragujevac, 2008.

PLAN RADA. 1. Počnimo sa primerom! 2. Kako i zašto? 3. Pejzaž višestruke upotrebe softvera 4. Frameworks 5. Proizvodne linije softvera 6.

INFORMATIKA II AutoCAD 9. deo. Rudarsko-geološki fakultet Rudarski odsek

Da bi se napravio izvještaj u Accessu potrebno je na izborniku Create odabrati karticu naredbi Reports.

CRNA GORA

3D GRAFIKA I ANIMACIJA

za STB GO4TV in alliance with GSS media

SISTEMI ZA UPRAVLJANJE SADRŽAJEM

Office 365, upute za korištenje elektroničke pošte

Интеграција система паметне куће са Амазон Алекса сервисом

2. Kreiranje nove baze podataka

Ali kako znati koja maksimalna plata pripada kojem sektoru? GROUP BY in SELECT Obično se uključuje GROUP BY kolona u SELECT listi.

Razvoj 3D grafike i korisničkog interfejsa didaktičke akcione igre u XNA okruženju

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

Relacije spajaju opšta sredstva dok dijagrami grupišu opšta sredstva.

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011.

ONLINE APLIKACIJA ZA SLANJE OBAVIJESTI U PREDDEFINIRANO VRIJEME


KatzeView Uputstvo. verzija Novi Sad Josifa Marinkovića 44. Tel: +381 (0) Fax: +381 (0) Mob: +381 (0)

INTEGRACIJA DODATNIH MOGUĆNOSTI U PROGRAMSKI SUSTAV MARKER

Projektovanje softvera. Dijagrami slučajeva korišćenja

ЗАВРШНИ (BACHELOR) РАД

Primer-1 Nacrtati deo lanca.

Slobodni softver za digitalne arhive: EPrints u Knjižnici Filozofskog fakulteta u Zagrebu

Transcription:

IMPLEMENTACIJA PODLOGE ZA SARADNJU KROKI ALATA SA ALATIMA ZA UML MODELOVANJE OPŠTE NAMENE IMPLEMENTATION OF BASIS FOR COOPERATION BETWEEN KROKI TOOL AND UML MODELING TOOLS Željko Ivković, Renata Vaderna, Milorad Filipović, Gordana Milosavljević, Igor Dejanović Fakultet tehničkih nauka, Novi Sad {zeljkoi, vrenata, mfili, grist, igord}@uns.ac.rs Sadržaj U radu je prikazana implementacija import i export funkcija za Kroki alat za skiciranje poslovnih aplikacija. Opisan je postupak mapiranja metamodela Kroki alata na Eclipse UML2 metamodel. Eclipse UML2 biblioteka omogućava snimanje i učitavanje UML modela u različitim standardnim formatima koji su podržavani od strane većine UML alata za modelovanje. Abstract The paper presents implementation of import and export functions for Kroki mockup tool and describes the process of maping Kroki s metamodel to Eclipse UML2 metamodel. Eclipse UML2 metamodel is a java library that provides save and load of UML models using different standard formats supported by most modeling tools. 1. UVOD U ovom radu je opisana implementacija podloge za dvosmernu komunikaciju (import i eksport) Kroki alata za skiciranje poslovnih aplikacija sa UML alatima za modelovanje opšte namene. Kroki alat omogućava skiciranje aplikacija poslovnih sistema korišćenjem grafičkog editora formi, na način koji je blizak krajnjem korisniku [1]. Implementiranjem import i export funkcionalnosti biće omogućeno projektantima da koriste alate sa kojima su već upoznati za kreiranje modela poslovnih sistema, a zatim da prebacivanjem tih modela u Kroki alat dobiju inicijalnu specifikaciju korisničkog interfejsa koju odmah mogu da isprobaju sa krajnjim korisnikom. Export funkcionalnost treba da omogući da se elementi poslovnog sistema koje je kreirao korisnik u Kroki alatu mapiraju na elemente modela koji se može sačuvati u nekom od standardnih formata za razmenu između alata za modelovanje. Import funkcionalnost treba da omogući import modela iz nekog standardnog formata i mapiranje njegovih elemenata na elemente koje koristi Kroki alat. Ostatak rada je organizovan na sledeći način. U poglavlju 2 je dat kratak opis Kroki alata. U poglavlju 3 je opisana Eclipse UML2 biblioteka koja je iskorišćena za implementaciju import i export funkcionalnosti. Poglavlje 4 sadrži opis mapiranja elemenata metamodela Kroki alata na elemente metamodela Eclipse UML2 biblioteke. Poglavlje 5 sadrži zaključak i pravce daljeg razvoja. 2. KROKI ALAT Kroki alat namenjen je za skiciranje formi i njihovih međusobnih veza. Na slici 2.1. prikazan je izgled glavnog prozora Kroki alata. Kao što je navedeno u [1], sastoji se od: Komponente tipa stabla za kreiranje i prikaz hijerarhijske strukture poslovnih sistema i podsistema i njihovog sadržaja (gornji levi ugao) Prostora za skiciranje ekranskih formi, podeljenog u jezičke tabove (centralni deo alata). Svakoj formi koja je u datom trenutku otvorena dodeljuje se jedan tab. Palete komponenti koje se mogu smeštati na formu (desna strana alata) Panela za podešavanje osobina selektovane forme ili neke njene komponente (donji levi ugao). Konzole za brzo kreiranje formi korišćenjem komandnog jezika Kroki alat je skoncentrisan na specifikaciju krupnih (course-grained) gradivnih elemenata aplikacije (formi, podsistema, izveštaja i sl) [1]. Zahvaljujući ovome, omogućen je razvoj modela na visokom nivou apstrakcije, što doprinosi bržem razvoju i lakšoj čitljivosti modela. U fazi specifikacije, kreiranje i pokretanje skica se koristi u funkciji smanjivanja neodređenosti i savlađivanja barijera u komunikaciji sa korisnikom. Elementi koji se koriste za kreiranje skica odgovaraju по izgledu elementima u izgenerisanoj aplikaciji poslovnog sistema i zato korisnici mogu brže da nauče da koriste Kroki alat. Kroki alat implementira konkretnu sintaksu EUIS (Enterprise User Interface Specification) DSL-a (Domain Specific Language) [1]. EUIS DSL je jezik za specifikaciju korisničkog interfejsa poslovnih aplikacija na visokom nivou apstrakcije. U Kroki alatu EUIS DSL je implementiran kao UML profil u kojem su proširene metaklase Element, Class, Property, Operation, Parameter, Constraint i Package. Elementi KROKI alata koji su korišćeni prilikom implementacije import i export funkcionalnosti su: podsistemi, standardne forme, izveštaji i zoom mehanizam. 2.1 STANDARDNA FORMA Standardna forma predstavlja formu za prikaz podataka, prikaz polja za unos podataka i dodatnih akcija koje se mogu izvršiti nad podacima.

Na slici 2.1. dat je primer skiciranja standardne forme Članovi karate kluba u okviru Kroki alata. standarda za modelovanje softverskih sistema, kao što je UML standard [4]. Slika 2.1. Izgled Kroki alata Standardna forma sadrži tri grupe elemenata: 1. toolbar elemente - opcije zajedničke za sve standardne forme. 2. polja za unos i zoom polja. 3. dodatne akcije koje se mogu izvršiti za datu standardnu formu. To mogu da budu akcije koje pokreću kreiranje i prikaz izveštaja ili definisanih transakcija. 2.2 ZOOM MEHANIZAM Zoom mehanizam omogućava da se iz jedne standardne forme referencira podatak iz druge standardne forme. Zoom mehanizam je realizovan kao combo-box koji sadrži vrednosti koje se mogu izabrati. Ako se odgovarajuća vrednost ne nalazi među ponuđenim vrednostima, pored njega se nalazi i dugme sa tri tačke kojim se otvara druga forma iz koje može da se izabere vrednost čiji identifikator se prenosi u polje za unos prve standardne forme. Na slici 2.1. to su polja Kilaža, Uzrast i Pojas. 3. ECLIPSE UML2 Eclipse je besplatan alat koji omogućava razvoj softverskih aplikacija. Podržava različite vrste programskih jezika. EMF (Eclipse Modeling Framework) je deo Eclipse alata koji omogućava kreiranje modela softverskih aplikacija i generisanje koda na osnovu kreiranih modela. Za modelovanje se koriste elementi Eclipse UML2 metamodela. Eclipse UML2 je EMF bazirana implementacija UML 2.x OMG (Object Managment Group) metamodela, kao što je navedeno u [2]. OMG grupa [3] je internacionalni neprofitni konzorcijum za kompjutersku industriju, koji se bavi utvrđivanjem Eclipse biblioteka koja sadrži Eclipse UML2 metamodel, omogućava snimanje i učitavanje UML modela u različitim formatima. Za implementaciju import i export funkcionalnosti korišćen je samo podskup elemenata Eclipse UML2 metamodela, i to su: Model, Package, Class, Property, Operation, Association i Stereotype. 3.1 CAMEL CASE NOTACIJA Camel case notacija, kao što je navedeno u [5], predstavlja pisanje rečenica tako što se reči u rečenici ne razdvajaju praznim mestima, već se pišu spojene jedna sa drugom. Da bi se razlikovale različite reči u rečenici, prvo slovo svake reči počinje velikim slovom, a sva ostala slova reči se pišu malim slovima. Camel case notacija se koristi za davanje naziva elemenata Eclipse UML2 modela. Za nazive instanci Model, Package i Class elemenata prvo slovo prve reči u nazivu se prebacuje u odgovarajuće veliko slovo, dok se za nazive instanci Attribute, Operation i Property elemenata prvo slovo prve reči prebacuje u odgovarajuće malo slovo, a ostale reči u nazivu prate camel case notaciju. U Kroki alatu nazivi elemenata koriste notaciju gde je svaka reč u rečenici razdvojena praznim mestom. Iz ovog razloga prilikom mapiranja elemenata nazivi se moraju transformisati u odgovarajuću notaciju. 4. MAPIRANJE ELEMENATA Za realizaciju import i export funkcionalnosti korišćen je podskup elemenata EUIS metamodela koji koristi Kroki alat i Eclipse UML2 metamodela. Mapiranja metaklasa EUIS DSL-a u okviru Kroki alata na odgovarajuće

metaklase Eclipse UML2 metamodela, prikazana su u tabeli 4.1. Tabela 4.1. Mapiranja za realizaciju import i export funkcionalnosti Elementi Kroki alata Eclipse UML2 elementi BussinesSubsystem Model BussinesSubsystem Package StandardPanel Class VisibleProperty Property VisibleOperation Operation Zoom Association ElementsGroup Property Operation 4.1 KORIŠĆENJE STEREOTIPA UML profil predstavlja specijalizaciju UML-a kao jezika za modelovanje opšte namene u cilju prilagođavanja nekom specifičnom domenu primene, platformi ili metodologiji [4]. Specijalizacija putem profila se ogleda u definisanju stereotipa koji predstavljaju proširenja postojećih metaklasa UML-a, kreiranju njihovih atributa (tagova) i ograničenja. EUIS UML profil poseduje stereotipe koji predstavljaju proširenja metaklasa Element, Class, Property, Operation i Package, u cilju kreiranja podrške za modelovanje poslovnih aplikacija u okviru UML alata opšte namene. Prilikom implementacije exporta iz Kroki alata, potrebno je izvršiti mapiranje EUIS DSL metaklase na odgovarajuću UML metaklasu proširenu stereotipom, radi dobijanja što približnije specifikacija sistema kakva postoji u Kroki alatu. Prilikom aktiviranja export-a, može se birati da li se želi export sa stereotipima ili bez njih, pošto postoje alati za modelovanje koji ne podržavaju UML profile. Prilikom implementacije import funkcionalnosti nije neophodno da svi elementi UML2 modela imaju dodeljene stereotipove. Za elemente koji nemaju dodeljen stereotip biće kreirani odgovarajući Kroki elementi sa unapred definisanim vrednostima. 4.2 STEREOTIP VISIBLEELEMENT Stereotip VisibleElement, koji je prikazan na slici 4.1., proširuje UML2 metaklasu NamedElement. Metaklase Class, Operation i Property su samo neki od elemenata u UML2 metamodelu koji nasleđuju NamedElement. Ovaj stereotip se koristi prilikom izvršavanja import i export funkcionalnosti kod StandardPanel, VisibleProperty, VisibleOperation i Zoom elemenata. 4.3 MAPIRANJE IZMEĐU ELEMENTA BUSSINESSUBSYSTEM I ELEMENTA TIPA MODEL Element BussinesSubsystem u Kroki alatu se koristi za predstavljanje korenskog elementa za ostale podelemente. Element Model odgovara korenskom elementu Eclipse UML2 diagrama i sadrži sve ostale elemente Eclipse UML2 metamodela. Prilikom implementacije import funkcionalnosti za odgovarajući element tipa Model kreira se odgovarajući element tipa BussinesSubsystem, a tokom implementacije export funkcionalnosti za element tipa BussinesSubsystem kreira se odgovarajući element tipa Model. 4.4 MAPIRANJE IZMEĐU ELEMENTA BUSSINESSUBSYSTEM I ELEMENTA TIPA PACKAGE Element tipa Model u okviru UML2 biblioteke sadrži podelemente tipa Package, koji takođe mogu da sadrže podelemente koji su tipa Package, čime je omogućeno kreiranje hijerarhije paketa. Element tipa BussinesSubsystem koji predstavlja korenski element projekta u Kroki alatu sadrži podelemente koji su takođe tipa BussinesSubsystem i time je omogućeno kreiranje hijerarhija i podsistema kao logičkih celina u poslovnom sistemu. Prilikom implementacije import funkcionalnosti se za odgovarajući element tipa Package kreira odgovarajući element tipa BussinesSubsystem, a zatim se pristupa njegovim paketima i tako rekurzivno sve dok se ne stigne do paketa koji ne sadrži druge pakete. Kreirani BussinesSubsystem elementi po hijerahiji odgovaraju hijerahiji Package elemenata. Tokom implementacije export funkcionalnosti se za odgovarajući element tipa BussinesSubsystem kreira odgovarajući element tipa Package. Za svaki BussinesSubsystem element se rekurzivno prolazi kroz njegove podelemente tipa BussinesSubsystem i tako sve dok se ne stigne do elementa koji nema podelemente tipa BussinesSubsystem. Kreirani Package elementi po hijerarhiji odgovaraju hijerarhiji BussinesSubsystem elemenata. 4.5 MAPIRANJE IZMEĐU ELEMENTA STANDARDPANEL I ELEMENTA TIPA CLASS Slika 4.1 Stereotip VisibleElement Na slici 4.1 se vidi da stereotip VisibleElement poseduje dva taga: label i visible, a koja služe za čuvanje naziva koji nije u camel case notaciji i vrednosti kojom se određuje da li element treba da bude vidljiv na korisničkom interfejsu aplikacije. Metaklasa StandardPanel u okviru Kroki alata predstavlja panel namenjen za pregled i ažuriranje podataka iz jedne tabele, kao što je objašnjeno u Poglavlju 2. Ona se mapira na metaklasu Class u okviru Eclipse UML2 metamodela. Instance metaklase StandardPanel mogu biti podelementi instanci metaklasa BussinesSubsystem u okviru Kroki alata. Instance metaklase Class mogu biti podelementi instanci metaklasa Model i Package.

Prilikom implementacije import funkcionalnosti za element tipa Class se kreira odgovarajući element tipa StandardPanel, a tokom implementacije export funkcionalnosti se za element tipa StandardPanel kreira odgovarajući element tipa Class. kreira odgovarajući element tipa Property. U okviru standardnih formi Kroki alata moguće je kreirati grupe i podgrupe polja za unos koristeći elemente tipa ElementsGroup, kao što je prikazano na slici 4.4. 4.6 STEREOTIPOVI STANDARDPANEL I VISIBLECLASS Stereotipovi StandardPanel i VisibleClass su proširenja UML2 metaklase Class i koriste se za čuvanje vrednosti atributa metaklase StandardPanel u Kroki alatu. Slika 4.2. Stereotipovi StandardPanel i VisibleClass Na slici 4.2 prikazani su tagovi koje poseduju stereotipovi StandardPanel i VisibleClass. Stereotip VisibleClass čuva vrednost da li odgovarajući Kroki element StandardPanel treba da bude modalan dijalog, a StandardPanel stereotip određuje koje operacije je dozvoljeno da se izvrše nad podacima u dijalogu. Slika 4.4. Hijerahija polja za unos U slučaju kad se izabere opcija za export kad se ne dodeljuju stereotipovi elementima UML2 modela, za kreirani Property element, naziv se sastoji od naziva VisibleProperty elementa i naziva svih ElementsGroup elemenata u hijerahiji u kojima se nalazi VisibleProperty element. U slučaju kada se dodaju stereotipovi elementima, za naziv Property elementa se postavlja naziv odgovarajućeg VisibleProperty elementa, a za svaki ElementsGroup element kreira se poseban Property element kojem se dodeli stereotip ElementsGroupProperty, koji je prikazan na slici 4.5. Ovaj stereotip dodaje vrednost, Property elementu, pomoću koje se odrede svi Property elementi koji pripadaju grupi elemenata, koja je određena ElementsGroup elementom. 4.7 MAPIRANJE IZMEĐU ELEMENTA VISIBLEPROPERTY I ELEMENTA TIPA PROPERTY Elementi tipa VisibleProperty predstavljaju polja za unos u okviru standardnih formi Kroki alata (instanci klase StandardPanel). Elementi tipa VisibleProperty su podelementi instanci StandardPanel klase. Mapiraju se na obeležja klase u okviru UML2 biblioteke. Obeležja klase su elementi tipa Property, koji su podelementi instance klase Class. Slika 4.3. Stereotip VisibleProperty Stereotip koji proširuje Property metaklasu je VisibleProperty, koji je prikazan na slici 4.3. Njegovi tagovi odgovaraju atributima polja za unos u okviru Kroki alata. Prilikom implementacije import funkcionalnosti, za odgovarajući element tipa Property kreira se odgovarajući element tipa VisibleProperty, a tokom implementacije export funkcionalnosti se za element tipa VisibleProperty Slika 4.5. Stereotip ElementsGroupProperty Prilikom izvršavanja import funkcionalnosti za Property element kojem je dodeljen ElementsGroupProperty stereotip, kreira se ElementsGroup element umesto VisibleProperty elementa. U Kroki alatu podržani su različiti tipovi polja za unos u zavisnosti od vrednosti koja se može uneti u odgovarajuće polje, takođe i obeležja klase mogu imati postavljen tip vrednosti koja odgovara obeležju. Za tip vrednosti obeležja može da bude postavljen element tipa Enumeration. Ovaj element predstavlja definisane vrednosti koje obeležje može da sadrži. Definisane vrednosti odgovaraju elementima EnumerationLiteral koji su podelementi instance Enumeration klase. Prilikom implementacije import funkcionalnosti kreira se odgovarajuće polje za unos kojem se određuju definisane vrednosti koje odgovaraju EnumerationLiteral podelementima. Prilikom implementacije export funkcionalnosti, za polje za unos koje ima definisane vrednosti kreira se odgovarajući Enumeration objekat sa EnumerationLiteral podelementima. Za sve ostale tipove polja za unos postavlja se tip vrednosti koji je već definisan u UML2 metamodelu. Ako ne postoji odgovarajući tip u UML2

metamodelu kreira se objekat tipa PrimitiveType koji se postavlja kao tip vrednosti za obeležje klase. 4.8 MAPIRANJE IZMEĐU ELEMENTA VISIBLEOPERATION I ELEMENTA TIPA OPERATION Elementi tipa VisibleOperation predstavljaju dodatne akcije u okviru standardnih formi Kroki alata (instanci klase StandardPanel). Klase Report i Transaction odgovaraju određenom tipu dodatne akcije i to su izveštaji i transakcije. Elementi tipa VisibleOperation su podelementi instanci StandardPanel klase. Mapiraju se na metode klase u okviru UML2 biblioteke. Metode klase su elementi tipa Operation, koji su podelementi instance klase Class. Slika 4.6. Stereotip BusinessOperation Stereotip koji proširuje Operation metaklasu je BusinessOperation, koji je prikazan na slici 4.6. Ovaj stereotip sadrži tagove koji su zajednički za različite tipove akcija. Prilikom implementacije import funkcionalnosti, ako za Operation element nije postavljen jedan od stereotipova Report ili Transaction, biće prikazan dijalog na kojem treba da se izabere koji tip dodatne akcije za Operation element treba da se kreira. Na slici 4.7. prikazani su stereotipovi Report i Transaction koji proširuju Operation metaklasu, a pomoću kojih se direktno u UML2 modelu određuje koji tip dodatne akcije da se kreira tokom izvršavanja import funkcionalnosti. Slika 4.8. Hijerahija dodatnih akcija U slučaju exporta bez dodele stereotipova elementima UML2 modela, za kreirani Operation element naziv se sastoji od naziva VisibleOperation elementa i naziva svih ElementsGroup elemenata u hijerahiji u kojima se nalazi VisibleOperation element. U slučaju kada se dodaju stereotipovi Operation elementima, za naziv elementa se postavlja naziv odgovarajućeg VisibleOperation elementa, a za svaki ElementsGroup element kreira se poseban Operation element kojem se dodeljuje stereotip ElementsGroupOperation, koji je prikazan na slici 4.9. Slika 4.9. Stereotip ElementsGroupOperation Ovaj stereotip dodaje vrednost Operation elementu, pomoću koje se odrede svi Operation elementi koji pripadaju grupi elemenata, koja je određena ElementsGroup elementom. Prilikom izvršavanja import funkcionalnosti, za Operation element kojem je dodeljen ElementsGroupOperation stereotip kreira se ElementsGroup element umesto dodatne akcije. 4.9 MAPIRANJE IZMEĐU ELEMENTA ZOOM I ELEMENTA TIPA ASSOCIATION Slika 4.7. Stereotipovi Report i Transaction Stereotipovi Report i Transaction poseduju tagove koji su specifični za odgovarajući tip dodatne akcije. Tokom implementacije export funkcionalnosti se za element tipa VisibleOperation kreira odgovarajući element tipa Operation i postavlja se odgovarajući stereotip u zavisnosti od tipa dodatne akcije. U okviru standardnih formi Kroki alata moguće je kreirati hijerahije dodatnih akcija koristeći elemente tipa ElementsGroup, kao što je prikazano na slici 4.8. Zoom element predstavlja zoom polje, koje implementira zoom mehanizam kao što je objašnjeno u poglavlju 2.2. Zoom element je podelement StandardPanel elementa. Element tipa Association predstavljaju vezu asocijacije između elemenata tipa Class. Može biti podelement instanci klasa Model, Package i Class. Element tipa Association je preko instance Property klase povezan na Class elemente koje povezuje. Prilikom implementacije import funkcionalnosti za Association elemente koji predstavljaju One-To-Many vezu kreira se odgovarajući Zoom element. Da bi Association element predstavljao One-To-Many vezu, jedan kraj asocijacije mora za gornju granicu kardinaliteta imati postavljenu vrednost 1, a drugi kraj asocijacije mora imati postavljenu vrednost n (koja označava proizvoljan broj). Koju standardnu formu referencira zoom polje određuje se na osnovu tipa vrednosti koja je postavljena za element tipa Property kojem je za gornju granicu kardinaliteta postavljena vrednost 1. Kao tip vrednosti

postavljena je instanca Class elementa koju povezuje asocijacija, a za koju je već kreirana odgovarajuća instanca klase StandardPanel. Zoom polje će biti podelement standardne forme koja odgovara klasi koja je postavljena za tip vrednosti Property elementa drugog kraja asocijacije. Prilikom implementacije export funkcionalnosti, za Zoom element kreira se odgovarajući Association element koji povezuje klase koje odgovaraju: standardnoj formi koja sadrži zoom polje i standardnoj formi koju referencira zoom polje. Za kraj asocijacije koji povezuje klasu koja odgovara standardnoj formi koju referencira zoom polje za gornju granicu kardinaliteta postavlja se vrednost n, a za drugi kraj asocijacije postavlja se vrednost 1. 4.10 STEREOTIP VISIBLEASSOCIATIONEND Stereotip VisibleAssociationEnd proširuje UML2 metaklasu Property, kao što se vidi na slici 4.10. Realizovana je import funkcionalnost koja omogućava korisnicima da kreirane modele u drugim alatima mogu da učitaju u Kroki alat i time dobiju inicijalni predlog korisničkog interfejsa aplikacije, ako u modelu nisu korišćeni stereotipovi ili da korišćenjem stereotipova dobiju korisnički interfejs koji bez dodatnih izmena mogu da isprobaju sa korisnicima. Realizovana je export funkcionalnost kojom je omogućeno da se poslovni sistemi kreirani u Kroki alatu učitaju u alat za modelovanje i nad tim modelom koriste već poznate mogućnosti alata za modelovanje. Dalji razvoj predviđa da se, prilikom importa, kreiranjem složenih, parent-child formi, u situacijama gde za to postoje uslovi (asocijacija između klasa sa kardinalitetom 1..n), pokriju i dodatne mogućnosti koje nudi Kroki alat. Na ovaj način bi predložena specifikacija korisničkog interfejsa aplikacije čiji se model importuje bila još bliža finalnom rešenju. LITERATURA [1] Milorad Filipović, Vladan Marsenić, Gordana Milosavljević, Igor Dejanović, KROKI: Alat za interaktivni razvoj poslovnih aplikacija baziran na skicama, YuInfo, Kopaonik, 2013 [2] MDT/UML2/UML2 4.0 Migration Guide, http://wiki.eclipse.org/mdt/uml2/uml2_4.0_migratio n_guide Slika 4.10. Stereotip VisibleAssociationEnd Za Property element koji predstavlja kraj Association elementa i koji ima maksimalni kardinalitet postavljen na vrednost 1, postavlja se stereotip VisibleAssociationEnd sa vrednostima tagova koji odgovaraju vrednostima Zoom elementa Kroki alata. 5. ZAKLJUČAK [3] Object Management Group, http://en.wikipedia.org/wiki/object_management_group [4] Unified Modeling Language (UML ), http://www.omg.org/spec/uml/ [5] Camel case, http://en.wikipedia.org/wiki/camelcase U ovom radu implementirana je razmena modela između Kroki alata za skiciranje poslovnih aplikacija i UML alata opšte namene. Prikazano je mapiranje elemenata Kroki modela na elemente Eclipse UML2 modela. Eclipse UML2 model se može sačuvati u različitim formatima i mogu se učitavati različiti formati podržani od UML alata za modelovanje.