4.2 O'zaro faoliyat diagrammasi
O'zaro muloqot diagrammasi (o'zaro ta'sir ko'rsatish diagrammasi) o'zaro ta'sirlashadigan obyektlar guruhlarining xatti-harakatini tasvirlaydigan modellardir.
Odatda, o'zaro muloqot diagrammasi faqat bitta foydalanish holatlarida obyektlarning xatti-harakatini qamrab oladi. Bunday jadvalda bir nechta narsalar va o'zaro almashinadigan xabarlar aks etadi.
Ushbu yondashuvni quyidagi xatti-harakatni tasvirlaydigan juda oddiy vaziyat misoli bilan keltiramiz:
Buyurtma Kirish oynasi Buyurtmani "tayyorlash" deb xabar yuboradi.
Buyurtma ushbu Xabarni har Buyurtma xatiga yuboradi.
Har bir Buyurtma liniyasi tovarlarning muayyan zaxirasi holatini tekshiradi:
Agar bu chek ma'qul bo'lsa (natija to'g'ri bo'lsa), Buyurtma Quvuri Stokdan tegishli miqdorda tovarni olib tashlaydi.
Aks holda, aksiyalar miqdori takroriy buyruqlar darajasiga tushiriladi va aksiyadorlik tovarlarni yangisini yetkazib berishni so'raydi.
O'zaro muloqot diagrammalarining ikki turi mavjud: ketma-ketlik diagrammasi (ketma-ketlik diagrammasi) va kooperativ diagramma (hamkorlik diagrammasi).
Ushbu vertikal chiziq obyektning hayot chizig'i deb ataladi. Bu o'zaro ta'sirlash jarayonida obyektning hayot aylanish jarayonining bir qismidir. Ushbu taqdimotni birinchi bo'lib Ivar Jacobson taqdim etdi.
Har bir xabar ikki obyektning hayot chizig'i orasidagi o'q sifatida ifodalanadi. Xabarlar sahifada ko'rsatilgandek tartibda ko'rinadi - yuqoridan pastgacha. Har bir xabar kamida xabarning nomi bilan belgilanadi; Agar xohlasangiz, argumentlarni va ba'zi boshqaruv ma'lumotlarini qo'shishingiz mumkin. Bundan tashqari, siz o'zingizning delegatingizni o'zingizning o'zingiz yuboradigan xabarni ko'rsatishingiz mumkin.
Mumkin bo'lgan barcha nazorat ma'lumotlarining ikkitasi uning uchun muhimdir. Birinchidan, bu xabar qachon yuborilganligini ko'rsatadigan shart (masalan, [takroriy buyurtma kerak = "rost"]). Xabar faqatgina ushbu shart bajarilganda yuboriladi. Yana bir foydali nazorat markeri - bu xabarning bir nechta maqsadli obyektga (masalan, * tayyor bo'lish) ko'p marta yuborilganligini ko'rsatuvchi iteratsiya belgisi.
2-rasm
Sequement diagrammasi juda sodda va aniq (bu ularning eng katta afzalligi) va tizimning xatti-harakatlarini tushunishga yordam beradi.
Diagramma (2-rasmga qarang) yangi xabar emas, balki xabardan qaytishni bildiradi. Diagrammada qaytish odatdagi xabarlardan farq qiladi, chunki uning o'qi mustahkam emas, lekin bir juft chiziqqa o'xshaydi.
Sequement diagrammasi parallel jarayonlarni ifodalash uchun ham ishlatilishi mumkin.
3-rasmda bank operatsiyalarini tekshirishda ishtirok etadigan bir qator obyektlar ko'rsatilgan. Jurnalni tuzish paytida Transaction tomonidan amalga oshiriladigan tekshiruvlarni muvofiqlashtirish uchun tranzaktsiyalar bo'yicha muvofiqlashtiruvchi tashkil qiladi. Ushbu koordinator bir nechta Transaction Controller moslamalarini (bu holda, ikkita moslamani) yaratadi, ularning har biri maxsus tekshirish uchun javob beradi. Bu jarayon turli xil qo'shimcha tekshirish jarayonlarini yaratishga yordam beradi, chunki har bir tekshirish mos kelmaydigan tarzda amalga oshiriladi va boshqalar bilan parallel ravishda ishlaydi.
Jarayon tekshiruvi tugallangandan so'ng, tegishli xabarni Jarayon Koordinatoriga yuboradi. Koordinator barcha tekshiruvlar tugallanganligini xabar qildi. Aks holda koordinator hech qanday harakat qilmaydi. Agar barcha tekshiruvlar bu holatda bo'lgani kabi muvaffaqiyatli tugallangan bo'lsa, muvofiqlashtiruvchi normal bajarilishi to'g'risidagi bitimni xabar qiladi.
3-rasmdagi ketma-ketlik diagrammasi bir qator yangi elementlarni taqdim etadi. Birinchidan, bu usul, yoki uning bajarilishi paytida yoki biron bir amaliyotni bajarish natijasini kutayotgan bo'lsa, aniq ko'rinadigan faollashuvlar. Ikkinchidan, yarim o'qlar asinxron xabarlarni bildiradi. Vaqt mos kelmaydigan xabar chaqirish obyektini bloklamaydi. Shu tarzda u o'z jarayonini davom ettirishi mumkin. Asynchronous xabar uch funktsiyadan birini bajarishi mumkin:
• jarayonning yangi bo'linmasini yaratish (bu holda, u aktivlashtirishning eng yuqori qismiga bog'liq);
• yangi obyektni yaratish;
• ishlaydigan filial bilan aloqa o'rnatish.
Obyektni o'chirish katta "X" bilan belgilanadi. Obyektlar o'z-o'zini yo'q qilishni amalga oshirishi mumkin yoki boshqa xabar bilan yo'q qilinishi mumkin.
Aktivizatsiya mexanizmidan foydalangan holda, siz o'zingizning delegatingizning ma'nosini yanada aniqroq ko'rsatishingiz mumkin. Ularsiz yoki bu erda ishlatiladigan ustunlar yordamida bunday nom bermasdan, delegatsiya o'zidan keyin - chaqiruv usuli yoki chaqirilgan usulda quyidagi chaqiriqlarni qaerda bajarilishini aniqlash juda qiyin. Aktivizatsiya bu savolga ravshanlik keltiradi.
Do'stlaringiz bilan baham: |