UML (англ. Unified Modeling Language —birlashtirilgan modellashtirish tili) - bu dasturiy ta'minotni ishlab chiqish sohasidagi ob'ektlarni modellashtirish, biznes jarayonlarini modellashtirish, tizimni loyihalash va tashkiliy tuzilmalarni namoyish qilish uchun grafik tavsiflash tili. UML keng tarqalgan til; bu UML modeli deb nomlangan tizimning mavhum modelini yaratish uchun grafik yozuvlardan foydalanadigan ochiq standart. UML asosan dasturiy ta'minot tizimlarini aniqlash, tasavvur qilish, loyihalash va hujjatlashtirish uchun yaratilgan. UML dasturlash tili emas, lekin UML modellari asosida kod yaratish mumkin.

Tarkibi:

edit

UML shuningdek, dasturiy ta'minot ishlab chiquvchilariga umumiy tushunchalarni (masalan, sinf, komponent, umumlashtirish, yig'ish va xulq-atvor kabi) ifodalash uchun grafik yozuvlar bo'yicha kelishish va dizayn va arxitekturaga ko'proq e'tibor berish imkoniyatini beradi. UML ishlab, dasturiy ta'minot ishlab chiqaruvchilarga umumiy tushunchalarni (daraja, sinf, komponent, umumlashtirish, yig'ish va xulq-atvor kabisi) ifodalash uchun grafik yozuvel large bo'yaicha kabilar ...

UML 1.x gacha

edit

1994 yilda Grational Booch va Rational Software-dan Jeyms Rambu birlashib, yangi ob'ektga yo'naltirilgan modellashtirish tilini yaratdilar. Ular ob'ektni modellashtirish texnikasi va Boochni til uchun asos qilib olishdi. OMT tahlilga, Booch dasturiy ta'minot tizimlarini loyihalashga yo'naltirilgan. 1995 yil oktyabrda "Birlashtirilgan usul" ning dastlabki 0.8 versiyasi chiqarildi. 1995 yilning kuzida Ivar Jacobson, Ob'ektga yo'naltirilgan dasturiy ta'minot muhandisi - OOSE muallifi Rational-ga qo'shildi. OOSE foydalanish holatlarini ishlatib, biznes jarayonlarini spetsifikatsiyasi va talablarini tahlil qilish uchun yuqori imkoniyatlarni taqdim etdi. OOSE birlashtirilgan uslubga ham qo'shildi. Ushbu bosqichda UMLni ishlab chiqish jarayonini tashkil qilishdagi asosiy rol OMG (Object Management Group) konsortsiumiga o'tdi. Booch, Rambeau va Jacobsonni ("uchta amigo") ham o'z ichiga olgan OMG ishlab chiqish jamoasi 1996 yil iyun va oktyabr oylarida UML 0.9 va 0.91 spetsifikatsiyalarini chiqardi.


UML 1.x

edit

UML-ga bo'lgan qiziqishning ortishi bilan Digital Equipment Corporation, Hewlett-Packard, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle Corporation, Rational Software kabi kompaniyalar yangi versiyalarini ishlab chiqishga qo'shildilar UML Partners konsortsiumidagi til., Texas Instruments va Unisys. Hamkorlik natijasida 1997 yil yanvar oyida chiqarilgan UML 1.0 spetsifikatsiyasi paydo bo'ldi. O'sha yilning noyabr oyida uning ortidan 1.1 versiyasi chiqdi, unda nota yozuvlari yaxshilandi, shuningdek ba'zi bir semantik yaxshilanishlar mavjud edi. Keyingi UML versiyalariga mos ravishda 1999 yil iyun, 2001 yil sentyabr va 2003 yil mart oylarida chop etilgan 1.3, 1.4 va 1.5 versiyalari kiritilgan. UML 1.4.2 xalqaro ISO / IEC 19501: 2005 standarti sifatida qabul qilingan

UML 2.x

edit

UML 2.0 uchun rasmiy spetsifikatsiya 2005 yil avgust oyida nashr etilgan. Model Driven Development - MDD metodologiyasini qo'llab-quvvatlash uchun tilning semantikasi sezilarli darajada takomillashtirildi va kengaytirildi. UML 2.5 ning so'nggi versiyasi 2015 yil iyun oyida nashr etilgan. UML 2.4.1 xalqaro standart sifatida qabul qilingan ISO / IEC 19505-1, 19505-2

Tuzilish diagrammasi:

edit

Sinf diagrammasi Komponent diagrammasi Kompozit tuzilish diagrammasi Hamkorlik (UML2.0) Joylashtirish diagrammasi Ob'ekt diagrammasi Paket diagrammasi Profil diagrammasi [ru] (UML2.2) Xulq-atvor diagrammasi:

Faoliyat diagrammasi State Machine diagrammasi Ish diagrammasidan foydalaning O'zaro aloqalar diagrammasi: Aloqa diagrammasi (UML2.0) / hamkorlik (UML1.x) O'zaro aloqalarni ko'rib chiqish diagrammasi (UML2.0) Tartib diagrammasi Vaqt diagrammasi (UML2.0) Strukturaviy diagrammalar:

Sinf diagrammasi Komponent diagrammasi Kompozit / kompozitsion tuzilish diagrammasi Hamkorlik diagrammasi (UML2.0) Joylashtirish diagrammasi Ob'ekt diagrammasi Paket diagrammasi Profil diagrammasi (UML2.2) Xulq-atvor diagrammalari:

Faoliyat diagrammasi Vaziyat diagrammasi Case diagrammasidan foydalaning O'zaro ta'sir diagrammalari: Aloqa diagrammasi (UML2.0) / hamkorlik diagrammasi (UML1.x) O'zaro aloqalarga umumiy nuqtai diagrammasi (UML2.0) Tartib diagrammasi Sinxronizatsiya diagrammasi (UML2.0)

Sinf diagrammasi
edit

Sinf diagrammasi - bu tizimning tuzilishini tavsiflovchi, tizim sinflarini, ularning atributlarini, usullarini va sinflar o'rtasidagi bog'liqlikni ko'rsatadigan statik strukturaviy diagramma.

Sinf diagrammalarini tuzishda ularni qo'llash maqsadlariga qarab har xil qarashlar mavjud:

kontseptual nuqtai nazar - sinf diagrammasi domen modelini tavsiflaydi, u faqat qo'llaniladigan ob'ektlar sinflarini o'z ichiga oladi; axborot tizimlarini loyihalashda spetsifikatsiya nuqtai nazaridan sinf diagrammasi ishlatiladi; amalga oshirish nuqtai nazari - sinf diagrammasi to'g'ridan-to'g'ri dastur kodida ishlatiladigan sinflarni o'z ichiga oladi (ob'ektga yo'naltirilgan dasturlash tillaridan foydalanilganda).

Komponent diagrammasi
edit

Komponent diagrammasi - bu dasturiy ta'minot tizimining tarkibiy qismlarga bo'linishini va tarkibiy qismlar orasidagi bog'lanishlarni (bog'liqliklarni) ko'rsatadigan statik strukturaviy diagramma. Jismoniy komponentlar fayllar, kutubxonalar, modullar, bajariladigan fayllar, paketlar va boshqalar bo'lishi mumkin.

Kompozit / kompozitsion tuzilish diagrammasi
edit

Kompozit / kompozitsion tuzilish diagrammasi - bu sinflarning ichki tuzilishini va iloji bo'lsa, sinfning ichki tuzilishi elementlarining (qismlarining) o'zaro ta'sirini ko'rsatadigan statik tuzilish diagrammasi. Kompozit tuzilish diagrammalarining quyi qismi Hamkorlik diagrammasi (UML 2.0 da kiritilgan), bu hamkorlikdagi sinflarning rollari va o'zaro ta'sirlarini aks ettiradi. Dizayn naqshlarini modellashtirishda hamkorlik foydali bo'ladi. Kompozit tuzilish diagrammalaridan sinf diagrammalari bilan birgalikda foydalanish mumkin.

Joylashtirish diagrammasi
edit

oylashtirish diagrammasi (tarqatish diagrammasi) - ishchi tugunlarni (apparat, inglizcha tugun) va ularga joylashtirilgan artefaktlarni simulyatsiya qilish uchun ishlatiladi. UML 2-da artefaktlar tugunlarga joylashtirilgan bo'lsa, UML 1-da komponentlar tugunlarga joylashtirilgan. Artefakt va u amalga oshiradigan mantiqiy element (komponent) o'rtasida aniq bog'liqlik mavjud.

Ob'ekt diagrammasi
edit

Ob'ekt diagrammasi - modellashtirilgan tizimning ma'lum bir vaqtda to'liq yoki qisman suratini ko'rsatadi. Ob'ekt diagrammasi tizim atributlarining joriy qiymatlarini va ob'ektlar orasidagi bog'lanishlarni ko'rsatib, tizim sinflari (ob'ektlari) misollarini aks ettiradi.

Paket diagrammasi
edit

Paket diagrammasi - tuzilish diagrammasi, uning asosiy mazmuni paketlar va ular o'rtasidagi o'zaro bog'liqlikdir. Turli xil strukturaviy diagrammalar o'rtasida qat'iy ajratish mavjud emas, shuning uchun bu nom faqat qulaylik uchun taklif qilingan va semantik ma'noga ega emas (paketlar va paketli diagrammalar boshqa strukturaviy diagrammalarda bo'lishi mumkin). Paket diagrammalaridan asosan strukturani soddalashtirish va tizim modeli bilan ishlashni tashkil qilish uchun elementlarni ba'zi bir atributlarga ko'ra guruhlarga ajratish uchun foydalaniladi.

Faoliyat diagrammasi
edit

Faoliyat diagrammasi - ba'zi faoliyatlarning tarkibiy qismlariga ajralishini ko'rsatadigan diagramma. Faoliyat subordinatsiya qilingan elementlarning muvofiqlashtirilgan ketma-ket va parallel bajarilishi ko'rinishidagi bajariladigan xatti-harakatlarning spetsifikatsiyasi - ichki tugallangan harakatlar va individual harakatlar, bir tugunning chiqishidan ikkinchisining kirish qismiga o'tadigan iplar bilan o'zaro bog'liqlik sifatida tushuniladi. Faoliyat diagrammalaridan biznes jarayonlarini, texnologik jarayonlarni, ketma-ket va parallel hisoblashlarni modellashtirishda foydalaniladi.

Faoliyat diagrammalarining analogi GOST 19.701-90 bo'yicha algoritm diagrammalari va ajdar diagrammalaridir.

Avtomat diagrammasi
edit

Avtomat diagrammasi (holat mashinasi diagrammasi, holat mashinasi diagrammasi, holat diagrammasi) - bu oddiy holatlar, o'tish va kompozitsion holatlarga ega bo'lgan holat mashinasini aks ettiruvchi diagramma. Holat mashinasi - bu o'z hayotidagi voqealarga javoban ob'ekt yoki o'zaro ta'sir o'tkazadigan holatlar ketma-ketligining spetsifikatsiyasi, shuningdek ob'ektning ushbu hodisalarga munosabati. Davlat mashinasi manba elementiga biriktirilgan (sinf, kooperatsiya yoki usul) va uning nusxalari xatti-harakatlarini aniqlashga xizmat qiladi. Avtomat diagrammalarning analogi (holat diagrammasi) ajdaho sxemalaridir.

Case diagrammasidan foydalaning
edit

Case diagrammasidan foydalaning (Case case diagrammasidan foydalaning) - aktyorlar va foydalanish holatlari o'rtasidagi munosabatni aks ettiruvchi diagramma. Asosiy vazifa mijoz, oxirgi foydalanuvchi va ishlab chiquvchiga tizimning funktsionalligi va xatti-harakatlarini birgalikda muhokama qilish imkoniyatini beradigan yagona vositani taqdim etishdir.

Aloqa sxemalari va ketma-ketliklari
edit

Aloqa diagrammasi va ketma-ketligi o'tkinchi, o'zaro ta'sirli, ammo uni har xil yo'llar bilan va etarli darajada aniqlik bilan bir-biriga aylantirish mumkin. Aloqa diagrammasi (UML 1.x da - hamkorlik diagrammasi) - bu kompozitsion tuzilish qismlari yoki o'zaro hamkorlik rollari o'rtasidagi o'zaro ta'sirlarni aks ettiruvchi diagramma. Aloqa diagrammasi ketma-ketlik sxemasidan farqli o'laroq, elementlar (ob'ektlar) o'rtasidagi munosabatni aniq ko'rsatib beradi va vaqt alohida o'lchov sifatida ishlatilmaydi (qo'ng'iroqning navbat raqamlari ishlatiladi). Tartib diagrammasi - ob'ektlarning o'zaro ta'sirini ko'rsatadigan, ularning namoyon bo'lish vaqtiga ko'ra tartiblangan diagrammasi. Xususan, u o'zaro aloqada ishtirok etadigan ob'ektlarni va ular almashadigan xabarlar ketma-ketligini tasvirlaydi. Hamkorlik diagrammasi - ushbu turdagi diagramma xabarlarni uzatish ketma-ketligidan mavhumlashtirgan holda ob'ektlarning o'zaro ta'sirini tavsiflashga imkon beradi. Muayyan ob'ektning barcha qabul qilingan va uzatiladigan xabarlari va ushbu xabarlarning turlari ushbu turdagi diagrammalarda ixcham shaklda aks ettirilgan. Tartiblash va hamkorlik diagrammalari bir xil jarayonning turli xil qarashlari bo'lganligi sababli, Rational Rose sizga ketma-ketlik diagrammalaridan va aksincha, hamkorlik diagrammalarini yaratishga imkon beradi va shu bilan birga ushbu diagrammalarni avtomatik ravishda sinxronizatsiya qiladi.

O'zaro aloqalarni ko'rib chiqish jadvali

edit

O'zaro ta'sirga umumiy nuqtai diagrammasi - bu ketma-ketlik diagrammasi va boshqaruv oqimi konstruktsiyalarining qismlarini o'z ichiga olgan faoliyat diagrammasi. Ushbu turdagi diagrammalar ketma-ketlik va hamkorlik diagrammalarini o'z ichiga oladi. Ushbu diagrammalar yaratilgan tizimdagi ob'ektlarning o'zaro ta'sirini turli nuqtai nazardan tekshirishga imkon beradi.

Sinxronizatsiya diagrammasi
edit

Vaqt diagrammasi - berilgan vaqt o'lchoviga ega bo'lgan hayot chizig'idagi holat o'zgarishini aniq ko'rsatadigan ketma-ketlik diagrammasining alternativ ko'rinishi. Haqiqiy vaqt dasturlarida foydali bo'lishi mumkin.

UML afzalliklari

edit

UML ob'ektga yo'naltirilgan bo'lib, natijada tahlil va loyihalash natijalarini tavsiflash usullari zamonaviy ob'ektga yo'naltirilgan tillarda dasturlash usullariga semantik jihatdan yaqin; UML tizimni deyarli barcha mumkin bo'lgan nuqtai nazardan va tizim xulq-atvorining turli jihatlaridan tavsiflashga imkon beradi; UML diagrammalarini sintaksis bilan juda tez tanishgandan so'ng o'qish nisbatan oson; UML kengayadi va o'zingizning matnli va grafik stereotiplarni kiritishingizga imkon beradi, bu uning nafaqat dasturiy ta'minot muhandisligi sohasida qo'llanilishiga yordam beradi; UML keng tarqalgan va dinamikdir.

Tanqid

edit

UML juda keng tarqalgan va ishlatilgan standart bo'lishiga qaramay, ko'pincha quyidagi kamchiliklar uchun tanqid qilinadi: Tilning ortiqcha bo'lishi. UML ko'pincha keraksiz katta va murakkab deb tanqid qilinadi. U ko'plab keraksiz yoki amalda foydalanilmagan diagrammalar va konstruktsiyalarni o'z ichiga oladi. Siz buni UML 1.0 ga qaraganda UML 2.0 bilan tez-tez eshitasiz, chunki yangi tahrirlarda ko'proq "qo'mita tomonidan ishlab chiqarilgan" savdo-sotiq mavjud. Noto'g'ri semantik. UML o'zi (mavhum sintaksis), OCL (cheklovlarni ta'riflash tili - rasmiy tasdiqlash) va ingliz tili (batafsil semantika) kombinatsiyasi bilan aniqlanganligi sababli, rasmiy tasvirlash texnikasi bilan aniq belgilangan tillarga xos cheklovlardan mahrum. Ba'zi hollarda UML, OCL va ingliz tillarining mavhum sintaksislari bir-biriga zid keladi, boshqa hollarda ular to'liq emas. UML-ning o'zi noto'g'ri tavsiflari foydalanuvchilar va asbob-uskunalarni etkazib beruvchilarda bir xil darajada aks etadi va bu spetsifikatsiyalarning noyob talqini tufayli asboblarning mos kelmasligiga olib keladi. O'rganish va amalga oshirishdagi muammolar. Yuqoridagi muammolar UMLni o'rganish va amalga oshirishni qiyinlashtiradi, ayniqsa menejment muhandislarni UML-ni oldindan ko'nikmalarisiz ishlatishga majbur qilganda. Faqat kod kodni aks ettiradi. Yana bir fikr shundaki, chiroyli tizimlar emas, balki ishlaydigan tizimlar muhimdir. Jek Rivz qisqacha aytganidek: "Kod - bu dizayn" [15] [16]. Ushbu qarashga ko'ra, dasturiy ta'minotni yozishning eng yaxshi usuliga ehtiyoj bor; UML manba yoki bajariladigan kodni yaratish uchun modellarni yig'uvchi yondashuvlar uchun baholanadi. Ammo, bu hali ham etarli bo'lmasligi mumkin, chunki UML Turing to'liqligi xususiyatlariga ega emas va har qanday yaratilgan kod UML tarjimoni vositasi ko'rishi yoki taxmin qilishi mumkin bo'lgan narsalar bilan chegaralanadi. Kümülatif impedans / impedans mos kelmasligi. Yuklarning mos kelmasligi - bu tizimni tahlil qilish nazariyasidan kelib chiqib, bitta tizimning kiritilishi boshqasining chiqishini idrok eta olmasligini bildiradi. Har qanday yozuv tizimida bo'lgani kabi, UML ham ba'zi tizimlarni boshqalarga qaraganda qisqacha va samarali tarzda namoyish etishi mumkin. Shunday qilib, ishlab chiquvchi UML va dasturlash tillarining kuchli tomonlarini o'zaro bog'lashda qulayroq echimlarga moyil bo'ladi. Rivojlanish tili pravoslav ob'ektga yo'naltirilgan ta'limot tamoyillariga rioya qilmasa (OOPning an'anaviy tamoyillariga mos kelmasa), muammo yanada aniqroq bo'ladi. Hamma uchun hamma narsa bo'lishga intiladi. UML - bu barcha mumkin bo'lgan rivojlanish tillari bilan mos kelishga harakat qiladigan umumiy maqsadli modellashtirish tili. Muayyan loyiha kontekstida dizaynerlar guruhi aniq maqsadga erishish uchun amaldagi UML imkoniyatlarini tanlash kerak. Bundan tashqari, ma'lum bir sohada UML doirasini cheklash usullari to'liq ifoda etilmagan va o'zi tanqid ob'ekti bo'lgan rasmiyatchilikdan o'tadi.