Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CУБД_жауап_40.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
915.97 Кб
Скачать
  1. Агрегация: анықтама, мысалдар.

Агрегация - бүтін және бөліктік қатынастарды суреттеуші байланыс. Объектінің лайықты иерархиясына келтіреді, агрегация бір объекттің келесі объектіге физикалық қосуын білдіреді, мысалға, басқа объектінің бөлігі болып табылатын объект агрегатпен байланысты және оған хабарламаларды жібереді. Осы байланыстан басқа, агрегация, жинақталу байланысының түрі – специализациялық – семантикалық және мағыналық байланыс та болады.

Агрегация - бүтін және оның бөліктерінің қатынастары арасындағы ассоциацияның түрі. Ассоциацияның типі ретінде аталған агрегация болуы мүмкін. Агрегация бірден бірнеше классты қоса алмайды. Агрегация бір класс басқаларының жиынтығы немесе контейнері болыпғанда кездеседі. Негізінде, агрегация деп сілтемеленген агрегацияны атайды, яғни бар класстардың болу уақыты оларды құраушы класстың болу уақытынан тәуелсіз болса. Егер контейнер жойылса,онда оның құраушысы - жоқ. График бойынша агрегация құраушы классқа баратын класстың немесе сызықтың блогындағы бос ромбикпен көрсетіледі. Осы ромб "бүтіндікті" ұсынатын класстардың біріне нұсқайды. Қалған класстар оның "бөліктері" болып табылады.

Екі класс арасындағы агрегацияны көрсететін класстар диаграммасы.

Агрегация қатынасының тағы бір мысалымен белгілі дербес компьютердің құрама бөліктерге бөлінуі: жүйелі блок, монитор, клавиатура және тышқан.

  1. Кластардың мысалдарын келтірiңiз.

UML тілінде Класс(class) басқа класс объектілерінің бірдей құрылымына, тәртібіне және қатынастарына ие көпшілік объектілер үшін қызмет етеді. Класстың графигі көлденең сызықтармен бөліктерге немесе секциялар бөлінген тіктөртбұрыш түрінде бейнеленеді. Бұл бөлімдерде класстың аты, атрибуттар(переменные) және операциялар(әдістер) көрсетіледі.

Класстың міндетті элементтері оның аты болып табылады. Диаграмманың зерттемесінің бастапқы кезеңдерінде жеке класстар жай тіктөртбұрышпен сәйкес класстың атының нұсқауымен ғана көрсетіледі. Класс сипаттамасы диаграммасының жеке компоненттері атрибутпен және операциялармен толықтырылады.

Диаграмманың ақырғы нұсқасы үш бөлімнен немесе секциялардан тұратын класстың толық сипаттамасы болып саналады. Кейде класстың белгілерінде анықтама характерінің семантикалық ақпараты немесе кейбір жағдайлар көрсетілетін қосымша төртінші тарау пайдаланылады.

Мысал:

  1. Кластардың интерфейсі және реализациясы: анықтама, мысалдар.

Интерфейс (interface) оның ішкі құрылымының нұсқауынан тыс параметрлердің спецификациясы үлгілері үшін қызмет етеді. UML тілінде интерфейс классификатор болып табылады және үлгіленетін зат тәртібінің шектеулі ғана бөлігін сипаттайды. Қолдану нұсқасының диаграммаларына актерлер үшін интерфейстер операцияның құрамын, сервистің немесе функционалдықтың қажетті жиынтығын анықтайды. Интерфейстер не атрибуттарды, не күйлерді, не бағытталған ассоциацияларды құрай алмайды. Олар тек оның жүзеге асу ерекшелігінің нұсқауы жоқ операциядан тұрады. Формалдық интерфейс атрибуттар мен әдістердің қатысы жоқ абстрактты операциялардың абстрактты класына эквивалентті.

Интерфейстер қолдану нұсқасы диаграммасының элементтері болып табылады. Алайда класстар диаграммасын құрғанда жеке интерфейстер анықталады және оның графигі үшін арнайы символ - класстың тіктөртбұрышы кілттік сөзбен немесе "interface" стереотипімен пайдаланылады. Бұл ретте атрибуттың секциясы тіктөртбұрышта болмайды, тек операцияның секциясы көрсетіледі.

Реализация - бір элемент(клиент) екіншіге(жеткізушімен) тапсырылған тәртіпті жүзеге асыратын үлгінің екі элементінің арасындағы қатынас. Реализация – бүтін - бөліктік қатынас. Реализацияның графигі мұрагерлік сияқты көрсетіледі, бірақ пунктир сызықпен.

Интерфейс операциясының реализация байланыстырушысын жасағанда класста автоматты түрде орындалады. Жаңа операцияның интерфейсіне қосылғанда олар интерфейстің жүзеге асатын класстарында орындалады.

Реализация қатынасын құрғаннан кейін оның белгісіне операцияның сипаттамасымен жасауға болады. Осылайша класстың схемасын көптеген сілтемелерімен күрделендірмей, класспен жүзеге асатын интерфейстерді көрсетуге болады. Сондай-ақ жеке схемаларда интерфейс және оны жүзеге асыратын класстарды көрсетуге болады.

Мысал:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]