Muhammad ALxorazmiy Nomidagi Toshkent Axborot Texnologiyalari Universiteti
Fan: Dasturiy inginiringga kirish
Mustaqil ish
Mavzu: Class diagrammalari
Guruh: 217-19
Bajardi: Kenjayev Abbos
Tekshirdi: Iskandarova S.
Toshkent-2021
Mavzu: Class diagrammalari
Sinf diagrammasi ob'ektga yo'naltirilgan modellashtirishning asosiy elementidir. Ushbu diagramma yordamida (aslida, orqali sinflar, ularning atributlar, usullari va sinflar o'rtasidagi bog'liqliklar) domen modeli va modellashtirilgan tizimning tuzilishini tavsiflaydi.
Class diagram – bu turdagi diagrammada sinflar, interfeyslar, hamkorlik va
ularning bog’lanishlari ko’rsatiladi. Bu diagramma tizimdagi mavjud sinflarni,
ularning atributlari, metodalari va interfeys xususiyatlarini ko’rsatadi.
Sinf diagrammalarining maqsadi
Tizimdagi tasniflagichlarning statik tuzilishini ko'rsatadi
Diagramma UML tomonidan belgilangan boshqa strukturaviy diagrammalar uchun asosiy yozuvlarni taqdim etadi
Ishlab chiquvchilar va boshqa guruh a'zolari uchun ham foydali
Biznes tahlilchilari tizimlarni biznes nuqtai nazaridan modellashtirish uchun sinf diagrammalaridan foydalanishlari mumkin
UML sinf diagrammasi quyidagilardan iborat:
Sinflar to'plami va
Sinflar o'rtasidagi munosabatlar to'plami
Sinf nima?
Tizimda o'xshash rollarga ega bo'lgan ob'ektlar guruhining tavsifi quyidagilardan iborat:
Strukturaviy xususiyatlar (atributlar) sinfning qaysi ob'ektlarini "bilishini" aniqlaydi
Sinf ob'ekti holatini ifodalaydi
Sinfning strukturaviy yoki statik xususiyatlarini tavsiflash
Xulq-atvor xususiyatlari (operatsiyalar) sinfning "nima qilishi" mumkinligini aniqlaydi
Ob'ektlarning o'zaro ta'sir qilish usulini aniqlang
Amaliyotlar - bu sinfning xulq-atvori yoki dinamik xususiyatlarini tavsiflash
Sinf yozuvlari
Sinf yozuvlari uch qismdan iborat:
Sinf nomi
Birinchi bo'limda sinf nomi paydo bo'ladi.
Sinf xususiyatlari
Xususiyatlar ikkinchi bo'limda ko'rsatilgan.
Atribut turi yo'g'on ichakdan keyin ko'rsatiladi.
Atributlar koddagi a'zoning o'zgaruvchilariga (ma'lumotlar a'zolariga) mos keladi.
Sinf operatsiyalari (usullari)
Amaliyotlar uchinchi bo'limda ko'rsatilgan. Ular sinf ko'rsatadigan xizmatlardir.
Usulning qaytish turi usul imzosi oxirida yo'g'on ichakdan keyin ko'rsatiladi.
Metod parametrlarining qaytish turi parametr nomidan keyin ikki nuqta qo'yilgandan keyin ko'rsatiladi.
Amaliyotlar koddagi sinf usullari bo'yicha xaritasi
Yuqorida ko'rsatilganidek, MyClass sinfining grafik tasviri:
MyClass-da 3 ta atribut va 3 ta amal mavjud
Op2 ning p3 parametri int tipiga kiradi
op2 float qaytaradi
op3 ko'rsatgichni (* bilan belgilanadi) Class6 ga qaytaradi
Sinf munosabatlari
Sinf boshqa sinflar bilan bir yoki bir nechta munosabatlarda ishtirok etishi mumkin. Aloqalar quyidagi turlardan biri bo'lishi mumkin: (munosabatlarni grafik tasviri uchun o'ngdagi rasmga qarang).
Aloqa nomlari
Aloqalar nomlari assotsiatsiya chizig'ining o'rtasiga yoziladi.
Yaxshi munosabat nomlari ularni baland ovozda o'qiyotganda mantiqan to'g'ri keladi:
"Har bir jadval o'z ichiga oladi , ba'zi bir hujayralarida qator",
"ifoda qiymatga baho beradi "
Ular ko'pincha o'zaro munosabatlarni qaysi yo'nalishda o'qish kerakligini ko'rsatadigan kichik o'q uchiga ega , masalan, iboralar qiymatlarni baholaydi, ammo qiymatlar ifodalarga baho bermaydi.
Aloqalar - rollar
Rol assotsiatsiyaning yo'naltirilgan maqsadidir.
Rollar assotsiatsiya chizig'ining oxiriga yoziladi va munosabatlarda ushbu sinf o'ynagan maqsadni tavsiflaydi.
Masalan, Hujayra ifoda bilan bog'liq. O'zaro munosabatlarning mohiyati shundaki, ifoda hujayraning formulasidir .
Yurish qobiliyati
Oklar, munosabatlarda ishtirok etadigan bir misolni hisobga olgan holda, boshqa sinfning unga aloqador misollarini aniqlash mumkinmi yoki yo'qligini bildiradi.
Yuqoridagi diagramma shuni ko'rsatadiki,
Elektron jadvalni hisobga olgan holda, biz uning tarkibidagi barcha kataklarni topa olamiz, ammo bu
biz qaysi elektron jadvalda joylashganligini hujayradan aniqlay olmaymiz.
Agar katak berilgan bo'lsa, biz unga tegishli ifoda va qiymatni olishimiz mumkin, ammo
berilgan qiymat (yoki ifoda) bilan biz atributlar bo'lgan katakchani topa olmaymiz.
Sinf atributlari va operatsiyalarining ko'rinishi
Ob'ektga yo'naltirilgan dizaynda atributlar va operatsiyalar uchun ko'rinish belgisi mavjud. UML ko'rinishning to'rt turini aniqlaydi: umumiy , himoyalangan , shaxsiy va paket .
Sinfdagi atribut va operatsiya nomidan oldingi +, -, # va ~ belgilar atribut va amalning ko'rinishini bildiradi.
+ umumiy atributlarni yoki operatsiyalarni bildiradi
- xususiy atributlarni yoki operatsiyalarni bildiradi
# himoyalangan atributlarni yoki amallarni bildiradi
~ paket atributlarini yoki operatsiyalarni bildiradi
Sinfning ko'rinishiga misol
Yuqoridagi misolda:
MyClassName-ning atributi1 va op1 hammaga ochiq
attribute3 va op3 himoyalangan.
attribute2 va op2 xususiydir.
Ushbu ko'rinish turlarining har biriga kirish har xil sinf vakillari uchun quyida keltirilgan.
Kirish huquqi
|
ommaviy (+)
|
xususiy (-)
|
himoyalangan (#)
|
Paket (~)
|
Xuddi shu sinf a'zolari
|
ha
|
ha
|
ha
|
ha
|
Hosil qilingan sinflar a'zolari
|
ha
|
yo'q
|
ha
|
ha
|
Boshqa har qanday sinf a'zolari
|
ha
|
yo'q
|
yo'q
|
bir xil paketda
|
Ko'plik
O'zaro munosabatlarda har bir sinfning nechta ob'ekti qatnashishi va ko'pligi quyidagicha ifodalanishi mumkin:
To'liq bitta - 1
Nolinchi yoki bitta - 0..1
Ko'p - 0 .. * yoki *
Bir yoki bir nechtasi - 1 .. *
Aniq raqam - masalan, 3..4 yoki 6
Yoki murakkab munosabatlar - masalan, 0..1, 3..4, 6. * 2 yoki 5 dan tashqari har qanday ob'ekt sonini bildiradi
Ko'plik namunasi
Talab: Talaba ko'plab kurslarga qatnashishi mumkin va ko'plab talabalar bitta kursga yozilishlari mumkin.
Quyidagi misolda sinf diagrammasi (chapda) statik model uchun yuqoridagi talabni bayon qiladi, ob'ekt diagrammasi (o'ngda) kursga ro'yxatdan o'tishning oniy tasvirini (sinf diagrammasi namunasi) ko'rsatadi. dasturiy ta'minot muhandisligi va ma'lumotlar bazasini boshqarish kurslari)
Birlashtirish namunasi - Kompyuter va uning qismlari
Agregatsiya - bu "tarkib topgan" ierarxiyani bildiruvchi assotsiatsiyaning maxsus holati
Umumlashtiruvchi - ota-ona sinf, tarkibiy qismlar - bolalar sinflari
Meros namunasi - Hujayra taksonomiyasi
Meroslik - bu "turdagi" iyerarxiyani bildiradigan uyushmaning yana bir maxsus hodisasidir
Vorislik taksonomiyani kiritish orqali tahlil modelini soddalashtiradi
Bolalar sinflari ota-ona sinfining atributlari va operatsiyalarini meros qilib olishadi.
Sinf diagrammasi - diagramma vositasi misoli
Sinf diagrammasida sinflarga yoki munosabatlarga biriktirilgan yozuvlar ham bo'lishi mumkin. Eslatmalar kul rangda ko'rsatilgan.
Yuqoridagi misolda:
Yuqoridagi sinf diagrammasi ma'nosini fikrlarni quyidagicha o'qib sharhlashimiz mumkin.
Shakl mavhum sinf. Bu kursivda ko'rsatilgan.
Shakl - bu superklass. Doira, to'rtburchak va ko'pburchak shakldan olingan. Boshqacha qilib aytganda, aylana - bu shakl. Bu umumlashtirish / meros munosabatlaridir.
DialogBox va DataController o'rtasida bog'liqlik mavjud.
Shakl Oynaning bir qismidir. Bu yig'ilish munosabati. Shakl Window holda mavjud bo'lishi mumkin.
Point Circle qismidir. Bu kompozitsion munosabatlar. Doirasiz nuqta mavjud bo'lmaydi.
Oyna Voqeaga bog'liq. Biroq, voqea Windowga bog'liq emas.
Doira atributlari radius va markazdir. Bu shaxslar sinfi.
Circle-ning nomlari maydon (), Circum (), setCenter () va setRadius ().
Circle-dagi parametr radiusi - float turidagi parametrdir.
Circle sinfining metod maydoni () double turidagi qiymatni qaytaradi.
To'rtburchakning atributlari va usul nomlari yashiringan. Diagrammadagi ba'zi boshqa sinflarda ularning atributlari va usul nomlari yashiringan.
Murakkab tizim bilan ishlash - bir nechta yoki bitta sinf diagrammasi?
Agar siz katta tizimni yoki katta biznes maydonini modellashtirsangiz, muqarrar ravishda siz ko'rib chiqishingiz kerak bo'lgan ko'plab sub'ektlar bo'ladi. Muammoni modellashtirish uchun bir nechta yoki bitta sinf diagrammasidan foydalanishimiz kerakmi?
Har bir mavjudotni va uning munosabatlarini bitta sinf diagrammasi bo'yicha modellashtirish o'rniga, bir nechta sinf diagrammalaridan foydalanish yaxshiroqdir.
Tizimni bir nechta sinf diagrammalariga bo'lish tizimni tushunishni osonlashtiradi, ayniqsa har bir diagramma tizimning ma'lum bir qismining grafik tasviri bo'lsa.
Dasturiy ta'minotni ishlab chiqarish hayoti davridagi sinf diagrammasining istiqbollari
Biz dasturiy ta'minotni ishlab chiqish davrining turli xil rivojlanish bosqichlarida va odatda oldinga siljishimiz bilan sinf diagrammalarini uch xil istiqbolda (tafsilotlar darajasida) modellashtirish orqali sinf diagrammalaridan foydalanishimiz mumkin:
Kontseptual nuqtai nazar : Diagrammalar real hayotdagi narsalarni tasvirlash sifatida talqin etiladi. Shunday qilib, agar siz kontseptual nuqtai nazarni qabul qilsangiz, o'rganilayotgan sohadagi tushunchalarni aks ettiruvchi diagramma chizasiz. Ushbu tushunchalar, tabiiyki, ularni amalga oshiradigan sinflarga tegishli bo'ladi. Kontseptual nuqtai nazar tildan mustaqil hisoblanadi .
Spetsifikatsiya istiqboli : Diagrammalar dasturiy ta'minot abstraktsiyalari yoki spetsifikatsiyalar va interfeyslarga ega komponentlarni tavsiflovchi sifatida talqin etiladi, lekin ma'lum bir amalga oshirishga sodiq emas. Shunday qilib, agar siz spetsifikatsiya nuqtai nazaridan foydalansangiz, biz dasturiy ta'minotning amalga oshirilishini emas, balki interfeyslarini ko'rib chiqamiz .
Amalga oshirish istiqboli : Diagrammalar ma'lum bir texnologiya va tilda dasturiy ta'minotni amalga oshirishni tavsiflovchi sifatida talqin etiladi . Shunday qilib, agar siz dasturni amalga oshirish istiqbolini ko'rsangiz, biz dasturiy ta'minotni ko'rib chiqamiz .
Xulosa
Men ushbu mustaqil ishni yozib . Class diagrammalari haqida ko’plab malimotlarga ega bo’ldim. Sinf diagrammalari bizga asosan obyektga yunaltirilgan dasturlashda kerak bular ekan . sinf diagrammaridan foydalanish dasturlashda foydasi juda kata hisoblanar ekan. Dasturchidan tortib to ishlab chiqaruvchigacha foydali ekan. Bir so’z bilan aytganda sinf diagrammalarini ishlatishni o’rganib olsak dasturlash davomida bir qancha yengilliklarga ega bulamiz. Sinf diagrammalari biz uchun muhim mavzulardan biri hisoblanar ekan.
Foydalanilgan adabiyotlar
Maruza matnlari
Fayllar.org
Va boshqa internet saytlari
Do'stlaringiz bilan baham: |