Windows.  Viruslar.  Noutbuklar.  Internet.  idora.  Utilitalar.  Haydovchilar

UML modeli(UML modeli) - bu til konstruktsiyalarining chekli to'plami bo'lib, ularning asosiylari ob'ektlar va ular orasidagi munosabatlardir.

Modelning ob'ektlari va o'zaro munosabatlari metamodelning metaklasslari misollaridir.

UML modelini eng umumiy pozitsiyalardan ko'rib chiqsak, bu grafik (aniqrog'i, yuklangan ko'p psevdo-giper-digraf) bo'lib, unda cho'qqilar va qirralar yuklangan deb aytishimiz mumkin. Qo'shimcha ma'lumot va murakkab ichki tuzilishga ega bo'lishi mumkin. Ushbu grafaning uchlari ob'ektlar, qirralari esa munosabatlar deb ataladi.. Bo'limning qolgan qismida ravon (dastlabki) lekin mavjud to'liq ko'rib chiqish mavjud ob'ektlar turlari va munosabatlari. Yaxshiyamki, ularning soni unchalik ko'p emas. Kitobning keyingi boblarida barcha ob'ektlar va munosabatlar yana batafsilroq va misollar bilan ko'rib chiqiladi.

1.4.1. Esanslar

Ko'rib chiqish qulayligi uchun UMLdagi ob'ektlarni to'rt guruhga bo'lish mumkin:

  • tizimli;
  • xulq-atvor;
  • guruhlash;
  • izohli.

Strukturaviy ob'ektlar, siz taxmin qilganingizdek, strukturani tavsiflash uchun mo'ljallangan. Odatda, tarkibiy tuzilmalar quyidagilarni o'z ichiga oladi.

Ob'ekt(ob'ekt) 1 - o'ziga xoslikka ega bo'lgan va holat va xatti-harakatni qamrab oluvchi ob'ekt.

Sinf(sinf) 2 - xatti-harakatni belgilaydigan holat va operatsiyalarni belgilaydigan umumiy atributlarga ega ob'ektlar to'plamining tavsifi.

Interfeys(interfeys) 3 - iste'molchi tomonidan so'ralishi mumkin bo'lgan va xizmat ko'rsatuvchi provayder tomonidan taqdim etilishi mumkin bo'lgan xizmatlar to'plamini belgilaydigan nomli operatsiyalar to'plami.

Hamkorlik(hamkorlik) 4 - qandaydir maqsadga erishish uchun o'zaro ta'sir qiluvchi ob'ektlar to'plami.

Aktyor(aktyor) 5 - modellashtirilgan tizimdan tashqarida bo'lgan va u bilan bevosita o'zaro aloqada bo'lgan shaxs.

∇ Bunday munosabatlar, albatta, mavjud bo'lib, u rasmda ko'rsatilgan. UML 1 uchun diagramma turi ierarxiyasi"tozalash" stereotipi bilan bog'liqlik munosabatlari sifatida.

∇∇ UML 1da hamkorlik diagrammasi va bir xil nomdagi ob'ekt o'rtasida ixtiyorsiz bog'lanish mavjud bo'lib, bu mutlaqo to'g'ri emas va ba'zan noto'g'ri edi.

∇∇∇ UML 2 da holat diagrammasining sintaktik va semantik yuklanishi shunchalik o'zgarganki, nom endi tarkibni aks ettirmaydi.

Ushbu kitobda qabul qilingan yangi diagrammalar ro'yxati va ularning nomlari quyida keltirilgan.

  • Kompozit tuzilma diagrammasi
  • Paket diagrammasi
  • Davlat mashina diagrammasi
  • Aloqa diagrammasi
  • O'zaro ta'sirni ko'rib chiqish diagrammasi
  • Vaqt diagrammasi

Shaklda. UML 2 uchun diagramma turi ierarxiyasi (1 va 2-qism) UML 2 da diagrammalarning o'zaro bog'liqligini ko'rsatadigan sinf diagrammasi.

Keyinchalik, ushbu bobda biz barcha o'n uchta kanonik diagrammani qisqacha tasvirlab beramiz, buning uchun kontekst va lug'at mavjud. Tafsilotlar kitobning qolgan boblarida keltirilgan.

Ammo keyingi bo'limga o'tishdan oldin, standart diagrammalarni qanday formatlashni talab qilishi haqida kichik bir fikr yuritamiz. Umumiy diagramma taqdimoti shabloni quyida keltirilgan.

Ikkita asosiy dizayn elementi mavjud: tashqi ramka va diagramma nomi bilan yorliq. Agar ramka bilan hamma narsa oddiy bo'lsa - bu diagrammaning elementlari joylashishi kerak bo'lgan maydonni chegaralovchi to'rtburchak bo'lsa, unda diagrammaning nomi rasmda ko'rsatilgan maxsus formatda yoziladi. Diagramma belgisi.

Ushbu murakkab yorliq shakli barcha vositalar tomonidan qo'llab-quvvatlanmaydi. Biroq, bu shart emas, chunki semantika asosiy, yozuv esa ikkinchi darajali. Quyida biz to'rtburchakni diagramma yorlig'i sifatida ishlatamiz va bu noto'g'ri tushunishga olib kelmasligi kerak.

Grafiklar uchun mumkin bo'lgan teglar (turlar) quyidagi jadvalda ko'rsatilgan. Standart tomonidan taklif qilingan teglar ikkinchi ustunda yoziladi. Biroq, amaliyot shuni ko'rsatadiki, standart tomonidan taklif qilingan qoidalar har doim ham qulay va mantiqiy asosli emas, shuning uchun jadvalning uchinchi ustunida bizning fikrimizcha, oqilona alternativ mavjud.

Tab. Diagramma turlari va teglari

Grafik nomi Teg (standart) Teg (tavsiya etiladi)
Foydalanish diagrammasi foydalanish holati yoki uc foydalanish holati
sinf diagrammasi sinf sinf
avtomat diagrammasi davlat mashinasi yoki stm davlat mashinasi
faoliyat diagrammasi faoliyat yoki harakat faoliyat
ketma-ketlik diagrammasi o'zaro ta'sir yoki sd sd
Aloqa diagrammasi o'zaro ta'sir yoki sd comm
Komponent diagrammasi komponent yoki cmp komponent
Joylashtirish diagrammasi aniqlangan joylashtirish
Obyekt diagrammasi aniqlangan ob'ekt
Ichki tuzilish diagrammasi sinf sinf yoki komponent
O'zaro ta'sirning umumiy diagrammasi o'zaro ta'sir yoki sd o'zaro ta'sir
Vaqt diagrammasi o'zaro ta'sir yoki sd vaqt
Paket diagrammasi paket yoki pkg paket

UML hozirda 1997 yilning kuzida Object Management Group (OMG) tomonidan qabul qilingan va ko'plab ob'ektga yo'naltirilgan CASE mahsulotlari tomonidan qo'llab-quvvatlanadigan dasturiy ta'minot tizimlarini vizual modellashtirish uchun standart belgidir.

UML standarti modellashtirish uchun quyidagi diagrammalar to'plamini taklif qiladi:

Foydalanish diagrammasi (foydalanish diagrammasi) - tashkilot yoki korxonaning biznes jarayonlarini modellashtirish va yaratilayotgan axborot tizimiga qo'yiladigan talablarni aniqlash uchun;

sinf diagrammasi (sinf diagrammasi) - tizim sinflarining statik tuzilishini va ular orasidagi munosabatlarni modellashtirish uchun;

tizim xatti-harakati diagrammasi (xulq-atvor sxemalari);

o'zaro ta'sir diagrammalari;

Ketma-ketlik diagrammalari - bitta foydalanish holatida ob'ektlar o'rtasida xabar almashish jarayonini modellashtirish uchun;

hamkorlik diagrammasi (hamkorlik diagrammasi) - bir xil foydalanish holatidagi ob'ektlar o'rtasidagi xabar almashish jarayonini modellashtirish uchun;

davlat diagrammasi - bir holatdan ikkinchi holatga o'tish paytida tizim ob'ektlarining xatti-harakatlarini modellashtirish uchun;

faoliyat diagrammasi - turli xil foydalanish holatlari yoki modellashtirish faoliyati doirasida tizimning xatti-harakatlarini modellashtirish uchun;

Amalga oshirish diagrammasi (amalga oshirish diagrammasi):

Komponent diagrammasi (komponent diagrammasi) - axborot tizimining tarkibiy qismlari (quyi tizimlar) ierarxiyasini modellashtirish uchun;

joylashtirish diagrammasi (joylashtirish diagrammasi) - modellashtirish uchun jismoniy arxitektura ishlab chiqilgan axborot tizimi.

Shaklda. 1.1 axborot tizimining integratsiyalashgan modelini, shu jumladan ushbu kurs loyihasida ishlab chiqiladigan asosiy diagrammalarni taqdim etadi.

Guruch. 1. UML tilining yozuvlarida axborot tizimining integral modeli

4.2. Ish diagrammasidan foydalaning

Foydalanish holati - bu qandaydir tashqi ob'ekt (aktyor) tomonidan qo'zg'atilgan hodisaga javoban tizim tomonidan bajariladigan harakatlar ketma-ketligi. Foydalanish holati foydalanuvchi va tizim o'rtasidagi odatiy aloqani tavsiflaydi. Eng oddiy holatda, foydalanish holati foydalanuvchi bilan ushbu axborot tizimida amalga oshirmoqchi bo'lgan funktsiyalarni muhokama qilish jarayonida aniqlanadi. UMLda foydalanish holati quyidagicha tasvirlangan:

2-rasm. Foydalanish holati

Aktyor - bu tizimga nisbatan foydalanuvchi o'ynaydigan rol. Aktyorlar muayyan odamlar yoki lavozim unvonlarini emas, balki rollarni ifodalaydi. Garchi ular foydalanish holatlari diagrammalarida stilize qilingan inson figuralari sifatida tasvirlangan bo'lsa-da, aktyor ham tashqi bo'lishi mumkin. axborot tizimi, bu berilgan tizimdan ba'zi ma'lumotlarni talab qiladi. Siz aktyorlarni diagrammada faqat ba'zi foydalanish holatlari kerak bo'lganda ko'rsatishingiz kerak. UMLda aktyorlar shakllar sifatida ifodalanadi:



3-rasm. Qahramon (aktyor)

Aktyorlar uchta asosiy turga bo'linadi:

Foydalanuvchilar

tizimlar;

Bu bilan o'zaro ishlaydigan boshqa tizimlar;

Tizimdagi har qanday hodisaning boshlanishi unga bog'liq bo'lsa, vaqt aktyorga aylanadi.

4.2.1. Foydalanish holatlari va aktyorlar o'rtasidagi munosabatlar

UML-da foydalanish holatlari diagrammasi diagramma elementlari o'rtasidagi munosabatlarning bir nechta turlarini qo'llab-quvvatlaydi:

Aloqa (aloqa),

Inklyuziya (shu jumladan),

uzaytirish (uzaytirish),

umumlashtirish.

aloqa aloqasi foydalanish holati va aktyor o'rtasidagi munosabatdir. UMLda aloqa aloqalari bir tomonlama assotsiatsiya (qattiq chiziq) yordamida ko'rsatiladi.

4-rasm. Aloqa aloqasi misoli

Inklyuziya ulanishi bir nechta foydalanish holatlarida takrorlanadigan tizim xatti-harakatlarining bir qismi mavjud bo'lgan holatlarda qo'llaniladi. Bunday havolalar yordamida odatda qayta foydalanish mumkin bo'lgan funksiya modellashtiriladi.

Kengaytma ulanishi tizimning normal xatti-harakatlaridagi o'zgarishlarni tasvirlash uchun ishlatiladi. Bu bitta foydalanish holatini ixtiyoriy ravishda ishlatishga imkon beradi funksionallik boshqa foydalanish holati.

5-rasm. Inklyuziya va kengaytma munosabatlariga misol

Muloqotni umumlashtirish bir nechta aktyorlar yoki sinflarning umumiy xususiyatlarga ega ekanligini ko'rsatadi.

6-rasm. Umumlashtirish munosabatiga misol

4.3.



O'zaro ta'sir diagrammasi o'zaro ta'sir qiluvchi ob'ektlar guruhlarining xatti-harakatlarini tavsiflash. Odatda, o'zaro ta'sir diagrammasi faqat bitta foydalanish holatidagi ob'ektlarning xatti-harakatlarini qamrab oladi. Bunday diagrammada bir qator ob'ektlar va ular bir-biri bilan almashinadigan xabarlar ko'rsatilgan.

xabar jo'natuvchi ob'ekt qabul qiluvchi ob'ektga o'z operatsiyalaridan birini bajarishni so'rash vositasidir.

Axborot (axborot) xabari qabul qiluvchi ob'ektni holatini yangilash uchun ba'zi ma'lumotlar bilan ta'minlaydigan xabar.

So'rov xabari (so'roq) qabul qiluvchi ob'ekt haqida ba'zi ma'lumotlarni chiqarishni talab qiluvchi xabar.

Imperativ xabar qabul qiluvchidan ba'zi harakatlarni bajarishni talab qiladigan xabar.

O'zaro ta'sir diagrammalarining ikki turi mavjud: ketma-ketlik diagrammasi va hamkorlik diagrammasi.

4.3.1. Ketma-ketlik diagrammalari

ketma-ketlik diagrammasi bitta foydalanish holatida sodir bo'ladigan hodisalar oqimini aks ettiradi.

Berilgan stsenariyda ishtirok etgan barcha aktyorlar (aktyorlar, sinflar yoki ob'ektlar) diagrammaning yuqori qismida ko'rsatilgan. Oklar aktyor va ob'ekt o'rtasida yoki kerakli funktsiyalarni bajarish uchun ob'ektlar o'rtasida uzatiladigan xabarlarga mos keladi.

Ketma-ketlik diagrammasida ob'ekt to'rtburchaklar shaklida tasvirlangan, undan pastga nuqtali vertikal chiziq chizilgan. Bu qator deyiladi ob'ektning hayot chizig'i . Bu o'zaro ta'sir jarayonida ob'ektning hayot aylanishining bir qismidir.

Har bir xabar ikki ob'ektning hayot chiziqlari orasidagi o'q sifatida ifodalanadi. Xabarlar sahifada yuqoridan pastgacha ko'rinadigan tartibda paydo bo'ladi. Har bir xabar kamida xabar nomi bilan teglanadi. Majburiy emas, shuningdek, argumentlar va ba'zi nazorat ma'lumotlarini qo'shishingiz mumkin. Siz o'z-o'zini delegatsiyani, ob'ekt o'ziga yuboradigan xabarni, xabar o'qi bilan bir xil hayot chizig'ini ko'rsatishingiz mumkin.

Guruch. 7. Ketma-ketlik diagrammasi misoli

4.3.2. Hamkorlik diagrammasi

Hamkorlik diagrammasi muayyan stsenariy doirasidagi voqealar oqimini ko'rsatish (foydalanish holati). Xabarlar vaqt bo'yicha tartiblangan, garchi hamkorlik diagrammalarida ko'proq ob'ektlar o'rtasidagi munosabatlarga e'tibor qaratilgan. Hamkorlik diagrammasi ketma-ketlik diagrammasi mavjud bo'lgan barcha ma'lumotlarni ko'rsatadi, lekin hamkorlik diagrammasi voqealar oqimini boshqacha tarzda tasvirlaydi. Undan ob'ektlar o'rtasida mavjud bo'lgan aloqalarni tushunish osonroq.

Hamkorlik diagrammasida, xuddi ketma-ketlik diagrammasida bo'lgani kabi, o'qlar ramka ichida almashinadigan xabarlarni ifodalaydi. bu variant foydalanish. Ularning vaqt ketma-ketligi xabarlarni raqamlash orqali ko'rsatiladi.

Guruch. 8. Hamkorlik sxemasiga misol

4.4. sinf diagrammasi

4.4.1. Umumiy ma'lumot

sinf diagrammasi tizim sinflarining turlarini va ular o'rtasida mavjud bo'lgan har xil turdagi statik aloqalarni belgilaydi. Sinf diagrammalarida sinf atributlari, sinf operatsiyalari va sinflar orasidagi munosabatlarga qo'yiladigan cheklovlar ham ko'rsatilgan.

UMLda sinf diagrammasi - bu grafik bo'lib, uning tugunlari loyihaning statik strukturasining elementlari (sinflar, interfeyslar), yoylar esa tugunlar (assotsiatsiyalar, meros, bog'liqliklar) o'rtasidagi munosabatlardir.

Sinf diagrammasi quyidagi elementlarni ko'rsatadi:

· Paket (paket) - bir-biri bilan mantiqiy bog'liq bo'lgan model elementlari to'plami;

· Sinf (sinf) - o'xshash ob'ektlar guruhining umumiy xususiyatlarini tavsiflash;

· Interfeys (interfeys) - berilgan interfeys bilan bog'langan ixtiyoriy sinf ob'ekti boshqa ob'ektlarga taqdim etadigan operatsiyalar to'plamini belgilaydigan mavhum sinf.

4.4.2. Sinf

Sinf o'xshash xususiyatlarga ega, ya'ni ma'lumotlar va xatti-harakatlarga ega bo'lgan ob'ektlar (ob'ektlar) guruhidir. Sinfning alohida a'zosi sinf ob'ekti yoki oddiygina ob'ekt deb ataladi.

UML-da ob'ektning xatti-harakati ob'ektning tashqi dunyo va ob'ektning o'zi ma'lumotlari bilan o'zaro ta'sirining har qanday qoidalarini anglatadi.

Diagrammalarda sinf gorizontal chiziqlar bilan 3 qismga bo'lingan, qattiq chegarali to'rtburchaklar shaklida tasvirlangan:

Yuqori qismda (ism bo'limi) sinf nomi va boshqa umumiy xususiyatlar (xususan, stereotip) mavjud.

O'rta bo'limda atributlar ro'yxati mavjud

Pastki qismida uning xatti-harakatlarini aks ettiruvchi sinf operatsiyalari ro'yxati (sinf tomonidan bajariladigan harakatlar).

Atribut va operatsiya bo'limlarining hech biri (yoki ikkalasi) ko'rsatilmasligi mumkin. Yo'qolgan qism uchun siz bo'linadigan chiziq chizishingiz shart emas va qandaydir tarzda undagi elementlarning mavjudligi yoki yo'qligini ko'rsatishingiz kerak.

Qo'shimcha bo'limlar, masalan, Istisnolar, muayyan amalga oshirishning ixtiyoriga ko'ra kiritilishi mumkin.

Guruch. 9. Sinf diagrammasi misoli

4.4.2.1.Sinf stereotiplari

Sinf stereotipi - bu sinflarni toifalarga ajratish mexanizmi.

UML uchta asosiy sinf stereotiplarini belgilaydi:

Chegara (chegara);

Tashkilot (shaxs);

Boshqarish (boshqaruv).

4.4.2.2.Chegara sinflari

Chegara sinflari - bu tizim va butun atrof-muhit chegarasida joylashgan sinflar. Bular displeylar, hisobotlar, apparat vositalari (masalan, printerlar yoki skanerlar) bilan interfeyslar va boshqa tizimlar bilan interfeyslardir.

Chegaraviy sinflarni topish uchun siz foydalanish holatlari diagrammalarini o'rganishingiz kerak. Aktyor va foydalanish holati o'rtasidagi har bir o'zaro ta'sir kamida bitta chegara sinfiga ega bo'lishi kerak. Aynan shu sinf aktyorga tizim bilan o'zaro munosabatda bo'lishga imkon beradi.

4.4.2.3.Tashkilot sinflari

Ob'ekt sinflari saqlangan ma'lumotlarni o'z ichiga oladi. Ular foydalanuvchi uchun eng katta ma'noga ega va shuning uchun ularning nomlari ko'pincha mavzu sohasidagi atamalardan foydalanadi. Odatda, har bir ob'ekt sinfi uchun ma'lumotlar bazasida jadval tuziladi.

4.4.2.4.Nazorat sinflari

Nazorat sinflari boshqa sinflarning harakatlarini muvofiqlashtirish uchun javobgardir. Odatda, har bir foydalanish holati ushbu foydalanish holati uchun hodisalar ketma-ketligini boshqaruvchi bitta nazorat sinfiga ega. Boshqaruv sinfi muvofiqlashtirish uchun javobgardir, lekin boshqa sinflar uni jo'natmagani uchun o'zida hech qanday funktsiyaga ega emas. katta raqam xabarlar. Buning o'rniga uning o'zi juda ko'p xabarlar yuboradi. Menejer sinfi mas'uliyatni boshqa sinflarga topshiradi, shuning uchun uni ko'pincha menejerlar sinfi deb atashadi.

Tizimda bir nechta foydalanish holatlari uchun umumiy bo'lgan boshqa nazorat sinflari bo'lishi mumkin. Masalan, xavfsizlik bilan bog'liq hodisalarni kuzatish uchun mas'ul SecurityManager sinfi bo'lishi mumkin. TransactionManager klassi ma'lumotlar bazasi tranzaktsiyalari bilan bog'liq xabarlarni muvofiqlashtirish bilan shug'ullanadi. Resurslarni almashish, taqsimlangan ma'lumotlarni qayta ishlash yoki xatolarni qayta ishlash kabi tizim faoliyatining boshqa elementlari bilan shug'ullanadigan boshqa menejerlar bo'lishi mumkin.

Yuqorida aytib o'tilgan stereotiplarga qo'shimcha ravishda siz o'zingizni yaratishingiz mumkin.

4.4.2.5.Atributlar

Atribut - bu sinf bilan bog'langan ma'lumotlarning bir qismi. Atributlar inkapsullangan sinf ma'lumotlarini saqlaydi.

Atributlar sinf ichida joylashganligi sababli ular boshqa sinflardan yashiringan. Shu sababli, qaysi sinflar atributlarni o'qish va o'zgartirish huquqiga ega ekanligini ko'rsatish kerak bo'lishi mumkin. Bu xususiyat atribut ko'rinishi deb ataladi.

Atribut ushbu parametr uchun to'rtta mumkin bo'lgan qiymatga ega bo'lishi mumkin:

Ommaviy (umumiy, ochiq). Ushbu ko'rinish qiymati atribut boshqa barcha sinflarga ko'rinadigan bo'lishini nazarda tutadi. Har qanday sinf atributning qiymatini ko'rishi yoki o'zgartirishi mumkin. UML yozuviga ko'ra, umumiy atributdan oldin "+" belgisi qo'yiladi.

Shaxsiy (yopiq, maxfiy). Tegishli atribut boshqa sinfga ko'rinmaydi. Shaxsiy atribut UML yozuviga muvofiq "-" belgisi bilan belgilanadi.

Himoyalangan (himoyalangan). Bunday atribut faqat sinfning o'zi va uning avlodlari uchun mavjud. Himoyalangan atribut uchun UML belgisi "#" belgisidir.

Paket yoki amalga oshirish (to'plam). Tasavvur qiling, berilgan atribut umumiy, lekin faqat uning paketi ichida. Ushbu turdagi ko'rinish hech qanday maxsus belgi bilan ko'rsatilmaydi.

Yopiqlik yoki xavfsizlik yordamida atribut qiymati tizimning barcha sinflari tomonidan o'zgartirilgan vaziyatdan qochish mumkin. Buning o'rniga, atributni o'zgartirish mantig'i atributning o'zi bilan bir xil sinfga o'raladi. Siz o'rnatgan ko'rinish parametrlari yaratilgan kodga ta'sir qiladi.

4.4.2.6.Operatsiyalar

Operatsiyalar sinf bilan bog'liq xatti-harakatlarni amalga oshiradi. Operatsiya uch qismdan iborat - nom, parametrlar va qaytarish turi.

Parametrlar - bu operatsiya kirish sifatida qabul qilinadigan argumentlar. Qaytish turi operatsiya harakatining natijasini bildiradi.

Sinf diagrammasi operatsiyalarning nomlarini ham, ularning parametrlari va qaytish turini ham ko'rsatishi mumkin. Diagrammadagi yukni kamaytirish uchun ularning ba'zilarida faqat operatsiyalar nomlarini, boshqalarida esa ularning to'liq imzosini ko'rsatish foydali bo'ladi.

UMLda operatsiyalar quyidagi belgilarga ega:

Amaliyot nomi (argument: argument ma’lumotlar turi, argument2: argument2 ma’lumotlar turi,...): qaytish turi

Ko'rib chiqilishi kerak bo'lgan to'rt xil turdagi operatsiyalar mavjud:

Amalga oshirish operatsiyalari;

Boshqaruv operatsiyalari;

Kirish operatsiyalari;

Yordamchi operatsiyalar.

Amalga oshirish operatsiyalari

Amalga oshiruvchi operatsiyalar ba'zi biznes funktsiyalarini amalga oshiradi. Bunday operatsiyalarni o'zaro ta'sir diagrammalarini o'rganish orqali topish mumkin. Ushbu turdagi diagrammalar biznes funktsiyalariga qaratilgan va diagrammadagi har bir xabar, ehtimol, amalga oshirish operatsiyasi bilan bog'liq bo'lishi mumkin.

Har bir amalga oshirish operatsiyasi mos keladigan talabga osongina kuzatilishi kerak. Bunga simulyatsiyaning turli bosqichlarida erishiladi. Operatsiya o'zaro ta'sir diagrammasidagi xabardan kelib chiqadi, xabarlar foydalanish holatlari asosida yaratilgan hodisalar oqimining batafsil tavsifidan, ikkinchisi esa talablardan kelib chiqadi. Ushbu butun zanjirni kuzatish imkoniyati har bir talab kodda amalga oshirilishini ta'minlashga yordam beradi va har bir kod qismi ba'zi talablarni amalga oshiradi.

Boshqaruv operatsiyalari

Menejer operatsiyalari ob'ektlarni yaratish va yo'q qilishni boshqaradi. Sinf konstruktorlari va destruktorlari ushbu toifaga kiradi.

Kirish operatsiyalari

Atributlar odatda shaxsiy yoki himoyalangan. Biroq, ba'zan boshqa sinflar o'z qiymatlarini ko'rishlari yoki o'zgartirishlari kerak. Buning uchun kirish operatsiyalari mavjud. Ushbu yondashuv sinf ichidagi atributlarni xavfsiz tarzda inkapsulyatsiya qilish imkonini beradi, ularni boshqa sinflardan himoya qiladi, lekin baribir ularga ruxsat beradi. nazorat qilinadigan kirish. Sinfning har bir atributi uchun Get va Set operatsiyalarini yaratish (qiymatni olish va o'zgartirish) standart hisoblanadi.

Yordamchi operatsiyalar

Yordamchi (yordamchi operatsiyalar) sinfning o'z vazifalarini bajarishi uchun zarur bo'lgan, ammo boshqa sinflar hech narsa bilmasligi kerak bo'lgan operatsiyalardir. Bu xususiy va himoyalangan sinf operatsiyalari.

Tranzaktsiyalarni aniqlash uchun quyidagilarni bajaring:

1. Ketma-ketlik diagrammalari va kooperativ diagrammalarni o'rganish. Ushbu diagrammalardagi xabarlarning aksariyati amalga oshirish operatsiyalaridir. Reflektiv xabarlar yordamchi operatsiyalar bo'ladi.

2. Boshqarish operatsiyalarini ko'rib chiqing. Konstruktorlar va destruktorlarni qo'shishingiz kerak bo'lishi mumkin.

3. Kirish operatsiyalarini ko'rib chiqing. Boshqa sinflar ishlashi kerak bo'lgan har bir sinf atributi uchun siz Get va Set operatsiyalarini yaratishingiz kerak.

4.4.2.7.Ulanishlar

Munosabat sinflar orasidagi semantik munosabatdir. Bu sinfga boshqa sinfning atributlari, operatsiyalari va munosabatlari haqida bilish qobiliyatini beradi. Boshqacha qilib aytganda, bir sinf ikkinchi sinfga ketma-ketlik yoki kooperativ diagrammada xabar yuborishi uchun ular o'rtasida bog'liqlik bo'lishi kerak.

Sinflar o'rtasida to'rt turdagi munosabatlar o'rnatilishi mumkin: assotsiatsiya, bog'liqlik, yig'ish va umumlashtirish.

Aloqa assotsiatsiyasi

Assotsiatsiya sinflar orasidagi semantik munosabatdir. Ular sinf sxemasida oddiy chiziq sifatida chizilgan.

Guruch. 10. Aloqa assotsiatsiyasi

Assotsiatsiyalar misoldagi kabi ikki tomonlama yoki bir tomonlama bo'lishi mumkin. UMLda ikki yo‘nalishli assotsiatsiyalar o‘qlarsiz yoki chiziqning har ikki tomonida strelkalar bilan oddiy chiziq shaklida chiziladi. Bir yo'nalishli assotsiatsiya uning yo'nalishini ko'rsatadigan faqat bitta o'qga ega.

Birlashmaning yo'nalishini ketma-ketlik diagrammalari va kooperativ diagrammalarni o'rganish orqali aniqlash mumkin. Agar ulardagi barcha xabarlar faqat bitta sinf tomonidan yuborilsa va faqat boshqa sinf tomonidan qabul qilinsa, lekin aksincha bo'lmasa, bu sinflar o'rtasida bir tomonlama aloqa mavjud. Agar kamida bitta xabar qarama-qarshi yo'nalishda yuborilsa, assotsiatsiya ikki tomonlama bo'lishi kerak.

Uyushmalar refleksli bo'lishi mumkin. Refleksiv assotsiatsiya sinfning bir nusxasi bir xil sinfning boshqa misollari bilan o'zaro ta'sir qilishini anglatadi.

Muloqotga qaramlik

Bog'liqlik munosabatlari sinflar o'rtasidagi munosabatlarni ham aks ettiradi, lekin ular doimo bir yo'nalishli bo'lib, bir sinf boshqasida qilingan ta'riflarga bog'liqligini ko'rsatadi. Masalan, A sinfida B sinf usullaridan foydalaniladi. Keyin, B sinf o'zgarganda, A sinfiga tegishli o'zgartirishlar kiritish kerak.

Bog'liqlik diagrammaning ikkita elementi orasiga chizilgan nuqtali chiziq bilan ifodalanadi va o'qning oxirida bog'langan element shu o'qning boshida bog'langan elementga bog'liq deyiladi.

Guruch. 11. Muloqotga qaramlik

Ushbu sinflar uchun kod yaratishda ularga yangi atributlar qo'shilmaydi. Biroq, muloqotni qo'llab-quvvatlash uchun zarur bo'lgan tilga xos operatorlar yaratiladi.

Aloqalarni birlashtirish

Agregatlar assotsiatsiyaning qattiqroq shaklidir. Aggregatsiya - bu butun va uning qismi o'rtasidagi bog'liqlik. Misol uchun, sizda Avtomobil sinfi, shuningdek Dvigatel, Shinalar sinflari va boshqa avtomobil qismlari uchun sinflar bo'lishi mumkin. Natijada, Car sinfi ob'ekti Dvigatel sinfining ob'ekti, Shinalarning to'rtta ob'ekti va boshqalardan iborat bo'ladi. Agregatlar butun son bo'lgan sinf uchun rombli chiziq sifatida tasvirlangan:

Guruch. 11. Aloqa agregatsiyasi

Oddiy agregatsiyaga qo'shimcha ravishda, UML kompozitsiya deb ataladigan agregatsiyaning yanada kuchli shaklini taqdim etadi. Kompozitsiyaga ko'ra, ob'ekt-qism faqat bitta butunga tegishli bo'lishi mumkin va bundan tashqari, qoida tariqasida, qismlarning hayot aylanishi butunning aylanishiga to'g'ri keladi: ular u bilan yashaydi va o'ladi. Butunning har qanday olib tashlanishi uning qismlariga taalluqlidir.

Bu kaskadli o'chirish ko'pincha yig'ish ta'rifining bir qismi hisoblanadi, lekin u har doim rol ko'pligi 1..1 bo'lganda nazarda tutiladi; masalan, agar Xaridorni o'chirish kerak bo'lsa, u holda bu o'chirish Buyurtmalarga (va, o'z navbatida, Buyurtma satrlariga) tarqalishi kerak.

O'ylaymanki, hamma bolaligida shunday iborani eshitgan: Etti marta o'lchab, bir marta kesib oling". Dasturlashda ham xuddi shunday. Uni amalga oshirishga vaqt sarflashdan oldin har doim amalga oshirish haqida o'ylagan ma'qul. Ko'pincha amalga oshirish jarayonida sinflarni yaratish, ularning o'zaro ta'sirini ixtiro qilish kerak. Va ko'pincha buning vizual tasviri muammoni hal qilishga yordam beradi. Bu erda biz yordam beramiz UML.

UML nima?

Suratlarga qarasangiz qidiruv tizimlari, bu aniq bo'ladi UML- bu sxemalar, o'qlar va kvadratlar haqida. Muhimi shundaki, UML sifatida tarjima qilinadi Yagona modellashtirish tili. Bu erda Unified so'zi muhim ahamiyatga ega. Ya'ni suratlarimizni nafaqat biz, balki UMLni biladigan boshqalar ham tushunadi. Ma'lum bo'lishicha, bu diagrammalarni chizish uchun xalqaro til.

Vikipediya aytganidek

UML - bu rivojlanish jarayonida ob'ektni modellashtirish uchun grafik tavsif tili dasturiy ta'minot, biznes jarayonlarini modellashtirish, tizimni loyihalash va tashkiliy tuzilmalarni ko'rsatish.
Hamma ham o'ylamaydigan yoki taxmin qila olmaydigan eng qiziq narsa shundaki, UML ning texnik xususiyatlari bor. Bundan tashqari, hatto UML2 spetsifikatsiyasi ham mavjud. Spetsifikatsiya haqida qo'shimcha ma'lumotni Object Management Group veb-saytida topishingiz mumkin. Aslida, bu guruh UML spetsifikatsiyalarini ishlab chiqish bilan shug'ullanadi. Shunisi qiziqki, UML faqat sinflar tuzilishini tavsiflash bilan cheklanmaydi. UML diagrammalarining ko'p turlari mavjud. UML diagrammalarining turlarining qisqacha tavsifini xuddi shu Vikipediyada: UML diagrammalarida yoki Timur Batirshinovning videosida ko'rish mumkin. UML diagrammalarining umumiy ko'rinishi. UML ham turli jarayonlarni tavsiflashda keng qo'llaniladi, masalan, bu erda: JWT yordamida bitta tizimga kirish. UML klassi diagrammalaridan foydalanishga qaytadigan bo'lsak, "Hesh First: Design Patterns" kitobiga e'tibor qaratish lozim, unda naqshlar xuddi shu UML diagrammalarida tasvirlangan. Ma'lum bo'lishicha, UML haqiqatan ham qo'llanilmoqda. Va ma'lum bo'lishicha, uning qo'llanilishini bilish va tushunish juda foydali mahoratdir.

Ilova

Keling, IDE dan aynan shu UML bilan qanday ishlashingiz mumkinligini ko'rib chiqamiz. IDE sifatida oling IntelliJ Idea. Foydalansa IntelliJ Idea Ultimate, keyin biz plaginni "qutidan tashqarida" o'rnatamiz UML qo'llab-quvvatlash". Bu sizga avtomatik tarzda chiroyli sinf diagrammalarini yaratish imkonini beradi. Masalan, Ctrl + N yoki menyudagi "Navigate" -> "Klass" orqali sinfga o'ting. ArrayList. Endi, orqali kontekst menyusi sinf nomi bo'yicha "Diagramma" -> "Qalqib chiquvchi diagrammani ko'rsatish" ni tanlang. Natijada biz chiroyli jadvalga ega bo'lamiz:

Ammo agar siz o'zingizni chizmoqchi bo'lsangiz va hatto Idea-ning yakuniy versiyasi bo'lmasa-chi? Agar biz IntelliJ Idea Community Edition-dan foydalanayotgan bo'lsak, unda boshqa tanlovimiz yo'q. Buning uchun bunday UML sxemasi qanday ishlashini tushunishingiz kerak. Avval Graphviz ni o'rnatishimiz kerak. Bu grafik vizualizatsiya uchun yordamchi dasturlar to'plami. U biz foydalanadigan plagin tomonidan ishlatiladi. O'rnatishdan so'ng siz katalog qo'shishingiz kerak bin o'rnatilgan katalogdan grafik muhit o'zgaruvchisiga YO'L. Shundan so'ng, IntelliJ Idea-da menyudan File -> Settings-ni tanlang. "Sozlamalar" oynasida "Plaginlar" toifasini tanlang, "Omborlarni ko'rib chiqish" tugmasini bosing va PlantUML integratsiya plaginini o'rnating. Nega bu juda yaxshi PlantUML? uchun foydalanadi UML tavsiflari deb nomlangan grafik tasvirlash tili nuqta" va bu uni yanada universal bo'lishiga imkon beradi, chunki bu til nafaqat PlantUML tomonidan qo'llaniladi. Bundan tashqari, biz quyida qiladigan barcha ishlarni nafaqat IDEda, balki planttext.com onlayn xizmatida ham amalga oshirish mumkin. O'rnatgandan so'ng. PlantUML plagini, biz "Fayl" -> "Yangi" orqali UML diagrammalarini yaratish imkoniyatiga ega bo'lamiz. Keling, "UML klassi" tipidagi diagrammani yaratamiz. Bunda avtomatik tarzda namunali shablon hosil bo'ladi. Uning tarkibini o'chirib tashlaymiz va Habrdan maqola bilan qurollangan o'zimizni yaratamiz: Sinf munosabatlari - UML dan kodga... Va buni matnda qanday tasvirlashni tushunish uchun, keling, PlantUML qo'llanmasini olaylik: plantuml sinf diagrammasi... Unda, at eng boshida munosabatlarni qanday tasvirlash kerakligi haqida belgi bor:

Aloqalarning o'zi haqida biz hali ham bu erda ko'rib chiqishimiz mumkin: "UMLdagi sinflar o'rtasidagi munosabatlar. Misollar". Ushbu materiallarga asoslanib, keling, UML diagrammamizni yaratishni boshlaylik. Ikki sinfni tavsiflovchi quyidagi tarkibni qo'shing: @startuml class ArrayList ( ) class LinkedList ( ) @enduml Idea-da natijani ko'rish uchun "View" -> "Tool Windows" -> "PlantUML" ni tanlang. Biz sinflarni bildiruvchi ikkita kvadrat olamiz. Ma'lumki, bu ikkala sinf ham List interfeysini amalga oshiradi. Sinflarning bu munosabati - amalga oshirish (realizatsiya) deb ataladi. Bunday munosabatni tasvirlash uchun nuqta chiziqli o'q ishlatiladi. Keling, uni chizamiz: interfeys List List< | . . ArrayList List < | . . LinkedList List - один из дочерних классов Collection . То есть он наследуется от Collection. Эта связь называется обобщением (generalization). Выглядит как стрелка с обычной непрерывной линией. Изобразим её: interface Collection Collection < | -- List Для следующего типа связи добавим в описание класса ArrayList запись о paket shaxsiy elementlar massivi: ~ Object elementData Endi biz ArrayList ba'zi ob'ektlarni o'z ichiga olganligini ko'rsatmoqchimiz. IN bu holat ulanish turi bo'ladi - yig'ish(jamlash). Bu holda agregat ArrayList dir, chunki u boshqa ob'ektlarni o'z ichiga oladi. Biz agregatsiyani tanlaymiz, chunki ro'yxatdagi ob'ektlar ro'yxatsiz yashashi mumkin: ular uning ajralmas qismlari emas. Ularning umri ro'yxatning amal qilish muddati bilan bog'liq emas. Lotin tilidan birlik "yig'ilgan", ya'ni biror narsadan tashkil topgan narsa deb tarjima qilingan. Misol uchun, hayotda nasos va dvigateldan iborat nasos agregati mavjud. Jihozning o'zi demontaj qilinishi mumkin, uning ba'zi qismlari qoladi. Masalan, sotish yoki boshqa birlikka qo'yish. Shunday qilib, u ro'yxatda. Va bu birlikdagi bo'sh romb va uzluksiz chiziq shaklida ifodalanadi. Keling, buni quyidagicha qo'yaylik: sinf Object ( ) ArrayList o- Object Endi biz ko'rsatmoqchimizki, ArrayList dan farqli o'laroq, LinkedList sinfida saqlangan ma'lumotlarga murojaat qiluvchi Node - konteynerlar mavjud. Bunday holda, tugunlar LinkedList tarkibiga kiradi va alohida yashay olmaydi. Tugun to'g'ridan-to'g'ri saqlangan tarkib emas, faqat unga havolani o'z ichiga oladi. Misol uchun, biz LinkedList-ga qator qo'shganda, biz ushbu qatorga havolani, shuningdek, oldingi va keyingi tugunga havolani o'z ichiga olgan yangi tugunni qo'shamiz. Ushbu turdagi ulanish deyiladi tarkibi(tarkib). Kompozitni (qismlardan iborat bo'lgan) ko'rsatish uchun to'ldirilgan robik chiziladi, unga doimiy chiziq olib keladi. Endi buni havolaning matnli ko'rinishi sifatida yozamiz: sinf Node ( ) LinkedList * -- Tugun Va endi biz yana bir muhim havola turini qanday ko'rsatishni o'rganishimiz kerak - giyohvandlik(qaramlik munosabati). U bir sinf boshqasini ishlatganda ishlatiladi va sinf ishlatilgan sinfni o'z ichiga olmaydi va uning vorisi emas. Masalan, LinkedList va ArrayList ListIterator yaratishi mumkin. Keling, buni nuqtali o'qlar sifatida ko'rsatamiz: ListIterator ListIterator sinfi< . . . ArrayList : create ListIterator < . . . LinkedList : create Выглядеть после всего это будет следующим образом:

Siz xohlagancha batafsil ma'lumot berishingiz mumkin. Barcha belgilar bu erda keltirilgan: "PlantUML - Sinf diagrammasi". Bundan tashqari, bunday sxemani chizishda g'ayritabiiy narsa yo'q va o'z vazifalaringiz ustida ishlayotganingizda, uni tezda qo'l bilan chizishingiz mumkin. Bu dastur arxitekturasini o'ylab ko'rish ko'nikmalarini rivojlantiradi va noto'g'ri modelni amalga oshirish uchun bir kun sarflaganingizdan keyin emas, balki sinf tuzilishidagi kamchiliklarni erta aniqlashga yordam beradi. Menimcha, bu sinash uchun yaxshi sababmi?)

Avtomatlashtirish

PlantUML diagrammalarini avtomatik ravishda yaratishning turli usullari mavjud. Masalan, in g'oyalar SketchIT plagini mavjud, lekin u ularni to'g'ri chizmaydi. Masalan, interfeyslarni amalga oshirish noto'g'ri chizilgan (meros sifatida ko'rsatiladi). Bundan tashqari, onlaynda buni loyihangizning hayot aylanishiga qanday kiritish haqida misollar mavjud. Aytaylik, uchun Maven uml-java-docklet dan foydalanishga misol bor. Bu qanday amalga oshirilishini ko'rsatish uchun, keling, Maven arxetipidan tezda Maven loyihasini yaratish uchun foydalanamiz. Buyruqni bajaramiz: mvn archetype:generate Filtrni tanlash masalasida ( Raqamni tanlang yoki filtrni qo'llang) Enter tugmasini bosish orqali standartni qoldiring. Har doim shunday bo'ladi" maven-arxetipi-tezkor ishga tushirish". Biz oxirgi versiyani tanlaymiz. Keyin savollarga javob beramiz va loyihani yaratishni yakunlaymiz:

Maven ushbu maqolaning diqqat markazida bo'lmaganligi sababli, Maven haqidagi savollaringizga javoblarni Maven foydalanuvchilari markazida topish mumkin. Yaratilgan loyihada tahrirlash uchun loyiha tavsifi faylini oching, pom.xml. Unga o'rnatish uml-java-docklet tavsifidan tarkibni ko'chirib olamiz. Ta'rifda foydalanilgan artefaktni Maven markaziy omborida topib bo'lmadi. Lekin bu men uchun ishladi: https://mvnrepository.com/artifact/com.chfourie/uml-java-doclet/1.0.0 . Ya'ni, ushbu tavsifda siz shunchaki almashtirishingiz kerak groupId"bilan info.leadinglight"yoq" com.chfourie"va versiyani qo'ying" 1.0.0 ". Shundan so'ng biz fayl joylashgan katalogda bajarishimiz mumkin pom.xml bu buyruqlar: mvn clean install va mvn javadoc: javadoc . Endi biz yaratilgan hujjatlarni ochsak (explorer target\site\apidocs\index.html), biz UML diagrammalarini ko'ramiz. Aytgancha, dastur allaqachon bu erda to'g'ri ko'rsatilgan)

Xulosa

Ko'rib turganingizdek, UML ilovangiz tuzilishini tasavvur qilish imkonini beradi. Bundan tashqari, UML faqat bu bilan cheklanmaydi. UML yordamida siz kompaniyangizdagi turli jarayonlarni tasvirlashingiz yoki siz yozgan funktsiya ishlayotgan biznes jarayonini tasvirlashingiz mumkin. UML shaxsan siz uchun qanchalik foydali ekanligini o'zingiz hal qilasiz, lekin baribir vaqt topib, u bilan batafsilroq tanishish foydali bo'ladi. Ushbu postning #Viacheslav ruscha versiyasi: CodeGym-da UML diagrammasi Java

Barcha UML diagrammalarini shartli ravishda ikki guruhga bo'lish mumkin, ulardan birinchisi umumiy diagrammalardir. Umumiy diagrammalar modellashtirish predmetidan amaliy jihatdan mustaqil bo‘lib, har qanday dasturiy ta’minot loyihasida mavzu sohasi, qaror qabul qilish sohasi va hokazolardan qat’i nazar foydalanish mumkin.

1.5.1. Foydalanish diagrammasi

Foydalanish diagrammasi(foydalanish diagrammasi) tizimning funktsional maqsadining eng umumiy ifodasidir.

Foydalanish diagrammasi asosiy modellashtirish savoliga javob berishga mo'ljallangan: tizim tashqi dunyoda nima qiladi?

Foydalanish diagrammasida ikkita asosiy ob'ekt turi qo'llaniladi: foydalanish holatlari 1 va aktyorlar 2, ular o'rtasida quyidagi asosiy munosabatlar turlari o'rnatiladi:

  • aktyor va foydalanish holati o'rtasidagi bog'liqlik 3 ;
  • aktyorlar orasidagi umumlashtirish 4;
  • foydalanish holatlari orasidagi umumlashtirish 5;
  • Foydalanish holatlari o'rtasidagi bog'liqliklar (har xil turdagi) 6 .

Foydalanish diagrammasi, boshqa har qanday kabi, izohlarga ega bo'lishi mumkin 7 . Bundan tashqari, diagrammalarni o'qishni yaxshilash uchun buni qilish tavsiya etiladi.

Foydalanish diagrammasida ishlatiladigan yozuvning asosiy elementlari quyida ko'rsatilgan. Batafsil tavsif 2.2-bo'limda keltirilgan.

1.5.2. sinf diagrammasi

sinf diagrammasi(sinf diagrammasi) tizim strukturasini tasvirlashning asosiy usuli hisoblanadi.

Buning ajablanarli joyi yo'q, chunki UML asosan ob'ektga yo'naltirilgan tildir va sinflar asosiy (agar yagona bo'lmasa) qurilish blokidir.

Sinf diagrammasida ob'ektlarning bitta asosiy turi qo'llaniladi: 1-sinflar (shu jumladan sinflarning ko'plab maxsus holatlari: interfeyslar, ibtidoiy tiplar, assotsiatsiya sinflari va boshqalar), ular o'rtasida quyidagi asosiy munosabatlar turlari o'rnatiladi:

  • 2-sinflar o'rtasidagi assotsiatsiya (ko'plab qo'shimcha tafsilotlar bilan);
  • 3-sinflar orasidagi umumlashtirish;
  • 4-sinflar va sinflar va interfeyslar o'rtasidagi bog'liqliklar (har xil turdagi).

Sinf diagrammasida qo'llaniladigan belgining ba'zi elementlari quyida ko'rsatilgan. Batafsil tavsif 3-bobda keltirilgan.

1.5.3. avtomat diagrammasi

avtomat diagrammasi(holat mashinasi diagrammasi) holatlarni aniq taqsimlash va davlatlar o'rtasidagi o'tishlarni tavsiflash asosida UMLda xatti-harakatni batafsil tavsiflash usullaridan biridir.

Aslini olganda, avtomat diagrammalari, nomidan ko'rinib turibdiki, ko'plab qo'shimcha tafsilotlar va tafsilotlar bilan to'ldirilgan holatga o'tish grafigi (4-bobga qarang).

Avtomat diagrammasida ob'ektlarning bir asosiy turi - holatlar 1 va munosabatlarning bir turi - o'tish 2 qo'llaniladi, lekin ularning ikkalasi uchun juda ko'p navlar, maxsus holatlar va qo'shimcha belgilar aniqlanadi. Ularning barchasini kirish sharhida sanab o'tish mantiqiy emas.

Avtomat diagrammalarining barcha o'zgarishlarining batafsil tavsifi 4.2-bo'limda keltirilgan va quyidagi rasmda faqat avtomat diagrammasida ishlatiladigan yozuvning asosiy elementlari ko'rsatilgan.

1.5.4. faoliyat diagrammasi

faoliyat diagrammasi(faoliyat diagrammasi) - boshqaruv oqimlari va ma'lumotlar oqimlari ko'rsatkichi asosida xatti-harakatni tavsiflash usuli.

Faoliyat diagrammasi - bu eski yaxshi oqim sxemasiga o'xshash xatti-harakatni tasvirlashning yana bir usuli. Biroq, ob'ektga yo'naltirilgan yondashuvga mos keladigan modernizatsiya qilingan yozuv tufayli va eng muhimi, yangi semantik komponent (Petri tarmoqlarining erkin talqini) tufayli UML faoliyat diagrammasi tizimning xatti-harakatlarini tavsiflash uchun kuchli vositadir.

Faoliyat diagrammasida ob'ektlarning bir asosiy turi - 1-harakat va bir turdagi munosabatlar - o'tish 2 (nazorat va ma'lumotlarni uzatish) ishlatiladi. Shuningdek, ob'ektlarga o'xshash vilkalar, qo'shilishlar, bog'lanishlar, novdalar 3 kabi konstruktsiyalar ham qo'llaniladi, lekin ular aslida emas, balki ko'p joy munosabatlarining ayrim maxsus holatlarini tasvirlashning grafik usuli hisoblanadi. Faoliyat diagrammasi elementlarining semantikasi 4-bobda batafsil muhokama qilinadi. Faoliyat diagrammasida ishlatiladigan yozuvning asosiy elementlari quyida ko'rsatilgan.

1.5.5. ketma-ketlik diagrammasi

ketma-ketlik diagrammasi(tartib diagrammasi) - uzatiladigan xabarlar ketma-ketligini ko'rsatishga asoslangan tizimning xatti-harakatlarini tavsiflash usuli.

Darhaqiqat, ketma-ketlik diagrammasi tizimning ma'lum bir sessiyasi (yoki bunday protokolning bir qismi) protokolining yozuvidir. Ob'ektga yo'naltirilgan dasturlashda ish vaqtida eng muhim narsa hamkorlik qiluvchi ob'ektlar o'rtasida xabarlarni uzatishdir. Bu diagrammada ko'rsatilgan xabarlarni yuborish ketma-ketligi, shuning uchun nom.

Tartib diagrammasida ob'ektlarning asosiy turlaridan biri qo'llaniladi - o'zaro ta'sir qiluvchi tasniflagichlar 1 (asosan sinflar, komponentlar va aktyorlar), va munosabatlarning bir turi - aloqalar 2 , ular orqali xabarlar almashinadi 3 . Xabarlarni yuborishning bir necha usullari mavjud, ular grafik belgilarda munosabatga mos keladigan o'q shaklida farqlanadi.

Ketma-ketlik diagrammasining muhim jihati vaqt o'tishini aniq ko'rsatishdir. Boshqa diagramma turlaridan farqli o'laroq, sinxronizatsiya diagrammalaridan tashqari, ketma-ketlik diagrammasida nafaqat elementlar orasidagi grafik aloqalarning mavjudligi, balki diagrammadagi elementlarning nisbiy joylashuvi ham muhimdir. Ya'ni, sukut bo'yicha yuqoridan pastga yo'naltirilgan (ko'rinmas) vaqt o'qi mavjud deb hisoblanadi va keyinroq yuborilgan xabar quyida chiziladi.

Vaqt o'qi gorizontal yo'naltirilishi mumkin, bu holda vaqt chapdan o'ngga oqadi deb hisoblanadi.

Quyidagi rasmda ketma-ketlik diagrammasida ishlatiladigan yozuvning asosiy elementlari ko'rsatilgan. O'zaro ta'sir qiluvchi ob'ektlarning o'zini belgilash uchun standart belgi qo'llaniladi - klassifikator namunasi nomi bilan to'rtburchak. Undan chiqadigan nuqtali chiziq hayot chizig'i (hayot chizig'i) 4 deb ataladi. Bu modeldagi munosabatlarning belgisi emas, balki diagramma o'quvchisini to'g'ri yo'nalishga yo'naltirish uchun mo'ljallangan grafik izoh. Hayot chizig'iga o'rnatilgan tor chiziqlar ko'rinishidagi raqamlar ham simulyatsiya qilingan ob'ektlarning tasvirlari emas. Bu ob'ektga egalik qilish vaqtini ko'rsatadigan grafik izoh bo'lib, bajarilish hodisasi 5 yoki boshqacha qilib aytganda, ob'ektning faollashuvi sodir bo'ladi. Murakkab o'zaro ta'sir bosqichlari (birlashtirilgan fragment) 6 ketma-ketlik diagrammasi o'zaro ta'sir protokolining algoritmik jihatlarini aks ettirishga imkon beradi. Ketma-ketlik diagrammalarini belgilash haqida batafsil ma'lumot olish uchun 4-bobga qarang.

1.5.6. Aloqa diagrammasi

Aloqa diagrammasi(aloqa diagrammasi) - semantik jihatdan ketma-ketlik diagrammasiga teng keladigan xatti-harakatni tavsiflash usuli.

Aslida, bu tasniflagichlarning o'zaro ta'sir qiluvchi misollarining xabar almashish ketma-ketligining bir xil tavsifi, faqat boshqa grafik vositalar bilan ifodalanadi. Bundan tashqari, aksariyat vositalar ketma-ketlik diagrammalarini avtomatik ravishda aloqa diagrammalariga va aksincha o'zgartirishi mumkin.

Shunday qilib, aloqa diagrammasida, shuningdek, ketma-ketlik diagrammasida ob'ektlarning bir asosiy turi - o'zaro ta'sir qiluvchi tasniflagichlar 1 va bir turdagi munosabatlar - ulanishlar 2 qo'llaniladi. Biroq, bu erda asosiy e'tibor vaqtga emas, balki aniq misollar o'rtasidagi munosabatlarning tuzilishiga qaratilgan.

Rasmda aloqa diagrammasida ishlatiladigan yozuvning asosiy elementlari ko'rsatilgan. O'zaro ta'sir qiluvchi ob'ektlarning o'zini belgilash uchun standart belgi qo'llaniladi - klassifikator namunasi nomi bilan to'rtburchak. Hamkorlik diagrammasidagi elementlarning o'zaro pozitsiyasi muhim emas - faqat aloqalar (ko'pincha assotsiatsiyalar misollari) muhim bo'lib, ular bo'ylab xabarlar uzatiladi 3 . Xabarlar tartibini vaqtida ko'rsatish uchun ierarxik o'nli raqamlash qo'llaniladi.

1.5.7. Komponent diagrammasi

Komponent diagrammasi(komponent diagrammasi) - simulyatsiya qilingan tizimni tashkil etuvchi modullar (mantiqiy yoki jismoniy) o'rtasidagi munosabatni ko'rsatadi.

Komponentlar diagrammasidagi ob'ektlarning asosiy turi komponentlarning o'zlari 1, shuningdek interfeyslar 2 bo'lib, ular orqali komponentlar orasidagi munosabatlar ko'rsatiladi. Komponentlar diagrammasida quyidagi munosabatlar qo'llaniladi:

  • komponentlar va interfeyslar orasidagi amalga oshirish (komponent interfeysni amalga oshiradi);
  • komponentlar va interfeyslar o'rtasidagi bog'liqliklar (komponent interfeysdan foydalanadi) 3 .

Rasmda komponentlar diagrammasida ishlatiladigan yozuvning asosiy elementlari ko'rsatilgan. Batafsil tavsif 3-bobda keltirilgan.

1.5.8. Joylashtirish diagrammasi

Joylashtirish diagrammasi(tartibga solish diagrammasi), tizim elementlarining tarkibi va munosabatlarini ko'rsatish bilan bir qatorda, ularni bajarish vaqtida hisoblash resurslariga jismoniy jihatdan qanday joylashtirilganligini ko'rsatadi.

Shunday qilib, joylashtirish diagrammasida, tarkibiy diagramma bilan solishtirganda, ikkita turdagi ob'ektlar qo'shiladi: artefakt 1 , bu 2-komponentni va 3-tugunni amalga oshirish (tugun turini yoki ma'lum bir misolni tavsiflovchi tasniflagich bo'lishi mumkin), shuningdek, tugunlar 4 o'rtasidagi assotsiatsiya munosabatlari, tugunlarning ish vaqtida jismoniy bog'langanligini ko'rsatadi.

Rasmda joylashtirish diagrammasida ishlatiladigan yozuvning asosiy elementlari ko'rsatilgan. Bir ob'ekt boshqa ob'ektning bir qismi ekanligini ko'rsatish uchun yo "joylashtirish" bog'liqlik munosabatlari 5 ishlatiladi yoki bir ob'ektning shakli boshqa ob'ektning 6 shakli ichiga joylashtiriladi. Diagrammaning batafsil tavsifi 3-bobda keltirilgan.

UML diagrammasi - bu turli xil dasturiy ta'minotni ishlab chiqishda ob'ektni modellashtirish uchun mo'ljallangan maxsus grafik tavsif tili. Bu til keng profilga ega va tizimning mavhum modelini yaratish uchun turli grafik belgilardan foydalanadigan ochiq standartdir. UML barcha turdagi dasturiy ta'minot tizimlarini aniqlash, vizuallashtirish, hujjatlashtirish va loyihalash imkonini berish uchun yaratilgan. Shuni ta'kidlash kerakki, UML diagrammasining o'zi dasturlash tili emas, lekin u asosida alohida kod yaratish imkoniyatini beradi.

Nega u kerak?

UML dan foydalanish barcha turdagi dasturlarni modellashtirish bilan tugamaydi. Shuningdek, ushbu til bugungi kunda turli biznes jarayonlarini modellashtirish, tizim dizaynini amalga oshirish, shuningdek, tashkiliy tuzilmalarni ko'rsatish uchun faol foydalanilmoqda.

UML yordamida dasturiy ta'minot ishlab chiquvchilari to'liq kelishuvni ta'minlashlari mumkin grafik belgilar taqdim etish umumiy tushunchalar, masalan: komponent, umumlashtirish, sinf, xatti-harakatlar va yig'ish. Bu arxitektura va dizaynga ko'proq konsentratsiyaga erishadi.

Shuni ham ta'kidlash kerakki, bunday jadvallarning bir nechta turlari mavjud.

sinf diagrammasi

UML klassi diagrammasi tizimning strukturasini tavsiflash, shuningdek, bir nechta turli sinflar o'rtasidagi atributlar, usullar va bog'liqliklarni ko'rsatish uchun mo'ljallangan statik struktura diagrammasi.

Shuni ta'kidlash kerakki, bunday diagrammalarning qanday ishlatilishiga qarab, ularni qurish bo'yicha bir nechta fikrlar mavjud:

  • Kontseptual. Bunday holda, UML sinf diagrammasi ma'lum bir mavzu sohasining modelini tavsiflaydi va u faqat amaliy ob'ektlar sinflarini taqdim etadi.
  • Maxsus. Diagramma turli xil axborot tizimlarini loyihalash jarayonida qo'llaniladi.
  • Amalga oshirish. Sinf diagrammasi to'g'ridan-to'g'ri dastur kodida ishlatiladigan barcha turdagi sinflarni o'z ichiga oladi.

Komponent diagrammasi

UML komponentlar diagrammasi butunlay statik struktura diagrammasi hisoblanadi. Bu ma'lum bir qismning bo'linishini ko'rsatish uchun mo'ljallangan dasturiy ta'minot tizimi turli strukturaviy komponentlarga, shuningdek, ular orasidagi aloqalarga. UML komponent diagrammasi barcha turdagi modellar, kutubxonalar, fayllar, paketlar, bajariladigan fayllar va boshqa ko'plab elementlar.

Kompozit/kompozit tuzilish diagrammasi

UML kompozit/kompozit tuzilma diagrammasi ham statik struktura diagrammasi hisoblanadi, lekin u sinflarning ichki tuzilishini ko'rsatish uchun ishlatiladi. Iloji bo'lsa, ushbu diagramma sinfning ichki tuzilishidagi elementlarning o'zaro ta'sirini ham ko'rsatishi mumkin.

Ularning kichik turlari UML hamkorlik diagrammasi bo'lib, u hamkorlik doirasidagi turli sinflarning rollari va o'zaro ta'sirini namoyish qilish uchun ishlatiladi. Dizayn naqshlarini modellashtirish kerak bo'lsa, ular juda qulay.

Shuni ta'kidlash kerakki, UML sinf diagrammalari va kompozit tuzilma diagrammalari bir vaqtning o'zida ishlatilishi mumkin.

Joylashtirish diagrammasi

Ushbu diagramma ishlaydigan tugunlarni, shuningdek, ularda joylashtirilgan barcha turdagi artefaktlarni modellashtirish uchun ishlatiladi. UML 2 da artefaktlar turli tugunlarda joylashtirilgan, birinchi versiyada esa faqat komponentlar joylashtirilgan. Shunday qilib, UMLni joylashtirish diagrammasi birinchi navbatda ikkinchi versiya uchun ishlatiladi.

Artefakt va u amalga oshiradigan komponent o'rtasida ko'rinishga bog'liqlik hosil bo'ladi.

Obyekt diagrammasi

Ushbu ko'rinish sizga to'liq yoki qisman tasvirni ko'rish imkonini beradi. yaratilgan tizim ma'lum bir vaqtning o'zida. U ma'lum bir tizim sinflarining barcha misollarini to'liq aks ettiradi, ularning parametrlarining joriy qiymatlarini, shuningdek ular orasidagi munosabatlarni ko'rsatadi.

Paket diagrammasi

Ushbu diagramma strukturaviy xususiyatga ega bo'lib, uning asosiy mazmuni barcha turdagi paketlar, shuningdek ular o'rtasidagi munosabatlardir. Bunday holda, bir nechta strukturaviy diagrammalar o'rtasida qat'iy ajratish yo'q, buning natijasida ulardan foydalanish ko'pincha faqat qulaylik uchun ishlatiladi va hech qanday semantik ma'noga ega emas. Shuni ta'kidlash kerakki, turli elementlar boshqa UML diagrammalarini taqdim etishi mumkin (masalan: paketlar va paketlar diagrammalarining o'zlari).

Ulardan foydalanish bir nechta elementlarni ma'lum bir atribut bo'yicha guruhlarga ajratishni ta'minlash, strukturani soddalashtirish, shuningdek, ushbu tizim modeli bilan ishlashni tashkil etish uchun amalga oshiriladi.

faoliyat diagrammasi

UML faoliyat diagrammasi muayyan faoliyatning bir nechta tarkibiy qismlarga bo'linishini ko'rsatadi. Bunday holda, "faoliyat" tushunchasi ma'lum bir bajariladigan xatti-harakatning parallel, shuningdek turli xil bo'ysunuvchi elementlarning muvofiqlashtirilgan ketma-ket bajarilishini - ichki o'rnatilgan faoliyat turlarini va turli xil harakatlardan kelib chiqadigan oqimlar bilan birlashtirilganligini anglatadi. ma'lum bir tugunning chiqishlari boshqasining kirishlariga.

UML faoliyat diagrammasi ko'pincha turli biznes jarayonlarini, parallel va ketma-ket hisoblashlarni modellashtirish uchun ishlatiladi. Boshqa narsalar qatorida, ular barcha turdagi texnologik jarayonlarni modellashtiradilar.

avtomat diagrammasi

Ushbu ko'rinish deb ataladi va biroz boshqacha - UML holati diagrammasi. U oddiy va kompozit holatlarga, shuningdek, o'tishlarga ega taqdim etilgan davlat mashinasiga ega.

Cheklangan holat mashinasi - bu ma'lum bir ob'ekt o'tadigan turli holatlar ketma-ketligi yoki uning hayotidagi ba'zi hodisalarga javoban o'zaro ta'sir, shuningdek, ob'ektning bunday hodisalarga munosabati. UML holat diagrammasi foydalanadigan holat mashinasi tayinlangan asosiy element va uning misollarining xatti-harakatlarini aniqlash uchun ishlatiladi.

Bunday diagrammalarning analoglari sifatida ajdaho diagrammalaridan foydalanish mumkin.

Case diagrammalaridan foydalaning

UML foydalanish holatlari diagrammasi aktyorlar o'rtasida yuzaga keladigan barcha munosabatlarni, shuningdek, turli xil foydalanish holatlarini ko'rsatadi. Uning asosiy vazifasi mijoz, oxirgi foydalanuvchi yoki ba'zi ishlab chiquvchilar muayyan tizimning xatti-harakatlari va funksionalligini birgalikda muhokama qilishlari mumkin bo'lgan to'liq huquqli vositani taqdim etishdir.

Agar tizimni modellashtirish jarayonida UML diagrammasi ishlatilsa, tahlilchi quyidagilarni amalga oshiradi:

  • Modellashtirilayotgan tizimni uning muhitidan aniq ajratib oling.
  • Aktyorlarni, ularning ushbu tizim bilan o'zaro ta'sir qilish usullarini, shuningdek, kutilayotgan funksionallikni aniqlang.
  • Lug'atda mavzu bo'limi sifatida turli xil tushunchalarni o'rnating batafsil tavsif ushbu tizimning funksionalligi.

Agar UMLda foydalanish diagrammasi ishlab chiqilayotgan bo'lsa, protsedura mijoz bilan ishlashda olingan matnli tavsifdan boshlanadi. Shu bilan birga, shuni ta'kidlash kerakki, foydalanish misolini tuzish jarayonida turli xil funktsional bo'lmagan talablar butunlay chiqarib tashlanadi va ular uchun alohida hujjat allaqachon shakllantiriladi.

Aloqa

Aloqa diagrammasi, xuddi UML ketma-ketlik diagrammasi kabi, tranzitivdir, ya'ni u o'zaro ta'sirni ifodalaydi, lekin ayni paytda uni namoyish etadi. turli yo'llar bilan, va agar kerak bo'lsa, kerakli darajada aniqlik bilan siz birini boshqasiga o'zgartirishingiz mumkin.

Aloqa diagrammasi kompozit tuzilmaning turli elementlari o'rtasida yuzaga keladigan o'zaro ta'sirlarni, shuningdek, hamkorlik rollarini aks ettiradi. Uning ketma-ketlik diagrammasidan asosiy farqi shundaki, u bir necha elementlar orasidagi munosabatni aniq ko'rsatadi va vaqt alohida o'lchov sifatida ishlatilmaydi.

Ushbu turdagi ob'ekt diagrammasida bajarilganidek, bir nechta ob'ektlar va munosabatlarni tartibga solishning mutlaqo bepul formati bilan ajralib turadi. Agar ushbu bepul formatdagi xabarlar tartibini saqlash zarurati tug'ilsa, ular xronologik tartibda raqamlanadi. Ushbu diagrammani o'qish dastlabki xabar 1.0 bilan boshlanadi va keyinchalik xabarlar bir ob'ektdan ikkinchisiga uzatiladigan yo'nalish bo'ylab davom etadi.

Ko'pincha, bunday diagrammalar ketma-ketlik diagrammasi bizga taqdim etadigan ma'lumotni aniq ko'rsatadi, lekin u ma'lumotni taqdim etishning boshqa usulidan foydalanganligi sababli, bitta diagrammadagi ba'zi narsalarni aniqlash boshqasiga qaraganda ancha osonlashadi. Shuni ham ta'kidlash kerakki, aloqa diagrammasi har bir alohida element qaysi elementlar bilan o'zaro ta'sir qilishini aniqroq ko'rsatadi, ketma-ketlik diagrammasi esa o'zaro ta'sirlar qanday tartibda amalga oshirilishini aniqroq ko'rsatadi.

ketma-ketlik diagrammasi

UML ketma-ketlik diagrammasi bir nechta ob'ektlar orasidagi o'zaro ta'sirlarni ko'rsatadi, ular paydo bo'lish vaqtiga qarab tartibga solinadi. Bunday diagrammada bir nechta ob'ektlar orasidagi vaqt tartibidagi o'zaro ta'sir ko'rsatilgan. Xususan, u o'zaro aloqada ishtirok etuvchi barcha ob'ektlarni, shuningdek, ular tomonidan almashinadigan xabarlarning to'liq ketma-ketligini ko'rsatadi.

Bu holda asosiy elementlar turli xil ob'ektlarning belgilari, shuningdek vertikal chiziqlar, vaqt o'tishini ifodalovchi va muayyan ob'ektning faolligini yoki u tomonidan qandaydir funktsiyani bajarishini ifodalovchi to'rtburchaklar.

Hamkorlik diagrammasi

Ushbu turdagi diagramma xabarlarni tarjima qilish ketma-ketligidan mavhumlashtirib, bir nechta ob'ektlar orasidagi o'zaro ta'sirlarni ko'rsatishga imkon beradi. Ushbu turdagi diagrammalar ixcham shaklda ma'lum bir ob'ektning barcha uzatilgan va qabul qilingan xabarlarini, shuningdek, ushbu xabarlarning formatlarini aks ettiradi.

Tartibli diagrammalar va aloqa diagrammalari bir xil protseduralarning oddiygina turli xil ko'rinishlari bo'lganligi sababli, Rational Rose ketma-ketlik diagrammasidan yoki aksincha, aloqa ketma-ketligi diagrammasini yaratish imkoniyatini beradi, shuningdek ularni to'liq avtomatik sinxronlashtiradi.

O'zaro ta'sirning umumiy diagrammasi

Bu UML diagrammalari bo'lib, ular faoliyat diagrammalarining bir turiga tegishli bo'lib, ketma-ketlik elementlari va boshqaruv oqimi konstruksiyalarini o'z ichiga oladi.

Shuni ta'kidlash joizki berilgan format Turli nuqtai nazardan shakllanayotgan tizimdagi bir nechta ob'ektlar o'rtasidagi o'zaro ta'sirni ko'rib chiqish imkoniyatini beruvchi hamkorlik va ketma-ketlik diagrammasini birlashtiradi.

Vaqt diagrammasi

O'zida aks ettiradi Muqobil variant ma'lum bir vaqt shkalasi bilan hayot chizig'idagi holatning o'zgarishini aniq ko'rsatadigan ketma-ketlik diagrammasi. Bu real vaqtda turli xil ilovalarda juda foydali bo'lishi mumkin.

Qanday foyda bor?

UML foydalanish diagrammasi va boshqalarni ajratib turadigan bir qator afzalliklarni ta'kidlash kerak:

  • Til ob'ektga yo'naltirilgan bo'lib, buning natijasida tahlil va dizayn natijalarini tavsiflash texnologiyalari zamonaviy turdagi ob'ektga yo'naltirilgan tillarning barcha turlarida dasturlash usullariga semantik jihatdan yaqin.
  • Ushbu tildan foydalanib, tizimni deyarli har qanday mumkin bo'lgan nuqtai nazardan tasvirlash mumkin va uning xatti-harakatlarining turli tomonlari xuddi shunday tasvirlangan.
  • Barcha diagrammalar uning sintaksisi bilan nisbatan tez tanishgandan keyin ham nisbatan oson o'qiladi.
  • UML sizga o'zingizning grafik va matn stereotiplaringizni kengaytirish, shuningdek, uni nafaqat dasturiy injiniringda qo'llashga hissa qo'shish imkonini beradi.
  • Til ancha keng tarqaldi va ayni paytda juda faol rivojlanmoqda.

Kamchiliklar

UML diagrammalarini qurish juda ko'p afzalliklarga ega bo'lishiga qaramay, ular ko'pincha quyidagi kamchiliklar uchun tanqid qilinadi:

  • ortiqchalik. Aksariyat hollarda tanqidchilar UML juda katta va murakkab ekanligini va ko'pincha bu asossiz ekanligini aytishadi. U juda ko'p ortiqcha yoki deyarli foydasiz tuzilmalar va diagrammalarni o'z ichiga oladi va ko'pincha bunday tanqid birinchisiga emas, ikkinchisiga o'tadi, chunki yangi tahrirlarda "qo'mitalar tomonidan ishlab chiqilgan" murosalar ko'proq.
  • Semantikadagi turli noaniqliklar. UML o'zi, ingliz va OCL kombinatsiyasi bilan ta'riflanganligi sababli, u rasmiy tavsiflash usullari bilan aniq belgilangan tillarga xos bo'lgan qattiqlikdan mahrum. Muayyan holatlarda OCL, UML va ingliz tillarining mavhum sintaksisi bir-biriga zid kela boshlaydi, boshqa hollarda esa ular to'liq emas. Til tavsifining noto'g'riligi foydalanuvchilarga ham, vosita provayderlariga ham ta'sir qiladi, natijada turli xil spetsifikatsiyalarga ishlov berishning o'ziga xos usuli tufayli asboblar mos kelmasligiga olib keladi.
  • Amalga oshirish va o'rganish jarayonidagi muammolar. Yuqoridagi barcha muammolar UMLni amalga oshirish va o'rganish jarayonida ma'lum qiyinchiliklarni keltirib chiqaradi va bu, ayniqsa, boshqaruv muhandislarni oldingi ko'nikmalarga ega bo'lmaganda undan foydalanishga majbur qilganda to'g'ri keladi.
  • Kod kodni aks ettiradi. Yana bir fikr shundaki, bu chiroyli va jozibali modellar emas, balki to'g'ridan-to'g'ri ishlaydigan tizimlar, ya'ni kod bu loyihadir. Bu nuqtai nazarga muvofiq, ko'proq rivojlanish kerak samarali usul yozish dasturi. UML bajariladigan yoki manba kodini qayta tiklash uchun modellarni kompilyatsiya qiluvchi yondashuvlarda qadrlanadi. Lekin, aslida, bu etarli bo'lmasligi mumkin, chunki tilda Turing to'liqligi xususiyatlari yo'q va har bir yaratilgan kod oxir-oqibat UML tarjima qilish vositasi qabul qilishi yoki aniqlay oladigan narsa bilan cheklanadi.
  • Yuk mos kelmasligi. Ushbu atama ma'lum bir tizimning kirishining boshqasining chiqishini idrok eta olmasligini aniqlash uchun tizimli tahlil nazariyasidan kelib chiqadi. Har qanday standart yozuvda bo'lgani kabi, UML ham ma'lum tizimlarni boshqalarga qaraganda samaraliroq va qisqacha ifodalashi mumkin. Shunday qilib, ishlab chiquvchi UML ning barcha kuchli tomonlarini, shuningdek, boshqa dasturlash tillarini to'qish uchun qulayroq bo'lgan echimlarga ko'proq moyil bo'ladi. Rivojlanish tili ob'ektga yo'naltirilgan pravoslav ta'limotining asosiy tamoyillariga mos kelmasa, ya'ni OOP tamoyillariga muvofiq ishlashga harakat qilmasa, bu muammo yanada aniqroq bo'ladi.
  • Umumjahon bo'lishga harakat qiladi. UML umumiy maqsadli modellash tili bo'lib, u hozirda mavjud bo'lgan har qanday ishlov berish tili bilan mos bo'lishga intiladi. Muayyan loyiha kontekstida, dizayn jamoasi yakuniy maqsadga erishish uchun ushbu tilning qo'llaniladigan xususiyatlarini tanlash kerak. Bundan tashqari mumkin bo'lgan usullar UML doirasining har qanday muayyan sohadagi cheklovlari to'liq shakllantirilmagan, lekin o'zi tanqid ob'ekti bo'lgan rasmiyatchilikdan o'tadi.

Shunday qilib, ushbu tildan foydalanish barcha holatlarda ham tegishli emas.

Agar xatolikni sezsangiz, matn qismini tanlang va Ctrl + Enter tugmalarini bosing
UMUSHISH: