UML diagrammalarining qurilishi o'zining afzalliklari massasi bilan ajralib turishiga qaramay, ko'pincha quyidagi kamchiliklar tanqid qilinadi:
Ko'paytirish. Ishlarning aksariyat qismida tanqidchilar UML juda katta va murakkab ekanligini ta'kidlashadi va ko'pincha bu asossizdir. U juda ko'p keraksiz yoki deyarli foydasiz konstruktsiyalar va diagrammalarni o'z ichiga oladi va ko'pincha ushbu tanqid birinchi versiyaga emas, ikkinchi versiyaga qaratiladi, chunki yangi nashrlarda "qo'mita tomonidan ishlab chiqilgan" ko'proq murosalar mavjud.
Semantikada turli xil noaniqliklar. UML o'zi, ingliz va OCL kombinatsiyasi bilan aniqlanganligi sababli, rasmiy ta'riflash texnikasi bilan aniq belgilangan tillarga xos bo'lgan cheklov mavjud emas. Ba'zi holatlarda OCL, UML va Ingliz mavhum sintaksisi bir-biriga zid kela boshlaydi, boshqa hollarda ular to'liq emas. Tilning tavsifining noaniqligi foydalanuvchilarda ham, vositalarni etkazib beruvchilarda ham teng ravishda namoyon bo'ladi, natijada turli xil spetsifikatsiyalarni izohlashning noyob usuli tufayli vositalarning nomuvofiqligi yuzaga keladi.
Amalga oshirish va o'rganish jarayonida muammolar. Yuqoridagi barcha muammolar UML-ni joriy qilish va o'rganish jarayonida ma'lum qiyinchiliklarni keltirib chiqaradi, ayniqsa bu menejment muhandislari oldindan ko'nikmalarga ega bo'lmagan holda undan zo'rlik bilan foydalanishga majbur qiladigan holatlarga nisbatan.
Kod kodni aks ettiradi. Yana bir fikr shundaki, ahamiyat go'zal va jozibali modellar emas, balki ishlaydigan tizimlarning o'zlari, ya'ni kod bu loyihadir. Ushbu fikrga ko'ra, dasturlarni yozishning yanada samarali usulini ishlab chiqish kerak. UML odatda bajariladigan yoki dastlabki kodni tiklash uchun modellarni tuzishda yondashuvlar uchun qadrlanadi. Aslida, bu etarli bo'lmasligi mumkin, chunki bu tilda Turing to'liqligi xususiyatlari mavjud emas va har bir yaratilgan kod oxir-oqibat UML vositasining tarjimasi taklif qilishi yoki aniqlay oladigan narsalar bilan cheklanadi.
Mos kelmaslik. Ushbu atama tizim tahlili nazariyasidan ma'lum bir tizim kirishining boshqacha natijani idrok eta olmasligini aniqlash uchun keladi. Har qanday standart notation tizimida bo'lgani kabi, UML ba'zi tizimlarni boshqalariga qaraganda samaraliroq va ixcham tarzda namoyish qilishi mumkin. Shunday qilib, ishlab chiqaruvchi UML va boshqa dasturlash tillarining barcha kuchli tomonlarini o'zaro solishtirish uchun yanada qulay bo'lgan echimlarga moyil. Agar rivojlanish tili ob'ektga yo'naltirilgan pravoslav doktrinaning asosiy printsiplariga mos kelmasa, ya'ni OOP tamoyillariga muvofiq ishlashga harakat qilmasa, bu muammo yanada ravshan bo'ladi.
Umumjahon bo'lishga harakat qilish. UML har qanday mavjud ishlov berish tili bilan mosligini ta'minlashga intiladigan umumiy maqsadli modellashtirish tilidir. Muayyan loyiha kontekstida, dizayn guruhining yakuniy maqsadga erishishi uchun siz ushbu tilning tegishli xususiyatlarini tanlashingiz kerak. Bundan tashqari, ma'lum bir hududda UML-dan foydalanish ko'lamini cheklashning mumkin bo'lgan usullari to'liq shakllanmagan, ammo tanqid ob'ekti bo'lgan rasmiyatchilikdan o'tadi.
Shunday qilib, ushbu tildan foydalanish barcha holatlarda tegishli emas.
Izoh: Ushbu kursning mavzusi - bu UML, yagona modellashtirish tili. Oldingi ma'ruzada UML nima haqida, uning tarixi, maqsadi, tildan foydalanish usullari, ta'rifi tuzilishi, atamalar va notalar haqida so'zlab berildi. UML modeli diagrammalar to'plami ekanligi ta'kidlandi. Ushbu ma'ruzada biz bunday savollarni ko'rib chiqamiz: nima uchun bir nechta turdagi diagrammalar kerak bo'ladi; diagrammalarning turlari; OOP va sxemalashtirish ketma-ketligi
Ushbu ma'ruzaning asosiy materialini muhokama qilishdan oldin, nima uchun umuman diagramma tuzish kerakligi haqida gaplashaylik. Har qanday tizim (nafaqat dasturiy ta'minot) modelini ishlab chiqish har doim uni yaratish yoki yangilashdan oldin bo'ladi. Bu hech bo'lmaganda hal qilinayotgan muammoni aniq tasavvur qilish uchun kerak. Puxta o'ylangan modellar rivojlanish guruhidagi o'zaro munosabatlar va mijoz bilan o'zaro tushunish uchun juda muhimdir. Oxir-oqibat, bu kodni amalga oshirishdan oldin loyihaning "me'moriy uyg'unligini" tekshirishga imkon beradi.
Biz murakkab tizimlarning modellarini yaratamiz, chunki ularni to'liq ta'riflab bera olmaymiz, "ko'rib chiqing". Shuning uchun, biz faqat muayyan vazifa uchun zarur bo'lgan tizimning xususiyatlarini ajratamiz va ushbu xususiyatlarni namoyish etadigan modelini yaratamiz. Ob'ektga yo'naltirilgan tahlil usuli haqiqiy murakkab tizimlarni eng mos ravishda tasvirlashga imkon beradi. Ammo tizimlarning tobora kuchayib borishi bilan yaxshi modellashtirish texnologiyasiga ehtiyoj bor. Oldingi ma'ruzada aytib o'tganimizdek, bunday "standart" texnologiya sifatida yagona texnologiyadan foydalaniladi. modellashtirish tili (Unified Modeling Language, UML), bu tizimlarning spetsifikatsiyasi, vizualizatsiyasi, dizayni va hujjatlari uchun grafik til. UML-dan foydalanib, siz nafaqat uning kontseptsiyasini, balki amalga oshirishning o'ziga xos xususiyatlarini aks ettiradigan yaratilgan tizimning batafsil modelini ishlab chiqishingiz mumkin. UML modeli doirasida tizim haqidagi barcha g'oyalar diagrammalar deb nomlangan maxsus grafik konstruktsiyalar shaklida o'rnatiladi.
Eslatma. Biz barchasini ko'rib chiqmaymiz, faqat diagrammalarning ayrim turlarini ko'rib chiqamiz. Masalan, ushbu ma'ruzada tarkibiy diagramma berilmagan, bu faqat diagramma turlarining qisqacha sharhidir. Muayyan amaliy model uchun jadval turlarining soni hech qanday tarzda cheklanmagan. Oddiy dasturlar uchun barcha turdagi diagrammalarni istisnosiz qurishning hojati yo'q. Ulardan ba'zilari shunchaki yo'q bo'lishi mumkin va bu xato deb hisoblanmaydi. Muayyan turdagi diagrammalarning mavjudligi ma'lum bir loyihaning o'ziga xos xususiyatlariga bog'liqligini tushunish muhimdir. Grafikning boshqa turlari haqida ma'lumotni UML standartida topish mumkin.
Do'stlaringiz bilan baham: |