Michoro ya kuiga. Sifa za jumla za lugha ya UML. Mbinu za kawaida za UML

UML ni lugha iliyounganishwa ya kielelezo cha picha kwa ajili ya kuelezea, kuibua, kubuni na kuhifadhi mifumo ya OO. UML imeundwa kusaidia mchakato wa kuiga programu kulingana na mbinu ya OO, kupanga uhusiano wa dhana ya dhana na programu, na kuakisi matatizo ya kuongeza mifumo changamano. Miundo ya UML hutumiwa katika hatua zote za mzunguko wa maisha ya programu, kutoka kwa uchanganuzi wa biashara hadi matengenezo ya mfumo. Mashirika tofauti yanaweza kutumia UML kadri yanavyoona inafaa, kulingana na maeneo ya matatizo yao na teknolojia wanazotumia.

Historia fupi ya UML

Kufikia katikati ya miaka ya 90, waandishi mbalimbali walikuwa wamependekeza njia kadhaa za uundaji wa OO, ambayo kila moja ilitumia nukuu yake ya picha. Wakati huo huo, mojawapo ya njia hizi zilikuwa na nguvu zake, lakini hazikuruhusu kujenga mfano kamili wa kutosha wa PS, kuionyesha "kutoka pande zote," yaani, makadirio yote muhimu (Angalia kifungu cha 1). Kwa kuongeza, ukosefu wa kiwango cha mfano wa OO ulifanya kuwa vigumu kwa watengenezaji kuchagua njia inayofaa zaidi, ambayo ilizuia kupitishwa kwa njia ya OO kwa maendeleo ya programu.

Kwa ombi la Kikundi cha Usimamizi wa Kitu (OMG), shirika linalohusika na kupitishwa kwa viwango katika uwanja wa teknolojia ya kitu na hifadhidata, shida ya haraka ya umoja na viwango ilitatuliwa na waandishi wa njia tatu maarufu za OO - G. . Butch, D. Rambo na A. Jacobson, ambao waliunganisha juhudi walizounda toleo la UML 1.1, lililoidhinishwa na OMG mwaka wa 1997 kama kawaida.

UML ni lugha

Lugha yoyote huwa na msamiati na kanuni za kuunganisha maneno ili kuunda miundo yenye maana. Hii ni, haswa, jinsi lugha za programu zinavyoundwa, pamoja na UML. Kipengele chake tofauti ni kwamba kamusi ya lugha huundwa na vipengele vya picha. Kila ishara ya picha ina semantiki maalum inayohusishwa nayo, kwa hivyo mfano iliyoundwa na msanidi mmoja unaweza kueleweka wazi na mwingine, na vile vile kwa zana ya programu inayotafsiri UML. Kuanzia hapa, haswa, inafuata kwamba muundo wa programu uliowasilishwa katika UML unaweza kutafsiriwa kiatomati kwa lugha ya programu ya OO (kama vile Java, C++, VisualBasic), ambayo ni, ikiwa kuna zana nzuri ya uundaji wa kuona inayounga mkono UML, ikiwa na ilijenga modeli , pia tutapokea sampuli ya msimbo wa programu inayolingana na mtindo huu.

Inapaswa kusisitizwa kuwa UML ni lugha, si mbinu. Inaelezea ni vipengele gani vya kuunda mifano na jinsi ya kuzisoma, lakini haisemi chochote kuhusu mifano ambayo inapaswa kuendelezwa na katika hali gani. Ili kuunda njia kulingana na UML, ni muhimu kuiongezea kwa maelezo ya mchakato wa maendeleo ya programu. Mfano wa mchakato huo ni Mchakato wa Rational Unified, ambao utajadiliwa katika makala zinazofuata.

Kamusi ya UML

Mfano huo unawakilishwa kwa namna ya vyombo na mahusiano kati yao, ambayo yanaonyeshwa kwenye michoro.

Vyombo ni vifupisho ambavyo ni vipengele vikuu vya mifano. Kuna aina nne za vyombo - kimuundo (darasa, kiolesura, kijenzi, kesi ya matumizi, ushirikiano, nodi), kitabia (mwingiliano, hali), kambi (vifurushi) na maelezo (maoni). Kila aina ya huluki ina uwakilishi wake wa picha. Vyombo vitajadiliwa kwa kina wakati wa kusoma michoro.

Uhusiano onyesha uhusiano mbalimbali kati ya vyombo. UML inafafanua aina zifuatazo za uhusiano:

  • Uraibu inaonyesha uhusiano huo kati ya vyombo viwili wakati mabadiliko katika moja yao - huru - yanaweza kuathiri semantics ya nyingine - tegemezi. Utegemezi unawakilishwa na mshale wenye vitone unaoelekezwa kutoka kwa huluki tegemezi hadi huluki huru.
  • Muungano ni uhusiano wa kimuundo unaoonyesha kuwa vitu vya chombo kimoja vinahusiana na vitu vya kingine. Kielelezo, muungano unaonyeshwa kama mstari unaounganisha huluki husika. Mashirika hutumikia kusafiri kati ya vitu. Kwa mfano, uhusiano kati ya madarasa ya "Agizo" na "Bidhaa" inaweza kutumika kupata bidhaa zote zilizobainishwa kwa mpangilio maalum, kwa upande mmoja, au kupata maagizo yote ambayo yana bidhaa hii, kwa upande mwingine. Ni wazi kwamba programu zinazolingana lazima zitekeleze utaratibu ambao hutoa urambazaji kama huo. Ikiwa urambazaji katika mwelekeo mmoja tu unahitajika, inaonyeshwa kwa mshale mwishoni mwa ushirika. Kesi maalum ya ushirika ni mkusanyiko - uhusiano wa fomu "nzima" - "sehemu". Kielelezo, imeangaziwa na almasi mwishoni karibu na kiini-nzima.
  • Ujumla ni uhusiano kati ya huluki ya mzazi na taasisi ya mtoto. Kimsingi, uhusiano huu unaonyesha mali ya urithi kwa madarasa na vitu. Ujumla huonyeshwa kama mstari unaoishia na pembetatu inayoelekezwa kwa huluki kuu. Mtoto hurithi muundo (sifa) na tabia (mbinu) ya mzazi, lakini wakati huo huo inaweza kuwa na vipengele vipya vya muundo na mbinu mpya. UML inaruhusu urithi mwingi, ambapo huluki inahusiana na zaidi ya huluki moja ya mzazi.
  • Utekelezaji- uhusiano kati ya huluki ambayo inafafanua uainishaji wa tabia (kiolesura) na chombo kinachofafanua utekelezaji wa tabia hii (darasa, sehemu). Uhusiano huu hutumiwa kwa kawaida wakati wa kuunda vipengele na utaelezwa kwa undani zaidi katika makala zinazofuata.

Michoro. UML hutoa michoro ifuatayo:

  • Michoro inayoelezea tabia ya mfumo:
    • Michoro ya serikali
    • Michoro ya shughuli,
    • Michoro ya kitu,
    • Michoro ya mlolongo,
    • michoro ya ushirikiano;
  • Michoro inayoelezea utekelezaji wa kimwili wa mfumo:
    • michoro ya vipengele;
    • Michoro ya kupeleka.

Mtazamo wa Udhibiti wa Mfano. Vifurushi.

Tayari tumesema kwamba ili mfano ueleweke vizuri na wanadamu, ni muhimu kuipanga kwa hierarkia, na kuacha idadi ndogo ya vyombo katika kila ngazi ya uongozi. UML inajumuisha njia ya kupanga uwakilishi wa daraja la modeli - vifurushi. Mfano wowote una seti ya vifurushi ambavyo vinaweza kuwa na madarasa, kesi za utumiaji, na vyombo vingine na michoro. Kifurushi kinaweza kuwa na vifurushi vingine, kuruhusu uundaji wa madaraja. UML haitoi michoro tofauti za kifurushi, lakini zinaweza kuonekana katika michoro mingine. Kifurushi kinaonyeshwa kama mstatili na alamisho.

UML hutoa nini.

  • maelezo ya kihierarkia ya mfumo mgumu kwa kutambua vifurushi;
  • urasimishaji wa mahitaji ya kazi kwa mfumo kwa kutumia vifaa vya kesi za utumiaji;
  • kuelezea mahitaji ya mfumo kwa kuunda michoro na matukio ya shughuli;
  • kutambua madarasa ya data na kujenga mfano wa data ya dhana kwa namna ya michoro za darasa;
  • kutambua madarasa ambayo yanaelezea kiolesura cha mtumiaji na kuunda mpango wa kusogeza kwenye skrini;
  • maelezo ya michakato ya mwingiliano kati ya vitu wakati wa kufanya kazi za mfumo;
  • maelezo ya tabia ya kitu kwa namna ya shughuli na michoro za serikali;
  • maelezo ya vipengele vya programu na mwingiliano wao kupitia interfaces;
  • maelezo ya usanifu wa kimwili wa mfumo.

Na jambo la mwisho ...

Licha ya mvuto wote wa UML, itakuwa ngumu kutumia katika uundaji wa programu halisi bila zana za uundaji wa kuona. Zana kama hizo hukuruhusu kuwasilisha haraka michoro kwenye skrini ya kuonyesha, kuiandika, kutoa violezo vya msimbo wa programu katika lugha tofauti za programu za OO, na kuunda schema za hifadhidata. Wengi wao ni pamoja na uwezekano wa upya kanuni za programu - kurejesha makadirio fulani ya mtindo wa programu kwa kuchambua moja kwa moja kanuni za chanzo cha programu, ambayo ni muhimu sana ili kuhakikisha kufuata kati ya mfano na kanuni na wakati wa kubuni mifumo ambayo hurithi utendaji wa mifumo iliyotangulia.

11.1. Muundo wa Lugha Iliyounganishwa ya Kuiga

Lugha Iliyounganishwa ya Kuiga (UML) kwa sasa ndio kiwango halisi cha kuelezea (kuweka kumbukumbu) matokeo ya muundo na uundaji wa mifumo inayolenga kitu. Ukuzaji wa UML ulianza mnamo 1994 na Grady Booch na James Rumbaugh, ambao walifanya kazi katika Rational Software. Mnamo msimu wa 1995, Ivar Jacobson alijiunga nao na mnamo Oktoba mwaka huo huo, toleo la awali la 0.8 la Njia Iliyounganishwa ilitolewa. Tangu wakati huo, matoleo kadhaa ya vipimo vya UML yametolewa, mawili kati ya hayo yana hadhi ya kimataifa:

UML 1.4.2 – "ISO/IEC 19501:2005. Teknolojia ya habari. Uchakataji uliosambazwa wazi. Lugha ya kielelezo cha umoja (UML). Toleo la 1.4.2" (eng. "Teknolojia ya habari. Uchakataji uliosambazwa wazi. Lugha ya kielelezo cha umoja (UML). Toleo la 1.4.2");

UML 2.4.1 - "ISO/IEC 19505-1:2012. Teknolojia ya habari. Object Management Group Unified Modeling Language (OMG UML). Sehemu ya 1. Miundombinu" (eng. "Teknolojia ya habari -- Object Management Group Unified Modeling Language ( OMG) UML) - Sehemu ya 1: Miundombinu") na "ISO/IEC 19505-2:2012 Lugha ya Kielelezo cha Umoja kwa Kikundi cha Usimamizi wa Kitu (OMG UML) Sehemu ya 2. Muundo wa Juu" (eng. "Teknolojia ya habari - Kitu"). Lugha ya Muundo ya Kundi la Usimamizi (OMG UML) - Sehemu ya 2: Muundo Mkubwa").

Maelezo ya hivi punde ya lugha rasmi yanaweza kupatikana katika www.omg.org.

Muundo wa jumla wa UML umeonyeshwa kwenye kielelezo kifuatacho.

Mchele. 11.1. Muundo wa UML

11.2. Semantiki za UML na sintaksia

Semantiki - tawi la isimu ambalo husoma maana ya vitengo vya lugha, haswa maneno na misemo yake.

Sintaksia - njia za kuchanganya maneno na maumbo yao katika vishazi na sentensi, kuchanganya sentensi katika sentensi changamano, njia za kuunda kauli kama sehemu ya matini.

Kwa hivyo, kuhusiana na UML, semantiki na syntax huamua mtindo wa uwasilishaji (jengo la mfano), ambalo linachanganya lugha asilia na rasmi kuwakilisha dhana za kimsingi (vipengele vya mfano) na mifumo ya upanuzi wao.

11.3. Nukuu ya UML

Notation ni tafsiri ya kielelezo ya semantiki kwa uwakilishi wake wa kuona.

UML inafafanua tatu aina ya chombo :

Muundo - kifupi ambacho ni onyesho la kitu cha dhana au cha mwili;

Kuweka vikundi - kipengele kinachotumiwa kwa mchanganyiko fulani wa semantic wa vipengele vya mchoro;

Ufafanuzi (ufafanuzi) - maoni juu ya kipengele cha mchoro.

Jedwali lifuatalo linatoa maelezo mafupi ya huluki kuu zinazotumiwa katika nukuu za picha na njia kuu za kuzionyesha.

Jedwali 11.1. Vyombo

Aina Jina Uteuzi Ufafanuzi (semantiki)
Kimuundo
(darasa)
Seti ya vitu vinavyoshiriki muundo na tabia ya kawaida

(kitu)
Muhtasari wa huluki halisi au inayowaziwa yenye mipaka ya dhana iliyobainishwa wazi, utu, hali na tabia. Kwa mtazamo wa UML, vitu ni mifano ya darasa (mifano ya chombo)

(mwigizaji)

Mhandisi
huduma za njia
Huluki iliyo nje ya mfumo inayoingiliana na mfumo na kutumia utendakazi wake kufikia malengo fulani au kutatua matatizo mahususi. Kwa hivyo, mwigizaji ni chanzo cha nje au mpokeaji wa habari

(kesi ya matumizi)
Maelezo ya vitendo vinavyofanywa na mfumo, ambayo husababisha matokeo muhimu kwa muigizaji

(jimbo)
Maelezo ya muda katika maisha ya huluki inapokidhi hali fulani, kufanya shughuli fulani au kusubiri tukio fulani kutokea.
Ushirikiano
(ushirikiano)
Maelezo ya seti ya matukio ya watendaji, vitu na mwingiliano wao katika mchakato wa kutatua tatizo fulani.

(sehemu)
Sehemu ya kimwili ya mfumo (faili), ikiwa ni pamoja na moduli za mfumo zinazotoa utekelezaji wa seti thabiti ya miingiliano

(kiolesura)

iCalculation
Seti ya shughuli zinazofafanua huduma (seti ya huduma) zinazotolewa na darasa au sehemu

(nodi)
Sehemu ya kimwili ya mfumo (kompyuta, printer, nk) ambayo hutoa rasilimali za kutatua tatizo
Kuweka vikundi
(kifurushi)
Utaratibu wa jumla wa vipengele vya kikundi.
Tofauti na sehemu, kifurushi ni dhana ya dhana tu (ya kufikirika). Kesi maalum za kifurushi ni mfumo na mfano

(kipande)
Eneo la mwingiliano maalum kati ya matukio ya mwigizaji na vitu

(kizigeu cha shughuli)
Kundi la shughuli (eneo la uwajibikaji) linalofanywa na chombo kimoja (muigizaji, kitu, sehemu, nodi, n.k.)

(eneo la shughuli zinazokatizwa)
Kikundi cha shughuli, mlolongo wa kawaida wa utekelezaji ambao unaweza kuingiliwa kama matokeo ya tukio la hali isiyo ya kawaida.
Ufafanuzi Kumbuka
(maoni)
Maoni kwa kipengele. Huambatanisha kwenye kipengele kilichotolewa maoni kwa mstari uliokatika

Vyanzo vingine, haswa [,], pia hutambua huluki za tabia mwingiliano Na mashine za hali ya mwisho, lakini kwa mtazamo wa kimantiki zinapaswa kuainishwa kama michoro.

Baadhi ya huluki zilizo hapo juu kwa mujibu wa kuashiria maelezo yao ya kina katika michoro ya mtengano. Juu ya mchoro wa ngazi ya juu wao ni alama na icon maalum au lebo.

Jedwali lifuatalo linatoa maelezo ya aina zote mahusiano UML inayotumika katika michoro kuonyesha uhusiano kati ya huluki.

Jedwali 11.3. Uhusiano

Jina Uteuzi Ufafanuzi (semantiki)
Muungano Uhusiano unaoelezea uhusiano wa maana kati ya vyombo viwili au zaidi. Aina ya jumla ya uhusiano
Kujumlisha Aina ndogo ya muungano inayoelezea uhusiano wa "sehemu" - "mzima", ambapo "sehemu" inaweza kuwepo tofauti na "zima." Rhombus inaonyeshwa kutoka upande "mzima". Uhusiano umebainishwa tu kati ya vyombo vya aina moja
Muundo Aina ndogo ya mkusanyiko ambayo "sehemu" haziwezi kuwepo kando na "zima." Kama sheria, "sehemu" huundwa na kuharibiwa wakati huo huo na "zima"
Utegemezi Uhusiano kati ya vyombo viwili ambapo mabadiliko katika chombo kimoja (kinachojitegemea) yanaweza kuathiri hali au tabia ya chombo kingine (kitegemezi). Upande wa mshale unaonyesha huluki inayojitegemea
Ujumla Uhusiano kati ya huluki ya jumla (babu, mzazi) na huluki maalumu (mzao, binti). Pembetatu imeonyeshwa kutoka upande wa mzazi. Uhusiano umebainishwa tu kati ya vyombo vya aina moja
Utambuzi Uhusiano kati ya huluki ambapo huluki moja hubainisha kitendo ambacho huluki nyingine inajizatiti kutekeleza. Uhusiano hutumiwa katika matukio mawili: kati ya miingiliano na madarasa (au vipengele), kati ya kesi za matumizi na ushirikiano. Upande wa mshale unaonyesha huluki inayofafanua kitendo (kiolesura au kisa cha matumizi)

Kwa ushirika, mkusanyiko na muundo unaweza kubainishwa wingi (eng. wingi), inayobainisha jumla ya idadi ya matukio ya huluki zinazoshiriki katika uhusiano. Kawaida huonyeshwa kwa kila upande wa uhusiano karibu na huluki inayolingana. Kuzidisha kunaweza kuonyeshwa kwa njia zifuatazo:

- * - idadi yoyote ya nakala, pamoja na hakuna;

Nambari kamili isiyo na hasi - wingi umewekwa madhubuti na sawa na nambari maalum (kwa mfano: 1, 2 au 5);

Safu ya nambari zisizo hasi "nambari ya kwanza .. nambari ya pili" (kwa mfano: 1..5, 2..10 au 0..5);

Msururu wa nambari kutoka kwa thamani mahususi ya mwanzo hadi mwisho kiholela "nambari ya kwanza..*" (kwa mfano: 1..*, 5..* au 0..*);

Kuorodhesha nambari kamili zisizo hasi na safu zilizotenganishwa kwa koma (kwa mfano: 1, 3..5, 10, 15..*).

Ikiwa wingi haujabainishwa, basi thamani yake inachukuliwa kuwa 1. Wingi wa matukio ya huluki inayoshiriki katika utegemezi, ujumuishaji, na utekelezaji daima huchukuliwa kuwa 1.

Jedwali lifuatalo linatoa maelezo taratibu za upanuzi , hutumika kufafanua semantiki ya vyombo na mahusiano. Kwa ujumla, utaratibu wa upanuzi ni mfuatano wa maandishi uliofungwa kwenye mabano au alama za nukuu.

Jedwali 11.4. Taratibu za Upanuzi

Jina Uteuzi Ufafanuzi (semantiki)
Aina tofauti
(stereotype)
« » Uteuzi unaobainisha semantiki ya kipengele cha nukuu (kwa mfano: utegemezi wenye dhana potofu ya "jumuisha" inachukuliwa kuwa uhusiano wa kujumulisha, na darasa lililo na mtindo potofu wa "mpaka" ni darasa la mipaka)
Hali ya ulinzi
(hali ya ulinzi)
Hali ya boolean (kwa mfano: au [kitambulisho kimekamilika])
Kizuizi
(kizuizi)
{ } Sheria inayowekea mipaka semantiki ya kipengele cha mfano (kwa mfano, (muda wa utekelezaji chini ya ms 10))
Thamani iliyoalamishwa
(thamani iliyowekwa alama)
{ } Sifa mpya au ya kufafanua ya kipengele cha nukuu (kwa mfano: (toleo = 3.2))

Mbali na mila potofu zinazoonyeshwa kama mfuatano wa maandishi katika alama za nukuu, taswira potofu zinaweza kutumika katika michoro. Kielelezo kifuatacho kinaonyesha mifano ya onyesho la kawaida na la dhana.

a) sifa ya kawaida b) uainishaji wa kawaida
na ubaguzi wa maandishi
c) ubaguzi wa picha

Mchele. 11.2. Mifano ya onyesho la kawaida na la kawaida la darasa

Mchoro ni kundi la vipengele vya nukuu ili kuonyesha baadhi ya vipengele vya mfumo wa habari unaotengenezwa. Michoro kawaida ni grafu iliyounganishwa ambayo huluki ni wima na uhusiano ni arcs. Jedwali lifuatalo linatoa maelezo mafupi ya michoro ya UML.

Jedwali 11.5. Michoro

Mchoro Kusudi
kulingana na kiwango cha utekelezaji wa kimwili kwa kuonyesha mienendo kwa kipengele kilichoonyeshwa

(kesi ya matumizi)
Inaonyesha kazi za mfumo, mwingiliano kati ya watendaji na kazi Mantiki Tuli Inafanya kazi

(darasa)
Inaonyesha seti ya madarasa, violesura na mahusiano kati yao Mantiki au
kimwili
Tuli Kazi na habari

(kifurushi)
Inaonyesha seti ya vifurushi na uhusiano kati yao Mantiki au
kimwili
Tuli Sehemu
Tabia
(tabia)

(mashine ya serikali)
Huonyesha hali ya huluki na mabadiliko kati yao wakati wa mzunguko wa maisha yake Mantiki Nguvu Tabia

(shughuli)
Inaonyesha michakato ya biashara kwenye mfumo (maelezo ya kanuni za tabia)
Maingiliano
(maingiliano)

(mlolongo)
Huonyesha mlolongo wa ujumbe kupita kati ya vitu na watendaji

(mawasiliano)
Sawa na mchoro wa mlolongo, lakini msisitizo ni juu ya muundo wa mwingiliano kati ya vitu
Utekelezaji
(utekelezaji)

(sehemu)
Inaonyesha vipengele vya mfumo (programu, maktaba, meza, nk) na uhusiano kati yao Kimwili Tuli Sehemu

kupelekwa
Inaonyesha uwekaji wa vipengele kwenye nodes za mtandao, pamoja na usanidi wake

Kiwango cha UML 2.x pia kinafafanua michoro ya ziada, iliyobobea sana:

Mchoro wa kitu - sawa, lakini vitu vinaonyeshwa badala ya madarasa;

Mchoro wa muda - inaelezea hali ya kitu kwa muda;

Mchoro wa muundo wa mchanganyiko - inaelezea bandari (pamoja na miingiliano) ya darasa kwa mwingiliano na madarasa mengine;

Mchoro wa wasifu - sawa na maelezo ya madarasa yaliyojumuishwa ndani yao;

Mchoro wa muhtasari wa mwingiliano - sawa, lakini kwa vipande vilivyofichwa vya mwingiliano (vipande vilivyoandikwa ref). Inawakilisha muktadha (dhana) moja, mambo ambayo yatabainishwa kwenye michoro tofauti za mtengano.

Kwa madhumuni ya uwakilishi wa dhana uliopanuliwa wa usanifu wa ndani wa mfumo, wengi wa ujenzi huruhusu matumizi ya stereotypes za picha zilizowekwa kwa kinachojulikana. Mchoro kama huo unaitwa 1, lakini sio katika orodha ya michoro iliyofafanuliwa na kiwango cha UML.

Wakati wa kuendeleza mfano tofauti wa mfumo, aina kadhaa za michoro zinajengwa. Kwa kuongezea, wakati wa kuunda mfano wa mfumo mgumu, kama sheria, michoro kadhaa za aina moja huundwa. Wakati huo huo, sio lazima kuunda aina tofauti za chati ikiwa sio lazima. Kwa mfano, michoro na zinaweza kubadilishana; Jedwali lifuatalo linatoa mapendekezo juu ya haja ya kuendeleza (kufafanua) michoro kwa mifano ya mfumo.

Jedwali 11.6. Uhusiano kati ya mifano na michoro

Jedwali hapa chini haionyeshi mfano wa upimaji, kwa kuwa kama sehemu ya ujenzi wake, michoro hazijatengenezwa, lakini zimeangaliwa (kupimwa) kwa ukamilifu na uthabiti.

Baadhi ya michoro baada ya ujenzi wao zinahitaji maendeleo na ufafanuzi kama sehemu ya maendeleo ya mtindo unaofuata (mchakato wa kiteknolojia). Kwa hiyo, kwa mfano, wanapaswa kufafanuliwa wakati wa maendeleo. Katika mifano.

4. Eleza dhana "".

Muundo wa UML(Mfano wa UML) ni mkusanyiko wa seti finyu za miundo ya lugha, ambayo kuu ni vyombo na uhusiano kati yao.

Vyombo vya mfano na uhusiano wenyewe ni mifano ya metamodel metamodel.

Kwa kuzingatia mfano wa UML kutoka kwa nafasi za jumla zaidi, tunaweza kusema kuwa ni grafu (kwa usahihi zaidi, picha iliyopakiwa ya pseudo-hyper-digraph), ambayo wima na kingo hupakiwa na habari ya ziada na inaweza kuwa na muundo tata wa ndani. . Vipeo vya grafu hii huitwa vyombo, na kingo huitwa mahusiano.. Sehemu iliyosalia ya sehemu hii inatoa muhtasari wa haraka (wa awali) lakini kamili wa aina na mahusiano ya huluki. Kwa bahati nzuri, hakuna wengi wao. Katika sura zinazofuata za kitabu, vyombo vyote na uhusiano vinachunguzwa tena, kwa undani zaidi na kwa mifano.

1.4.1. Vyombo

Kwa urahisi wa muhtasari, huluki katika UML zinaweza kugawanywa katika vikundi vinne:

  • kimuundo;
  • kitabia;
  • kupanga vikundi;
  • maelezo.

Vyombo vya kimuundo, kama unavyoweza kudhani, vinakusudiwa kuelezea muundo. Kwa kawaida, vyombo vya kimuundo vinajumuisha zifuatazo.

Kitu(kitu) 1 - huluki ambayo ni ya kipekee na inayojumuisha hali na tabia.

Darasa(darasa) 2 - maelezo ya seti ya vitu na sifa za kawaida ambazo hufafanua hali na shughuli zinazofafanua tabia.

Kiolesura(interface) 3 - seti iliyoitwa ya uendeshaji ambayo inafafanua seti ya huduma ambazo zinaweza kuombwa na mtumiaji na zinazotolewa na mtoa huduma.

Ushirikiano(ushirikiano) 4 - mkusanyiko wa vitu vinavyoingiliana kufikia lengo fulani.

Mwigizaji(muigizaji) 5 - huluki iliyo nje ya mfumo wa kielelezo na kuingiliana nayo moja kwa moja.

∇ Uhusiano kama huo hakika upo, ambayo imeonyeshwa kwenye Mtini. Daraja la aina za michoro za UML 1 kama uhusiano wa utegemezi na stereotype "safisha".

∇∇ Katika UML 1, uhusiano usio wa hiari ulitokea kati ya mchoro wa ushirikiano na huluki ya jina moja, ambayo haikuwa kweli kabisa na wakati mwingine ilikuwa ya kupotosha.

∇∇∇ Katika UML 2, mzigo wa kisintaksia na kisemantiki wa mchoro wa hali umebadilika sana hivi kwamba jina haliakisi tena maudhui.

Orodha ya michoro mipya na majina yao yaliyopitishwa katika kitabu hiki imetolewa hapa chini.

  • Mchoro wa Muundo wa Mchanganyiko
  • Mchoro wa kifurushi
  • Mchoro wa mashine ya serikali
  • Mchoro wa mawasiliano
  • Mchoro wa Muhtasari wa Mwingiliano
  • Mchoro wa muda

Katika Mtini. Daraja la Aina za Mchoro kwa UML 2 (Sehemu ya 1 na 2) Mchoro wa darasa umetolewa unaoonyesha uhusiano kati ya michoro katika UML 2.

Baadaye katika sura hii tutaeleza kwa ufupi michoro yote kumi na tatu ya kanuni ili tuwe na muktadha na msamiati wa kile kinachofuata. Maelezo yametolewa katika sura zilizobaki za kitabu.

Lakini kabla ya kuendelea na sehemu ifuatayo, wacha tuchukue hatua moja ndogo kuhusu jinsi kiwango kinahitaji michoro kutengenezwa. Kiolezo cha uwasilishaji wa mchoro wa jumla kinaonyeshwa hapa chini.

Kuna mambo mawili kuu ya kubuni: sura ya nje na lebo yenye jina la mchoro. Ikiwa kila kitu ni rahisi na sura - ni mstatili unaopunguza eneo ambalo vipengele vya mchoro vinapaswa kuwepo, basi jina la mchoro limeandikwa katika muundo maalum ulioonyeshwa kwenye Mchoro. Nukuu kwa michoro.

Umbo hili changamano la lebo halitumiki kwa zana zote. Walakini, hii sio lazima, kwani semantiki ni ya msingi, na nukuu ni ya sekondari. Katika kile kinachofuata, tunatumia mstatili kama lebo ya chati kote, na hii haipaswi kusababisha mkanganyiko wowote.

Lebo zinazowezekana (aina) za chati zinaonyeshwa kwenye jedwali lifuatalo. Lebo zilizopendekezwa na kiwango zimeandikwa katika safu ya pili. Walakini, kama mazoezi yameonyesha, sheria zilizopendekezwa na kiwango sio rahisi kila wakati na zina haki ya kimantiki, kwa hivyo safu ya tatu ya jedwali ina njia mbadala ambayo ni sawa kwa maoni yetu.

Jedwali Aina za chati na vitambulisho

Kichwa cha chati Lebo (kawaida) Lebo (inapendekezwa)
Mchoro wa matumizi kesi ya matumizi au uc kesi ya matumizi
Mchoro wa darasa darasa darasa
Mchoro wa mashine mashine ya serikali au stm mashine ya serikali
Mchoro wa shughuli shughuli au kitendo shughuli
Mchoro wa mlolongo mwingiliano au SD SD
Mchoro wa mawasiliano mwingiliano au SD comm
Mchoro wa kipengele sehemu au cmp sehemu
Mchoro wa uwekaji isiyofafanuliwa kupelekwa
Mchoro wa kitu isiyofafanuliwa kitu
Mchoro wa muundo wa ndani darasa darasa au sehemu
Mchoro wa muhtasari wa mwingiliano mwingiliano au SD mwingiliano
Mchoro wa muda mwingiliano au SD muda
Mchoro wa kifurushi kifurushi au pkg kifurushi

UML au Lugha Iliyounganishwa ya Kuiga ni lugha ya maelezo ya kielelezo cha uundaji wa kitu katika nyanja ya ukuzaji wa programu. Lakini utumiaji wa UML hauzuiliwi kwa IT; eneo lingine kubwa la utumiaji kivitendo wa UML ni kuiga michakato ya biashara, muundo wa mfumo na muundo wa shirika. UML inaruhusu wasanidi programu kukubaliana juu ya vidokezo vya picha ili kuwakilisha dhana zinazofanana na kuzingatia muundo na maendeleo.

Faida za UML

  • UML hutumia nukuu za picha kwa vipengele vya mfumo unaoigwa, na michoro ya UML ni rahisi kueleweka;
  • UML inafanya uwezekano wa kuelezea mifumo kutoka kwa maoni yote yanayowezekana, kwa kuzingatia vipengele mbalimbali;
  • UML ina mwelekeo wa kitu: mbinu zake za uchanganuzi na ujenzi ziko karibu kisemantiki na mbinu za programu zinazotumiwa katika lugha za kisasa za OOP;
  • UML ni kiwango wazi. Kiwango kinakua na kubadilika kutoka toleo hadi toleo, kukidhi mahitaji ya kisasa zaidi ya kuelezea mifumo;
  • ina utaratibu wa upanuzi unaokuwezesha kuingiza maandishi ya ziada na aina za picha, ambayo inafanya uwezekano wa kutumia UML sio tu katika uwanja wa IT.

Aina za Mchoro wa UML

Kuna aina 14 za michoro katika UML. Wanaweza kugawanywa katika vikundi 2:

  • ya kimuundo, inayowakilisha muundo wa habari;
  • kitabia, inayowakilisha tabia ya mfumo na vipengele mbalimbali vya mwingiliano. Aina ndogo tofauti ya michoro ya tabia inazingatiwa michoro ya mwingiliano.

Uongozi wa aina za mchoro wa UML, kuwakilishwa na mchoro wa darasa

Michoro ya muundo

  1. Mchoro wa darasa ni kipengele muhimu katika uundaji unaolenga kitu. Kwa kutumia mchoro huu (kwa kweli, kupitia madarasa, wao sifa, mbinu na tegemezi kati ya madarasa) inaelezea modeli ya kikoa na muundo wa mfumo wa kielelezo.
  2. Mchoro wa kipengele huonyesha mgawanyiko wa msimbo wa programu katika vizuizi vikubwa (vipengele vya kimuundo) na maonyesho tegemezi kati yao. Vipengele vinaweza kuwa vifurushi, moduli, maktaba, faili, nk.
  3. Mchoro wa kitu inaonyesha kipande kamili au sehemu ya mfumo ulioiga kwa wakati fulani. Inawakilisha hali za darasa (vitu), hali yao (thamani za sifa za sasa), na uhusiano kati yao.
  4. Mchoro wa muundo wa mchanganyiko inaonyesha muundo wa ndani wa madarasa na, inapowezekana, mwingiliano kati ya vipengele vya muundo huu.
  5. Mchoro wa kifurushi inaonyesha vifurushi na uhusiano kati yao. Aina hii ya mchoro hutumikia kurahisisha muundo wa mfano (na, ipasavyo, kufanya kazi nayo) kwa kuchanganya vipengele vya mfano katika vikundi kulingana na vigezo fulani.
  6. Mchoro wa kupeleka mifano ya upelekaji wa vipengele vya programu ( mabaki) kwenye rasilimali za kompyuta/vijenzi vya maunzi ( nodi).
  7. Mchoro wa wasifu inaelezea utaratibu wa upanuzi ambao unaruhusu UML kubadilishwa kwa maeneo na tasnia anuwai.

Mfano Mchoro wa Darasa la UML

Michoro ya tabia

  1. Mchoro wa shughuli inaonyesha vitendo ( Vitendo) ambayo baadhi ya shughuli inajumuisha ( shughuli) Michoro ya shughuli hutumiwa kuiga michakato ya biashara, michakato ya kiteknolojia, kompyuta inayofuatana na sambamba.
  2. Tumia mchoro wa kesi(au tumia mchoro wa kesi) inaelezea uhusiano kati ya watendaji (watendaji) na kesi za matumizi ya mfumo wa mfano (uwezo wake). Kusudi kuu la mchoro ni kuwa zana ya ulimwengu kwa wateja, watengenezaji na watumiaji wa mwisho kujadili kwa pamoja mfumo - uwezo wake na tabia.
  3. Mchoro wa serikali inaonyesha tabia inayobadilika ya huluki, ikionyesha jinsi huluki hii, kulingana na hali yake ya sasa, hutenda kwa matukio mbalimbali. Huu kimsingi ni mchoro wa hali kutoka kwa nadharia ya atomi.
  4. Mchoro wa mawasiliano(katika matoleo ya awali mchoro wa ushirikiano) inaonyesha mwingiliano kati ya sehemu za muundo wa mchanganyiko na majukumu ya ushirikiano. Mchoro unaonyesha kwa uwazi uhusiano kati ya vipengele (vitu).
  5. Mchoro wa mlolongo hutumika kuibua mlolongo wa mwingiliano wa kitu. Huonyesha mzunguko wa maisha wa kitu fulani na mwingiliano wa waigizaji (waigizaji) ndani ya hali fulani ya matumizi, mlolongo wa ujumbe ambao wanabadilishana.
  6. Mchoro wa muhtasari wa mwingiliano inajumuisha sehemu ya mchoro wa mpangilio na muundo wa udhibiti wa mtiririko. Husaidia kuzingatia mwingiliano wa vitu kutoka kwa maoni tofauti.
  7. Mchoro wa muda- aina ndogo tofauti ya michoro ya mwingiliano inayobobea katika kuweka muda. Michoro ya aina hii hutumiwa kusoma tabia ya vitu kwa muda fulani.

UML (Lugha Iliyounganishwa ya Kuiga) ni lugha ya maelezo ya kielelezo cha uundaji wa kitu katika uwanja wa ukuzaji wa programu. UML ni lugha ya jumla, kiwango kilicho wazi kinachotumia nukuu ya picha ili kuunda muundo dhahania wa mfumo, unaoitwa modeli ya UML. UML iliundwa ili kufafanua, kuibua, kubuni, na kuweka hati kimsingi mifumo ya programu. UML si lugha ya programu, lakini uundaji wa msimbo unawezekana katika njia za kutekeleza miundo ya UML kama msimbo uliofasiriwa. Wikipedia

Bidhaa za Biashara

Microsoft Visio

Aina: programu ya kibiashara

Bidhaa maarufu ya programu kutoka kwa Microsoft ambayo hukuruhusu kuchora michoro tajiri, pamoja na UML:

Kuanzia na toleo la 2010, iliwezekana kuchapisha michoro kwenye wavuti (SharePoint + Visio Services):

Mtazamaji wa Visio ni programu ya bure ambayo hukuruhusu kutazama michoro ya Visio iliyoundwa hapo awali. Unaweza kupakua kwa %D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5%20.

%0A

Microsoft%20Visual%20Studio%202010

%0A

%D0%A2%D0%B8%D0%BF:%20%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D1%80%D1%87%D0%B5%D1% 81%D0%BA%D0%BE%D0%B5%20%D0%9F%D0%9E%20(%D0%B5%D1%81%D1%82%D1%8C%20%D0%B1%D0 %B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%B0%D1%8F%20Express%20%D0%B2%D0%B5%D1%80 %D1%81%D0%B8%D1%8F).

%0A

%D0%92%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D0%B5%D0%B9%20%D0%B2%D0 %B5%D1%80%D1%81%D0%B8%D0%B8%20Microsoft%20Visual%20Studio%202010%20%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D0 %BB%D1%81%D1%8F%20%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%82%D0%B8%D0%BF%20%D0 %BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%20-%20Modelling,%20%D0%BA%D0%BE%D1%82%D0%BE %D1%80%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82 %20%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0 %BB%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20UML%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0 %D0%BC%D0%BC%D0%B0%20%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1 %82%D1%8C%20%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20 %D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%20%D1%81%D0%BE%D0 %BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B5%20%D1%81%20%D0%BD %D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D0%BE%20%D0%B0%D1%80%D1%85 %D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BE%D0%B9.

%0A

%D0%9F%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82%20%D0%B3%D0%B5%D0%BD %D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20Sequence%20Mchoro%20%D0%BD%D0%B0 %20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%BA%D0%BE%D0 %B4%D0%B0,%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80% D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%81%D0%B2%D1%8F%D0%B7%D0%B8%20%D0%B2%20% D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B5%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83% 20%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8, %20%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B8%20%D1%81%D1%81 %D1%8B%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B8%20%D1%82.%D0%B4.

%0A

%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20Tumia%20kesi%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80 %D0%B0%D0%BC%D0%BC%D1%8B,%20%D0%BD%D0%B0%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0% B0%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%B2%20Visual%20Studio%202010:

%0A%0A

%D0%9A%D1%80%D0%BE%D0%BC%D0%B5%20%D1%82%D0%BE%D0%B3%D0%BE,%20%D0%B4%D0%BE% D1%81%D1%82%D1%83%D0%BF%D0%B5%D0%BD%20Visualization%20na%20Modeling%20Feature%20Pack%20(%D0%B4%D0%BB%D1%8F%20 %D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%20MSDN),%20 %D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE %D0%BB%D1%8F%D0%B5%D1%82:

%0A
  • %D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20 %D0%BA%D0%BE%D0%B4%20%D0%BD%D0%B0%20%D0%B1%D0%B0%D0%B7%D0%B5%20UML%20%D0%B4%D0 %B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0 %BE%D0%B2
  • %0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20UML%20%D0%B4%D0%B8%D0 %B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B8%D0%B7%20%D0%BA%D0%BE%D0%B4 %D0%B0
  • %0A
  • %D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1 %8C%20UML%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%BA%D0 %BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2,%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0% D0%BC%D0%BC%D1%8B%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0% D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9,%20%D0%B4%D0%B8 %D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B2%D0%B0%D1%80%D0%B8%D0%B0 %D0%BD%D1%82%D0%BE%D0%B2%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE %D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D1%81%20XMI%202.1
  • %0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B4%D0%B8%D0%B0 %D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8 %D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9%20%D0%B4%D0%BB%D1%8F%20ASP.NET,%20C%20%D0% B8%20C++%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
  • %0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B8%20%D0%BF%D1 %80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%82%D1%8C%20layer%20diagrams%20%D0%B4%D0%BB%D1%8F%20C %20%D0%B8%20C++%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
  • %0A
  • %D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C%20%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2 %D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA %D0%B8%20%D0%B4%D0%BB%D1%8F%20layer%20 michoro
  • %0A

%D0%A1%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C%20Visualization%20na%20Modeling%20Feature%20Pack%20%D0%BC%D0%BE%D0 %B6%D0%BD%D0%BE%20%D0%BF%D0%BE%20%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5:%20 http://msdn.microsoft.com/ru-ru/vstudio/ff655021%28en-us%29.aspx.

IBM Rational Rose

Uwezekano:

  • Tumia mchoro wa kesi;
  • Mchoro wa kupeleka (michoro ya topolojia);
  • Mchoro wa chati ya serikali;
  • Mchoro wa shughuli;
  • Mchoro wa mwingiliano;
  • Mchoro wa mlolongo;
  • Mchoro wa ushirikiano;
  • Mchoro wa darasa;
  • Mchoro wa kipengele.

Picha za skrini:

Programu za chanzo wazi

StarUML

Uwezekano:

  • Usaidizi wa UML 2.0
  • MDA ( Usanifu Unaoendeshwa na Mfano)
  • Usanifu wa programu-jalizi (unaweza kuandika katika lugha zinazotangamana na COM: C++, Delphi, C#, VB, ...)

StarUML imeandikwa hasa katika Delphi, lakini vipengele vinaweza pia kuandikwa kwa lugha nyingine, kwa mfano C/C++, Java, Visual Basic, Delphi, JScript, VBScript, C#, VB.NET. Chini ni baadhi ya picha za skrini.

Mchoro wa darasa:

Tumia mchoro wa kesi:

ArgoUML

Chati zinazotumika:

  • Darasa
  • Jimbo
  • Tumia kesi
  • Shughuli
  • Ushirikiano
  • Usambazaji
  • Mfuatano

Uwezekano:

  • Inaauni michoro tisa za UML 1.4
  • Mfumo wa kujitegemea (Java 5+)
  • UML 1.4 Metamodel ya Kawaida
  • Msaada wa XMI
  • Hamisha kwa GIF, PNG, PS, EPS, PGML na SVG
  • Lugha: EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH
  • Msaada wa OCL
  • Mbele, Reverse Engineering

Picha ya skrini: