UML ning foydali va kamchilik tomonlari

mumkin, va uning hatti-harakatlarining turli jihatlari xuddi shu tarzda tasvirlangan.
Barcha sxemalarni uning sintaksisiga nisbatan tezroq
nazar tashlaganingizdan
so'ng ham o'qish oson. UML sizga nafaqat dasturiy ta'minot muhandisligida
foydalanishga hissa qo'shadigan o'z grafikangiz va matnli stereotiplaringizni
kengaytirish, shuningdek tanitish imkonini beradi. Til juda keng tarqalgan va ayni
paytda faol rivojlanmoqda.
Kamchiliklari: UML diagrammalarining qurilishi o'zining afzalliklari
massasi bilan
ajralib turishiga qaramay, ko'pincha quyidagi kamchiliklar tanqid
qilinadi: 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 inshootlar va diagrammalarni o'z ichiga oladi va ko'pincha ushbu
tanqid
birinchi versiyaga emas, balki 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 yetkazib beruvchilarda
ham teng ravishda namoyon bo'ladi, natijada turli
xil spetsifikatsiyalarni
izohlashning noyob usuli tufayli vositalarning nomuvofiqligiga olib keladi.
Amalga oshirish va o'rganish jarayonida muammolar. Yuqoridagi barcha
muammolar UMLni 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
taalluqlidir. Kod kodni aks ettiradi.
Yana bir fikr shundaki, ahamiyat go'zal va
jozibali modellar uchun emas, balki ishlaydigan tizimlarning o'zlari, ya'ni kod
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 yetarli bo'lmasligi
mumkin, chunki bu tilda turing to'liqligi xususiyatlari mavjud emas va har bir
yaratilgan kod oxir-oqibat UML vositasi tarjima qiladigan vosita taklif qilishi yoki
aniqlay oladigan narsalar bilan cheklanadi. Mos kelmaslik. Ushbu atama tizimlarni
tahlil qilish 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 yechimlarga 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 moslikni ta'minlashga intiladigan umumiy maqsadli modellashtirish tilidir.
Muayyan loyiha kontekstida, dizayn jamoasi yakuniy maqsadga erishishi uchun
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.