Қауымдастықтар класс даналарының арасындағы байланысты
білдіреді. Тұжырымдық жағынан алғанда қауымдастықтар кластар
арасындағы тұжырымдық байланыстарды білдіреді.
Диаграммаларда класс тік төртбұрыш түрінде бейнеленеді (5.16-
сурет, а). Класс аты тік төртбұрыштың оң жақ жоғары секциясында
көрсетіледі. Қажет болғанда класс сипаттамасын көрсетуге болады
(5.16-сурет, б), сондай-ақ класс операциясы (5.16-сурет, в) көрсетіледі.
Кейбір жалпы қасиеттерге ие кластарды топтастыру үшін пакеттер
қолданылады. Пакет - топтағы модельдің элементтерін ұйымдастыруға
арналған жалпы механизм. Модельдің әрбір элементі тек бір пакетке
ғана кіре алады.
5.16-сурет. Кластардың концептуалды диаграммасында кластарды
шартты көрсету:
а – сипаттамаларын анықтаусыз; б – атрибуттарды анықтау арқылы; в –
операцияларды көрсету арқылы
127
Класс аты класс диаграммаларының кейбір жиынтығымен сипатталатын
(мүмкін, бір диаграммасымен) пакет шеңберінде бірегей болуы керек.
Класс аттары нысанға бағытталған талдау мен жобалау кезінде
тақырыптық саланың сөздігін құрады. Класс аттарының үлгілері зат
есімдер, мысалы «Қызметкер», «Басшы», «Клиент», «Сатушы»,
«Менеджер» және модельденетін тақырыптық салаға тікелей қатысы
бар және жобаланатын жүйенің функционалды тағайындалуына
қатысты көптеген басқа зат есімдер болады.
Кластың даналары немесе нысандары болмайды. Бұл жағдайда ол
дерексіз деп аталады.
Кейбір жағдайларда қандай пакетке қандай класс жататындығын
көрсету қажет. Бұл мақсат үшін арнайы бөлгі - қатарланған қос нүкте
« : : » қолданылады. Класс атының жол синтаксисі бұл жағдайда мына
түрде болады <Пакеттің_аты>::<Кластың _аты>. Басқаша айтсақ, класс
атының алдында оны жатқызу қажет пакеттің атын көрсету анық қажет.
Мысалы, «Банк» атымен пакет анықталса, онда «Шот» класын мына
түрде жазамыз: «Банк::Шот».
Атрибуттың аты мәтіннің жолын білдіреді, ол тиісті атрибуттың
идентификаторы ретінде қолданылады және сол себепті осы кластың
шеңберінде бірегей болуы керек. Атрибуттың аты атрибутты
синтаксистік атаудың жалғы міндетті элементі болып табылады.
Атрибуттың дүркінділігі жеке кластың құрамына кіретін осы типтің
нақты атрибуттарының жалпы санын сипаттайды. Жалпы жағдайда
дүркінділік тиісті атрибуттың атынан кейін квадрат жақшалардың ішіне
мәтін жолдары түрінде жазылады:
[төменгі_шекара
1
.. жоғарғы_шекара
1
, төменгі_шекара
2
. .
жоғарғы_шекара
2
, . . . , төменгі_шекара
к
..жоғарғы_шекара
к
],
мұндағы төменгі шекара мен жоғарғы шекара оң бүтін сандар болып
табылады, олардың әрбір сыңары бүтін сандардың тұйық аралығын
белгілеуге арналған, онда төменгі (жоғарғы) шекарасы төменгі
шекараның (жоғарғы шекараның) мәніне тең.
Жалпы алғанда шартты атау тиісті аралықтарды теориялық-көбейту
біріктіруге сәйкес келуі тиіс. Жоғарғы шекара ретінде туынды оң бүтін
санды білдіретін «*» арнайы символды қолдана алады. Басқа
символдармен бұл тиісті атрибуттың дүркінділігінің мәнін жоғарыдан
беруді білдіреді.
128
Мысал ретінде атрибуттардың дүркінділіктерін берудің келесі
нұсқаларын көрсетуге болады:
■
[ 0 . . 1 ] атрибут дүркінділігі 0 немесе 1 мәндерін алуы мүмкін
екендігін білдіреді. Бұл ретте 0 берілген атрибут үшін мәннің
жоқтығын білдіреді;
■
[ 0 . . * ] атрибут дүркінділігі 0 тең немесе одан үлкен кез келген оң
бүтін мәнді алу керектігін білдіреді. Бұл дүркінділік [ * ] қарапайым
символ түрінде қысқаша жазылуы мүмкін;
■
[ 1 . : * ] атрибут дүркінділігі 1 тең немесе одан үлкен кез келген оң
бүтін мәнді алатындығын білдіреді;
■
[ 1 . . 5 ] атрибуттың дүркінділігі 1, 2, 3, 4, 5 сандарынан кез келген
мәнді алатындығын білдіреді.
Егер атрибут дүркінділігі көрсетілмеген болса, онда келісім
бойынша 1..1 тең оның мәні алында, дәлірек 1.
Атрибут типі өрнек түрінде болады, оның семантикасы тиісті
модельдің сипаттама тізімі тілімен айқындалады. UML нотациясында
атрибут типі кейде бағдарламалау тіліне байланысты анықталады, оны
осы модельдің іске асырылуы үшін қолдану болжанады. Ең қарапайым
жағдайда атрибут типі мәтін жолдарымен көрсетіледі, ол пакет немесе
қарастырылып отырған класс жататын модель шеңберінде мәнді
мағынасы бар.
Мысалы, атрибут қызметкердің_есімі [ 1 . . 2 ] : S t r i n g - мұнда
қызметкердің есімі атрибут аты болып табылады, ол есімі туралы
ақпарат беру үшін, сондай-ақ нақты қызметкердің әкесінің аты туралы
ақпарат беруге қызмет етеді.
Атрибут типі S t r i n g ( Ж о л ) есімнің жеке мәні бір немесе екі
сөзден тұратын мәтіннің жолын көрсетеді (мысалы, «Иван» немесе
«Сергей Владимирович»). Бағдарламалау тілдерінің көбінде String
деректер типі бар, бұл ағылшын тілді тиісті терминнің көптеген
бағдарламалаушыларында жаңсақтық туғызбайды. Алайда, UML
тілінде барлық терминдер ағылшын тілінде көрсетілген, атрибут типі
ретінде пайдалану бұл жағдайда алынып тасталмайды және тек ыңғайлы
болуымен анықталады.
Класс диаграммаларын егжей-тегжей дәрежесіне байланысты
атрибуттарды шартты көрсету аты, типі, көріну сипаттамасынан басқа
келесі түрде келісім бойынша мәнін қамтуы мүмкін:
129
<көріну белгісі> <аты>:<типі>=<келісім бойынша мәні>.
Көріну белгісі үш мүмкін мәннің бірін қабылдауы мүмкін және
тиісінше арнайы символдардың көмегімен көрсетіледі.
«+» символ көпшілікке қолжетімді көріну түрінің саласымен
атрибутты білдіреді (public). Атрибут осы көріну аясынан қолжетімді
немесе диаграмма анықталған өзге кластан көрінеді.
«#» символы қорғалған түрдегі көріну типінің облысы бар атрибутты
білдіреді (protected). Бұл облыстағы атрибут қолжетімді емес немесе осы
кластың қосалқы кластарынан басқа барлық кластар үшін көрінбейді.
Және «-» белгісі жабық түрдегі көріну аясынан атрибутты көрсетеді
(private). Атрибут бұл көріну аясынан қолжетімді емес немесе барлық
класттар үшін көрінбейді.
Көріну белгісі төмен түсірілуі мүмкін. Бұл жағдайда оның болмауы
атрибуттың көрінуі көрсетілмейтіндігін білдіруі мүмкін. Шартты
графикалық шартты атаулардың орнына тиісті тірек сөздерді жазуға
болады: public, protected, private.
Атрибуттарды
берген
кезде
қосымша
екі
синтаксистік
конструкциялар қолданылуы мүмкін - бұл атрибут жолын сызып
көрсету мен фигуралық жақшалардың ішіндегі түсініктемелік мәтін.
Атрибут жолының астын сызу тиісті атрибуттың оның типімен
анықталатын атрибут мәндерінің кейбір аясынан көптеген мәндерді
қабылдай алатындығын білдіреді. Бұл мәндерді бір типті жазбалардың
немесе кластың әрбір нысанын жиынтықтап сипаттайтын массивтердің
жинағы ретінде қарастыруға болады.
Тік төртбұрыштың жоғарғыдағы үшінші секциясына операциялар
немесе класс әдістері жазылады.
Достарыңызбен бөлісу: |