UML

**Birgelki modellestiriw tili** yaǵnıy **UML** (ingl. *unified modeling language; UML*) ‒ sistemanıń dizaynın vizualizaciyalawdıń standart usılın támiyinlewge arnalǵan ulıwma maqsetli vizual modellestiriw tili bolıp tabıladı.

UML kóp túrli diagrammalar ushın standart belgilewdi usınadı, olardı shama menen úsh tiykarǵı toparǵa bóliwge boladı: minez-qulıq diagrammaları, óz-ara tásir diagrammaları hám struktura diagrammaları.

UML dúziwdiń dáslepki sebebi programmalıq támiynattı islep shıǵıwdaǵı hár qıylı belgilew sistemaları menen usıllardı standartlastırıw qálewi bolıp tabıladı. Ol 1994-1995 jılları Rational Software kompaniyasında islep shıǵıldı, keyin 1996-jılǵa shekem olardıń basshılıǵında rawajlandırıldı.

1997-jılı UML Obektlerdi basqarıw toparı (OMG) tárepinen standart retinde qabıl etildi hám sonnan berli usı shólkem tárepinen basqarılıp kelmekte. 2005-jılı UML sonday-aq Xalıqaralıq standartlastırıw shólkemi (ISO) hám Xalıqaralıq elektrotexnika komissiyası (IEC) tárepinen **ISO/IEC 19501** standartı retinde járiyalandı. Sol waqıttan baslap standart UML-diń sońǵı versiyasın qamtıw ushın dáwirli túrde qayta kórip shıǵıldı.

Programmalıq támiynattı islep shıǵıwda, kópshilik ámeliyatshılar UMLdi paydalanbaydı, al onıń ornına qoldan sızılǵan rásmiy emes diagrammalardı islep shıǵaradı; biraq, bul diagrammalar kóbinese UML elementlerin óz ishine aladı.

## Tariyxı

### UML 1.0 ge shekem
UML 1990-jıllardıń ekinshi yarımınan baslap rawajlandı hám onıń tamırları 1980-jıllardıń aqırı hám 1990-jıllardıń basında islep shıǵılǵan obektke baǵdarlanǵan programmalastırıw usıllarına barıp taqaladı. Waqıt sızıǵı (súwretti qarań) obektke baǵdarlanǵan modellestiriw usılları hám belgilewler tariyxınıń tiykarǵı waqıyaların kórsetedi.

Ol dáslep Booch usılınıń belgilewlerine, obektli modellestiriw texnikasına (OMT) hám obektke baǵdarlanǵan programmalıq támiynattı islep shıǵıwǵa (OOSE) tiykarlanǵan bolıp, olardı bir tilge birgelkilestirgen.

Rational Software Corporation 1994-jılı James Rumbaugh-tı General Electric kompaniyasınan jumısqa aldı hám sonnan keyin kompaniya sol dáwirdiń eń keń tarqalǵan eki obektke baǵdarlanǵan modellestiriw usıllarınıń deregi boldı: Rumbaugh-tıń obektli modellestiriw texnikası (OMT) hám Grady Booch usılı. Olardıń jumıslarına tez arada obektke baǵdarlanǵan programmalıq támiynattı islep shıǵıw (OOSE) usılınıń avtorı Ivar Jacobson járdem berdi, ol 1995-jılı Rational kompaniyasına qosıldı.

### UML 1.x
Usı úshewiniń (Rumbaugh, Jacobson hám Booch) texnikalıq basshılıǵı astında 1996-jılı UML Partners dep atalǵan konsorcium shólkemlestirildi. Onıń maqseti Birgelki Modellestiriw Tili (UML) specifikaciyasın tolıqtırıw hám onı standartlastırıw ushın Obektlerdi Basqarıw Toparına (OMG) usınıs etiw edi. Bul birlespege basqa da qızıǵıwshı tárepler (mısalı, HP, DEC, IBM hám Microsoft) kiretuǵın edi. UML Partners konsorciumı 1997-jıldıń yanvar ayında UML 1.0 jobasın OMG-ǵa usındı. Sol ayda UML Partners til konstrukciyalarınıń anıq mánisin anıqlaw ushın Cris Kobryn basshılıǵında hám Ed Eykholt basqarıwında topar dúzdi. Bul topardıń maqseti specifikaciyanı juwmaqlaw hám onı basqa standartlastırıw háreketleri menen birlestiriw edi. Bul jumıstıń nátiyjesi UML 1.1 versiyası 1997-jıldıń avgust ayında OMG-ǵa tapsırıldı hám 1997-jıldıń noyabr ayında OMG tárepinen qabıl etildi.

Birinshi shıǵarılıwdan keyin tildi jetilistiriw ushın arnawlı topar dúzildi, ol bir neshe kishi reviziyalardı (1.3, 1.4 hám 1.5) shıǵardı.

Ol islep shıqqan standartlar (sonday-aq dáslepki standart ta) eki mánisli hám qarama-qarsı ekenligi atap ótilgen.

#### Kardinallıq belgilew
Maǵlıwmatlar bazasınıń Chen, Bachman hám ISO ER diagrammaları sıyaqlı, klass modelleri de "arǵı tárepke qaraw" kardinallıqların qollanıwǵa belgilengen, geypara avtorlar (Merise, Elmasri & Navathe hám basqalar) roller ushın bir tárepli yamasa "usı jerge qaraw" usılın hám minimal hám maksimal kardinallıqlardı qollanıwdı maqul kóredi. Sońǵı izertlewshiler (Feinerer hám Dullea et al.
)
UML hám ER diagrammaları tárepinen qollanılatuǵın "arǵı tárepke qaraw" texnikası 2-den qatań túrde úlken tártipli n-arlı qatnaslarǵa qollanılǵanda kemirek nátiyjeli hám kemirek baylanıslı ekenligin kórsetti.

Feinerer bılay deydi: "UML associaciyaları ushın qollanılatuǵın arǵı tárepke qaraw semantikası boyınsha háreket etkenimizde mashqalalar payda boladı. Hartmann bul jaǵdaydı izertleydi hám túrli transformaciyalardıń qalay hám ne ushın sátsiz bolatuǵının kórsetedi", hám: "Kelesi bir neshe bette kóretuǵınımızday, arǵı tárepke qaraw interpretaciyası bir qansha qıyınshılıqlardı keltirip shıǵaradı, olar ápiwayı mexanizmlerdi ekilik associaciyalardan n-arlı associaciyalarǵa keńeytiwge kesent etedi."

### UML 2
UML 2.0 úlken reviziyası 2005-jılı 1.5 versiyasın almastırdı, ol keńeytilgen konsorcium menen tildi endigiden bılay da jaqsılaw ushın islep shıǵıldı, onıń maqseti tildiń ózgesheliklerin qollanıw boyınsha jańa tájiriybelerdi sáwlelendiriw edi.

UML 2.1 hesh qashan rásmiy specifikaciya retinde shıǵarılmaǵan bolsa da, 2.1.1 hám 2.1.2 versiyaları 2007-jılı payda boldı, onnan keyin 2009-jıldıń fevral ayında UML 2.2 shıqtı. UML 2.3 2010-jıldıń may ayında rásmiy túrde shıǵarıldı. UML 2.4.1 2011-jıldıń avgust ayında rásmiy túrde shıǵarıldı. UML 2.5 2012-jıldıń oktyabr ayında "Processte" versiyası retinde shıǵarıldı hám 2015-jıldıń iyun ayında rásmiy túrde shıǵarıldı.
Rásmiy 2.5.1 versiyası 2017-jıldıń dekabr ayında qabıl etildi.

UML 2.x specifikaciyasında tórt bólim bar:

* Diagrammalar hám olardıń model elementleri ushın belgilew hám semantikanı anıqlaytuǵın Superstruktura
* Superstrukturaǵa tiykarlanǵan tiykarǵı metamodeldi anıqlaytuǵın Infrastruktura
* Model elementleri ushın qaǵıydalardı anıqlaw ushın Obekt sheklew tili (OCL)
* UML 2 diagramma jaylasıwlarınıń qalay almasıwın anıqlaytuǵın UML Diagramma almasıwı

UML 2.4.1 ge shekem, bul standartlardıń eń sońǵı versiyaları mınalar edi:

* UML Superstrukturası 2.4.1 versiyası
* UML Infrastrukturası 2.4.1 versiyası
* OCL 2.3.1 versiyası
* UML Diagramma almasıwı 1.0 versiyası.

2.5 versiyasınan baslap, UML Specifikaciyası ápiwayılastırıldı (Superstruktura hám Infrastrukturasız), hám házir bul standartlardıń eń sońǵı versiyaları mınalar:

* UML Specifikaciyası 2.5.1
* OCL 2.4 versiyası

Ol qayta kóriw wazıypa toparı tárepinen úziliksiz jańalanıp hám jaqsılanıp atır, olar tildegi hár qanday máselelerdi sheshedi.

## Dizayn

UML sistemanıń arxitekturalıq sızılmaların diagramma túrinde kórsetiw imkaniyatın beredi, sonıń ishinde tómendegi elementlerdi qamtıydı:

* hár qanday iskerlikler (jumıslar);
* sistemanıń jeke komponentleri;
** hám olardıń basqa baǵdarlama komponentleri menen qalay baylanısa alatuǵını;
* sistema qalay isleytuǵını;
* obektlerdiń bir-biri menen qalay baylanısatuǵını (komponentler hám interfeysler);
* sırtqı paydalanıwshı interfeysi.

Dáslep obektke baǵdarlanǵan dizayn hújjetlestiriwi ushın arnalǵan bolsa da, UML dizayn hújjetlestiriwiniń keńirek toplamına keńeytilgen (joqarıda keltirilgendey), hám kóp jaǵdaylarda paydalı ekenligi anıqlanǵan.

### Baǵdarlama islep shıǵıw usılları
UML óz aldına rawajlanıw usılı emes; biraq, ol óz dáwiriniń jetekshi obektke baǵdarlanǵan baǵdarlama islep shıǵıw usılları menen úylesimli bolıwı ushın jobalastırılǵan, mısalı, OMT, Booch usılı, Objectory, hám ásirese RUP, ol dáslep Rational Software kompaniyasında jumıs baslanǵanda paydalanıwǵa arnalǵan. 

### Modellestiriw
Sistemanıń UML modeli menen diagrammalar toplamı arasındaǵı ayırmashılıqtı ajıratıw áhmiyetli. Diagramma - bul sistemanıń modeliniń bir bóleginiń grafikalıq kórinisi. Diagrammalar toplamı modeldi tolıq qamtıp alıwı shárt emes hám diagrammanı óshiriw modeldi ózgertpeydi. Model sonday-aq model elementleri menen diagrammalardı basqaratuǵın hújjetlestiriwdi de óz ishine alıwı múmkin (mısalı, jazba túrindegi paydalanıw jaǵdayları).

UML diagrammaları sistema modeliniń eki túrli kóz-qarasın kórsetedi:

* Statikalıq (yamasa strukturalıq) kóz-qaras: obektler, atributlar, operaciyalar hám qatnasıqlardı paydalanıp sistemanıń statikalıq strukturasına pát beredi. Ol klass diagrammaları hám qurama struktura diagrammaların óz ishine aladı.
* Dinamikalıq (yamasa mіnez-qulıq) kóz-qaras: obektler arasındaǵı birge islesiwdi hám obektlerdiń ishki jaǵdaylarınıń ózgerislerin kórsetiw arqalı sistemanıń dinamikalıq mіnez-qulqına pát beredi. Bul kóz-qaras izbe-izlik diagrammaların, iskerlik diagrammaların hám jaǵday mashina diagrammaların óz ishine aladı.

UML modelleri XML Metadata Interchange (XMI) formatın paydalanıp UML qurallarınıń arasında almasılıwı múmkin.

UML-de mіnez-qulıqtı modellestiriwdiń tiykarǵı qurallarınıń biri - OOSE tárepinen payda bolǵan paydalanıw jaǵdayı modeli. Paydalanıw jaǵdayları - bul sistemanıń talap etilgen qollanılıwların anıqlawdıń bir usılı. Ádette, olar sistemanıń talapların, yaǵnıy sistema ne islewi kerek ekenligin anıqlaw ushın qollanıladı.

## Diagrammalar

UML 2 eki kategoriyaǵa bólingen kóp túrli diagrammalarǵa iye. Ayırım túrleri strukturalıq informaciyanı kórsetedi, al qalǵanları ulıwma háreket túrlerin, sonıń ishinde óz-ara tásirlerdiń túrli aspektlerin kórsetedi. Bul diagrammalar tómendegi klass diagrammasında kórsetilgendey ierarxiyalıq túrde kategoriyalanıwı múmkin:

Bul diagrammalardıń barlıǵı paydalanıw, sheklew yamasa maqsetti túsindiriwshi pikirler yamasa belgilerdi qamtıwı múmkin.

### Struktura diagrammaları
Struktura diagrammaları sistemanıń statikalıq aspektlerin kórsetedi. Ol modellestirilip atırǵan sistemada bolıwı kerek bolǵan nárselerge pát beredi. Struktura diagrammaları strukturanı kórsetkenlikten, olar programmalıq támiynat sistemalarınıń programmalıq támiynat arxitekturasın hújjetlestiriwde keńnen qollanıladı. Mısalı, komponent diagramması programmalıq támiynattıń komponentlerge qalay bólinetuǵının súwretleydi hám usı komponentler arasındaǵı baylanıslardı kórsetedi.
Fayl:Policy_Admin_Component_Diagram.PNG|Komponent diagramması
Fayl:BankAccount1.svg|Klass diagramması


### Háreket diagrammaları
Háreket diagrammaları sistemanıń dinamikalıq aspektin kórsetedi. Ol modellestirilip atırǵan sistemada ne bolıwı kerekligine pát beredi. Háreket diagrammaları sistemanıń háreketin súwretlegenlikten, olar programmalıq támiynatlar sistemalarınıń funkcionallıǵın súwretlewde keńnen qollanıladı. Mısal retinde, aktivlik diagramması sistemadaǵı komponentlerdiń biznes hám operaciyalıq izbe-izlik háreketlerin súwretleydi.
Fayl:Activity_conducting.svg|Aktivlik diagramması
Fayl:UML_Use_Case_diagram.svg|Qollanıw jaǵdayı diagramması
Xızmetker → Shaǵım Sisteması: Shaǵım jiberiw Shaǵım Sisteması → HR Sisteması: Shaǵımdı alǵa jiberiw HR Sisteması → Bólim: Shaǵımdı tapsırıw Bólim → Shaǵım Sisteması: Sheshim haqqında maǵlıwmattı jańalaw Shaǵım Sisteması → Keri baylanıs Sisteması: Keri baylanıs soraw Keri baylanıs Sisteması → Xızmetker: Keri baylanıs beriw Xızmetker → Keri baylanıs Sisteması: Keri baylanıs jiberiw. Bul sıpatlama Lucidchart, Draw.io yamasa hár qanday UML diagramma programmalıq támiynatı sıyaqlı qurallar járdeminde izbe-izlik diagrammasın sızıw ushın qollanılıwı múmkin. Diagrammada aktyorlar shep tárepte jaylasadı, strelkalar sistemalar hám aktyorlar arasındaǵı háreketler hám óz-ara tásirlerdiń izbe-izligin kórsetedi. Hárbir qollanıw jaǵdayı ushın izbe-izlik diagramması sızılıwı kerek, olar túrli obektlerdiń qollanıw jaǵdayınıń funkcionallıǵına erisiw ushın bir-biri menen qalay óz-ara tásir etetuǵının kórsetedi.

## Artefaktlar

UMLde, artefakt - bul "programmalıq támiynattı islep shıǵıw processinde yamasa sistemanı jaylastırıw hám ornatıwda qollanılatuǵın yamasa jaratılatuǵın informaciyanıń fizikalıq bóleginiń specifikaciyası."

"Artefaktlardıń mısalları model faylları, derek fayllar, skriptler hám ekilik orınlanıwshı fayllar, maǵlıwmatlar bazası sistemasındaǵı tablica, rawajlandırıw jetkiziwi, sóz processor hújjeti yamasa pochta xabarı."

Artefaktlar - bul Túyinlerde (yaǵnıy Qurılmalar hám Orınlanıw Ortalıqlarında) ornatılatuǵın fizikalıq birlikler. Klasslar hám komponentler sıyaqlı basqa UML elementleri dáslep artefaktlarǵa kórsetiledi hám bul artefaktlardıń mısalları soń ornatıladı. Artefaktlar basqa artefaktlardan da quralıwı múmkin.

## Metamodellestiriw

Obekt Basqarıw Toparı (OMG) UML-di anıqlaw ushın Meta-Obekt Quralı dep atalatuǵın metamodellestiriw arxitekturasın rawajlandırdı. MOF oń jaqtaǵı súwrette kórsetilgendey tórt qatlamlı arxitektura retinde dizaynlanǵan. Ol joqarıda M3 qatlamı dep atalatuǵın meta-meta modeldi usınadı. Bul M3-model Meta-Obekt Quralı tárepinen M2-model dep atalatuǵın metamodellerdi qurıw ushın qollanılatuǵın til.

2-qatlam Meta-Obekt Quralı modeliniń eń kórnekli mısalı - UML-diń ózin súwretleytuǵın UML metamodeli. Bul M2-modeller M1-qatlamnıń elementlerin, sonlıqtan M1-modellerin súwretleydi. Bular, mısalı, UML-de jazılǵan modeller boladı. Sońǵı qatlam M0-qatlamı yamasa maǵlıwmat qatlamı. Ol sistemanıń orınlanıw waqtındaǵı mısalların súwretlew ushın qollanıladı.

Meta-model stereotiplew dep atalatuǵın mexanizm arqalı keńeytiliwi múmkin. Bul Brayan Xenderson-Sellers hám Sezar Gonzales-Peres tárepinen "UML 1.x hám 2.0-de stereotip mexanizmin qollanıw hám nadurıs qollanıw" maqalasında jetkiliksiz/turaqsız dep sınǵa alınǵan.

## Qabıllaw
2013-jılı UML OMG tárepinen kóp kontekstler ushın marketing etildi, biraq tiykarınan sheklengen tabıs penen programmalıq támiynattı islep shıǵıwǵa baǵdarlanǵan.

Ol geyde dizayn gúmis oǵı retinde qabıl etilgen, bul mashqalalarǵa alıp keledi. UML-di nadurıs qollanıw, júdá kóp qollanıw (sistemanıń hárbir bólegin onıń menen dizaynlaw, bul zárúrli emes) hám jańadan kelgenlerdiń onıń menen dizaynlay aladı dep oylawdı óz ishine aladı.

Ol kóp konstrukciyalar menen úlken til dep esaplanadı. Ayırım adamlar (Yakobson qosılǵan) UMLdiń kólemin úyreniwge hám sonıń ushın qabıllawǵa kesent etedi dep esaplaydı.

MS Visual Studio 2016-jılı paydalanıwdıń bolmawına baylanıslı UMLge qollap-quwatlawdı toqtattı.

Google Trends-ke sáykes, UML 2004-jıldan berli turaqlı túrde tómenlep atır.

## Derekler

__BÖLİDİMÖNDEMEW__