UML diagrammalarini chizish uchun asboblar. UMLda modellashtirish. Umumiy diagrammalar Uml tilidagi diagrammalarga misol

UML - bu OO tizimlarini tavsiflash, vizualizatsiya qilish, loyihalash va hujjatlashtirish uchun yagona grafik modellash tili. UML OO yondashuviga asoslangan dasturiy ta'minotni modellashtirish jarayonini qo'llab-quvvatlash, kontseptual va dastur tushunchalarining o'zaro bog'liqligini tartibga solish va murakkab tizimlarni masshtablash muammolarini aks ettirish uchun mo'ljallangan. UML modellari dasturiy ta'minotning hayot aylanishining barcha bosqichlarida, biznes tahlilidan tizimga texnik xizmat ko'rsatishgacha qo'llaniladi. Turli tashkilotlar o'zlarining muammoli sohalari va foydalanadigan texnologiyalariga qarab, UML dan o'zlari xohlagancha foydalanishlari mumkin.

UML ning qisqacha tarixi

90-yillarning o'rtalariga kelib, turli mualliflar bir necha o'nlab OO modellashtirish usullarini taklif qilishdi, ularning har biri o'z grafik belgilaridan foydalangan. Bundan tashqari, ushbu usullarning har biri o'ziga xos xususiyatlarga ega edi kuchli tomonlari, lekin etarli darajada qurishga imkon bermadi to'liq model PS, uni "har tomondan", ya'ni barcha kerakli proektsiyalarni ko'rsating (1-moddaga qarang). Bundan tashqari, OO modellashtirish standartining yo'qligi ishlab chiquvchilarga eng mos usulni tanlashni qiyinlashtirdi, bu esa dasturiy ta'minotni ishlab chiqishda OO yondashuvini keng qo'llashga to'sqinlik qildi.

Ob'ekt texnologiyalari va ma'lumotlar bazalari sohasidagi standartlarni qabul qilish uchun mas'ul bo'lgan Object Management Group (OMG) talabiga binoan, birlashtirish va standartlashtirishning dolzarb muammosi uchta eng mashhur OO usullari mualliflari tomonidan hal qilindi - G. Butch, D. Rembo va A. Jeykobsonlar birgalikdagi sa'y-harakatlari bilan 1997 yilda OMG tomonidan standart sifatida tasdiqlangan UML 1.1 versiyasini yaratdilar.

UML - bu til

Har qanday til lug'at va ma'noli konstruktsiyalarni yaratish uchun so'zlarni birlashtirish qoidalaridan iborat. Bu, xususan, UML kabi dasturlash tillari qanday tuzilganligi. Uning o'ziga xos xususiyati shundaki, til lug'ati grafik elementlar orqali shakllanadi. Har bir grafik belgi o'ziga xos semantikaga ega, shuning uchun bir ishlab chiquvchi tomonidan yaratilgan model boshqasi tomonidan aniq tushunilishi mumkin, shuningdek, dasturiy ta'minot, UML talqini. Bu erdan, xususan, UML-da taqdim etilgan dasturiy ta'minot modeli avtomatik ravishda OO dasturlash tiliga (Java, C++, VisualBasic kabi) tarjima qilinishi mumkin, ya'ni UML-ni qo'llab-quvvatlaydigan yaxshi vizual modellashtirish vositasi mavjud bo'lsa, shunday bo'ladi. modelni yaratgan bo'lsak, biz ushbu modelga mos keladigan namuna dastur kodini ham olamiz.

Shuni ta'kidlash kerakki, UML bu usul emas, balki tildir. U qanday elementlardan modellarni yaratish va ularni qanday o'qish kerakligini tushuntiradi, lekin qaysi modellar va qanday hollarda ishlab chiqilishi kerakligi haqida hech narsa aytilmaydi. UMLga asoslangan usulni yaratish uchun uni dasturiy ta'minotni ishlab chiqish jarayonining tavsifi bilan to'ldirish kerak. Bunday jarayonga misol sifatida keyingi maqolalarda muhokama qilinadigan Ratsional birlashtirilgan jarayondir.

UML lug'ati

Model diagrammalarda ko'rsatilgan ob'ektlar va ular o'rtasidagi munosabatlar shaklida ifodalanadi.

Ob'ektlar modellarning asosiy elementlari bo'lgan abstraktsiyalardir. Ob'ektlarning to'rt turi mavjud - tarkibiy (sinf, interfeys, komponent, foydalanish holati, hamkorlik, tugun), xatti-harakatlar (o'zaro ta'sir, holat), guruhlash (paketlar) va izoh (sharhlar). Har bir ob'ekt turi o'zining grafik tasviriga ega. Diagrammalarni o'rganishda sub'ektlar batafsil muhokama qilinadi.

Aloqa ob'ektlar o'rtasidagi turli xil aloqalarni ko'rsatish. UML quyidagi munosabatlar turlarini belgilaydi:

  • Giyohvandlik ikki shaxs o'rtasidagi bunday bog'liqlikni ko'rsatadi, agar ulardan birining o'zgarishi - mustaqil - ikkinchisining semantikasiga ta'sir qilishi mumkin - qaram. Bog'liqlik qaram shaxsdan mustaqilga yo'naltirilgan nuqtali o'q bilan ifodalanadi.
  • Uyushma bir ob'ektning ob'ektlari boshqa ob'ektlar bilan bog'liqligini ko'rsatadigan tizimli munosabatlardir. Grafik jihatdan, assotsiatsiya bog'langan ob'ektlarni bog'laydigan chiziq sifatida ko'rsatilgan. Assotsiatsiyalar ob'ektlar orasida harakatlanish uchun xizmat qiladi. Masalan, "Buyurtma" va "Mahsulot" sinflari o'rtasidagi bog'liqlikdan ma'lum bir tartibda ko'rsatilgan barcha mahsulotlarni topish uchun foydalanish mumkin - bir tomondan, yoki barcha buyurtmalarni topish uchun. bu mahsulot, - boshqasi bilan. Ko'rinib turibdiki, tegishli dasturlar bunday navigatsiyani ta'minlaydigan mexanizmni amalga oshirishi kerak. Agar faqat bitta yo'nalishda navigatsiya zarur bo'lsa, u assotsiatsiya oxiridagi o'q bilan ko'rsatiladi. Assotsiatsiyaning alohida holati bu agregatsiya - "butun" - "qism" shaklidagi munosabatlar. Grafik jihatdan, u butun mohiyat yaqinida olmos bilan ta'kidlangan.
  • Umumlashtirish ota-ona va sub'ekt o'rtasidagi munosabatlardir. Asosan, bu munosabat sinflar va ob'ektlar uchun meros mulkini aks ettiradi. Umumlashtirish asosiy shaxs tomon yo'naltirilgan uchburchak bilan tugaydigan chiziq sifatida ko'rsatilgan. Bola ota-onaning tuzilishini (atributlarini) va xatti-harakatlarini (usullarini) meros qilib oladi, lekin ayni paytda u yangi tuzilish elementlari va yangi usullarga ega bo'lishi mumkin. UML bir nechta merosga ruxsat beradi, bunda ob'ekt bir nechta ota-ona ob'ektlari bilan bog'liq.
  • Amalga oshirish- xatti-harakatning spetsifikatsiyasini (interfeys) belgilaydigan ob'ekt bilan ushbu xatti-harakatni (sinf, komponent) amalga oshirishni belgilaydigan ob'ekt o'rtasidagi munosabatlar. Ushbu munosabat odatda komponentlarni modellashtirishda qo'llaniladi va keyingi maqolalarda batafsilroq tavsiflanadi.

Diagrammalar. UML quyidagi diagrammalarni taqdim etadi:

  • Tizimning harakatini tavsiflovchi diagrammalar:
    • Davlat diagrammalari
    • Faoliyat diagrammasi,
    • Ob'ektlar diagrammasi,
    • Ketma-ket diagrammalar,
    • Hamkorlik diagrammasi;
  • Tizimning jismoniy bajarilishini tavsiflovchi diagrammalar:
    • Komponentlar diagrammasi;
    • Joylashtirish diagrammalari.

Modelni boshqarish ko'rinishi. Paketlar.

Biz yuqorida aytgan edik, model inson tomonidan yaxshi tushunilishi uchun uni ierarxiyaning har bir darajasida oz sonli ob'ektlarni qoldirib, ierarxik tarzda tashkil qilish kerak. UML o'z ichiga modelning ierarxik ko'rinishini tashkil qilish vositasi - paketlarni o'z ichiga oladi. Har qanday model sinflar, foydalanish holatlari va boshqa ob'ektlar va diagrammalarni o'z ichiga olishi mumkin bo'lgan paketlar to'plamidan iborat. Paket ierarxiyalarni yaratishga imkon beruvchi boshqa paketlarni o'z ichiga olishi mumkin. UML alohida paket diagrammalarini taqdim etmaydi, lekin ular boshqa diagrammalarda paydo bo'lishi mumkin. Paket xatcho'p bilan to'rtburchaklar shaklida tasvirlangan.

UML nima beradi.

  • paketlarni aniqlash orqali murakkab tizimning ierarxik tavsifi;
  • foydalanish holatlari apparatidan foydalangan holda tizimga qo'yiladigan funktsional talablarni rasmiylashtirish;
  • faoliyat sxemalari va stsenariylarini qurish orqali tizim talablarini batafsil bayon qilish;
  • ma'lumotlar sinflarini aniqlash va sinf diagrammasi shaklida ma'lumotlarning kontseptual modelini qurish;
  • tavsiflovchi sinflarni aniqlash foydalanuvchi interfeysi, va ekran navigatsiya sxemasini yaratish;
  • tizim funktsiyalarini bajarishda ob'ektlarning o'zaro ta'siri jarayonlarini tavsiflash;
  • faoliyat va holat diagrammalari ko'rinishida ob'ekt xatti-harakatlarini tavsiflash;
  • dasturiy ta'minot komponentlarini tavsiflash va ularning interfeyslar orqali o'zaro ta'siri;
  • tizimning fizik arxitekturasining tavsifi.

Va oxirgi narsa ...

UML ning barcha jozibadorligiga qaramay, vizual modellashtirish vositalarisiz haqiqiy dasturiy ta'minotni modellashtirishda foydalanish qiyin bo'ladi. Bunday vositalar displey ekranida diagrammalarni tezda ko'rsatish, ularni hujjatlashtirish, turli OO dasturlash tillarida dastur kodlari shablonlarini yaratish va ma'lumotlar bazasi sxemalarini yaratish imkonini beradi. Ularning aksariyati dastur kodlarini reinjiniring qilish imkoniyatini o'z ichiga oladi - dasturlarning manba kodlarini avtomatik ravishda tahlil qilish orqali dasturiy ta'minot modelining ma'lum proyeksiyalarini tiklash, bu model va kodlar o'rtasidagi muvofiqlikni ta'minlash va oldingi tizimlarning funksionalligini meros qilib olgan tizimlarni loyihalashda juda muhimdir.

10.4. UML DIAGRAMMASI

10.4.1. UML vizual diagrammalarining turlari

UML sizga bir nechta turdagi vizual diagrammalarni yaratishga imkon beradi:

Case diagrammalaridan foydalaning;

ketma-ketlik diagrammalari;

Kooperativ jadvallari;

Sinf diagrammalari;

Davlat diagrammalari;

Komponentlar diagrammasi;

Joylashtirish diagrammalari.

Diagrammalar tizimning turli tomonlarini ko'rsatadi. Masalan, kooperativ diagramma tizimning ba'zi funksiyalarini amalga oshirish uchun ob'ektlar qanday o'zaro ta'sir qilishi kerakligini ko'rsatadi. Har bir diagrammaning o'z maqsadi bor.

10.4.2. Case diagrammalaridan foydalaning

Foydalanish holatlari diagrammalarida tizimning funktsiyalarini ifodalovchi foydalanish holatlari va ma'lumotni qabul qiluvchi yoki uzatuvchi odamlar yoki tizimlarni ifodalovchi aktyorlar o'rtasidagi o'zaro ta'sirlar tasvirlangan. bu tizim. Avtomatlashtirilgan kassa mashinasi (ATM) uchun misol diagrammasi rasmda ko'rsatilgan. 10.1.

Guruch. 10.1. Ish diagrammasidan foydalaning

Diagramma foydalanish holatlari va aktyorlar o'rtasidagi o'zaro ta'sirni ifodalaydi. U foydalanuvchi nuqtai nazaridan tizim talablarini aks ettiradi. Shunday qilib, foydalanish holatlari tizim tomonidan bajariladigan funktsiyalar, aktyorlar esa yaratilayotgan tizimga nisbatan manfaatdor tomonlardir. Diagrammalar qaysi aktyorlar foydalanish holatlarini boshlashini ko'rsatadi. Ular, shuningdek, aktyor foydalanish holatidan ma'lumot olganini ham ko'rsatadi. Aslini olganda, foydalanish diagrammasi tizim talablarini ko'rsatishi mumkin. Bizning misolimizda, bank mijozi turli xil foydalanish holatlarini boshlaydi: "Hisobdan pul olish", "Pul o'tkazish", "Hisobga pul qo'yish", "Balansni ko'rsatish", "ID raqamini o'zgartirish", "To'lovni amalga oshirish". Bank xodimi identifikatsiya raqamini o'zgartirishdan foydalanish ishini boshlashi mumkin. "To'lovni amalga oshirish" yorlig'ida Kredit tizimiga o'q mavjud. Aktyorlar bo'lishi mumkin tashqi tizimlar, bu holda, Kredit tizimi aktyor sifatida aniq ko'rsatilgan - u ATM tizimidan tashqarida. Foydalanish holatidan aktyorga ishora qiluvchi strelka foydalanish holati aktyorga ba'zi ma'lumotlarni taqdim etishini bildiradi. Bunday holda, To'lovni amalga oshirishdan foydalanish holati Kredit tizimiga kredit karta to'lovi haqida ma'lumot beradi.

Foydalanish holatlari diagrammasi tizim haqida juda ko'p ma'lumot berishi mumkin. Ushbu turdagi diagramma tizimning umumiy funksionalligini tavsiflaydi. Foydalanuvchilar, loyiha menejerlari, tahlilchilar, ishlab chiquvchilar, sifatni ta'minlash bo'yicha mutaxassislar va umuman tizimga qiziqqan har bir kishi tizim nima qilishi kerakligini tushunish uchun foydalanish holatlari diagrammalariga qarashlari mumkin.

10.4.3. Ketma-ketlik diagrammalari

Ketma-ketlik diagrammalari foydalanish holatida sodir bo'ladigan hodisalar oqimini tasvirlaydi. Misol uchun, "Pulni yechib olish" dan foydalanish holati bir nechta mumkin bo'lgan ketma-ketlikni taqdim etadi: pulni yechib olish, hisobda pul etarli bo'lmaganda pulni yechib olishga urinish, noto'g'ri identifikatsiya raqami yordamida pul yechib olishga urinish va boshqalar. Hisobdan $20 yechib olishning oddiy stsenariysi (noto'g'ri identifikatsiya raqami yoki hisobdagi mablag'ning etishmasligi kabi muammolar bo'lmaganda) rasmda ko'rsatilgan. 10.2.

10.2-rasm. Jo mijozining hisobidan $20 yechib olish tartibi diagrammasi

Diagrammaning yuqori qismida Pul olishdan foydalanish holatini bajarish uchun tizim tomonidan talab qilinadigan barcha aktyorlar va ob'ektlar ko'rsatilgan. Oklar talab qilinadigan funktsiyalarni bajarish uchun aktyor va ob'ekt o'rtasida yoki ob'ektlar o'rtasida uzatiladigan xabarlarga mos keladi. Shuni ham ta'kidlash kerakki, ketma-ketlik diagrammasi sinflarni emas, balki ob'ektlarni ko'rsatadi. Sinflar - ob'ektlarning turlari. Ob'ektlar betondir; sinf o'rniga Mijoz Ketma-ketlik diagrammasi ma'lum bir mijoz Joni ifodalaydi.

Foydalanish holati mijoz o'z kartasini o'quvchiga joylashtirganda boshlanadi - bu ob'ekt diagrammaning yuqori qismidagi to'rtburchakda ko'rsatilgan. U karta raqamini o'qiydi, Joe Account obyektini ochadi va ATM ekranini ishga tushiradi. Ekran Jodan ro'yxatga olish raqamini so'raydi. Mijoz 1234 raqamini kiritadi. Ekran raqamni Joe Account ob'ektiga nisbatan tekshiradi va uning to'g'ri ekanligini aniqlaydi. Shundan so'ng ekran Joga tanlash uchun menyuni taqdim etadi va u "Pulni yechib olish" ni tanlaydi. Ekranda u qancha pul olishni istayotganini so'raydi va Jo 20 dollarni kiritadi. Ekran hisobdan pul yechib oladi. Bunda u "Joning hisobi" ob'ekti tomonidan amalga oshiriladigan bir qator jarayonlarni boshlaydi. Shu bilan birga, ushbu hisob qaydnomasiga ko'ra, o'z ichiga olganligi tasdiqlanadi kamida, $20 va kerakli miqdor hisobdan yechib olinadi. Keyin kassaga "chek va 20 dollar naqd pul berish" buyrug'i beriladi. Nihoyat, xuddi shu "Joning hisobi" ob'ekti kartani o'quvchiga kartani qaytarishni buyuradi.

Shunday qilib, bu diagramma ketma-ketlik Jo mijozining 20 dollarni yechib olishining aniq misolidan foydalanib, "Hisobdan pul olish" foydalanish holatini amalga oshiradigan harakatlar ketma-ketligini ko'rsatadi. Ushbu diagrammaga qarab, foydalanuvchilar o'z ishlarining o'ziga xos xususiyatlari bilan tanishadilar. Tahlilchilar harakatlar ketma-ketligini (oqimini), ishlab chiquvchilar yaratilishi kerak bo'lgan ob'ektlarni va ularning operatsiyalarini ko'radilar. Sifatni nazorat qilish bo'yicha mutaxassislar jarayonning tafsilotlarini tushunishadi va ularni tekshirish uchun testlarni ishlab chiqishlari mumkin. Shunday qilib, ketma-ketlik diagrammalari loyihada ishtirok etadigan har bir kishi uchun foydalidir.

10.4.4. Kooperativ diagrammalar

Kooperativ diagrammalar ketma-ketlik diagrammalari bilan bir xil ma'lumotlarni aks ettiradi. Biroq, ular buni boshqacha va boshqa maqsadlar bilan amalga oshiradilar. Shaklda ko'rsatilgan. 10.2 ketma-ketlik diagrammasi shaklda ko'rsatilgan. 10.3 kooperativ diagrammasi shaklida.

Avvalgidek, ob'ektlar to'rtburchaklar, belgilar esa raqamlar sifatida tasvirlangan. Ketma-ketlik diagrammasi vaqt davomida aktyorlar va ob'ektlar o'rtasidagi o'zaro ta'sirni ko'rsatadi, kooperativ diagramma vaqt o'tishi bilan hech qanday aloqani ko'rsatmaydi. Shunday qilib, siz kartani o'quvchi "Joning hisobi" ni ochishga ko'rsatma berishini va "Joning hisobi" qurilmaning kartani egasiga qaytarishiga sabab bo'lganini ko'rishingiz mumkin. To'g'ridan-to'g'ri ta'sir qiluvchi ob'ektlar chiziqlar bilan bog'langan. Agar, masalan, kartani o'quvchi bankomat ekrani bilan to'g'ridan-to'g'ri aloqa qilsa, ular o'rtasida chiziq chizish kerak. Chiziqning yo'qligi ob'ektlar o'rtasida to'g'ridan-to'g'ri aloqa yo'qligini anglatadi.

Guruch. 10.3. Hisobdan pul olish jarayonini tavsiflovchi kooperativ diagrammasi

Shunday qilib, kooperativ diagramma ketma-ketlik diagrammasi bilan bir xil ma'lumotlarni ko'rsatadi, ammo u boshqa maqsad uchun kerak. Sifatni ta'minlash bo'yicha mutaxassislar va tizim arxitektorlari jarayonlarning ob'ektlar orasidagi taqsimlanishini tushunishlari mumkin. Aytaylik, qandaydir kooperativ diagramma yulduzga o'xshaydi, bu erda bir nechta ob'ektlar bitta markaziy ob'ekt bilan bog'langan. Tizim arxitektori tizim markaziy ob'ektga juda bog'liq va jarayonlarni tengroq taqsimlash uchun qayta ishlab chiqilishi kerak degan xulosaga kelishi mumkin. Ketma-ketlik diagrammasida bu turdagi o'zaro ta'sirni ko'rish qiyin bo'ladi.

10.4.5. Sinf diagrammalari

Sinf diagrammalari tizimdagi sinflar o'rtasidagi o'zaro ta'sirni aks ettiradi. Masalan, "Joning hisobi" ob'ektdir. Bunday ob'ektning turini umuman hisob deb hisoblash mumkin, ya'ni "Hisob" - bu sinf. Sinflar ushbu ma'lumotlarga ta'sir qiluvchi ma'lumotlar va xatti-harakatlarni (harakatlarni) o'z ichiga oladi. Shunday qilib, Hisob sinfida mijozning identifikatsiya raqami va uni tasdiqlovchi harakatlar mavjud. Sinf diagrammasida ob'ektning har bir turi uchun ketma-ketlik diagrammasi yoki kooperativ diagrammasidan sinf yaratiladi. Pul olishdan foydalanish holati uchun sinf diagrammasi rasmda ko'rsatilgan. 10.4.

Diagrammada Pul olishdan foydalanish holatini amalga oshiradigan sinflar o'rtasidagi munosabatlar ko'rsatilgan. Ushbu jarayonda to'rtta sinf mavjud: kartani o'quvchi, hisob qaydnomasi, bankomat ekrani va naqd pul tarqatuvchi. Sinf diagrammasidagi har bir sinf uch qismga bo'lingan to'rtburchaklar shaklida tasvirlangan. Birinchi qism sinf nomini, ikkinchisi - uning nomini bildiradi atributlar. Atribut - bu sinfni tavsiflovchi ba'zi ma'lumotlar. Masalan, Hisob sinfi uchta atributga ega: Hisob raqami, PIN-kod va Balans. Oxirgi qism sinfni aks ettiruvchi operatsiyalarni o'z ichiga oladi xulq-atvor(sinf tomonidan bajariladigan harakatlar). Sinflarni bog'laydigan chiziqlar sinflar orasidagi o'zaro ta'sirni ko'rsatadi.

Guruch. 10.4. Sinf diagrammasi

Ishlab chiquvchilar sinflarni yaratish uchun sinf diagrammalaridan foydalanadilar. Rose kabi vositalar dasturchilar o'zlari tanlagan tilda tafsilotlar bilan to'ldiradigan sinf kodining yadrosini yaratadi. Ushbu diagrammalardan foydalanib, tahlilchilar tizimning tafsilotlarini ko'rsatishi mumkin va arxitektorlar uning dizaynini tushunishlari mumkin. Agar, masalan, sinf juda ko'p funktsional yukni ko'tarsa, bu sinf diagrammasida ko'rinadi va me'mor uni boshqa sinflar orasida qayta taqsimlashi mumkin. Diagramma, shuningdek, muloqot qiluvchi sinflar o'rtasida hech qanday aloqalar aniqlanmagan holatlarni aniqlashga yordam beradi. Har bir foydalanish holatida o'zaro ta'sir qiluvchi sinflarni ko'rsatish uchun sinf diagrammalari yaratilishi kerak. Bundan tashqari, barcha tizimlar yoki quyi tizimlarni qamrab oladigan umumiy diagrammalarni yaratishingiz mumkin.

10.4.6. Davlat diagrammalari

Holat diagrammasi ob'ekt bo'lishi mumkin bo'lgan turli holatlarni modellashtirish uchun mo'ljallangan. Sinf diagrammasi sinflar va ularning o'zaro munosabatlarining statik rasmini ko'rsatsa, tizim xatti-harakatlarining dinamikasini tavsiflash uchun holat diagrammalaridan foydalaniladi.

Holat diagrammasi ob'ektning harakatini aks ettiradi. Shunday qilib, bank hisobvarag'i bir nechta turli holatlarga ega bo'lishi mumkin. U ochiq, yopiq yoki ortiqcha bo'lishi mumkin. Hisobning xatti-harakati u joylashgan davlatga qarab o'zgaradi. Davlat diagrammasi aynan shu ma'lumotni ko'rsatadi. Shaklda. 10.5-rasmda bank hisobvarag'i holati diagrammasining namunasi ko'rsatilgan.

Guruch. 10.5. Hisob sinfi uchun holat diagrammasi

Ushbu diagrammada hisobning mumkin bo'lgan holatlari, shuningdek, hisobning bir holatdan ikkinchi holatga o'tish jarayoni ko'rsatilgan. Misol uchun, agar mijoz ochiq hisobni yopishni so'rasa, ikkinchisi "Yopiq" holatiga o'tadi. Mijozning talabi chaqiriladi voqea, bir holatdan ikkinchi holatga o'tishga sabab bo'ladigan hodisalardir.

Mijoz ochiq hisobvarag'idan pul yechib olganida, hisob Overdraft holatiga kirishi mumkin. Bu faqat hisob balansi noldan kam bo'lsa sodir bo'ladi, bu bizning jadvalimizdagi [salbiy qoldiq] holatida aks etadi. Kvadrat qavs ichiga olingan holat bir holatdan ikkinchi holatga o'tish qachon sodir bo'lishi yoki mumkin emasligini aniqlaydi.

Diagrammada ikkita maxsus holat mavjud - boshlang'ich Va final. Dastlabki holat qora nuqta bilan ta'kidlangan: u ob'ektning yaratilish vaqtidagi holatiga mos keladi. Yakuniy holat oq doira ichida qora nuqta bilan ko'rsatilgan: u ob'ektning yo'q qilinishidan oldingi holatiga mos keladi. Holat diagrammasida bitta va faqat bitta boshlang‘ich holat bo‘lishi mumkin. Shu bilan birga, kerakli darajada ko'p yakuniy holatlar bo'lishi mumkin yoki umuman bo'lmasligi mumkin.

Ob'ekt ma'lum bir holatda bo'lsa, ma'lum jarayonlar bajarilishi mumkin. Bizning misolimizda, agar kredit oshib ketgan bo'lsa, mijozga tegishli xabar yuboriladi. Ob'ekt ma'lum bir holatda bo'lganda sodir bo'ladigan jarayonlar deyiladi harakatlar.

Davlat diagrammasi har bir sinf uchun yaratilishi shart emas, ular faqat juda murakkab holatlarda qo'llaniladi. Agar sinf ob'ekti bir nechta holatda mavjud bo'lsa va har bir holatda o'zini boshqacha tutsa, unga bunday diagramma kerak bo'ladi. Biroq, ko'pgina loyihalar ulardan umuman foydalanmaydi. Agar holat diagrammalari qurilgan bo'lsa, ishlab chiquvchilar ulardan sinflarni yaratishda foydalanishlari mumkin.

Davlat jadvallari asosan hujjatlar uchun kerak.

10.4.7. Komponentlar diagrammasi

Komponentlar diagrammasi modelning qanday ko'rinishini ko'rsatadi jismoniy daraja. U tarkibiy qismlarni ko'rsatadi dasturiy ta'minot tizimingiz va ular orasidagi aloqalar. Komponentlarning ikki turi mavjud: bajariladigan komponentlar va kod kutubxonalari.

Shaklda. 10.6-rasmda bankomat tizimi uchun komponent diagrammalaridan biri ko'rsatilgan. Ushbu diagrammada ATM tizimi mijozining komponentlari ko'rsatilgan. Bunday holda, ishlab chiqish guruhi C++ tilidan foydalangan holda tizimni yaratishga qaror qildi. Har bir sinf o'zining sarlavha fayli va kengaytma fayliga ega. CPP, shuning uchun har bir sinf diagrammada o'z tarkibiy qismlariga aylantiriladi. Tanlangan qorong'u komponent chaqiriladi paket spetsifikatsiyasi va C++ tilidagi ATM sinfining asosiy fayliga mos keladi (. CPP kengaytmali fayl). Tanlanmagan komponent paket spetsifikatsiyasi deb ham ataladi, lekin C++ tili sinfi sarlavha fayliga (.H kengaytmali fayl) mos keladi. ATM komponenti. EXE - bu vazifa spetsifikatsiyasi va axborotni qayta ishlash oqimini ifodalaydi. Bunday holda, ishlov berish ipi bajariladigan dastur hisoblanadi.

Komponentlar o'zaro bog'liqlikni ifodalovchi chiziq bilan bog'langan. Tizim quyi tizimlar soniga qarab bir nechta komponent diagrammalariga ega bo'lishi mumkin yoki bajariladigan fayllar. Har bir quyi tizim komponentlar to'plamidir.

Komponent diagrammalari tizimni tuzish uchun mas'ul bo'lgan loyiha ishtirokchilari tomonidan qo'llaniladi. Komponentlar diagrammasi tarkibiy qismlarni tuzish tartibi, shuningdek, tizim tomonidan qaysi bajariladigan komponentlar yaratilishi haqida fikr beradi. Diagrammada sinflarni amalga oshirilgan komponentlar bilan taqqoslash ko'rsatilgan. Shunday qilib, kod ishlab chiqarish boshlanadigan joyda kerak.

Guruch. 10.6. Komponent diagrammasi

10.4.8. Joylashtirish diagrammalari

Joylashtirish diagrammasi tarmoqdagi turli tizim komponentlarining jismoniy joylashuvini ko'rsatadi. Bizning misolimizda, ATM tizimi alohida jismoniy qurilmalar yoki tugunlarda ishlaydigan ko'p sonli quyi tizimlardan iborat. ATM tizimini joylashtirish diagrammasi rasmda ko'rsatilgan. 10.7.

Ushbu diagrammadan siz tizimning jismoniy tuzilishi haqida bilib olishingiz mumkin. ATM mijoz dasturlari bir nechta saytlarda bir nechta joyda ishlaydi. Mijozlar hududiy bankomatlar serveri bilan yopiq tarmoqlar orqali bog‘lanadi. U ATM server dasturini ishga tushiradi. O'z navbatida, orqali mahalliy tarmoq mintaqaviy server Oracle bilan ishlaydigan bank ma'lumotlar bazasi serveri bilan o'zaro ishlaydi. Nihoyat, printer mintaqaviy bankomat serveriga ulanadi.

Shunday qilib, ushbu diagramma tizimning jismoniy tartibini ko'rsatadi. Misol uchun, bizning bankomat tizimimiz uch bosqichli arxitekturaga amal qiladi, birinchi qavatda ma'lumotlar bazasi, ikkinchisida mintaqaviy server va uchinchi qavatda mijoz.

10.7. Joylashtirish diagrammasi

Loyiha menejeri, foydalanuvchilar, tizim arxitektori va operatsion xodimlar tomonidan tizimning jismoniy tartibini va uning alohida quyi tizimlarining joylashishini aniqlashtirish uchun tartib diagrammasi qo'llaniladi. Loyiha menejeri foydalanuvchilarga tayyor mahsulot qanday ko'rinishini tushuntiradi. Operatsion xodimlar tizimni o'rnatish ishlarini rejalashtirishlari mumkin.

Kitobdan Microsoft Office muallif Leontyev Vitaliy Petrovich

Grafiklar Jadvaldagi raqamlar siz uchun eng qulay tarzda tartiblangan bo'lsa ham, har doim ham to'liq taassurot qoldirishga imkon bermaydi. Microsoft tomonidan mavjud bo'lganlardan foydalanish Excel shablonlar diagrammalar, siz jadvalingizdagi ma'lumotlarning aniq rasmini olishingiz mumkin, lekin emas

100 uchun kompyuter kitobidan. Keling, boshlaylik Windows Vista muallif Zozulya Yuriy

Grafiklar Diagrammalar jadval ma'lumotlarini taqdim etish uchun ishlatiladi grafik shakl, bu ma'lumotlarning ko'rinishini sezilarli darajada yaxshilashi mumkin, turli parametrlar o'rtasidagi munosabatni yoki ularning o'zgarish dinamikasini ko'rsatadi. Word-ga diagrammalarni kiritish uchun asboblardan foydalaning

Samarali ofis ishi kitobidan muallif Ptashinskiy Vladimir Sergeevich

Diagrammalar Eng ingl Excel qobiliyati hisoblash natijalari yoki to'plangan ma'lumotlarni grafiklar (diagrammalar) ko'rinishida taqdim etishdir: ba'zida eng ta'sirli raqamlar hatto oddiy grafikalar bilan ham amalga oshirilishi mumkin bo'lgan tarzda ishontirishga qodir emas. Excel mavjud

Excel ish kitobidan. Multimedia kursi muallif Medinov Oleg

8-bob Ko'pincha diagrammalar Excel dasturi turli statistik va analitik hisobotlarni ifodalovchi hujjatlarni yaratish uchun foydalaniladi. Bu savdo hisobotlari, havo harorati o'lchovlari jadvallari, sotsiologik so'rovlar ma'lumotlari va boshqalar bo'lishi mumkin. Raqamlar har doim ham emas.

Word 2007 kitobidan. Mashhur o'quv qo'llanma muallif Krainskiy I

Grafikni qurish Birinchi misol uchun siz rasmda ko'rsatilgan jadvalni yaratishingiz kerak bo'ladi. 8.1. Guruch. 8.1. Haroratni o'lchash jadvaliBu jadvaldagi ma'lumotlar asosida harorat o'zgarishining oddiy grafigini tuzamiz.1. Jadvalda to'ldirilgan diapazonni tanlang.2. ga boring

Kompyuterda ishlash bo'yicha o'z-o'zini ko'rsatma kitobidan muallif Kolisnichenko Denis Nikolaevich

6.6. Diagrammalar bundan mustasno grafik fayllar, V Word hujjatlari diagrammalarni kiritishingiz mumkin. Diagrammalardan foydalanib, siz raqamli ma'lumotlarni vizual ravishda taqdim etishingiz mumkin, masalan, ma'lumotlarning qanday o'zgarishini kuzatishingiz, vaqt o'tishi bilan ma'lum bir loyihaning rivojlanishini ko'rishingiz mumkin. Diagrammalar bir-biriga o'xshash

C++ tilidagi ilovalarga misollar bilan ob'ektga yo'naltirilgan tahlil va dizayn kitobidan Butch Grady tomonidan

14.9. Diagrammalar Ehtimol, quruq raqamlarni grafikaga aylantirish vaqti keldi, stolimizni yanada chiroyli va ma'lumotli qiladi? Buning uchun diagrammalar qo'llaniladi. Siz nima desangiz ham, diagramma jadvaldan ko'ra yaxshiroq qabul qilinadi. Diagramma tuzish uchun siz qaysi qiymatlarni tanlashingiz kerak

Dasturlash texnologiyalari kitobidan muallif Kamaev V A

5.2. Sinf diagrammalari muhim: sinflar va ularning munosabatlari Sinf diagrammasi sinflar va ularning munosabatlarini ko'rsatadi va shu bilan dizaynning mantiqiy tomonini ifodalaydi. Alohida sinf diagrammasi sinf tuzilishining o'ziga xos ko'rinishini ifodalaydi. Tahlil bosqichida biz

BPwin 4.0 bilan biznes jarayonlarini modellashtirish kitobidan muallif Maklakov Sergey Vladimirovich

5.4. Ob'ekt diagrammalari muhim: ob'ektlar va ularning munosabatlari Ob'ekt diagrammasi tizimning mantiqiy dizaynidagi mavjud ob'ektlar va ularning munosabatlarini ko'rsatadi. Boshqacha qilib aytganda, ob'ekt diagrammasi - bu qandaydir konfiguratsiyadagi hodisalar oqimining oniy tasviridir

OrCAD PSpice kitobidan. Tahlil elektr zanjirlari Keown J tomonidan

5.7. Jarayon diagrammalari. Muhim: Protsessorlar, qurilmalar va ulanishlar Jarayon diagrammasi jismoniy tizim dizaynidagi protsessorlar bo'ylab jarayonlarning taqsimlanishini ko'rsatish uchun ishlatiladi. Alohida jarayon diagrammasi jarayon strukturasining bir ko'rinishini ko'rsatadi

Dummies uchun VBA kitobidan Stiv Kammings tomonidan

10.4. UML DIAGRAMMASI 10.4.1. Vizual diagramma turlari UMLUML bir necha turdagi vizual diagrammalarni yaratish imkonini beradi: misol diagrammalaridan foydalanish; ketma-ketlik diagrammalari; kooperativ diagrammalar; sinf sxemalari; davlat diagrammalari; diagrammalar

Makintoshda ishlash bo'yicha o'z-o'zini ko'rsatma kitobidan muallif Sofiya Skrilina

1.2.6. Shakldagi ramka diagrammasi. 1.2.26-rasmda diagramma ramkasi deb ataladigan chegaralovchi qutilarga ega parchalanish diagrammasining odatiy namunasi ko'rsatilgan. Guruch. 1.2.26. Ramka bilan parchalanish diagrammasiga misol. Ramkada sarlavha mavjud ( yuqori qismi ramkalar) va podval (pastki qism).

Muallifning kitobidan

Vaqt diagrammalari Kirish va chiqish kuchlanishlarining vaqt diagrammalarini olish uchun siz kirish faylini biroz o'zgartirishingiz kerak. Oldingi misoldagi kabi, sinusoidal kirish kuchlanishidan foydalaniladi: Vi 1 0 sin (0 0. 5V 5kHz) Vaqtinchalik tahlil bilan birga

Muallifning kitobidan

Grafiklar va grafiklar Raqamlarning cheksiz qatorlari ortidagi ma'noni faqat mutaxassis aniqlay oladi, ammo har kim gistogramma yoki doiraviy diagrammani tushunishi (yoki hech bo'lmaganda tushunishga da'vo qilishi) mumkin. VBA-da diagrammalar yaratish uchun o'rnatilgan vositalar mavjud emas, lekin shunga o'xshash

Muallifning kitobidan

5.1.14. Grafiklar Grafiklar - jadvaldagi raqamli ma'lumotlarning grafik ko'rinishi. Sahifalar bir nechta diagramma turlarini taklif qiladi: Ustunli, Yigʻilgan Ustunli, Shtrixli diagrammaning, Yigʻilgan shtrixli diagrammaning, Chiziqli, Maydonli, Yigʻilgan maydoni

Muallifning kitobidan

5.2.8. Diagrammalar Diagramma tanlangan diapazondagi ma'lumotlarning grafik tasviridir.Diagrammani tuzish uchun quyidagi algoritmga amal qiling1. Hisoblangan qiymatlar jadvalini tuzing.2. Kerakli diapazonni tanlang (u qo'shni bo'lmagan to'rtburchaklardan iborat bo'lishi mumkin

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. Uni amalga oshirishda siz ko'pincha sinflar yaratishingiz va ularning o'zaro ta'sirini o'ylab topishingiz kerak. Va ko'pincha buning vizual tasviri yordam berishi mumkin. Muammoni eng to'g'ri yo'l bilan hal qiling.Bu erda biz yordam beramiz UML.

UML nima?

Suratlarga qarasangiz qidiruv tizimlari, keyin bu aniq bo'ladi UML- bu diagrammalar, o'qlar va kvadratlar haqida. Muhimi, 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 diagramma chizish uchun xalqaro tildir.

Vikipediya aytganidek

UML - dasturiy ta'minotni ishlab chiqish, biznes jarayonlarini modellashtirish, tizimlarni loyihalash va tashkiliy tuzilmalarni ko'rsatishda ob'ektni modellashtirish uchun grafik tavsif tili.
Hamma ham o'ylamaydigan yoki tushunmaydigan eng qiziq narsa shundaki, UMLning texnik xususiyatlari bor. Bundan tashqari, hatto UML2 spetsifikatsiyasi ham mavjud. Spetsifikatsiya haqida batafsil ma'lumotni Object Management Group veb-saytida topishingiz mumkin. Aslida, bu guruh UML spetsifikatsiyalarini ishlab chiqmoqda. Shunisi qiziqki, UML faqat sinflar tuzilishini tavsiflash bilan cheklanmaydi. UML diagrammalarining ko'p turlari mavjud. UML diagrammalarining turlarining qisqacha tavsifini xuddi shu Vikipediyada ko'rish mumkin: UML - diagrammalar yoki Timur Botirshinovning videosida UML diagrammalarining umumiy ko'rinishi. UML ham turli jarayonlarni tavsiflash uchun 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, uni qo'llashni bilish va tushunish juda foydali mahoratdir.

Ilova

Keling, IDE-dan xuddi shu UML bilan qanday ishlashingiz mumkinligini ko'rib chiqaylik. Keling, IDE sifatida olaylik IntelliJ Idea. Agar foydalansangiz IntelliJ Idea Ultimate, keyin biz plaginni "qutidan tashqari" o'rnatamiz UML qo'llab-quvvatlash". Bu sizga avtomatik tarzda chiroyli sinf diagrammalarini yaratish imkonini beradi. Masalan, Ctrl+N yoki menyu bandi "Navigate" -> "Class" orqali biz sinfga o'tamiz. ArrayList. Endi sinf nomi uchun kontekst menyusi orqali “Diagramma” -> “Qalqib chiquvchi diagrammani ko‘rsatish” bandini tanlang. Natijada biz chiroyli diagramma olamiz:

Lekin agar siz uni o'zingiz chizishni xohlasangiz nima bo'ladi va hatto xohlamasangiz ham Yakuniy versiya Fikrmi? Agar biz IntelliJ Idea Community Edition-dan foydalansak, boshqa tanlovimiz yo'q. Buning uchun bunday UML diagrammasi qanday tuzilganligini tushunishingiz kerak. Birinchidan, biz Graphviz-ni o'rnatishimiz kerak. Bu grafiklarni vizualizatsiya qilish uchun yordamchi dasturlar to'plami. U biz foydalanadigan plagin tomonidan ishlatiladi. O'rnatishdan so'ng siz katalog qo'shishingiz kerak bin o'rnatilgan katalogdan Graphviz atrof-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? U grafik tasvirlash tilidan foydalanadi. nuqta"va bu uni yanada universal bo'lishiga imkon beradi, chunki ... berilgan til Faqat PlantUML ishlatilmaydi. Bundan tashqari, biz quyida qilgan barcha ishlarni nafaqat IDE-da, balki ichida ham qilish mumkin onlayn xizmat planttext.com. PlantUML plaginini o'rnatganimizdan so'ng biz "Fayl" -> "Yangi" orqali UML diagrammalarini yaratishimiz mumkin. «UML klassi» tipidagi diagramma tuzamiz. Ushbu jarayon davomida namunali shablon avtomatik ravishda yaratiladi. Keling, uning mazmunini o'chirib tashlaylik 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. Eng boshida ulanishlarni qanday tasvirlash kerakligini ko'rsatadigan jadval mavjud:

Shuningdek, biz bu erda bog'lanishlarni ko'rib chiqishimiz mumkin: "UMLdagi sinflar o'rtasidagi munosabatlar. Misollar." Ushbu materiallarga asoslanib, keling, UML diagrammamizni yaratishni boshlaylik. Ikki sinfni tavsiflovchi quyidagi tarkibni qo'shamiz: @startuml class ArrayList ( ) class LinkedList ( ) @enduml Idea-da natijani ko'rish uchun "View" -> " ni tanlang. Windows vositasi" -> "PlantUML". Biz shunchaki sinflarni bildiruvchi ikkita kvadrat olamiz. Ma'lumki, bu sinflarning ikkalasi ham List interfeysini amalga oshiradi. Bu sinf munosabati amalga oshirish deb ataladi. Bunday munosabatni tasvirlash uchun o'qdan foydalaning. nuqta chiziq. Keling, uni tasvirlaymiz: interfeys ro'yxati ro'yxati< | . . 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. Bunday holda, ulanish turi - yig'ish(jamlash). Bu holda agregat ArrayList hisoblanadi, 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 umri bilan bog'liq emas. Agregat lotin tilidan "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 bir qismi qoladi komponentlar. Masalan, sotish yoki boshqa birlikka qo'yish. Ro'yxat ham shunday. Va bu birlik yaqinidagi bo'sh olmos va uzluksiz chiziq shaklida ifodalanadi. Keling, uni quyidagicha tasvirlaymiz: 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 kontentni bevosita saqlamaydi, 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 rangli olmos chiziladi, unga doimiy chiziq olib boriladi. Endi buni ulanishning matnli displey shaklida yozamiz: sinf Node ( ) LinkedList * -- Tugun Va endi biz boshqasini qanday ko'rsatishni o'rganishimiz kerak. muhim turi aloqa - giyohvandlik(qaramlik munosabati). U bir sinf boshqasini ishlatganda ishlatiladi va sinf foydalanilayotgan sinfni o'z ichiga olmaydi va uning avlodi emas. Masalan, LinkedList va ArrayList ListIterator yaratishi mumkin. Keling, buni nuqta chiziqli o'qlar sifatida ko'rsatamiz: ListIterator ListIterator sinfi< . . . ArrayList : create ListIterator < . . . LinkedList : create Выглядеть после всего это будет следующим образом:

Agar kerak bo'lsa, batafsilroq ma'lumotga ega bo'lishingiz mumkin. Barcha belgilar bu erda ko'rsatilgan: "PlantUML - Sinf diagrammasi". Bundan tashqari, bunday diagrammani chizishda g'ayritabiiy narsa yo'q va o'z vazifalaringiz ustida ishlayotganingizda, uni tezda qo'l bilan chizishingiz mumkin. Bu dastur arxitekturasi orqali fikrlash qobiliyatingizni rivojlantiradi va noto'g'ri modelni amalga oshirish bilan kun o'tkazganingizdan keyin emas, balki sinf tuzilmasining kamchiliklarini erta aniqlashga yordam beradi. Menimcha, bu sinash uchun yaxshi sababmi?)

Avtomatlashtirish

Yemoq turli yo'llar bilan PlantUML diagrammalarini avtomatik yaratish. Masalan, in Fikr SketchIT plagini mavjud, ammo u ularni to'g'ri chizmaydi. Masalan, interfeyslarni amalga oshirish noto'g'ri chizilgan (meros sifatida ko'rsatiladi). Internetda buni qanday qilib qurish mumkinligi haqida misollar ham mavjud hayot davrasi loyihangizni qurish. Aytaylik, uchun Maven uml-java-docklet dan foydalanishga misol bor. Bu qanday amalga oshirilishini ko'rsatish uchun biz Maven Archetype-dan foydalanamiz tez yaratish Maven loyihasi. 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". Oxirgi versiyani tanlang. Keyin savollarga javob bering va loyihani yaratishni yakunlang:

Maven ushbu maqolaning diqqat markazida bo'lmaganligi sababli, Maven 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 olaylik. 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, siz faqat ushbu tavsifda almashtirishingiz kerak groupId"bilan info.leadinglight"yoq" com.chfourie"va versiyani o'rnating" 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-dan foydalanib, siz kompaniyangizdagi turli jarayonlarni tasvirlashingiz yoki siz yozayotgan funktsiya ishlayotgan biznes jarayonini tavsiflashingiz mumkin. UML siz uchun qanchalik foydali ekanligini shaxsan o'zingiz hal qilasiz, lekin uni batafsil o'qish uchun vaqt ajratish har qanday holatda ham foydali bo'ladi. Ushbu postning #Viacheslav inglizcha versiyasi: CodeGym-dagi UML diagrammasi Java

Izoh: Ushbu kursning mavzusi UML - Yagona modellashtirish tili. Oldingi ma’ruzada UML nima ekanligi, uning tarixi, maqsadi, tildan foydalanish usullari, ta’rifining tuzilishi, terminologiyasi va yozuvlari haqida so‘z yuritilgan edi. Ta'kidlanganidek, UML modeli diagrammalar to'plamidir. Ushbu ma'ruzada biz quyidagi savollarni ko'rib chiqamiz: nima uchun bir nechta turdagi diagrammalar kerak; diagramma turlari; OOP va diagrammalash ketma-ketligi

Ushbu ma'ruzaning asosiy materialini muhokama qilishga o'tishdan oldin, keling, nima uchun umuman biron bir diagramma qurishimiz kerakligi haqida gapiraylik. Har qanday tizimning modelini ishlab chiqish (nafaqat dasturiy ta'minot) har doim uni yaratish yoki yangilashdan oldin bo'ladi. Bu hech bo'lmaganda muammoni aniqroq tasavvur qilish uchun kerak. Yaxshi o'ylangan modellar ishlab chiquvchi guruh ichidagi o'zaro hamkorlik uchun ham, mijoz bilan o'zaro tushunish uchun ham juda muhimdir. Oxir oqibat, bu dizayn kodda amalga oshirilgunga qadar "arxitektura jihatdan izchil" bo'lishini ta'minlaydi.

Biz murakkab tizimlarning modellarini yaratamiz, chunki biz ularni to'liq tasvirlay olmaymiz, "ularga bir nazar tashlang". Shuning uchun biz tizimning faqat ma'lum bir vazifa uchun zarur bo'lgan xususiyatlarini ajratib ko'rsatamiz va uning ushbu xususiyatlarni aks ettiruvchi modelini yaratamiz. Ob'ektga yo'naltirilgan tahlil usuli haqiqiy murakkab tizimlarni eng adekvat tarzda tavsiflash imkonini beradi. Ammo tizimlarning murakkabligi oshgani sayin, yaxshi modellashtirish texnologiyasiga ehtiyoj paydo bo'ladi. Oldingi ma'ruzada aytganimizdek, birlashtirilgan modellashtirish tili(Unified Modeling Language, UML), bu tizimlarni belgilash, vizuallashtirish, loyihalash va hujjatlashtirish uchun grafik tildir. UML dan foydalanib, yaratilayotgan tizimning nafaqat uning kontseptsiyasini, balki uni amalga oshirishning o'ziga xos xususiyatlarini ham aks ettiruvchi batafsil modelini ishlab chiqishingiz mumkin. UML modeli doirasida tizim haqidagi barcha fikrlar diagrammalar deb ataladigan maxsus grafik tuzilmalar shaklida qayd etiladi.

Eslatma. Biz diagrammalarning barchasini emas, balki faqat ba'zi turlarini ko'rib chiqamiz. Masalan, komponent diagrammasi ushbu ma'ruzada yoritilmagan, bu faqat qisqacha ma'lumot diagramma turlari. Diagramma turlari soni maxsus model ilovalar hech qanday tarzda cheklanmagan. Uchun oddiy ilovalar istisnosiz barcha turdagi diagrammalarni qurishning hojati yo'q. Ulardan ba'zilari oddiygina etishmayotgan bo'lishi mumkin va bu fakt xato hisoblanmaydi. Muayyan turdagi diagrammalarning mavjudligi ma'lum bir loyihaning o'ziga xos xususiyatlariga bog'liqligini tushunish muhimdir. Boshqa turdagi diagrammalar haqida ma'lumotni (bu erda muhokama qilinmaydi) UML standartida topish mumkin.

Nima uchun sizga bir nechta turdagi diagrammalar kerak

Birinchidan, terminologiyani aniqlaymiz. Ushbu ma'ruzaning kirish qismida tizim, model va diagramma tushunchalaridan bir necha bor foydalandik. Muallif, har birimiz ushbu tushunchalarning ma'nosini intuitiv ravishda tushunishimizga ishonch hosil qiladi, ammo buni to'liq tushunish uchun keling, lug'atni yana bir bor ko'rib chiqamiz va quyidagilarni o'qib chiqamiz:

Tizim- umumiy maqsad bilan birlashtirilgan o'zaro bog'langan boshqariladigan quyi tizimlar to'plami.

Ha, juda ma'lumotli emas. Keyin quyi tizim nima? Vaziyatga oydinlik kiritish uchun klassikaga murojaat qilaylik:

Tizim muayyan maqsadga erishish uchun tashkil etilgan va turli nuqtai nazarlardan modellar to'plamidan foydalangan holda tasvirlangan quyi tizimlar to'plamiga ishora qiladi.

Xo'sh, siz hech narsa qila olmaysiz, quyi tizimning ta'rifini izlashingiz kerak bo'ladi. U erda ham shunday deyilgan quyi tizim elementlar to'plami bo'lib, ularning ba'zilari boshqa elementlarning xatti-harakatlarini belgilaydi. Ian Sommerville bu tushunchani quyidagicha izohlaydi:

Quyi tizim ishlashi boshqa quyi tizimlar xizmatlariga bog'liq bo'lmagan tizimdir. Dasturiy ta'minot tizimi nisbatan mustaqil quyi tizimlar yig'indisi sifatida tuzilgan. Quyi tizimlar o'rtasidagi o'zaro aloqalar ham aniqlanadi.

Bu ham juda aniq emas, lekin yaxshiroq. "Inson" tilida gapiradigan bo'lsak, tizim nisbatan o'zini o'zi ta'minlaydigan oddiyroq ob'ektlar to'plami sifatida ifodalanadi. Buni dasturni ishlab chiqish jarayonida qanday qilib yaratganimiz bilan solishtirish mumkin GUI standart "kublar" dan - vizual komponentlar yoki dastur matnining o'zi ham funktsionallik bilan birlashtirilgan pastki dasturlarni o'z ichiga olgan modullarga bo'lingan va ular keyingi dasturlarda qayta ishlatilishi mumkin.

Biz tizim tushunchasini tushunamiz. Loyihalash jarayonida tizim ko'rib chiqiladi turli nuqtai nazardan modellar yordamida, ularning turli ko'rinishlari diagrammalar shaklida namoyon bo'ladi. Shunga qaramay, o'quvchida tushunchalarning ma'nosi haqida savollar bo'lishi mumkin modellar Va diagrammalar. Bizning fikrimizcha, bu go'zal, ammo unchalik aniq emas modellar tizimning semantik jihatdan yopiq abstraktsiyasi sifatida Vaziyatga oydinlik kiritish qiyin, shuning uchun biz "o'z so'zimiz bilan" tushuntirishga harakat qilamiz.

Model- bu ma'lum (moddiy yoki yo'q) ob'ekt bo'lib, u berilgan vazifa uchun tizimning faqat eng muhim xususiyatlarini aks ettiradi. Modellar har xil - moddiy va nomoddiy, sun'iy va tabiiy, dekorativ va matematik...

Keling, bir nechta misollar keltiraylik. Hammamizga tanish bo'lgan, bolaligimizda hayajon bilan o'ynagan plastik o'yinchoq mashinalar bundan boshqa narsa emas. sun'iy dekorativ material haqiqiy avtomobil modeli. Albatta, bunday "mashinada" dvigatel yo'q, biz uning idishini benzin bilan to'ldirmaymiz va vites qutisi ishlamaydi (haqiqatan ham, vites qutisi umuman yo'q), lekin model sifatida bu o'yinchoq o'z vazifalarini to'liq bajaradi. : bu bolaga mashina haqida tasavvur beradi, chunki u o'ziga xos xususiyatlarni aks ettiradi: to'rtta g'ildirak, kuzov, eshiklar, derazalar, haydash qobiliyati va boshqalar.

Tibbiy tadqiqotlarda hayvonlarni tekshirish ko'pincha odamlarning klinik sinovlaridan oldin amalga oshiriladi. Bunday holda, hayvon shunday ishlaydi tabiiy material inson modellari.

Yuqorida tasvirlangan tenglama ham modeldir, lekin u matematik model bo'lib, u moddiy nuqtaning tortishish kuchi ta'sirida harakatini tasvirlaydi.

Qolgan narsa diagramma nima ekanligini aytishdir. Diagramma ko'p elementlarning grafik ko'rinishidir. Odatda cho'qqilar (ob'ektlar) va qirralari (aloqalar) bilan grafik sifatida tasvirlangan. Diagrammalarga ko'plab misollar mavjud. Bu barchamizga maktab yillaridan tanish bo'lgan blok diagramma va biz foydalanuvchi qo'llanmalarida ko'rishimiz mumkin bo'lgan turli xil uskunalarni o'rnatish sxemalari va diskdagi fayllar va kataloglar daraxti bo'lib, ularni bajarish orqali ko'rishimiz mumkin. Windows konsoli daraxt buyrug'i va yana ko'p narsalar. Kundalik hayotda diagrammalar bizni har tomondan o'rab oladi, chunki biz chizmalarni matndan ko'ra osonroq qabul qilamiz ...

Ammo keling, dasturiy ta'minot dizayniga qaytaylik (va boshqalar). Bu sanoatda bilan Diagrammalar tizimni turli nuqtai nazardan tasavvur qilish uchun ishlatilishi mumkin. Diagrammalardan biri, masalan, foydalanuvchining tizim bilan o'zaro ta'sirini tasvirlashi mumkin, boshqasi tizimning ishlashi davomida uning holatlarining o'zgarishini, uchinchisi tizim elementlarining bir-biri bilan o'zaro ta'sirini va hokazolarni tasvirlashi mumkin. Murakkab tizim kichik va deyarli mustaqil modellar - diagrammalar to'plami sifatida ko'rsatilishi mumkin va kerak, va ularning hech biri tizimni tavsiflash va uning to'liq tasavvurini olish uchun etarli emas, chunki ularning har biri tizim faoliyatining o'ziga xos tomoniga e'tibor qaratadi va ifodalaydi. boshqacha abstraksiya darajasi. Boshqacha qilib aytganda, har bir model ishlab chiqilgan tizim bo'yicha ma'lum, o'ziga xos nuqtai nazarga mos keladi.

Oldingi paragrafda biz model tushunchasiga juda erkin munosabatda bo'lganimizga qaramay, shuni tushunish kerakki, yuqoridagi ta'riflar kontekstida hech qanday individual diagramma model emas. Diagrammalar faqat modelni tasavvur qilish vositasidir va ikkita tushunchani farqlash kerak. Faqat diagrammalar to'plami tizim modelini tashkil qiladi va uni eng to'liq tavsiflaydi, lekin kontekstdan olingan bitta diagramma emas.

Diagramma turlari

UML 1.5 aniqlangan o'n ikkita diagramma turi, uch guruhga bo'lingan:

  • to'rt turdagi diagrammalar ilovaning statik tuzilishini ifodalaydi;
  • beshtasi tizimning xulq-atvor jihatlarini ifodalaydi;
  • uchtasi tizim faoliyatining jismoniy tomonlarini ifodalaydi (amalga oshirish sxemalari).

UML 2.1 ning joriy versiyasi juda ko'p o'zgarishlar kiritmagan. Diagrammalar tashqi ko'rinishida biroz o'zgardi (ramkalar va boshqa vizual yaxshilanishlar paydo bo'ldi), yozuv biroz yaxshilandi va ba'zi diagrammalar yangi nom oldi.

Biroq, aniq raqam kanonik diagrammalar biz uchun bu mutlaqo ahamiyatsiz, chunki biz ularning hammasini emas, balki faqat ba'zilarini ko'rib chiqamiz - ma'lum bir dasturning ma'lum bir modeli uchun diagramma turlarining soni qat'iy belgilanmaganligi sababli. Oddiy ilovalar uchun har bir diagrammani qurishning hojati yo'q. Masalan, mahalliy dastur uchun joylashtirish diagrammasini yaratish shart emas. Diagrammalar ro'yxati ishlab chiqilayotgan loyihaning o'ziga xos xususiyatlariga bog'liqligini va ishlab chiquvchining o'zi tomonidan belgilanishini tushunish muhimdir. Agar qiziquvchan o'quvchi hali ham barcha UML diagrammalari haqida bilishni istasa, biz uni UML standartiga havola qilamiz (http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML). Eslatib o‘tamiz, ushbu kursning maqsadi UML ning mutlaqo barcha imkoniyatlarini tasvirlash emas, balki faqat ushbu tilni tanishtirish va ushbu texnologiya haqida dastlabki tasavvurni berishdir.

Shunday qilib, biz diagrammalarning quyidagi turlarini qisqacha ko'rib chiqamiz:

  • foydalanish diagrammasi;
  • sinf diagrammasi;
  • ob'ekt diagrammasi;
  • ketma-ketlik diagrammasi;
  • o'zaro ta'sir diagrammasi;
  • holat diagrammasi;
  • faoliyat diagrammasi;
  • joylashtirish diagrammasi.

Ushbu diagrammalarning ba'zilari haqida keyingi ma'ruzalarda batafsilroq gaplashamiz. Hozircha biz tafsilotlarga e'tibor bermaymiz, lekin o'z oldimizga o'quvchini hech bo'lmaganda diagramma turlarini vizual ravishda ajratishga o'rgatish va diagrammalarning asosiy turlarining maqsadi haqida dastlabki tasavvurni berishni maqsad qilib qo'yamiz. Shunday ekan, boshlaylik.

Ish diagrammasidan foydalaning

Har qanday (shu jumladan dasturiy ta'minot) tizimlar, ularning ishlashi davomida ular odamlar tomonidan ishlatilishi va / yoki boshqa tizimlar bilan o'zaro ta'sir qilishini hisobga olgan holda ishlab chiqilgan. Tizimning ishlashi davomida o'zaro aloqada bo'lgan ob'ektlar deyiladi aktyorlar, va har bir aktyor tizimdan qat'iy belgilangan, bashorat qilinadigan tarzda o'zini tutishini kutadi. Keling, ektorga aniqroq ta'rif berishga harakat qilaylik. Buning uchun biz UML uchun ajoyib vizual lug'atdan foydalanamiz Zicom Mentor:

Ektor (aktyor)- bu pretsedentlar yoki ob'ektlar (tizim, quyi tizim yoki sinf) bilan o'zaro aloqada bo'lgan mantiqiy bog'liq rollar to'plami. Aktyor shaxs yoki ob'ektdan tashqaridagi biror narsani ifodalovchi boshqa tizim, quyi tizim yoki sinf bo'lishi mumkin.

Grafik jihatdan, aktyor ham tasvirlangan " kichkina odam", biz bolaligimizda chizgan narsalarimizga o'xshab, bizning oilamiz a'zolarini tasvirlagan yoki mos keladigan stereotipga ega sinf belgisi, rasmda ko'rsatilganidek. Tasvirning ikkala shakli ham bir xil ma'noga ega va diagrammalarda ishlatilishi mumkin. "Stereotip" shakli ko'proq tizim aktyorlarini ifodalash uchun yoki aktyorning xususiyatlariga ega bo'lgan va ular ko'rsatilishi kerak bo'lgan hollarda qo'llaniladi (2.1-rasm).

Diqqatli o'quvchi darhol so'rashi mumkin: nega aktyor emas, aktyor? Qo'shilamiz, "ektor" so'zi rus xalqining qulog'iga biroz qo'pol. Buni aytishimiz sababi oddiy - ektor so'zidan olingan harakat, degan ma'noni anglatadi harakat. "Ektor" so'zining so'zma-so'z tarjimasi aktyor- juda uzoq va foydalanish uchun noqulay. Shuning uchun biz shu tarzda gapirishda davom etamiz.


Guruch. 2.1.

Xuddi shu diqqatli o'quvchi ektor ta'rifi orqali "pretsedent" so'zini payqagan bo'lishi mumkin. Bu nima? Agar biz hozir gaplashayotganimizni eslasak, bu savol bizni yanada qiziqtiradi foydalanish diagrammasi. Shunday qilib,

Foydalanish holati- foydalanuvchi nuqtai nazaridan tizim xatti-harakatlarining alohida jihatining tavsifi (Butch).

Ta'rif juda aniq va keng qamrovli, ammo uni xuddi shu tarzda yanada aniqroq qilish mumkin Zicom Mentor"om:

Foydalanish holati- aktyor tomonidan kuzatilgan natijaga olib keladigan tizim tomonidan bajariladigan ketma-ket hodisalar (shu jumladan variantlar) to'plamining tavsifi. Foydalanish holati sub'ektning xatti-harakatlarini ifodalaydi, ishtirokchilar va tizim o'rtasidagi o'zaro ta'sirni tavsiflaydi. Foydalanish holati ma'lum bir natijaga "qanday qilib" erishilganligini ko'rsatmaydi, faqat "nima" amalga oshirilganligini ko'rsatmaydi.

Pretsedentlar juda oddiy tarzda - ellips shaklida belgilanadi, uning ichida uning nomi ko'rsatilgan. Foydalanish holatlari va aktyorlar chiziqlar yordamida ulanadi. Ko'pincha chiziqning bir uchida rasm chiziladi. 2.3

  • loyihalashtirilgan tizimning xatti-harakatlariga umumiy talablarni shakllantirish;
  • tizimni keyinchalik detallashtirish uchun kontseptual modelini ishlab chiqish;
  • mijozlar va tizim foydalanuvchilari bilan hamkorlik qilish uchun hujjatlarni tayyorlash.
  • 11.1. Yagona modellashtirish tilining tuzilishi

    Yagona modellashtirish tili (UML) hozirgi vaqtda ob'ektga yo'naltirilgan tizimlarni loyihalash va ishlab chiqish natijalarini tavsiflash (hujjatlashtirish) uchun amalda standart hisoblanadi. UML ning rivojlanishi 1994 yilda Rational Software kompaniyasida ishlagan Grady Booch va Jeyms Rumbaugh tomonidan boshlangan. 1995 yil kuzida Ivar Jeykobson ularga qo'shildi va o'sha yilning oktyabr oyida Yagona usulning 0,8 dastlabki versiyasi chiqdi. O'shandan beri UML spetsifikatsiyasining bir nechta versiyalari chiqarildi, ulardan ikkitasi xalqaro standart maqomiga ega:

    UML 1.4.2 - "ISO/IEC 19501:2005. Axborot texnologiyalari. Ochiq tarqatish jarayoni. Yagona modellashtirish tili (UML). Versiya 1.4.2" (inglizcha "Axborot texnologiyalari. Ochiq taqsimlangan ishlov berish. Birlashtirilgan modellashtirish tili (UML). Versiya 1.4.2");

    UML 2.4.1 - "ISO/IEC 19505-1:2012. Axborot texnologiyalari. Ob'ektlarni boshqarish guruhi birlashtirilgan modellashtirish tili (OMG UML). 1-qism. Infratuzilma" (ing. "Axborot texnologiyalari -- Ob'ektlarni boshqarish guruhi yagona modellash tili ( OMG)" UML) - 1-qism: Infratuzilma") va "ISO/IEC 19505-2:2012. Axborot texnologiyalari. Ob'ektlarni boshqarish guruhi Yagona modellashtirish tili (OMG UML). 2-qism. Yuqori tuzilma" (ing. "Axborot texnologiyalari -- Ob'ektlarni boshqarish guruhi" Birlashtirilgan modellashtirish tili (OMG UML) - 2-qism: Yuqori tuzilma").

    Eng soʻnggi rasmiy til spetsifikatsiyasini www.omg.org saytida topish mumkin.

    UML ning umumiy tuzilishi quyidagi rasmda ko'rsatilgan.

    Guruch. 11.1. UML tuzilishi

    11.2. UML semantikasi va sintaksisi

    Semantika - til birliklari, eng avvalo, uning soʻz va iboralari maʼnosini oʻrganuvchi tilshunoslik boʻlimi.

    Sintaksis – so‘zlar va ularning shakllarini so‘z birikmalari va gaplarga birlashtirish, gaplarni murakkab jumlalarga birlashtirish usullari, matnning bir qismi sifatida gaplar yaratish usullari.

    Shunday qilib, UML ga nisbatan semantika va sintaksis asosiy tushunchalarni (model elementlari) va ularni kengaytirish mexanizmlarini ifodalash uchun tabiiy va rasmiy tillarni birlashtirgan taqdimot uslubini (model qurish) belgilaydi.

    11.3. UML yozuvi

    Belgilanish - bu semantikaning vizual tasviri uchun grafik talqini.

    UML uchtasini belgilaydi ob'ekt turi :

    Strukturaviy - kontseptual yoki jismoniy ob'ektni aks ettiruvchi abstraksiya;

    Guruhlash - diagramma elementlarining qandaydir semantik birikmasi uchun ishlatiladigan element;

    Tushuntirish (annotativ) - diagramma elementiga sharh.

    Quyidagi jadval ko'rsatilgan qisqa Tasvir grafik belgilarda qo'llaniladigan asosiy ob'ektlar va ularni aks ettirishning asosiy usullari.

    11.1-jadval. Ob'ektlar

    Turi Ism Belgilanish Ta'rif (semantika)
    Strukturaviy
    (sinf)
    Ko'p ob'ektlar mavjud umumiy tuzilishi va xulq-atvor

    (ob'ekt)
    Aniq belgilangan kontseptual chegaralari, shaxsiyati, holati va xatti-harakati bilan haqiqiy yoki xayoliy mavjudotning mavhumligi. UML nuqtai nazaridan, ob'ektlar sinfning namunalari (ob'ekt misollari)

    (aktyor)

    Muhandis
    yo'l xizmatlari
    Tizim bilan o'zaro aloqada bo'lgan va undan foydalanadigan tizimdan tashqari ob'ekt funksionallik muayyan maqsadlarga erishish yoki muayyan muammolarni hal qilish. Shunday qilib, aktyor tashqi manba yoki axborot qabul qiluvchisi

    (foydalanish holati)
    Aktyor uchun muhim natijaga olib keladigan tizim tomonidan bajariladigan harakatlarning tavsifi

    (shtat)
    Biror bir shartni qondiradigan, biron bir faoliyatni amalga oshiradigan yoki biron bir voqea sodir bo'lishini kutadigan mavjudot hayotidagi bir lahzaning tavsifi.
    Hamkorlik
    (hamkorlik)
    Muayyan muammoni hal qilish jarayonida aktyorlar, ob'ektlar va ularning o'zaro ta'siri misollari to'plamining tavsifi

    (komponent)
    Tizimning jismoniy qismi (fayl), shu jumladan izchil interfeyslar to'plamini amalga oshirishni ta'minlaydigan tizim modullari

    (interfeys)

    iCalculation
    Sinf yoki komponent tomonidan taqdim etiladigan xizmatni (xizmatlar to'plamini) belgilaydigan operatsiyalar to'plami

    (tugun)
    Muammoni hal qilish uchun resurslarni ta'minlaydigan tizimning jismoniy qismi (kompyuter, printer va boshqalar).
    Guruhlash
    (paket)
    Elementlarni guruhlashning umumiy mexanizmi.
    Komponentdan farqli o'laroq, paket sof konseptual (mavhum) tushunchadir. Paketning alohida holatlari tizim va modeldir

    (parcha)
    Aktyor misollari va ob'ektlari o'rtasidagi o'ziga xos o'zaro ta'sir doirasi

    (faoliyat bo'limi)
    Bitta ob'ekt (aktyor, ob'ekt, komponent, tugun va boshqalar) tomonidan amalga oshiriladigan operatsiyalar guruhi (mas'uliyat sohasi).

    (uzilish mumkin bo'lgan faoliyat hududi)
    Oddiy bajarilish ketma-ketligi g'ayrioddiy vaziyatning yuzaga kelishi natijasida uzilishi mumkin bo'lgan operatsiyalar guruhi
    Tushuntirish Eslatma
    (sharh)
    Element uchun sharh. Sharhlangan elementga chiziqli chiziq bilan biriktiriladi

    Ba'zi manbalar, xususan, [,], shuningdek, xulq-atvor sub'ektlarini aniqlaydi o'zaro ta'sir Va chekli holat mashinalari, lekin mantiqiy nuqtai nazardan ular diagrammalar sifatida tasniflanishi kerak.

    Yuqoridagi ob'ektlarning ba'zilari ularni nazarda tutadi batafsil tavsif parchalanish diagrammalarida. Yuqori darajadagi diagrammada ular maxsus belgi yoki yorliq bilan belgilanadi.

    Quyidagi jadvalda barcha turlarning tavsifi keltirilgan munosabatlar UML diagrammalarda ob'ektlar o'rtasidagi munosabatlarni ko'rsatish uchun ishlatiladi.

    11.3-jadval. Aloqa

    Ism Belgilanish Ta'rif (semantika)
    Uyushma Munosabatni tavsiflash mazmunli aloqa ikki yoki undan ortiq ob'ektlar o'rtasida. Ko'pchilik umumiy shakl munosabat
    Birlashtirish "Qism" - "butun" munosabatni tavsiflovchi assotsiatsiyaning kichik turi, unda "qism" "butun" dan alohida mavjud bo'lishi mumkin. Romb "butun" tomondan ko'rsatilgan. Aloqa faqat bir xil turdagi ob'ektlar o'rtasida belgilanadi
    Tarkibi "Qismlar" "butun" dan alohida mavjud bo'lolmaydigan yig'ishning kichik turi. Qoida tariqasida, "qismlar" "butun" bilan bir vaqtda yaratiladi va yo'q qilinadi.
    Tobelik Bir ob'ektning (mustaqil) o'zgarishi boshqa ob'ektning (qaram) holatiga yoki xatti-harakatlariga ta'sir qilishi mumkin bo'lgan ikki ob'ekt o'rtasidagi munosabatlar. Ok tomoni mustaqil ob'ektni ko'rsatadi
    Umumlashtirish Umumlashtirilgan shaxs (ajdod, ota-ona) va ixtisoslashgan shaxs (avlod, qiz) o'rtasidagi munosabatlar. Uchburchak ota-ona tomonidan ko'rsatilgan. Aloqa faqat bir xil turdagi ob'ektlar o'rtasida belgilanadi
    Amalga oshirish Bir tashkilot boshqa tashkilot bajarish majburiyatini olgan harakatni belgilaydigan sub'ektlar o'rtasidagi munosabatlar. Aloqalar ikki holatda qo'llaniladi: interfeyslar va sinflar (yoki komponentlar), foydalanish holatlari va hamkorlik o'rtasida. Ok tomoni harakatni belgilaydigan ob'ektni ko'rsatadi (interfeys yoki foydalanish holati)

    Assotsiatsiya uchun yig'ish va tarkibni belgilash mumkin ko'plik (eng. multiplicity), munosabatlarda ishtirok etuvchi sub'ektlarning umumiy sonini tavsiflovchi. Odatda, tegishli ob'ekt yaqinidagi munosabatlarning har bir tomonida ko'rsatiladi. Ko'plikni quyidagi yo'llar bilan ko'rsatish mumkin:

    - * – nusxalarning istalgan soni, shu jumladan, hech biri;

    manfiy bo'lmagan butun son - ko'plik qat'iy belgilangan va belgilangan raqamga teng (masalan: 1, 2 yoki 5);

    "Birinchi raqam.. ikkinchi raqam" manfiy bo'lmagan butun sonlar diapazoni (masalan: 1..5, 2..10 yoki 0..5);

    Muayyan boshlang'ich qiymatdan ixtiyoriy yakuniy "birinchi raqam.. *" gacha bo'lgan raqamlar oralig'i (masalan: 1..*, 5..* yoki 0..*);

    Vergul bilan ajratilgan manfiy bo'lmagan butun sonlar va diapazonlar ro'yxati (masalan: 1, 3..5, 10, 15..*).

    Agar ko'plik ko'rsatilmagan bo'lsa, u holda uning qiymati 1 ga teng deb qabul qilinadi. Bog'liqlik, umumlashtirish va amalga oshirishda ishtirok etuvchi shaxs misollarining ko'pligi har doim 1 ga teng deb qabul qilinadi.

    Quyidagi jadvalda tavsif berilgan kengaytirish mexanizmlari , ob'ektlar va munosabatlarning semantikasini aniqlashtirish uchun ishlatiladi. Umuman olganda, kengaytirish mexanizmi qavs yoki tirnoq ichiga olingan matn qatoridir.

    11.4-jadval. Kengayish mexanizmlari

    Ism Belgilanish Ta'rif (semantika)
    Stereotip
    (stereotip)
    « » Belgilanish elementining semantikasini aniqlaydigan belgi (masalan: “include” stereotipiga ega bo‘lgan bog‘liqlik inklyuziya munosabati, “chegara” stereotipiga ega bo‘lgan sinf esa chegara sinfi hisoblanadi)
    Qo'riqchi holati
    (qo'riqlash holati)
    Mantiqiy shart (masalan: yoki [identifikatsiya tugallangan])
    Cheklash
    (cheklov)
    { } Model elementining semantikasini cheklovchi qoida (masalan, (bajarish vaqti 10 ms dan kam))
    Belgilangan qiymat
    (belgilangan qiymat)
    { } Belgilash elementining yangi yoki aniqlovchi xususiyati (masalan: (versiya = 3.2))

    Qo'shtirnoq ichidagi matn qatori sifatida ko'rsatilgan stereotiplardan tashqari, diagrammalarda grafik stereotiplardan foydalanish mumkin. Quyidagi rasmda standart va stereotipik displey misollari ko'rsatilgan.

    a) standart belgi b) standart belgi
    matn stereotipi bilan
    c) grafik stereotip

    Guruch. 11.2. Standart va stereotipik sinfni ko'rsatishga misollar

    Diagramma ishlab chiqilgan ba'zi jihatlarni ko'rsatish uchun notatsiya elementlari guruhini ifodalaydi axborot tizimi. Diagrammalar odatda bog'langan grafik bo'lib, unda ob'ektlar cho'qqilar va munosabatlar yoylardir. Quyidagi jadvalda keltirilgan ning qisqacha tavsifi UML diagrammasi.

    11.5-jadval. Diagrammalar

    Diagramma Maqsad
    jismoniy amalga oshirish darajasiga ko'ra dinamikani ko'rsatish orqali ko'rsatilgan jihati bo'yicha

    (foydalanish holati)
    Tizim funktsiyalarini, aktyorlar va funktsiyalar o'rtasidagi o'zaro ta'sirlarni ko'rsatadi Mantiqiy Statik Funktsional

    (sinf)
    Sinflar, interfeyslar va ular orasidagi munosabatlar to'plamini ko'rsatadi Mantiqiy yoki
    jismoniy
    Statik Funktsional va axborot

    (paket)
    Paketlar to'plamini va ular orasidagi munosabatlarni ko'rsatadi Mantiqiy yoki
    jismoniy
    Statik Komponent
    Xulq-atvor
    (xulq-atvor)

    (davlat mashinasi)
    Ob'ektning holatini va uning hayot aylanishi davomida ular orasidagi o'tishlarni ko'rsatadi Mantiqiy Dinamik Xulq-atvor

    (faoliyat)
    Tizimdagi biznes jarayonlarini ko'rsatadi (xulq-atvor algoritmlarining tavsifi)
    O'zaro ta'sirlar
    (o'zaro ta'sir)

    (ketma-ketlik)
    Ob'ektlar va aktyorlar o'rtasidagi xabarlar ketma-ketligini ko'rsatadi

    (aloqa)
    Ketma-ketlik diagrammasiga o'xshash, lekin asosiy e'tibor ob'ektlar orasidagi o'zaro ta'sirlarning tuzilishiga qaratilgan
    Amalga oshirish
    (amalga oshirish)

    (komponent)
    Tizim komponentlarini (dasturlar, kutubxonalar, jadvallar va boshqalar) va ular orasidagi aloqalarni ko'rsatadi Jismoniy Statik Komponent

    (joylashtirish)
    Tarmoq tugunlarida komponentlarning joylashishini, shuningdek uning konfiguratsiyasini ko'rsatadi

    UML 2.x standarti qo'shimcha, yuqori darajada ixtisoslashgan diagrammalarni ham belgilaydi:

    Ob'ekt diagrammasi - o'xshash, lekin sinflar o'rniga ob'ektlar ko'rsatiladi;

    Vaqt diagrammasi - ob'ektning vaqt ichida holatini tavsiflaydi;

    Kompozit tuzilma diagrammasi - boshqa sinflar bilan o'zaro ta'sir qilish uchun sinfning portlarini (shu jumladan interfeyslarni) tavsiflaydi;

    Profil diagrammasi - ularga kiritilgan sinflarning tavsifi bilan o'xshash;

    O'zaro ta'sirning umumiy diagrammasi - shunga o'xshash, ammo yashirin o'zaro ta'sir fragmentlari (ref bilan belgilangan bo'laklar). Kontekstual (kontseptual) ni ifodalaydi, uning elementlari alohida parchalanish diagrammalarida ko'rsatiladi.

    Tizimning ichki arxitekturasini kengaytirilgan kontseptual ko'rinishda ko'rsatish maqsadida, konstruktsiyalarning ko'pchiligi deb ataladigan narsalar uchun o'rnatilgan grafik stereotiplardan foydalanishga imkon beradi. Bunday diagramma 1 deb ataladi, lekin UML standarti tomonidan belgilangan diagrammalar ro'yxatiga kirmaydi.

    Tizimning alohida modelini ishlab chiqishda bir nechta turdagi diagrammalar quriladi. Bundan tashqari, murakkab tizim modelini ishlab chiqishda, qoida tariqasida, bir xil turdagi bir nechta diagrammalar tuziladi. Shu bilan birga, agar kerak bo'lmasa, alohida diagramma turlarini yaratishingiz shart emas. Masalan, diagrammalar va ular bir-birini almashtiradi, ular faqat murakkab xatti-harakatlarga ega ob'ektlar uchun qurilgan. Quyidagi jadvalda tizim modellari uchun diagrammalarni ishlab chiqish (aniqlashtirish) zarurligi bo'yicha tavsiyalar keltirilgan.

    11.6-jadval. Modellar va diagrammalar o'rtasidagi bog'liqlik

    Quyidagi jadvalda sinov modeli ko'rsatilmagan, chunki uning qurilishi doirasida diagrammalar ishlab chiqilmagan, ammo to'liqlik va izchillik tekshiriladi (sinovdan o'tkaziladi).

    Qurilishdan keyin ba'zi diagrammalar keyingi modelni ishlab chiqishning bir qismi sifatida ishlab chiqish va aniqlashtirishni talab qiladi ( texnologik jarayon). Shunday qilib, masalan, rivojlanish jarayonida ular aniqlanishi kerak. Modellarda.

    4. «» tushunchasiga ta’rif bering.