uy - Noutbuklar
Uml diagrammalarining maqsadi tasniflash xususiyatlari. UML modellashtirish

Bitta ob'ektning hayoti davomida, ob'ektni yaratishdan tortib, uni yo'q qilishgacha bo'lgan xatti-harakatlarini ko'rsating. Har bir holat diagrammasi ba'zi avtomatlarni ifodalaydi.

Harakat rejasi

Tavsif bo'limida diagrammalarni o'qish uchun zarur bo'lgan davlat diagrammasi belgilarining asosiy to'plamini o'rganing.

Boshqa bo'limlarni (Misol, Ilova) o'qib chiqqandan so'ng, siz o'zingizni holat diagrammalarini yaratishda o'zingizni sinab ko'rishingiz mumkin.

Eslatmalar (tavsif)

Bu erda asosiy belgilar to'plami davlat diagrammalari, diagrammani o'qiy olish uchun zarur. Boshqa bo'limlarni o'qib chiqqandan so'ng ("Misol", "Ilova") siz yozishingiz mumkin bo'ladi davlat diagrammalari o'z-o'zidan!

Muddati Rasm Tavsif
Dastlabki psevdostat Tizimning dastlabki holati
O'tish O'tish bir holatdan ikkinchisiga o'tishni anglatadi.
Davlat Tizim tomonidan bajariladigan harakatlarni aniqlaydi (o'z ichiga olishi mumkin mumkin bo'lgan variantlar), aktyorlar tomonidan kuzatiladigan natijalarga olib keladi.
Davlat
faoliyat holati
Pretsedentdagi qiyin qadam boshqa pretsedent bilan ifodalanishi mumkin.
UML so'zlari bilan aytganda, birinchi foydalanish holati ikkinchisini o'z ichiga oladi.
Yakuniy holat Tizimlar yoki quyi tizimlar chegaralarini aniqlash imkonini beradi.
Ichki faoliyat Davlatlarning hodisalarga o'tishsiz munosabat bildirishi mumkin bo'lgan holat, bu holda hodisa, himoya va faoliyat holat to'rtburchagi ichiga joylashtiriladi.
Kirish faoliyati Kirish faoliyati har bir holatga kirganingizda bajariladi
Chiqarish faoliyati Chiqish faoliyati - Shtatni tark etganingizda amalga oshiriladi.
Superstate
Ko'pincha bir nechta shtatlarda umumiy o'tish va ichki faoliyat mavjud. Bunday hollarda ular substatlarga aylantirilishi mumkin va umumiy xatti-harakat super davlatga o'tkazilishi mumkin.
Parallel holatlar
Shtatlarni bir vaqtning o'zida ishlaydigan bir nechta parallel holatlarga bo'lish mumkin.

Ijodkorlik texnikasidan qanday foydalanish kerak

UML davlat diagrammalari bir nechta foydalanish holatlarida bitta ob'ektning harakatini tavsiflash uchun yaxshi. Ammo ular ko'plab ob'ektlarning o'zaro ta'siri bilan tavsiflangan xatti-harakatlarni tavsiflash uchun juda mos kelmaydi. Shuning uchun, davlat diagrammalari bilan birgalikda boshqa texnologiyalardan foydalanish mantiqan. Masalan, o'zaro ta'sir diagrammalari (4-bo'lim) bitta foydalanish holatida bir nechta ob'ektlarning xatti-harakatlarini tasvirlash uchun ajoyib ishni bajaradi va UML faoliyat diagrammalari bir nechta foydalanish holatlarida bir nechta ob'ektlarning asosiy harakatlar ketma-ketligini ko'rsatish uchun yaxshi.

Hamma ham holat diagrammalarini tabiiy deb hisoblamaydi. Mutaxassislar ular bilan qanday ishlashini ko'ring. Sizning jamoangiz a'zolari davlat jadvallarini ish uslubiga to'g'ri kelmaydi deb o'ylashlari mumkin. Bu eng katta qiyinchilik emas; turli xil ish uslublarini birgalikda qo'llashni unutmasligingiz kerak.

Agar siz holat diagrammalaridan foydalansangiz, ularni tizimning har bir sinfi uchun chizishga urinmang. Ushbu yondashuv ko'pincha rasmiy ravishda qat'iy to'liqlik maqsadida qo'llaniladi, ammo bu deyarli har doim kuch sarflashdir. Holat jadvallarini faqat qiziqarli xatti-harakatlarni ko'rsatadigan sinflar uchun foydalaning, bunda holat jadvalini chizish voqealar qanday sodir bo'lishini tushunishga yordam beradi.

Ko'pgina mutaxassislar bunga ishonishadi UI muharriri va boshqaruv ob'ektlari holat diagrammasi yordamida ko'rsatilganda foydali bo'lgan funksiyalarga ega.

Qanday o'rganish kerak

Bu erda biz o'rganishning iloji boricha sodda usulini taqdim etishga harakat qildik UML holat diagrammasi.

Ko'pgina boshqa tillar singari, u tavsiflash uchun belgilar to'plamidan foydalanadi. Ushbu belgilarning ma'nosini "Eslatmalar (tavsif)" bo'limidagi jadvalda topish mumkin. Har bir belgining o'z nomi (terminasi) va imlosi mavjud. Shuningdek, har bir atama uning asosiy mohiyatini tezda tushunish uchun qisqacha tushuntirish bilan ta'minlanadi.

Keyinchalik, "Misollar" bo'limiga o'tishni tavsiya qilamiz davlat diagrammalari turli diagrammalarni o'qishda qo'lingizni sinab ko'ring. Keyin "Ilova" bo'limini o'rganishga arziydi, chunki UML-da diagramma turlarining soni oz bo'lsa-da, siz ulardan foydalanishdan maksimal foyda olishingiz mumkin, agar siz tegishli diagrammalardan maqsadga muvofiq foydalansangizgina.

Foydalanish misoli

Davlat mashina diagrammalari tizimning xatti-harakatlarini tavsiflashning mashhur texnologiyasidir. Holat diagrammalari u yoki bu shaklda 1960 yildan beri mavjud bo'lib, ob'ektga yo'naltirilgan dasturlashning dastlabki kunlarida ular tizimning xatti-harakatlarini ifodalash uchun ishlatilgan. Ob'ektga yo'naltirilgan yondashuvlarda siz bitta ob'ektning ishlash muddati davomida harakatini ko'rsatish uchun bitta sinfning holat diagrammasini chizasiz.

Cheklangan holat mashinalari haqida yozilgan bo'lsa, misollar muqarrar ravishda kruiz nazorati tizimlari yoki savdo avtomatlarini o'z ichiga oladi.
Biz Gothic qal'asida maxfiy boshqaruv paneli boshqaruvchisidan foydalanishga qaror qildik. Bu qasrda biz xazinalarimizni topish qiyin bo'lishi uchun yashirishni xohlaymiz. Seyfning qulfiga kirish uchun qandildan strategik shamni olib tashlashimiz kerak, lekin qulf faqat eshik yopiq bo'lsa paydo bo'ladi. Qulf paydo bo'lgandan so'ng, biz unga kalitni kiritishimiz va seyfni ochishimiz mumkin. Qo'shimcha xavfsizlik uchun biz uni shunday qildikki, seyf faqat sham olib tashlanganidan keyin ochilishi mumkin. Agar o'g'ri bu ehtiyot chorasiga e'tibor bermasa, biz o'g'rini yutib yuboradigan jirkanch yirtqich hayvonni qo'yib yuboramiz.

Shaklda. 10.1 ko'rsatilgan holat diagrammasi mening ajoyib xavfsizlik tizimini boshqaradigan nazoratchi sinf. Holat diagrammasi yaratilayotgan kontroller obyektining holatidan boshlanadi: holat Kutmoq. Bu tomonidan diagrammada ko'rsatilgan boshlang'ich psevdostat, bu holat emas, lekin boshlang'ich holatga ishora qiluvchi o'qga ega.
Diagramma shuni ko'rsatadiki, boshqaruvchi uchta holatdan birida bo'lishi mumkin: Kuting, qulflang va oching. Diagramma, shuningdek, boshqaruvchining bir holatdan ikkinchisiga o'tish qoidalarini ham ko'rsatadi. Ushbu qoidalar o'tish shaklida taqdim etilgan - holatlarni bog'laydigan chiziqlar.

O'tish bir holatdan ikkinchisiga o'tishni anglatadi. Har bir o'tishning o'z yorlig'i bor, u uch qismdan iborat:
trigger-imzo/faoliyat. Ularning barchasi ixtiyoriy. Qoida sifatida, trigger-id holatning o'zgarishiga olib kelishi mumkin bo'lgan yagona hodisadir.

Qo'riqchi, agar ko'rsatilgan bo'lsa, o'tishning amalga oshirilishi uchun qondirilishi kerak bo'lgan mantiqiy shart. Faoliyat - bu o'tish paytida tizimning ba'zi xatti-harakatlari. Bu har qanday xatti-harakat ifodasi bo'lishi mumkin. ID triggerining to'liq shakli bir nechta hodisa va parametrlarni o'z ichiga olishi mumkin. Kutish holatidan (10.1-rasm) boshqa holatga o'tishni "Kutish holatida, agar sham o'chirilgan bo'lsa, siz qulfni ko'rasiz va Qulflash holatiga o'tasiz" deb o'qilishi mumkin.

O'tish tavsifining barcha uch qismi ixtiyoriydir. Faoliyatni o'tkazib yuborish o'tish paytida hech narsa sodir bo'lmasligini anglatadi. Skip qalqonlari, agar tetik hodisasi yuzaga kelsa, o'tish har doim amalga oshirilishini anglatadi. Trigger identifikatori kamdan-kam hollarda yo'qoladi, lekin bu sodir bo'ladi. Bu shuni anglatadiki, o'tish darhol sodir bo'ladi, bu asosan faol holatlarda kuzatilishi mumkin.

Hodisa ma'lum bir holatda sodir bo'lganda, bu holatdan faqat bitta o'tish mumkin, masalan, Qulflash holatida (10.1-rasm), himoyalanishlar bir-birini istisno qilishi kerak. Agar voqea sodir bo'lsa, lekin ruxsat etilgan o'tishlar bo'lmasa - masalan, Kutish holatida seyfni yopish yoki shamni olib tashlash ochiq eshik, – hodisa hisobga olinmaydi.

Yakuniy holat ( yakuniy holat) davlat mashinasi ishlay boshlaganini bildiradi, bu esa boshqaruvchi ob'ektni o'chirishga olib keladi. Shunday qilib, tuzoqqa tushib qolish uchun etarlicha beparvo bo'lganlar uchun, boshqaruvchi ob'ekt mavjud bo'lishni to'xtatganligi sababli, biz quyonni qafasga qaytarishga, polni tozalashga va tizimni qayta ishga tushirishga majburmiz.

Esda tutingki, davlat mashinalari faqat bevosita kuzatilgan yoki harakat qilinadigan ob'ektlarni ko'rsatishi mumkin. Eshik ochiq bo'lganida seyfga biror narsa qo'yishimiz yoki olib tashlashimizni kutishingiz mumkin bo'lsa-da, biz buni diagrammada belgilamadik, chunki kontroller bu haqda bizga hech narsa aytolmaydi.

Ishlab chiquvchilar ob'ektlar haqida gapirganda, ular ko'pincha ob'ektlarning holatiga murojaat qiladilar, ya'ni ob'ektlar maydonlaridagi barcha ma'lumotlarning kombinatsiyasini anglatadi. Biroq, holat mashinasi diagrammasidagi holat holatning mavhumroq tushunchasidir; Gap shundaki, turli davlatlar nazarda tutadi turli yo'llar bilan hodisalarga reaktsiyalar.

Davlat jadvalidagi ichki faoliyat

Davlatlar yordamida o'tishni amalga oshirmasdan hodisalarga munosabat bildirishlari mumkin ichki faoliyat (ichki faoliyat), bu holda hodisa, himoya va faoliyat davlat to'rtburchaklar ichiga joylashtiriladi.

Shaklda. 10.2 siz kuzatishingiz mumkin bo'lgan ichki belgilar faoliyati va yordam tizimi hodisalari bilan holatni ko'rsatadi matn maydonlari muharrir UI. Ichki faoliyat o'z-o'zidan o'tishga o'xshaydi - xuddi shu holatga qaytadigan o'tish. Ichki faoliyat sintaksisi voqealar, himoya va protseduralarning bir xil mantiqiy sxemasiga muvofiq qurilgan.

Shaklda. 10.2, shuningdek, maxsus tadbirlarni ko'rsatadi: kirish va chiqish faoliyati. Kirish faoliyati har bir davlatga kirganingizda bajariladi; chiqish faoliyati- davlatni tark etganingizda. Biroq, ichki faoliyat boshlanmaydi kirish va chiqish faoliyati; bu orasidagi farq ichki faoliyat vao'z-o'zidan o'tishlar .

Holat diagrammasidagi faoliyat holatlari

Biz hozirgacha tasvirlab bergan shtatlarda ob'ekt jim turadi va biror narsa qilishdan oldin keyingi voqeani kutadi. Shu bilan birga, ob'ekt qandaydir faollikni namoyon qiladigan holatlar mumkin.

Davlat Qidirilmoqda rasmda. 10.3 - shunday holat faoliyat holati: davom etayotgan faoliyat belgi bilan ko'rsatiladi qil/; shuning uchun atama qilish faoliyati (faol bo'ling). Qidiruv tugagandan so'ng, o'tishlar yangi jihozlarni ko'rsatish kabi faolliksiz amalga oshiriladi (Yangi uskunani ko'rsatish). Agar faoliyat davomida bekor qilish hodisasi yuz bersa ( bekor qilish), Bu qilish faoliyati faqat xalaqit beradi va biz davlatga qaytamiz Uskunani yangilash oynasi.

Do-faoliyat ham, oddiy harakatlar ham qandaydir xatti-harakatlarning namoyon bo'lishini anglatadi. Ikkala o'rtasidagi muhim farq shundaki, oddiy harakatlar "bir zumda" sodir bo'ladi va oddiy hodisalar bilan to'xtatilmaydi, 1-rasmda ko'rsatilganidek, harakatlar biroz cheklangan vaqt davomida bajarilishi va to'xtatilishi mumkin. 10.3. Instantaneity turli tizimlar uchun turlicha talqin qilinadi; real vaqt tizimlari uchun bu bir nechta mashina ko'rsatmalarini olishi mumkin va ish stoli dasturiy ta'minoti uchun bir necha soniya vaqt olishi mumkin.

IN UML 1 oddiy faoliyat atama bilan belgilandi harakat(harakat) va atama faoliyat(faoliyat) faqat uchun ishlatilgan harakatlar.

Superdavlatlar

Ko'pincha bir nechta shtatlarda umumiy o'tish va ichki faoliyat mavjud. Bunday hollarda, ular substatlarga aylantirilishi mumkin va umumiy xatti-harakat, rasmda ko'rsatilganidek, super davlatga o'tkazilishi mumkin. 10.4. Superdavlat bo'lmasa, biz o'tishni chizishimiz kerak edi bekor qilish(bekor qilish) shtat ichidagi barcha uchta shtat uchun Ulanish tafsilotlarini kiriting.

Parallel holatlar

Shtatlarni bir vaqtning o'zida ishlaydigan bir nechta parallel holatlarga bo'lish mumkin. Shaklda. 10.5-rasmda CD yoki radioni yoqadigan va joriy vaqtni yoki budilnik vaqtini ko'rsatadigan oddiy uyg'otuvchi soat ko'rsatilgan.

CD/Radio va Joriy vaqt/ Signal vaqti parametrlari parallel. Agar siz buni parallel bo'lmagan holat diagrammasi yordamida ifodalamoqchi bo'lsangiz, holatlar qo'shishingiz kerak bo'lganda tartibsiz diagramma bilan yakunlanasiz. Xulq-atvorning ikkita sohasini ikkita holat diagrammasiga ajratish uni yanada aniqroq qiladi.

Guruch. 10.5 ham o'z ichiga oladi tarixdan oldingi holat(tarix psevdostati). Bu shuni anglatadiki, soat yoqilganda, radio/CD opsiyasi soat o'chirilgan paytdagi holatga o'tadi. Tarixdan oldingi strelka tarixdan oldingi davr bo'lmaganda dastlab qanday davlat mavjud bo'lganligini ko'rsatadi.

Davlat diagrammalarini amalga oshirish

Holat diagrammasi uchta asosiy usulda amalga oshirilishi mumkin: ichki o'zgartirish bayonoti, holat namunasi va holat jadvali yordamida. Davlat diagrammalari bilan ishlashning eng to'g'ridan-to'g'ri yondashuvi - rasmdagi kabi ichki o'zgartirish bayonoti. 10.6.

Garchi bu usul oddiy bo'lsa-da, bu oddiy holat uchun ham juda uzoq. Bundan tashqari, ushbu yondashuv bilan nazoratni yo'qotish juda oson, shuning uchun biz uni elementar holatlarda ham ishlatishni tavsiya etmaymiz.
Shtat namunasi davlat xatti-harakatlarini boshqarish uchun davlat sinflarining ierarxiyasini ifodalaydi. Holat diagrammasidagi har bir holat o‘ziga xos holat kichik sinfiga ega. Nazoratchi har bir hodisa uchun oddiygina holat sinfiga yo'naltiruvchi usullarga ega. Shaklda ko'rsatilgan holat diagrammasi. 10.1-rasmda keltirilgan sinflar yordamida amalga oshirilishi mumkin. 10.7.

Ierarxiyaning yuqori qismi mavhum sinf bo'lib, u hodisalarni qayta ishlaydigan barcha usullarning tavsifini o'z ichiga oladi, lekin amalga oshirilmaydi.
Har bir aniq holat uchun holatdan o'tishni boshlaydigan muayyan hodisa uchun ishlov beruvchi usulini qayta yozish kifoya.
Holat jadvali holat diagrammasini ma'lumotlar sifatida ifodalaydi.

Shunday qilib, rasmdagi diagramma. 10.1 jadval shaklida taqdim etilishi mumkin. 10.1.
Keyin biz ish vaqti holati jadvalidan foydalanadigan tarjimon yoki ushbu jadvaldan sinflarni yaratuvchi kod generatorini quramiz.

Shubhasiz, shtat jadvalidagi ishlarning aksariyati bir marta amalga oshiriladi, ammo undan keyin davlat muammosini hal qilish kerak bo'lganda foydalanish mumkin. Ish vaqti holati jadvalini qayta kompilyatsiya qilmasdan o'zgartirish mumkin, bu biroz qulay. Davlat shablonini yig'ish osonroq va har bir davlat alohida sinfni talab qilsa-da, yozilishi kerak bo'lgan kod miqdori juda kichik.

Ko'rsatilgan ilovalar deyarli minimal, ammo ular qanday foydalanish haqida fikr beradi davlat diagrammalari. Har bir holatda, davlat modellarini amalga oshirish juda stereotipik dasturga olib keladi, shuning uchun odatda bunga erishish uchun kod ishlab chiqarishning qandaydir shakllariga murojaat qilish yaxshiroqdir.

Sayt yangiliklariga obuna bo'ling, obuna shaklini saytning o'ng ustunidan topishingiz mumkin.

Agar siz frilanser sifatida professional tarzda ishlashni o'rganmoqchi bo'lsangiz, sizni "" kursiga taklif qilamiz.

        Unified Modeling Language (UML) spetsifikatsiya, vizualizatsiya, dizayn va hujjatlar uchun tildir. dasturiy ta'minot tizimlari, shuningdek, biznes modellari va boshqa dasturiy ta'minot bo'lmagan tizimlar. UML - bu katta va murakkab tizimlarni modellashtirish uchun ilgari muvaffaqiyatli qo'llanilgan muhandislik texnikasining kombinatsiyasi

        UML yaratuvchilari uni dasturiy tizimlar, biznes tizimlari va turli xarakterdagi boshqa tizimlarni aniqlash, taqdim etish, loyihalash va hujjatlashtirish uchun til sifatida taqdim etadilar. UML notation va metamodelni belgilaydi. Notation - bu modellarda qo'llaniladigan grafik ob'ektlar to'plami; bu modellashtirish tilining sintaksisidir.

        UML yaratish uchun ekspressiv vositalarni taqdim etadi vizual modellar, qaysi:

  • loyihada ishtirok etgan barcha ishlab chiquvchilar tomonidan bir xilda tushuniladi;
  • loyiha doirasidagi aloqa vositasidir.

        Birlashtirilgan modellashtirish tili (UML):

  • ob'ektga yo'naltirilgan (OO) dasturlash tillariga bog'liq emas;
  • foydalaniladigan loyihani ishlab chiqish metodologiyasiga bog'liq emas;
  • har qanday OO dasturlash tilini qo'llab-quvvatlashi mumkin.

        UML ochiq va asosiy yadroni kengaytirish vositalariga ega. UML ko'pincha bir-biridan juda farq qiluvchi turli mavzulardagi sinflarni, ob'ektlarni va komponentlarni mazmunli tasvirlash uchun ishlatilishi mumkin.

UML diagrammalari

        Rational Rose tizim dizayneri ixtiyorida quyidagi diagramma turlarini taqdim etadi, ularning ketma-ket yaratilishi butun loyihalashtirilgan tizim va uning alohida komponentlari haqida toʻliq tasavvurga ega boʻlishga imkon beradi:

  • Foydalanish diagrammasi;
  • Joylashtirish diagrammasi (topologiya diagrammasi);
  • Davlat diagrammasi;
  • O'zaro ta'sir diagrammasi; Faoliyat diagrammasi;
  • Ketma-ketlik diagrammasi;
  • Hamkorlik diagrammasi;
  • Sinf diagrammasi;
  • Komponent diagrammasi (komponent diagrammasi);
  • Xulq-atvor sxemalari;
  • Faoliyat diagrammasi;
  • Amalga oshirish sxemalari;

        Ushbu diagrammalarning har biri tizim modeli haqida turli fikrlarni bildiradi. Shu bilan birga, foydalanish diagrammasi tizimning kontseptual modelini ifodalaydi, bu boshqa barcha diagrammalarni qurish uchun boshlang'ich nuqtadir. Sinf diagrammasi tizimning strukturaviy dizaynining statik tomonlarini aks ettiruvchi mantiqiy model va mantiqiy modelning turlari bo'lgan xatti-harakatlar diagrammasi esa uning ishlashining dinamik tomonlarini aks ettiradi. Amalga oshirish sxemalari tizimning tarkibiy qismlarini ko'rsatish uchun xizmat qiladi va uning fizik modeliga murojaat qiladi.

        Yuqorida sanab o'tilgan diagrammalardan ba'zilari ikki yoki undan ortiq kichik turlarni belgilash uchun xizmat qiladi. Mustaqil tasvirlar sifatida quyidagi diagrammalardan foydalaniladi: foydalanish holatlari, sinflar, holatlar, faoliyatlar, ketma-ketliklar, hamkorlik, komponentlar va joylashtirish.

        UML diagrammalari uchun ulardagi ma'lumotlar jihatidan muhim bo'lgan uchta turdagi vizual belgilar mavjud:

  • kommunikatsiyalar, tekislikda turli chiziqlar bilan ifodalangan;
  • matn, individual geometrik shakllar chegaralarida joylashgan;
  • grafik belgilar, diagrammalarning vizual elementlari yaqinida tasvirlangan.

        Diagrammalarni grafik tasvirlashda quyidagi qoidalarga amal qilish tavsiya etiladi:

  • har bir diagramma modellashtirilgan mavzu sohasining ba'zi bir qismining to'liq tasviri bo'lishi kerak;
  • diagrammada keltirilgan model ob'ektlari bir xil kontseptual darajada bo'lishi kerak;
  • ob'ektlar haqidagi barcha ma'lumotlar diagrammada aniq ko'rsatilishi kerak;
  • diagrammalar qarama-qarshi ma'lumotlarni o'z ichiga olmaydi;
  • diagrammalar matnli ma'lumotlar bilan ortiqcha yuklanmasligi kerak;
  • uning barcha elementlarini to'g'ri talqin qilish uchun har bir diagramma o'zini o'zi etarli bo'lishi kerak;
  • muayyan tizimni tavsiflash uchun zarur bo'lgan diagramma turlarining soni qat'iy belgilanmagan va ishlab chiquvchi tomonidan belgilanadi;
  • tizim modellari faqat UML yozuvida belgilangan elementlarni o'z ichiga olishi kerak.

UMLdagi ob'ektlar

        UMLda aniqlangan ob'ektlarning to'rt turi mavjud: strukturaviy, xulq-atvor, guruhlash va izohlash. Ob'ektlar tilning asosiy ob'ektga yo'naltirilgan elementlari bo'lib, ular yordamida modellar yaratiladi.

        Strukturaviy tuzilmalar UML modellaridagi otlar. Odatda, ular tizimning kontseptual yoki jismoniy elementlariga mos keladigan modelning statik qismlarini ifodalaydi. Strukturaviy ob'ektlarga "sinf", "interfeys", "hamkorlik", "foydalanish holati", "komponent", "tugun", "aktyor" misol bo'ladi.

        Xulq-atvor ob'ektlari UML modelining dinamik komponentlaridir. Bu modelning vaqt va makondagi xatti-harakatlarini tavsiflovchi fe'llardir. Xulq-atvorning ikkita asosiy turi mavjud:

  • o'zaro ta'sir - xulq-atvor bo'lib, uning mohiyati aniq maqsadga erishish uchun muayyan kontekstdagi ob'ektlar o'rtasida xabarlar almashinuvidir;
  • avtomat - turli hodisalarga javoban ob'ekt yoki o'zaro ta'sir o'tadigan holatlar ketma-ketligini belgilaydigan xatti-harakatlar algoritmi.

        Ob'ektlarni guruhlash UML modelining tashkiliy qismlari hisoblanadi. Bular modelni parchalash mumkin bo'lgan bloklardir. Bunday asosiy ob'ekt bitta nusxada mavjud - bu paket.

        Paketlar elementlarni guruhlarga ajratish uchun universal mexanizmdir. Strukturaviy, xulq-atvor va boshqa guruhlash ob'ektlari paketga joylashtirilishi mumkin. Dastur ishlayotgan vaqtda mavjud bo'lgan komponentlardan farqli o'laroq, paketlar faqat kontseptual xususiyatga ega, ya'ni ular faqat ishlab chiqish jarayonida mavjud bo'ladi.

        Annotatsiya ob'ektlari- Bular UML modelining tushuntirish qismlari: modelning istalgan elementiga qo'shimcha tavsif, tushuntirish yoki izohlar uchun izohlar. Faqat bittasi bor asosiy turi izoh elementlari - eslatma. Eslatmalar diagrammalarni norasmiy yoki rasmiy matnda ifodalangan izohlar yoki cheklovlar bilan ta'minlash uchun ishlatiladi.

UMLdagi munosabatlar

        UML tilida quyidagi munosabatlar turlari aniqlanadi: qaramlik, assotsiatsiya, umumlashtirish va amalga oshirish. Ushbu munosabatlar UML ning asosiy bog'lovchi konstruksiyalari bo'lib, modellarni yaratishda ob'ektlar sifatida ham qo'llaniladi.

        Bog'liqlik- bu ikki shaxs o'rtasidagi semantik munosabat bo'lib, ulardan birining o'zgarishi, mustaqil, ikkinchisining semantikasiga ta'sir qilishi mumkin, bog'liq.

        Uyushma- ob'ektlar orasidagi semantik yoki mantiqiy bog'lanishlar to'plamini tavsiflovchi tizimli munosabatlar.

        Umumlashtirish ixtisoslashgan element ob'ekti (avlod) umumiy element ob'ekti (ajdod) o'rniga almashtirilishi mumkin bo'lgan munosabatdir. Shu bilan birga, ob'ektga yo'naltirilgan dasturlash tamoyillariga muvofiq, avlod (bola) o'z ajdodi (ota-onasi) tuzilishi va xatti-harakatlarini meros qilib oladi.

        Amalga oshirish klassifikatorlar o‘rtasidagi semantik munosabat bo‘lib, unda bir klassifikator majburiyatni belgilaydi, ikkinchisi esa uning bajarilishini kafolatlaydi. Amalga oshirish munosabatlari ikki holatda yuzaga keladi:

  • interfeyslar va ularni amalga oshiradigan sinflar yoki komponentlar o'rtasida;
  • pretsedentlar va ularni amalga oshiruvchi hamkorliklar o'rtasida.

Umumiy UML mexanizmlari

        UMLda tizimni toʻgʻri tasvirlash uchun umumiy mexanizmlar qoʻllaniladi:

  • spetsifikatsiyalar;
  • qo'shimchalar (bezaklar);
  • umumiy bo'linmalar;
  • kengaytmalar (kengaytirish mexanizmlari).

        UML faqat grafik til emas. Har bir grafik elementning orqasida uning yozuvi mavjud spetsifikatsiya, tegishli til konstruktsiyasining matnli tasvirini o'z ichiga oladi. Misol uchun, sinf uchun piktogramma uning atributlari, operatsiyalari va xatti-harakatlarini tavsiflovchi spetsifikatsiyaga ega, garchi vizual ravishda diagrammada piktogramma ko'pincha ushbu ma'lumotlarning faqat kichik qismini aks ettiradi. Bundan tashqari, model ushbu sinfning boshqa ko'rinishini o'z ichiga olishi mumkin, uning butunlay boshqa tomonlarini aks ettiradi, ammo shunga qaramay, spetsifikatsiyaga mos keladi. Shunday qilib, UML grafik yozuvi tizimni ko'rish uchun ishlatiladi va uning tafsilotlarini tavsiflash uchun spetsifikatsiyalardan foydalaniladi.

        Deyarli har bir UML elementi o'zining eng muhim xususiyatlarini vizual tasvirini beruvchi noyob grafik tasvirga ega. Ob'ektning "sinf" belgisi uning nomi, atributlari va operatsiyalarini o'z ichiga oladi. Sinf spetsifikatsiyasi atributlar va operatsiyalarning ko'rinishi, sharhlar yoki sinfning mavhum ekanligini ko'rsatish kabi boshqa tafsilotlarni o'z ichiga olishi mumkin. Ushbu tafsilotlarning ko'pchiligi grafik yoki matn sifatida tasvirlanishi mumkin. qo'shimchalar sinfni ifodalovchi standart to'rtburchakka.

        Ob'ektga yo'naltirilgan tizimlarni modellashtirishda ma'lum bir xususiyat mavjud. bo'linish vakillik qiluvchi shaxslar.

        Birinchidan, sinflar va ob'ektlarga bo'linish mavjud. Sinf - bu abstraktsiya, ob'ekt esa bu mavhumlikning konkret timsolidir. Shu munosabat bilan deyarli barcha til konstruksiyalari sinf/obyekt dualligi bilan tavsiflanadi. Shunday qilib, pretsedentlarning pretsedentlari va misollari, tarkibiy qismlari va tarkibiy qismlari, tugunlari va tugunlari misollari mavjud. Grafik tasvirda ob'ekt uchun sinf uchun bo'lgani kabi bir xil belgidan foydalanish va nomning tagiga chizish odatiy holdir.

        Ikkinchidan, interfeys va uni amalga oshirishga bo'linish mavjud. Interfeys majburiyatlarni e'lon qiladi va amalga oshirish ushbu majburiyatlarning aniq bajarilishini ifodalaydi va e'lon qilingan semantikaga aniq rioya qilinishini ta'minlaydi. Shu sababli, deyarli barcha UML konstruktsiyalari interfeys/amalga oshirish ikkiligi bilan tavsiflanadi. Masalan, pretsedentlar hamkorlik orqali, operatsiyalar esa usullar bilan amalga oshiriladi.

        UML ochiq tildir, ya'ni u boshqariladigan kengaytmalarga domen modellari xususiyatlarini aks ettirish imkonini beradi.

        UML kengaytma mexanizmlariga quyidagilar kiradi:

  • stereotiplar (stereotip) - UML lug'atini kengaytirish, mavjud til elementlari asosida ma'lum bir muammoni hal qilishga qaratilgan yangilarini yaratishga imkon beradi;
  • teglangan qiymatlar - element spetsifikatsiyasiga qo'shimcha ma'lumotlarni kiritish imkonini beruvchi asosiy UML konstruktsiyalarining xususiyatlarini kengaytiradi;
  • cheklovlar (cheklovlar) - yangi qoidalar yaratish va mavjud qoidalarni bekor qilish imkonini beruvchi UML konstruksiyalarining semantikasini kengaytirish.

        Ushbu uchta tilni kengaytirish mexanizmlari birgalikda uni loyiha ehtiyojlariga yoki ishlab chiqish texnologiyasining xususiyatlariga muvofiq o'zgartirishga imkon beradi.

Ish diagrammasidan foydalaning

        Ushbu turdagi diagramma tizim bajaradigan operatsiyalar ro'yxatini yaratish imkonini beradi. Ko'pincha bu turdagi diagramma funktsiyalar diagrammasi deb ataladi, chunki bunday diagrammalar to'plami asosida tizimga qo'yiladigan talablar ro'yxati tuziladi va tizim tomonidan bajariladigan funktsiyalar to'plami aniqlanadi.


Rasm - 1. Foydalanish diagrammasi

        Foydalanish holatlari diagrammasi tizimning funksionalligini yoki tizim nima qilishi kerakligini tasvirlaydi. Diagrammani ishlab chiqish quyidagi maqsadlarga ega:

  • modellashtirilgan fan sohasining umumiy chegaralari va kontekstini aniqlash;
  • loyihalashtirilgan tizimning funktsional harakati uchun umumiy talablarni shakllantirish;
  • tizimning dastlabki kontseptual modelini keyinchalik mantiqiy va jismoniy modellar ko'rinishida tafsilotlash uchun ishlab chiqish;
  • tizim ishlab chiquvchilarining o'z mijozlari va foydalanuvchilari bilan o'zaro munosabatlari uchun dastlabki hujjatlarni tayyorlash.

        Foydalanish holatlari diagrammasining mohiyati quyidagicha. Loyihalanayotgan tizim tizim bilan foydalanish holatlari orqali o'zaro ta'sir qiluvchi ob'ektlar yoki aktyorlar to'plami sifatida ifodalanadi. Bunday holda, aktyor yoki aktyor tizim bilan tashqaridan o'zaro ta'sir qiluvchi har qanday sub'ektdir. Bu odam bo'lishi mumkin texnik qurilma, dastur yoki ishlab chiquvchining o'zi tomonidan aniqlangan simulyatsiya qilingan tizimga ta'sir qilish manbai bo'lib xizmat qilishi mumkin bo'lgan boshqa tizim. Foydalanish holati tizimning aktyorga taqdim etayotgan xizmatlarini tavsiflash uchun xizmat qiladi.

        Foydalanish misolining maqsadi - uning ichki tuzilishini oshkor qilmasdan, ba'zi bir ob'ekt xatti-harakatlarining to'liq tomonini yoki qismini aniqlash. Bunday ob'ekt o'z xatti-harakatiga ega bo'lgan tizim yoki modelning har qanday elementi bo'lishi mumkin.

        Har bir foydalanish holati aktyorning iltimosiga binoan modellashtirilgan ob'ekt taqdim etadigan alohida xizmatga mos keladi, ya'ni bu ob'ekt qanday ishlatilishini belgilaydi. Aktyorning iltimosiga binoan ishga tushiriladigan xizmat to'liq, bo'linmas harakatlar ketma-ketligidir. Bu shuni anglatadiki, tizim so'rovni qayta ishlashni tugatgandan so'ng, u qaytishi kerak boshlang'ich holati quyidagi so'rovlarga tayyor bo'lish

        Foydalanish holatlari ishlab chiqilayotgan tizim uchun tashqi talablarni belgilash uchun ham, allaqachon tizimning funktsional harakatlarini belgilash uchun ham ishlatilishi mumkin. mavjud tizim. Bir butun sifatida foydalanish holatlari to'plami tizimning kutilayotgan xatti-harakatlarining barcha mumkin bo'lgan tomonlarini aniqlashi kerak. Bundan tashqari, foydalanish holatlari taqdim etilgan xizmatlarni to'g'ri ishlatish uchun ishtirokchilarning tizim bilan o'zaro ta'sirini aniqlaydigan talablarni aniq belgilab beradi. Qulaylik uchun ko'plab foydalanish holatlari alohida paket sifatida ko'rib chiqilishi mumkin.

        Foydalanish holatlari misolida quyidagi harakatlar bo‘lishi mumkin: mijozning joriy hisobvarag‘i holatini tekshirish, tovar sotib olishga buyurtma berish, mijozning kreditga layoqatliligi to‘g‘risida qo‘shimcha ma’lumot olish, monitor ekranida grafik shaklni ko‘rsatish va boshqalar. harakatlar.

sinf diagrammasi

        Ob'ektga yo'naltirilgan dasturlashda markaziy o'rin tizimning mantiqiy modelini sinf diagrammasi shaklida ishlab chiqishdir. Sinf diagrammasi ob'ektga yo'naltirilgan dasturlash sinflari terminologiyasida tizim modelining statik tuzilishini ifodalash uchun ishlatiladi. Sinf diagrammasi, xususan, ob'ektlar va quyi tizimlar kabi alohida domen ob'ektlari o'rtasidagi turli munosabatlarni aks ettirishi, shuningdek, ularning ichki tuzilishi va munosabatlar turlarini tavsiflashi mumkin.


Rasm - 2. Sinf sxemasi

        Diagramma piktogrammalari tizimlarning murakkab ierarxiyasini, sinflar (Sinflar) va interfeyslar (Interfeyslar) oʻrtasidagi munosabatlarni koʻrsatish imkonini beradi. Ushbu turdagi diagramma tizim ob'ektlarini aks ettiruvchi hamkorlik diagrammasiga mazmunan qarama-qarshidir. Rational Rose bu turdagi diagrammalar yordamida turli xil belgilarda sinflar yaratish imkonini beradi. bulutga o'xshaydi. Shunday qilib, sinf shunchaki shablon bo'lib, unga ko'ra kelajakda ma'lum bir ob'ekt yaratiladi.

        Klass diagrammasi - bu cho'qqilari "klassifikator" tipidagi elementlar bo'lgan, bog'langan grafik. har xil turlari tarkibiy munosabatlar. Sinf diagrammasi interfeyslarni, paketlarni, munosabatlarni va hatto ob'ektlar va munosabatlar kabi individual misollarni ham o'z ichiga olishi mumkin.

        Sinf UMLda u bir xil tuzilishga, xatti-harakatlarga va boshqa sinflar ob'ektlari bilan munosabatlarga ega bo'lgan ob'ektlar to'plamini belgilash uchun ishlatiladi. Grafik jihatdan sinf to'rtburchaklar shaklida tasvirlangan, uni qo'shimcha ravishda bo'lish mumkin gorizontal chiziqlar bo'limlarga yoki bo'limlarga. Bu bo'limlar sinf nomini, atributlarni (o'zgaruvchilarni) va operatsiyalarni (usullarni) o'z ichiga olishi mumkin.

davlat diagrammasi

        UML-dagi har bir holat diagrammasi ma'lum bir sinfning bir nusxasining barcha mumkin bo'lgan holatlarini va uning bir holatdan ikkinchi holatga o'tishning mumkin bo'lgan ketma-ketligini tavsiflaydi, ya'ni ob'ekt holatidagi barcha o'zgarishlarni uning tashqi ta'sirga javobi sifatida modellashtiradi. ta'sir qiladi.

        Holat diagrammalari ko'pincha alohida ob'ektlarning xatti-harakatlarini tavsiflash uchun ishlatiladi, lekin ulardan foydalanish holatlari, aktyorlar, quyi tizimlar, operatsiyalar va usullar kabi boshqa model komponentlarining funksionalligini belgilash uchun ham foydalanish mumkin.



Rasm - 2. Davlat diagrammasi

        Holat diagrammasi - ma'lum bir avtomatni ifodalovchi grafikning maxsus turi. Grafikning cho'qqilari mos keladigan grafik belgilar bilan tasvirlangan mashinaning mumkin bo'lgan holatlari va yoylar uning holatdan holatga o'tishlarini ko'rsatadi. Alohida model elementlarini batafsilroq tasvirlash uchun holat diagrammalarini joylashtirish mumkin.

        UML metamodelida mashina cheklangan miqdordagi holatlar va o'tishlarga ega bo'lgan diskret makon shaklida modellashtirilgan ob'ektning xatti-harakatlarini ifodalash uchun zarur bo'lgan ko'plab tushunchalarni belgilaydigan paketdir.

        Tizimning mumkin bo'lgan har qanday holatda bo'lish davomiyligi bir holatdan ikkinchisiga o'tish uchun sarflangan vaqtdan sezilarli darajada oshadi. Limitda o'tish vaqti nolga teng bo'lishi mumkin (agar boshqacha ko'rsatilmagan bo'lsa), ya'ni ob'ekt holatining o'zgarishi bir zumda sodir bo'lishi mumkin deb taxmin qilinadi.

        Avtomatning xatti-harakati ularni tutashtiruvchi yoylarning yo‘nalishini hisobga olgan holda grafik bo‘ylab cho‘qqidan cho‘qqigacha ketma-ket harakat sifatida modellashtirilgan.

        Mashina uchun quyidagi majburiy shartlar bajarilishi kerak:

  • ob'ektning borishi mumkin bo'lgan holat faqat uning hozirgi holati bilan belgilanadi va uning oldingi tarixiga bog'liq emas;
  • Vaqtning har bir daqiqasida avtomat faqat bitta holatda bo'lishi mumkin. Shu bilan birga, hech qanday hodisa ro'y bermasa, avtomat istalgancha alohida holatda qolishi mumkin;
  • mashinaning u yoki bu holatda bo'lgan vaqti, shuningdek, u yoki bu holatga erishish uchun zarur bo'lgan vaqt hech qanday tarzda ko'rsatilmagan;
  • avtomatning holatlar soni chekli bo'lishi va ularning barchasi aniq ko'rsatilishi kerak. Alohida psevdo-davlatlar spetsifikatsiyalarga ega bo'lmasligi mumkin (dastlabki va yakuniy holatlar). Bunday holda, ularning maqsadi va semantikasi ko'rib chiqilayotgan model va holat diagrammasi kontekstidan to'liq aniqlanadi;
  • Avtomat grafigi izolyatsiyalangan holatlar va o'tishlarni o'z ichiga olmaydi. Har bir holat uchun, dastlabki holatdan tashqari, oldingi holat aniqlanishi kerak va har bir o'tish mashinaning ikkita holatini bog'lashi kerak;
  • Agar ob'ekt bir vaqtning o'zida ikki yoki undan ortiq keyingi holatlarga o'tishi mumkin bo'lsa (parallel kichik avtomatlar bundan mustasno) avtomatda qarama-qarshi o'tishlar bo'lmasligi kerak. UMLda qo'riqlash shartlarini joriy qilish orqali nizolarni bartaraf etish mumkin.

davlat nafaqat UML tili metamodelida, balki amaliy tizim tahlilida ham asosiy hisoblanadi. Dinamik tizimning butun kontseptsiyasi davlat tushunchasiga asoslanadi. UML tilidagi holat semantikasi bir qator o'ziga xos xususiyatlarga ega.

        UMLda holat muayyan shartlar bajariladigan muayyan vaziyatni modellashtirish uchun foydalaniladigan mavhum metasinfdir. Holat ma'lum sinf yoki ob'ekt atributlari qiymatlari to'plami sifatida ko'rsatilishi mumkin. Shaxsiy atribut qiymatlaridagi o'zgarishlar modellashtirilayotgan sinf yoki ob'ekt holatidagi o'zgarishlarni aks ettiradi.

Faoliyat diagrammasi

        Loyihalanayotgan yoki tahlil qilinayotgan tizimning xatti-harakatlarini modellashtirishda nafaqat uning holatlarini o'zgartirish jarayonini ko'rsatish, balki tizim tomonidan bajariladigan operatsiyalarni algoritmik va mantiqiy amalga oshirish xususiyatlarini batafsil bayon qilish zarurati tug'iladi.

        Aslida bu tur diagrammalar modellashtirilgan ob'ektning holatini aks ettirish uchun ham ishlatilishi mumkin, ammo Faoliyat diagrammasining asosiy maqsadi ob'ektning biznes jarayonlarini aks ettirishdir. Ushbu turdagi diagramma nafaqat jarayonlar ketma-ketligini, balki jarayonlarning tarmoqlanishi va hatto sinxronlanishini ham ko'rsatishga imkon beradi.

        Ushbu turdagi diagramma har qanday murakkablikdagi ob'ektlarning xatti-harakatlari uchun algoritmlarni loyihalash imkonini beradi, shu jumladan blok-sxemalarni tuzishda ham foydalanish mumkin.

        UML tilida amallarni bajarish jarayonini modellashtirish uchun faoliyat diagrammalaridan foydalaniladi. Ularda ishlatiladigan grafik belgilar ko'p jihatdan holat diagrammasining yozuviga o'xshaydi, chunki bu diagrammalarda holat va o'tish belgilari ham mavjud. Faoliyat diagrammasidagi har bir holat qandaydir elementar amalning tugallanishiga to‘g‘ri keladi va keyingi holatga o‘tish faqat shu operatsiya tugallangandan keyingina sodir bo‘ladi.

        Shunday qilib, faoliyat diagrammalarini holat diagrammalarining maxsus holati deb hisoblash mumkin. Ular ichki faoliyat va harakatlarning tugallanishi hisobiga protsessual va sinxron boshqaruv xususiyatlarini UML tilida amalga oshirish imkonini beradi. Faoliyat diagrammalaridan asosiy foydalanish sinf operatsiyalarini amalga oshirish xususiyatlarini vizualizatsiya qilishdir, agar ularni amalga oshirish algoritmlarini taqdim etish kerak bo'lsa.

        UML tili kontekstida faoliyat avtomat tomonidan bajariladigan, qandaydir natija yoki harakatga olib keladigan individual hisoblar to'plamidir. Faoliyat diagrammasi bir faoliyatdan ikkinchisiga o'tishning mantiqiyligi va ketma-ketligini aks ettiradi va tahlilchining diqqatini natijalarga qaratadi. Faoliyat natijasi tizim holatining o'zgarishiga yoki qandaydir qiymatning qaytarilishiga olib kelishi mumkin.

        Harakat holati ba'zi kiritish harakati va kamida bitta o'tish shtatdan chiqib ketadigan holatning maxsus holatidir. Ushbu o'tish bilvosita kiritish harakati allaqachon tugagan deb taxmin qiladi. Harakat holati elementar bo'lgani uchun ichki o'tishlarga ega bo'lolmaydi. Harakat holatidan umumiy foydalanish algoritm (protsedura) yoki boshqaruv oqimining bajarilishidagi bir qadamni modellashtirishdir.

Ketma-ketlik diagrammasi

        Holat va faoliyat diagrammalarini ko‘rib chiqishda, bu diagrammalar tizim xatti-harakatlari dinamikasini ko‘rsatish uchun qo‘llanilsa-da, ularda vaqt aniq ko‘rinmasligi qayd etildi. Xulq-atvorning vaqtinchalik jihati ob'ektlarning o'zaro ta'sirini tavsiflovchi sinxron jarayonlarni modellashtirishda muhim bo'lishi mumkin. Vaqt o'tishi bilan ob'ektlarning o'zaro ta'sirini modellashtirish uchun UML ketma-ketlik diagrammalaridan foydalanadi.

        Faqat shular ob'ektlar, ular o'zaro ta'sirda bevosita ishtirok etadilar. Asosiy nuqta ketma-ketlik diagrammalari uchun vaqt davomida ob'ektlarning o'zaro ta'siri dinamikasi.

        UMLda ketma-ketlik diagrammasi ikki o'lchovga ega. Birinchisi, chapdan o'ngga vertikal chiziqlar shaklida bo'lib, ularning har biri o'zaro ta'sirda ishtirok etadigan alohida ob'ektning hayot chizig'ini tasvirlaydi. Diagrammaning eng chap tomonidagi ob'ekt o'zaro ta'sirni boshlaydi. O'ng tomonda birinchisi bilan to'g'ridan-to'g'ri o'zaro ta'sir qiladigan boshqa ob'ekt. Shunday qilib, ketma-ketlik diagrammasidagi barcha ob'ektlar bir-biri bilan o'zaro ta'sirlashganda ob'ektlarning tartibi yoki faollik darajasi bilan belgilanadigan qandaydir tartibni hosil qiladi.

        Grafik jihatdan har bir ob'ekt to'rtburchak sifatida tasvirlangan va uning hayot chizig'ining yuqori qismida joylashgan. To'rtburchak ichiga ob'ekt nomini va sinf nomini ikki nuqta bilan ajratib yozing. Bunday holda, butun yozuv ta'kidlanadi, bu ob'ektning belgisidir.

        Ketma-ketlik diagrammasining ikkinchi o'lchami yuqoridan pastgacha yo'naltirilgan vertikal vaqt o'qidir. Diagrammaning eng yuqori qismi vaqtning boshlang'ich momentiga to'g'ri keladi. Ob'ektlarning o'zaro ta'siri bir ob'ekt tomonidan boshqasiga yuborilgan xabarlar orqali amalga oshiriladi. Xabarlar xabar nomi bilan gorizontal o'qlar sifatida tasvirlangan va ularning tartibi paydo bo'lish vaqti bilan belgilanadi. Ya'ni, ketma-ketlik diagrammasida yuqorida joylashgan xabarlar pastroqda joylashgan xabarlardan oldin boshlanadi. Vaqt o'qi bo'yicha shkala ko'rsatilmagan, chunki ketma-ketlik diagrammasi faqat "avvalgi va keyingi" o'zaro ta'sirlarning vaqtinchalik tartibini modellashtiradi.

Hamkorlik diagrammasi

        asosiy xususiyat hamkorlik diagrammalari - bu o'zaro ta'sirning ketma-ketligini emas, balki ushbu o'zaro ta'sirda ishtirok etuvchi ob'ektlar o'rtasidagi barcha tarkibiy munosabatlarni ham grafik tarzda tasvirlash qobiliyati.


Rasm - 3. Hamkorlik diagrammasi

        Ushbu turdagi diagramma xabarlarni uzatish ketma-ketligidan abstraktsiyalash orqali ob'ektlarning o'zaro ta'sirini tasvirlash imkonini beradi. Ushbu turdagi diagramma ixcham shaklda ma'lum bir ob'ektning barcha qabul qilingan va uzatilgan xabarlarini va bu xabarlarning turlarini ko'rsatadi.

        Avvalo, hamkorlik diagrammasida oʻzaro taʼsirda ishtirok etuvchi obyektlar toʻrtburchaklar shaklida tasvirlangan boʻlib, ularda obyekt nomi, uning sinfi va, ehtimol, atribut qiymatlari mavjud. Bundan tashqari, sinf diagrammasida bo'lgani kabi, ob'ektlar orasidagi assotsiatsiyalar turli xil bog'lovchi chiziqlar ko'rinishida ko'rsatilgan. Bunday holda, siz assotsiatsiyaning nomlarini va ushbu assotsiatsiyada ob'ektlar o'ynaydigan rollarni aniq belgilashingiz mumkin. Bundan tashqari, dinamik ulanishlar - xabarlar oqimi tasvirlanishi mumkin. Ular, shuningdek, ob'ektlar orasidagi bog'lovchi chiziqlar sifatida ifodalanadi, ularning tepasida xabarni ishga tushirishning umumiy ketma-ketligidagi yo'nalish, xabar nomi va tartib raqamini ko'rsatadigan o'q mavjud.

        Ketma-ketlik diagrammasidan farqli o'laroq, hamkorlik diagrammasi faqat o'zaro ta'sirda muayyan rol o'ynaydigan ob'ektlar orasidagi munosabatlarni tasvirlaydi. Ushbu jadval vaqtni alohida o'lchov sifatida ko'rsatmaydi. Shuning uchun o'zaro ta'sirlar va parallel oqimlar ketma-ketligini tartib raqamlari yordamida aniqlash mumkin. Shuning uchun, agar siz real vaqtda ob'ektlar orasidagi munosabatlarni aniq belgilashingiz kerak bo'lsa, buni ketma-ketlik diagrammasida qilish yaxshiroqdir.

        Kontseptsiya hamkorlik UML tilidagi asosiy tushunchalardan biridir. U modellashtirilgan tizimning umumiy kontekstida ma'lum bir maqsad bilan o'zaro ta'sir qiluvchi ob'ektlar to'plamini belgilashga xizmat qiladi. Hamkorlikning maqsadi tizimdagi alohida muhim operatsiyalarni amalga oshirish xususiyatlarini aniqlashdir. Hamkorlik ushbu hamkorlik ishtirokchilarining o'zaro ta'siri nuqtai nazaridan tizim xatti-harakatlarining tuzilishini belgilaydi.

        Hamkorlik ikki darajada ifodalanishi mumkin:

  • spetsifikatsiya darajasi - tasniflagichlarning rollarini va ko'rib chiqilayotgan o'zaro ta'sirdagi birlashmalarning rollarini ko'rsatadi;
  • misol darajasi - hamkorlikda individual rollarni tashkil etuvchi misollar va munosabatlarni ko'rsatadi.

        Spetsifikatsiya darajasidagi hamkorlik diagrammasi o'zaro ta'sirda ishtirok etadigan elementlarning rollarini ko'rsatadi. Ushbu darajadagi hamkorlikning elementlari sinflar va birlashmalar bo'lib, ular klassifikatorlarning individual rollarini va hamkorlik ishtirokchilari o'rtasidagi assotsiatsiyalarni bildiradi.

        Misol darajasidagi hamkorlik diagrammasi ob'ektlar to'plami (sinflar misollari) va ulanishlar (assotsiatsiyalar misollari) bilan ifodalanadi. Bunday holda, ulanishlar xabar o'qlari bilan to'ldiriladi. Bu darajada faqat operatsiya yoki klassifikatorni amalga oshirish bilan bevosita bog'liq bo'lgan ob'ektlar ko'rsatiladi. Bunday holda, barcha xususiyatlarni yoki barcha assotsiatsiyalarni tasvirlashning hojati yo'q, chunki hamkorlik diagrammasi faqat tasniflagichlarning rollarini o'z ichiga oladi, lekin klassifikatorlarning o'zi emas. Shunday qilib, klassifikator o'zining barcha misollarini to'liq tavsiflashni talab qilsa, klassifikatorning roli faqat ma'lum bir hamkorlikda ishtirok etish uchun zarur bo'lgan xususiyatlar va birlashmalarning tavsifini talab qiladi.

        Bundan muhim oqibat kelib chiqadi. Bir xil ob'ektlar to'plami turli kooperatsiyalarda ishtirok etishi mumkin. Ko'rib chiqilayotgan hamkorlikka qarab, alohida ob'ektlarning xususiyatlari ham, ular orasidagi bog'lanishlar ham o'zgarishi mumkin. Bu hamkorlik diagrammasini sinf diagrammasidan ajratib turadigan narsa, bu diagramma elementlari orasidagi barcha xususiyatlar va assotsiatsiyalarni ko'rsatishi kerak.

Komponent diagrammasi

        Ushbu turdagi diagramma tizimni jismoniy loyihalash jarayonida sinflar va ob'ektlarni komponentlar o'rtasida taqsimlash uchun mo'ljallangan. Ushbu turdagi diagramma ko'pincha modul diagrammasi deb ataladi.



Rasm - 4. Komponentlar diagrammasi

        To'liq dasturiy tizim loyihasi mantiqiy va jismoniy darajalar, ular bir-biriga mos kelishi kerak. UML tizim modellarini jismoniy ko'rsatish uchun amalga oshirish diagrammalaridan foydalanadi, jumladan komponent diagrammasi Va joylashtirish diagrammasi.

        Komponent diagrammasi avval muhokama qilingan diagrammalardan farqli o'laroq, tizimning fizik ko'rinishining xususiyatlarini tavsiflaydi. Bu dasturiy ta'minot komponentlari o'rtasida manba va bajariladigan kod bo'lishi mumkin bo'lgan bog'liqlikni o'rnatish orqali ishlab chiqilayotgan tizim arxitekturasini aniqlash imkonini beradi. Komponentlar diagrammasining asosiy grafik elementlari komponentlar, interfeyslar va ular orasidagi bog'liqliklardir.

        Komponentlar diagrammasi quyidagi maqsadlar uchun ishlab chiqilgan:

  • vizualizatsiya umumiy tuzilishi manba kodi dasturiy ta'minot tizimi;
  • dasturiy ta'minot tizimining bajariladigan versiyasining texnik xususiyatlari;
  • alohida bo'laklardan qayta foydalanishni ta'minlash dastur kodi;
  • kontseptual va jismoniy ma'lumotlar bazasi sxemalarining ko'rinishlari.

        Komponentlar diagrammalarini ishlab chiqishda tizim tahlilchilari ham, arxitektorlar ham, dasturchilar ham ishtirok etadilar. Komponentlar diagrammasi mantiqiy ko'rinishdan loyihaning dasturiy kod ko'rinishidagi aniq amalga oshirilishiga izchil o'tishni ta'minlaydi. Ba'zi komponentlar faqat dastur kodini kompilyatsiya qilish bosqichida, boshqalari esa uni bajarish bosqichida mavjud bo'lishi mumkin. Komponentlar diagrammasi komponentlar orasidagi umumiy bog'liqlikni aks ettiradi, ikkinchisini tasniflagich sifatida ko'rib chiqadi.

        UML tilida jismoniy shaxslarni ifodalash uchun maxsus atama ishlatiladi - komponent. Komponent ma'lum bir interfeyslar to'plamini amalga oshiradi va umuman modelning jismoniy ko'rinishining elementlarini belgilashga xizmat qiladi. Komponentning grafik tasviri uchun u ishlatiladi maxsus xarakter- chap tomonda ikkita kichikroq to'rtburchaklar kiritilgan to'rtburchak. Katta to'rtburchak ichida komponent nomi va kerak bo'lsa, ba'zilari yoziladi qo'shimcha ma'lumot. Ushbu belgining ko'rinishi komponent bilan bog'liq ma'lumotlarning tabiatiga qarab biroz farq qilishi mumkin.

Joylashtirish diagrammasi

        Ushbu turdagi diagramma tizimning apparat vositalarini, ya'ni dasturlarni emas, balki apparatni tahlil qilish uchun mo'ljallangan. Ingliz tilidan to'g'ridan-to'g'ri tarjima qilingan Deployment "joylashtirish" degan ma'noni anglatadi, ammo "topologiya" atamasi ushbu turdagi diagrammaning mohiyatini aniqroq aks ettiradi.


Rasm - 5. Joylashtirish diagrammasi

        Dasturiy ta'minot tizimining jismoniy tasviri, agar u qaysi platformada va qanday hisoblash vositalarida amalga oshirilayotgani haqida ma'lumot bo'lmasa, to'liq bo'lishi mumkin emas. Agar siz foydalanuvchi kompyuterida mahalliy ravishda ishlaydigan va foydalanmaydigan dasturni ishlab chiqayotgan bo'lsangiz periferik qurilmalar va resurslar, qo'shimcha diagrammalarni ishlab chiqishga hojat yo'q. Korporativ ilovalarni ishlab chiqishda bunday diagrammalarning mavjudligi tarmoqning taqsimlangan hisoblash va aloqa resurslaridan samarali foydalanish, xavfsizlikni ta'minlash va boshqalar uchun komponentlarni oqilona joylashtirish muammolarini hal qilish uchun juda foydali bo'lishi mumkin.

        Joylashtirish diagrammalari UMLda taqsimlangan dasturiy tizimning umumiy konfiguratsiyasi va topologiyasini ifodalash uchun ishlatiladi.

        Joylashtirish diagrammasi dasturning faqat ish vaqti bosqichida mavjud bo'lgan elementlar va komponentlarini ko'rish uchun mo'ljallangan. Bunday holda, faqat bajariladigan fayllar yoki dinamik kutubxonalar bo'lgan dastur namunasi komponentlari taqdim etiladi. Ishlash vaqtida ishlatilmaydigan komponentlar o'rnatish diagrammasida ko'rsatilmagan. Shunday qilib, dastur manba kodlari bo'lgan komponentlar faqat komponentlar diagrammasida mavjud bo'lishi mumkin. Ular joylashtirish diagrammasida ko'rsatilmagan.

        Joylashtirish diagrammasi mavjud grafik tasvirlar protsessorlar, qurilmalar, jarayonlar va ular orasidagi aloqalar. Mantiqiy tasvir diagrammalaridan farqli o'laroq, joylashtirish diagrammasi butun tizim uchun bir xildir, chunki u uni amalga oshirish xususiyatlarini to'liq aks ettirishi kerak. Joylashtirish diagrammasini ishlab chiqish, odatda, dasturiy ta'minot tizimi modelini belgilashning oxirgi bosqichidir.

        Joylashtirish diagrammasini ishlab chiqishda quyidagi maqsadlarga erishiladi:

  • tizim komponentlarini uning jismoniy tugunlari bo'yicha taqsimlanishini aniqlash;
  • uni amalga oshirish bosqichida tizimni amalga oshirishning barcha tugunlari orasidagi jismoniy aloqalarni ko'rsatish;
  • tizimdagi qiyinchiliklarni aniqlash va kerakli ishlashga erishish uchun uning topologiyasini qayta sozlash.

        Joylashtirish sxemalari tizim tahlilchilari, tarmoq muhandislari va tizim texniklari tomonidan birgalikda ishlab chiqilgan.

Rational Rose ish interfeysining xususiyatlari

        Rational Rose CASE vositasi taniqli vizual dasturlash muhitlariga o'xshash dasturning operatsion interfeysi uchun umumiy qabul qilingan standartlarni amalga oshiradi. Hatto yangi boshlanuvchilar uchun ham deyarli hech qanday qiyinchilik tug'dirmaydigan Rational Rose dasturini foydalanuvchi kompyuteriga o'rnatgandan so'ng, MS Windows 95/98 da ushbu dasturni ishga tushirish ekranda ishchi interfeysning paydo bo'lishiga olib keladi (6-rasm).


Rasm - 6. Rational Rose dasturining ishchi interfeysining umumiy ko'rinishi

        Rational Rose operatsion interfeysi turli elementlardan iborat bo'lib, asosiylari:

  • Dasturning asosiy menyusi
  • Diagramma oynasi
  • Hujjatlar oynasi
  • Brauzer oynasi
  • Jurnal oynasi

Keling, ushbu elementlarning har birining maqsadi va asosiy funktsiyalarini qisqacha ko'rib chiqaylik.

Dasturning asosiy menyusi

Dasturning asosiy menyusi umumiy qabul qilingan standartda tuzilgan va shunday ko'rinishga ega (7-rasm).

Maqsadlari nomlaridan aniq bo'lgan individual menyu elementlari butun loyiha bilan bog'liq shunga o'xshash operatsiyalarni birlashtiradi. Menyuning ba'zi bandlarida taniqli funktsiyalar mavjud (loyihani ochish, diagrammalarni chop etish, turli xil diagramma elementlarini almashish buferidan nusxalash va joylashtirish). Boshqalar shu qadar o'ziga xoski, ular o'rganish uchun qo'shimcha harakat talab qilishi mumkin (kod yaratish variantlari, modelning muvofiqligini tekshirish, qo'shimcha modullarni ulash).

Rasm - 7. Tashqi ko'rinish dasturning asosiy menyusi

Standart asboblar paneli

Standart asboblar paneli dasturning asosiy menyusi ostida joylashgan va shunday ko'rinishga ega (8-rasm). Ba'zi vositalar mavjud emas (yangi loyihada hech qanday element yo'q). Standart asboblar paneli ishlab chiquvchilar tez-tez ishlatadigan menyu buyruqlariga tezkor kirish imkonini beradi.

Rasm - 8. Standart asboblar panelining ko'rinishi

Foydalanuvchi ushbu panelning ko'rinishini o'z xohishiga ko'ra sozlashi mumkin. Buning uchun Asboblar -> Variantlar menyu bandini tanlang va asboblar paneli yorlig'ini oching. Shu tarzda siz turli xil asboblar tugmachalarini ko'rsatishingiz yoki yashirishingiz va ularning hajmini o'zgartirishingiz mumkin.

Brauzer oynasi

Standart brauzer oynasi ishchi interfeysning chap tomonida standart asboblar paneli ostida joylashgan (9-rasm).

Brauzer navigatsiyani soddalashtiradigan va loyihadagi istalgan model elementini topish imkonini beruvchi ierarxik tuzilmada model ko'rinishlarini tashkil qiladi. Bunday holda, ishlab chiquvchi modelga qo'shadigan har qanday element darhol brauzer oynasida ko'rsatiladi. Shunga ko'ra, brauzer oynasida elementni tanlab, biz uni diagramma oynasida tasavvur qilishimiz yoki uning spetsifikatsiyasini o'zgartirishimiz mumkin. Brauzer shuningdek, model elementlarini paketlarga ajratish va elementlarni modelning turli ko'rinishlari o'rtasida ko'chirish imkonini beradi. Agar so'ralsa, brauzer oynasi ishchi interfeysning boshqa joyida joylashgan bo'lishi yoki Ko'rish menyusi bandi yordamida butunlay yashirin bo'lishi mumkin. Bundan tashqari, sichqoncha bilan tashqi ramkasini sudrab, brauzer hajmini o'zgartirishingiz mumkin.

Rasm - 9. Brauzer ko'rinishi

Maxsus asboblar paneli

Brauzer oynasi va diagramma oynasi o'rtasida ishchi interfeysning o'rta qismida maxsus asboblar paneli joylashgan. Odatiy bo'lib, model sinf diagrammasini qurish uchun asboblar paneli taklif etiladi (10-rasm).

Rasm - 10. Sinf diagrammasi uchun maxsus asboblar paneli ko'rinishi

Maxsus asboblar panelining joylashuvi panel ramkasini kerakli joyga ko'chirish orqali o'zgartirilishi mumkin. Bundan tashqari, ma'lum asboblarga mos keladigan alohida tugmalarni qo'shish yoki olib tashlash orqali panel tarkibini sozlashingiz mumkin. Tugmalarning topshiriqlarini sichqoncha ko'rsatkichi mos keladigan tugma ustiga olib borgandan so'ng paydo bo'ladigan maslahatlardan bilib olish mumkin.

Diagramma oynasi

Diagramma oynasi uning interfeysining asosiy ish maydoni bo'lib, unda loyiha modelining turli ko'rinishlari ingl. Odatiy bo'lib, diagramma oynasi ishchi interfeysning o'ng tomonida joylashgan, ammo uning joylashuvi va hajmini ham o'zgartirish mumkin. Yangi loyihani ishlab chiqishda, agar loyiha ustasi ishlatilmagan bo'lsa, diagramma oynasi hech qanday model elementlarini o'z ichiga olmaydigan bo'sh maydondir (11-rasm).

Ushbu oynada joylashgan diagrammaning nomi dasturning sarlavha satrida (dasturning eng yuqori satri) yoki agar oyna toʻliq ekranga kengaytirilmagan boʻlsa, diagramma oynasining sarlavha satrida koʻrsatilgan. Diagramma oynasida bir vaqtning o'zida bir nechta diagrammalar bo'lishi mumkin, lekin ulardan faqat bittasi faol bo'lishi mumkin. Misol uchun, rasmda. 11 faol diagramma - bu joylashtirish diagrammasi, ammo boshqa diagrammalar mavjud. Diagrammalar o'rtasida almashish standart asboblar panelidagi kerakli ko'rinishni tanlash yoki "Oyna" menyusi orqali amalga oshirilishi mumkin. Alohida diagramma ko'rinishini faollashtirganda, maxsus diagramma ko'rinishi uchun moslashtirilgan maxsus asboblar paneli ko'rinishi o'zgaradi.


Rasm - 11. Model ko'rinishlarining har xil turlari bilan diagramma oynasining ko'rinishi

Hujjatlar oynasi

Hujjatlar oynasi sukut bo'yicha ekranda mavjud bo'lmasligi mumkin. Bunday holda, uni View -> Documentation menyu bandi orqali faollashtirish mumkin, shundan so'ng u brauzer ostida paydo bo'ladi (12-rasm).

Hujjatlar oynasi, uning nomidan ko'rinib turibdiki, model ko'rinishining elementlarini hujjatlashtirish uchun mo'ljallangan. Unda siz turli xil ma'lumotlarni yozib olishingiz mumkin, va eng muhimi - rus tilida. Ushbu ma'lumot keyinchalik sharhlarga aylantiriladi va hech qanday tarzda dastur kodini bajarish mantig'iga ta'sir qilmaydi.

Hujjatlar oynasida diagrammaning alohida tanlangan elementiga tegishli ma'lumotlar faollashtiriladi. Bunday holda siz elementni brauzer oynasida yoki diagramma oynasida tanlashingiz mumkin. Diagrammaga yangi element qo'shganda (masalan, sinf), uning hujjatlari avtomatik ravishda hosil bo'ladi, bu bo'sh (Hujjatlar yo'q). Keyinchalik, ishlab chiquvchi mustaqil ravishda kerakli tushuntirish ma'lumotlarini kiritadi, ular eslab qolinadi va loyiha ustida ishlash jarayonida o'zgartirilishi mumkin.

Ishchi interfeysning boshqa oynalarida bo'lgani kabi, siz hujjatlar oynasining o'lchamini va o'rnini o'zgartirishingiz mumkin.

Rasm - 12. Hujjatlar oynasining ko'rinishi

Jurnal oynasi

Jurnal oynasi dastur bilan ishlashda hosil bo'lgan turli xil xizmat ma'lumotlarini avtomatik ravishda yozib olish uchun mo'ljallangan. Jurnal ishlab chiquvchi tomonidan amalga oshirilgan modelni yangilash, menyular va asboblar panelini sozlash, shuningdek, kod yaratish jarayonida yuzaga keladigan xato xabarlari kabi harakatlarning vaqti va xarakterini qayd etadi.

Jurnal oynasi har doim diagramma oynasi sohasidagi ishchi interfeysda mavjud (13-rasm). Biroq, u boshqa diagramma oynalari tomonidan yashirilishi yoki minimallashtirilishi mumkin. Jurnal oynasini Window->Jurnal menyusi orqali faollashtirishingiz mumkin. Bunday holda, u ishlaydigan interfeysning o'ng qismida boshqa oynalar ustida ko'rsatiladi. Ushbu oynani butunlay olib tashlab bo'lmaydi, uni faqat minimallashtirish mumkin.

Rasm - 13. Jurnal oynasi ko'rinishi

Xulosa

        Vaqt oʻtishi bilan UML tili matematiklar, tizimli tahlilchilar, fiziklar, dasturchilar, menejerlar, iqtisodchilar va boshqa kasb mutaxassislari oʻz kasbiy bilimlarini yagona shaklda taqdim eta oladigan “Esperanto”ga aylanadi. Axir, mohiyatan har bir mutaxassis o'z bilim sohasida namunaviy ko'rinishlar bilan ishlaydi. Va aynan mana shu model jihatini UML tilidan foydalanib aniqlash mumkin.

        Shu munosabat bilan UML tilining ahamiyati sezilarli darajada ortib bormoqda, chunki u bilimlarni ifodalash tilining xususiyatlarini tobora ko'proq egallab bormoqda. Shu bilan birga, UML tilida modelning tuzilishi va xatti-harakatini aks ettirish uchun vizual vositalarning mavjudligi deklarativ va protsessual bilimlarning adekvat ifodalanishiga erishishga imkon beradi va bundan ham muhimi, ushbu shakllar o'rtasida semantik muvofiqlikni o'rnatishga imkon beradi. bilim. UML tilining barcha bu xususiyatlari uning yaqin kelajakda eng jiddiy istiqbolga ega ekanligi haqida xulosa qilish imkonini beradi.

Ushbu maqolada dasturiy ta'minotni ishlab chiqishning yangi davri, uning yangi UML talablariga ta'siri va ularni qondirish uchun eng yaxshi amaliyotlar tasvirlangan.
  7. “Rational Rose-da ma’lumotlarni modellashtirish” Sergey Trofimov Rational Rose yordamida ma’lumotlarning fizik ko‘rinishini modellashtirishni tavsiflaydi.
  8. UML tili. UML tili haqida umumiy tushuncha: tuzilmalar, grafik elementlar va til diagrammalari.
  9. Amaliy UML. Ushbu hujjat "Amaliy UML. Dasturchilar uchun amaliy kirish" hujjatining tarjimasi. Ishlab chiquvchilar uchun amaliy kirish
  10. "Standart ob'ektga yo'naltirilgan modellashtirish tili UML" Vendrov Aleksandr Mixaylovich. UML tarixi
  11. UML – yagona modellashtirish tili. Ushbu materialda UMLda qo'llaniladigan dasturiy ta'minot tizimlari va yozuvlarni tavsiflash usullari haqida dastlabki ma'lumotlar mavjud
  12. UML tili. Foydalanuvchi uchun qo'llanma. Mualliflar: Grady Booch, Jeyms Rumbaugh, Ivar Jacobson
  13. "Rational Rose'dagi UML diagrammasi" Sergey Trofimov
  14. "Tahlil va dizayn. Vizual modellashtirish (UML) Ratsional Rose" Konstantin Domolego
  15. Gennadiy Vernikov kutubxonasi. Dizayn va modellashtirish standartlarining to'liq tavsifi.
  16. “Dasturiy tizimlarni ishlab chiqishda UML yordamida mavzu sohasini tavsiflashga misol” E.B. Zolotuxina, R.V. Alfimov. Maqolada Yagona Modellash Tili (UML) dan foydalanishga asoslangan domenni modellashtirishga mumkin bo'lgan yondashuvni ko'rsatish uchun aniq misoldan foydalaniladi.

       

UML yoki Unified Modeling Language - dasturiy ta'minotni ishlab chiqish sohasida ob'ektlarni modellashtirish uchun grafik tavsiflash tili. Ammo UML dan foydalanish faqat IT bilan cheklanmaydi; UML ni amaliy qo'llashning yana bir katta yo'nalishi biznes jarayonlarini modellashtirish, tizimni loyihalash va tashkiliy tuzilmalarni xaritalashdir. UML dasturiy ta'minotni ishlab chiquvchilarga tasvirlash uchun grafik belgilarni kelishib olish imkonini beradi umumiy tushunchalar va dizayn va rivojlanishga e'tibor berish.

UML ning afzalliklari

  • UML modellashtirilayotgan tizim elementlari uchun grafik belgilardan foydalanadi va UML diagrammalarini tushunish juda oson;
  • UML turli jihatlarni hisobga olgan holda deyarli barcha mumkin bo'lgan nuqtai nazardan tizimlarni tavsiflash imkonini beradi;
  • UML ob'ektga yo'naltirilgan: uning tahlil qilish va qurish usullari semantik jihatdan zamonaviy OOP tillarida qo'llaniladigan dasturlash usullariga yaqin;
  • UML ochiq standartdir. Standart tizimlarni tavsiflash uchun eng zamonaviy talablarga javob beradigan versiyadan versiyaga rivojlanadi va rivojlanadi;
  • qo'shimcha matn va grafik turlarini kiritish imkonini beruvchi kengaytma mexanizmini o'z ichiga oladi, bu UML dan nafaqat IT sohasida foydalanish imkonini beradi.

UML diagrammasi turlari

UMLda diagrammalarning 14 turi mavjud. Ularni 2 toifaga bo'lish mumkin:

  • tizimli, axborot tuzilmasini ifodalovchi;
  • xulq-atvor, tizimning xatti-harakatlarini va o'zaro ta'sirlarning turli jihatlarini ifodalaydi. Xulq-atvor diagrammalarining alohida kichik turi ko'rib chiqiladi o'zaro ta'sir diagrammasi.

UML diagramma turlari ierarxiyasi, sinf diagrammasi bilan ifodalanadi

Strukturaviy diagrammalar

  1. Sinf diagrammasi ob'ektga yo'naltirilgan modellashtirishning asosiy elementi hisoblanadi. Ushbu diagrammadan foydalanish (aslida, orqali sinflar, ularning atributlar, usullari va sinflar orasidagi bog'liqliklar) domen modeli va modellashtirilgan tizimning tuzilishini tavsiflaydi.
  2. Komponent diagrammasi dastur kodining katta bloklarga (strukturaviy komponentlarga) bo'linishini ko'rsatadi va ko'rsatadi bog'liqliklar ular orasida. Komponentlar paketlar, modullar, kutubxonalar, fayllar va boshqalar bo'lishi mumkin.
  3. Ob'ekt diagrammasi ma'lum bir vaqtda simulyatsiya qilingan tizimning to'liq yoki qisman bo'lagini ko'rsatadi. U sinf misollarini (ob'ektlarini), ularning holatini (joriy atribut qiymatlari) va ular orasidagi munosabatlarni ifodalaydi.
  4. Kompozit tuzilish diagrammasi sinflarning ichki tuzilishini va iloji bo'lsa, bu strukturaning elementlari o'rtasidagi o'zaro ta'sirni ko'rsatadi.
  5. Paket diagrammasi paketlarni va ular orasidagi munosabatlarni ko'rsatadi. Ushbu turdagi diagramma model elementlarini ma'lum mezonlar bo'yicha guruhlarga birlashtirib, model tuzilishini soddalashtirishga (va shunga mos ravishda u bilan ishlashga) xizmat qiladi.
  6. Joylashtirish diagrammasi joylashtirishni simulyatsiya qiladi dasturiy ta'minot komponentlari ov ( artefaktlar) hisoblash resurslari/apparat komponentlari ( tugunlar).
  7. Profil diagrammasi UML ni turli mavzular va sohalarga moslashtirish imkonini beruvchi kengaytma mexanizmini tavsiflaydi.

Misol UML sinf diagrammasi

Xulq-atvor sxemalari

  1. Faoliyat diagrammasi harakatlarni ko'rsatadi ( harakatlar) ulardan ba'zi faoliyatlar ( faoliyat). Faoliyat diagrammasi biznes jarayonlarini, texnologik jarayonlarni, ketma-ket va parallel hisoblashni modellashtirish uchun ishlatiladi.
  2. Ish diagrammasidan foydalaning(yoki foydalanish diagrammasi) aktyorlar (aktyorlar) va modellashtirilgan tizimdan foydalanish holatlari (uning imkoniyatlari) o'rtasidagi munosabatlarni tavsiflaydi. Diagrammaning asosiy maqsadi mijozlar, ishlab chiquvchilar va oxirgi foydalanuvchilar uchun tizimni - uning imkoniyatlari va xatti-harakatlarini birgalikda muhokama qilish uchun universal vosita bo'lishdir.
  3. Davlat diagrammasi ob'ektning dinamik xatti-harakatlarini tasvirlaydi, bu mavjudlik, uning hozirgi holatiga qarab, turli hodisalarga qanday munosabatda bo'lishini ko'rsatadi. Bu atom nazariyasidan olingan holat diagrammasi.
  4. Aloqa diagrammasi(V oldingi versiyalar hamkorlik diagrammasi) kompozit tuzilmaning qismlari o'rtasidagi o'zaro aloqalarni va hamkorlik rollarini ko'rsatadi. Diagramma elementlar (ob'ektlar) o'rtasidagi munosabatlarni aniq ko'rsatadi.
  5. Ketma-ketlik diagrammasi ob'ektlarning o'zaro ta'siri ketma-ketligini tasavvur qilish uchun ishlatiladi. Berilgan ob'ektning hayot aylanishini va ma'lum bir foydalanish sharoitida aktyorlarning (aktyorlarning) o'zaro ta'sirini, ular almashadigan xabarlar ketma-ketligini ko'rsatadi.
  6. O'zaro ta'sirning umumiy diagrammasi ketma-ketlik diagrammasi va boshqaruv oqimi dizaynining bir qismini o'z ichiga oladi. Ob'ektlarning o'zaro ta'sirini turli nuqtai nazardan ko'rib chiqishga yordam beradi.
  7. Vaqt diagrammasi- vaqtni belgilashga ixtisoslashgan o'zaro ta'sir diagrammalarining alohida kichik turi. Ushbu turdagi diagrammalar ob'ektlarning ma'lum vaqtdagi harakatlarini o'rganish uchun ishlatiladi.

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. Shu bilan birga, ushbu usullarning har biri o'zining kuchli tomonlariga ega edi, ammo PS ning etarlicha to'liq modelini yaratishga imkon bermadi, uni "har tomondan", ya'ni barcha kerakli prognozlarni ko'rsatadi (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 u bilan bog'liq bo'lgan o'ziga xos semantikaga ega, shuning uchun bir ishlab chiquvchi tomonidan yaratilgan modelni boshqasi, shuningdek, UMLni sharhlovchi dasturiy vosita tomonidan aniq tushunish mumkin. 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'ziga xos xususiyatlarga ega grafik tasvir. Diagrammalarni o'rganishda sub'ektlar batafsil muhokama qilinadi.

Aloqa ko'rsatish turli xil ulanishlar sub'ektlar o'rtasida. 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 mustaqil ob'ektga 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'lanish bir tomondan ma'lum bir tartibda ko'rsatilgan barcha mahsulotlarni topish yoki boshqa tomondan ushbu mahsulotni o'z ichiga olgan barcha buyurtmalarni topish uchun ishlatilishi mumkin. 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;
  • foydalanuvchi interfeysini tavsiflovchi sinflarni aniqlash va ekranda navigatsiya sxemasini yaratish;
  • tizim funktsiyalarini bajarishda ob'ektlar o'rtasidagi o'zaro ta'sir 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.

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. Bu shunday ekan xalqaro til chizmalarni chizish.

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, orqali kontekst menyusi Sinf nomi boʻyicha “Diagramma” -> “Qalqib chiquvchi diagramma oynasini koʻrsatish” ni tanlang. Natijada biz chiroyli diagramma olamiz:

Ammo agar siz uni o'zingiz chizmoqchi bo'lsangiz va sizda Idea ning Ultimate versiyasi bo'lmasa-chi? 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 V atrof-muhit o'zgaruvchisi muhit 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 bu til nafaqat PlantUML tomonidan qo'llaniladi. Bundan tashqari, biz quyida qiladigan hamma narsani biz nafaqat IDEda, balki 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" -> "Tool Windows" -> "PlantUML" ni tanlang. Biz faqat sinflarni ifodalovchi ikkita kvadrat olamiz. Ma'lumki, bu ikkala sinf ham List interfeysini amalga oshiradi. Bu sinf munosabatlari amalga oshirish deb ataladi. Bunday aloqani tasvirlash uchun nuqta chiziqli o'qdan foydalaning. Keling, uni tasvirlaymiz: interfeys ro'yxati ro'yxati< | . . ArrayList List < | . . LinkedList List - один из дочерних классов Collection . То есть он наследуется от Collection. Эта связь называется обобщением (generalization). Выглядит как стрелка с обычной непрерывной линией. Изобразим её: interface Collection Collection < | -- List Для keyingi turi ulanish, biz ArrayList sinfining tavsifiga tegishli yozuvni qo'shamiz 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 ba'zi qismlari qoladi. 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. Keling, buni endi ulanishning matnli ko'rinishi ko'rinishida yozamiz: sinf Node ( ) LinkedList * -- Tugun Va endi biz ulanishning yana bir muhim turini qanday ko'rsatishni o'rganishimiz kerak - 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 ilova arxitekturasi orqali fikrlash qobiliyatlarini rivojlantiradi va ilovaning sinf tuzilmasidagi kamchiliklarni aniqlashga yordam beradi. erta bosqich, noto'g'ri modelni amalga oshirish uchun kunni o'tkazganingizda emas. Menimcha, bu sinash uchun yaxshi sababmi?)

Avtomatlashtirish

Turli xil usullar mavjud avtomatik ishlab chiqarish PlantUML diagrammalari. 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). Bundan tashqari, Internetda 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 biz Maven loyihasini tezda yaratish uchun Maven Archetype-dan 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". 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

 


O'qing:



Nima uchun noutbukga kichik SSD kerak va unga Windows-ni o'rnatishga arziydimi?

Nima uchun noutbukga kichik SSD kerak va unga Windows-ni o'rnatishga arziydimi?

O'yinlar uchun SSD drayveri qanchalik muhim, u nimaga ta'sir qiladi va ushbu texnologiyaning foydaliligi nimada - bu bizning maqolamizda muhokama qilinadi. Qattiq holat...

Dasturlar yordamida flesh-diskni ta'mirlash Noutbukdagi USB portni qanday tuzatish kerak

Dasturlar yordamida flesh-diskni ta'mirlash Noutbukdagi USB portni qanday tuzatish kerak

USB portini qanday tuzatish mumkin? Mutaxassisdan javob: Kompyuterdan foydalanganda USB portlari tez-tez buziladi. Birinchidan, ular muvaffaqiyatsizlikka uchradi ...

Disk tuzilishi buzilgan, o'qish mumkin emas, nima qilishim kerak?

Disk tuzilishi buzilgan, o'qish mumkin emas, nima qilishim kerak?

Foydalanuvchilarning shaxsiy kompyuterlarida ko'pincha muhim ma'lumotlar - hujjatlar, fotosuratlar, videolar saqlanadi, ammo ma'lumotlarning zaxira nusxasi odatda...

Kompyuter nimadan iborat?

Kompyuter nimadan iborat?

Nashr etilgan: 14.01.2017 Assalomu alaykum, do'stlar, bugun biz kompyuter tizim blokining dizaynini batafsil ko'rib chiqamiz. Keling, nima ekanligini bilib olaylik ...

tasma tasviri RSS