Аппараттық және бағдарламалық қамтамасыз етуді орнату

Бірыңғай модельдеу тілінің негіздері. UML тілінің жалпы сипаттамасы UML диаграммасы қалай жасалады

UML үлгісі(UML моделі) – негізгілері субъектілер мен олардың арасындағы қатынастар болып табылатын тілдік құрылымдардың ақырғы жиынтығының жиынтығы.

Модельдің нысандары мен қатынастарының өзі метамодельдің метасыныптарының даналары болып табылады.

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

1.4.1. Эссенциялар

Шолу ыңғайлы болу үшін UML-дегі нысандарды төрт топқа бөлуге болады:

  • құрылымдық;
  • мінез-құлық;
  • топтастыру;
  • аннотациялы.

Құрылымдық нысандар, сіз болжағандай, құрылымды сипаттауға арналған. Әдетте, құрылымдық құрылымдарға мыналар жатады.

Объект(нысан) 1 - бірегейлігі бар және күй мен мінез-құлықты қамтитын нысан.

Сынып(сынып) 2 - күйді анықтайтын жалпы атрибуттары бар объектілер жиынтығының сипаттамасы және мінез-құлықты анықтайтын операциялар.

Интерфейс(интерфейс) 3 - тұтынушы сұрай алатын және көрсетілетін қызметті беруші ұсынатын қызметтер жинағын анықтайтын операциялардың атаулы жиынтығы.

Ынтымақтастық(ынтымақтасу) 4 – қандай да бір мақсатқа жету үшін өзара әрекеттесетін объектілердің жиынтығы.

Актер(актер) 5 – модельденетін жүйеден тыс және онымен тікелей әрекеттесетін нысан.

∇ Мұндай қатынас сөзсіз бар, ол суретте көрсетілген. UML 1 үшін диаграмма түрі иерархиясы«нақтылау» стереотипімен тәуелділік қатынасы ретінде.

∇∇ UML 1-де ынтымақтастық диаграммасы мен аттас нысан арасында еріксіз байланыс болды, ол толығымен шындыққа сәйкес келмейтін және кейде жаңылысатын.

∇∇∇ UML 2-де күй диаграммасының синтаксистік және семантикалық жүктемесінің өзгергені сонша, атау енді мазмұнды көрсетпейді.

Төменде осы кітапта қабылданған жаңа диаграммалардың тізімі және олардың атаулары берілген.

  • Құрама құрылым диаграммасы
  • Пакет диаграммасы
  • Күй машинасының диаграммасы
  • Байланыс диаграммасы
  • Өзара әрекеттестікке шолу диаграммасы
  • Уақыт диаграммасы

Суретте. UML 2 үшін диаграмма түрі иерархиясы (1 және 2 бөлім) UML 2-дегі диаграммалардың байланысын көрсететін класс диаграммасы.

Кейінірек осы тарауда біз барлық он үш канондық диаграмманы қысқаша сипаттайтын боламыз. Толық мәліметтер кітаптың қалған тарауларында берілген.

Бірақ келесі бөлімге өтпес бұрын, стандарт диаграммаларды пішімдеуді қалай талап ететіні туралы шағын шегініс жасайық. Төменде жалпы диаграмма көрсетілім үлгісі берілген.

Дизайндың екі негізгі элементі бар: сыртқы жақтау және диаграмма атауы бар жапсырма. Егер жақтаумен бәрі қарапайым болса - бұл диаграмманың элементтері орналасуы керек аймақты шектейтін тіктөртбұрыш болса, онда диаграмманың атауы суретте көрсетілген арнайы форматта жазылады. Диаграмма белгілеу.

Бұл күрделі қойынды пішініне барлық құралдар қолдау көрсетпейді. Дегенмен, бұл қажет емес, өйткені семантика негізгі, ал белгі - қосымша. Келесіде біз диаграмма белгісі ретінде тіктөртбұрышты қолданамыз және бұл түсінбеушілік тудырмауы керек.

Диаграммалардың мүмкін тегтері (түрлері) келесі кестеде көрсетілген. Стандарт ұсынатын тегтер екінші бағанда жазылады. Дегенмен, тәжірибе көрсеткендей, стандартта ұсынылған ережелер әрқашан ыңғайлы және логикалық түрде негізделген емес, сондықтан кестенің үшінші бағанында біздің ойымызша, ақылға қонымды балама бар.

қойындысы. Диаграмма түрлері және тегтері

Диаграмма атауы Белгі (стандартты) Тег (ұсынылады)
Қолдану диаграммасы пайдалану жағдайынемесе uc пайдалану жағдайы
сынып диаграммасы сынып сынып
автомат диаграммасы мемлекеттік машинанемесе stm мемлекеттік машина
белсенділік диаграммасы белсенділікнемесе әрекет белсенділік
реттілік диаграммасы өзара әрекеттесунемесе SD SD
Коммуникация диаграммасы өзара әрекеттесунемесе SD comm
Компонент диаграммасы құрамдаснемесе cmp құрамдас
Орналастыру диаграммасы анықталмаған орналастыру
Объект диаграммасы анықталмаған объект
Ішкі құрылым диаграммасы сынып сыныпнемесе құрамдас
Өзара әрекеттестікке шолу диаграммасы өзара әрекеттесунемесе SD өзара әрекеттесу
Уақыт диаграммасы өзара әрекеттесунемесе SD уақыт
Пакет диаграммасы пакетнемесе пкг пакет
11.1. Құрылым біртұтас тілмодельдеу

Бірыңғай модельдеу тілі (UML) жылы осы сәтобъектіге бағытталған жүйелерді жобалау және әзірлеу нәтижелерін сипаттауға (құжаттандыруға) арналған іс жүзінде стандарт болып табылады. UML әзірлеуін 1994 жылы Grady Booch және James Rumbaugh Rational Software компаниясында бастады. 1995 жылдың күзінде оларға Ивар Якобсон қосылды және сол жылдың қазан айында 0,8 Бірыңғай әдістің алдын ала нұсқасы шығарылды. Сол уақыттан бері UML спецификациясының бірнеше нұсқасы шығарылды, олардың екеуі халықаралық стандарт мәртебесіне ие:

UML 1.4.2 - «ISO/IEC 19501:2005. Ақпараттық технологиялар. Ашық таратуды өңдеу. Бірыңғай модельдеу тілі (UML). 1.4.2 нұсқасы" (ағыл. "Ақпараттық технологиялар. Ашық таратылған өңдеу. Бірыңғай модельдеу тілі (UML). 1.4.2 нұсқасы");

UML 2.4.1 - "ISO / IEC 19505-1: 2012. Ақпараттық технологиялар - Бірыңғай нысанды басқару тобын модельдеу тілі (OMG UML). 1-бөлім. Инфрақұрылым" (ағыл. "Ақпараттық технологиялар - Object Management Group Unified Modeling Language ( OMG UML) ) - 1-бөлім: Инфрақұрылым») және "ISO / IEC 19505-2: 2012. Ақпараттық технологиялар. Бірыңғай объектілерді басқару тобын модельдеу тілі (OMG UML). 2-бөлім. Қондырғы" (ағыл. "Ақпараттық технологиялар - Объектілерді басқару тобы Бірыңғай модельдеу" Тіл (OMG UML) - 2-бөлім: қондырма»).

Соңғы ресми тіл сипаттамасын www.omg.org сайтынан табуға болады.

UML жалпы құрылымы келесі суретте көрсетілген.

Күріш. 11.1. UML құрылымы

11.2. UML семантикасы және синтаксисі

Семантика - тіл бірліктерінің, ең алдымен оның сөздері мен сөз тіркестерінің мағынасын зерттейтін тіл білімінің бөлімі.

Синтаксис - сөздерді және олардың формаларын сөз тіркесі мен сөйлемге байланыстыру, сөйлемдерді күрделі сөйлемдерге байланыстыру тәсілдері, мәтін бөлігі ретінде мәлімдеме жасау тәсілдері.

Осылайша, UML-ге қатысты семантика мен синтаксис презентация үшін табиғи және ресми тілдерді біріктіретін презентация стилін (модель құру) анықтайды. негізгі ұғымдар(үлгінің элементтері) және оларды кеңейту механизмдері.

11.3. UML белгісі

Белгілеу – семантиканың оның көрнекі түрде бейнеленуі үшін графикалық интерпретациясы.

UML үш анықтайды нысан түрі :

Құрылымдық – концептуалды немесе физикалық объектінің көрінісі болып табылатын абстракция;

Топтастыру – диаграмма элементтерінің кейбір семантикалық ассоциациясы үшін қолданылатын элемент;

Түсіндірме (аннотация) – диаграмма элементіне түсініктеме.

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

11.1-кесте. Эссенциялар

түрі Аты Белгілеу Анықтама (семантика)
Құрылымдық
(сынып)
Көптеген нысандар бар жалпы құрылымжәне мінез-құлық

(нысан)
Нақты анықталған концептуалды шекаралары, даралығы (тұлғасы), күйі және мінез-құлқы бар нақты немесе ойдан шығарылған болмыстың абстракциясы. UML көзқарасы бойынша, нысандар класс даналары (нысан даналары)

(актер)

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

(қолдану жағдайы)
Актер үшін маңызды нәтижеге әкелетін жүйемен орындалатын әрекеттердің сипаттамасы

(мемлекет)
Нысан өмірінің қандай да бір шартты қанағаттандыратын, қандай да бір әрекетті орындайтын немесе қандай да бір оқиғаның орын алуын күтетін сәтінің сипаттамасы.
Ынтымақтастық
(ынтымақтастық)
Белгілі бір мәселені шешу процесінде субъектілердің, объектілердің және олардың өзара әрекеттесуінің даналарының жиынтығының сипаттамасы

(компонент)
Жүйенің (файлдың) физикалық бөлігі, оның ішінде интерфейстердің дәйекті жиынтығын жүзеге асыруды қамтамасыз ететін жүйелік модульдер

(интерфейс)

iCalculation
Класс немесе құрамдас ұсынатын қызметті (қызметтердің жиынтығын) анықтайтын операциялар жиынтығы

(түйін)
Мәселені шешу үшін ресурстарды қамтамасыз ететін жүйенің физикалық бөлігі (компьютер, принтер және т.б.).
Топтастыру
(пакет)
Элементтерді топтастырудың жалпы механизмі.
Компоненттен айырмашылығы, бума таза концептуалды (абстрактілі) ұғым. Буманың ерекше жағдайлары жүйе және модель болып табылады

(үзінді)
Актер мен объект инстанцияларының спецификалық өзара әрекеттесу аймағы

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

(үзіліс әрекет аймағы)
Қалыпты орындалу реттілігі әдеттен тыс жағдай нәтижесінде үзілуі мүмкін операциялар тобы
түсіндірме Ескерту
(түсініктеме)
Элемент түсініктемесі. Түсініктеме берілген элементке үзік сызықпен бекітілген

Кейбір көздер, атап айтқанда [ , ], мінез-құлық субъектілерін де ажыратады өзара әрекеттесулержәне мемлекеттік машиналар, бірақ логикалық тұрғыдан олар диаграммалар ретінде жіктелуі керек.

Жоғарыда аталған нысандардың кейбіреулері олардың ыдырау диаграммаларында егжей-тегжейлі сипаттамасын білдіреді. Жоғарғы деңгейдегі диаграммада олар арнайы белгішемен немесе белгімен белгіленген.

Төмендегі кесте әрбір түрді сипаттайды қарым-қатынастар UML нысандар арасындағы қарым-қатынастарды көрсету үшін диаграммаларда қолданылады.

11.3-кесте. Қарым-қатынастар

Аты Белгілеу Анықтама (семантика)
Қауымдастық Сипаттайтын қатынас маңызды байланысекі немесе одан да көп субъектілер арасында. Көпшілігі жалпы формасықарым-қатынастар
Агрегация Бірлестіктің "бөлік"-"тұтас" қатынасын сипаттайтын ішкі түрі, онда "бөлік" "бүтіннен" бөлек болуы мүмкін. Ромб «бүтін» жағынан көрсетілген. Қатынас тек бір түрдегі нысандар арасында ғана көрсетіледі
Құрамы «Бөлшектері» «бүтіннен» бөлек өмір сүре алмайтын біріктірудің кіші түрі. Әдетте, «бөліктер» «бүтінмен» бір мезгілде жасалады және жойылады.
Тәуелділік Бір нысандағы (тәуелсіз) өзгеріс басқа субъектінің (тәуелді) күйіне немесе мінез-құлқына әсер етуі мүмкін екі нысан арасындағы қатынас. Көрсеткі жағында тәуелсіз нысан көрсетілген
Жалпылау Жалпыланған тұлға (ата-ана, ата-ана) мен арнайы тұлға (бала, қыз) арасындағы қатынас. Үшбұрыш ата-ана жағынан көрсетілген. Қатынас тек бір түрдегі нысандар арасында ғана көрсетіледі
Іске асыру Бір ұйым басқа ұйым орындауға міндеттенетін әрекетті көрсететін субъектілер арасындағы қатынас. Қарым-қатынастар екі жағдайда қолданылады: интерфейстер мен сыныптар (немесе құрамдас бөліктер), пайдалану жағдайлары мен бірлескен әрекеттер арасында. Көрсеткі жағы әрекетті анықтайтын нысанды көрсетеді (интерфейс немесе пайдалану жағдайы)

Ассоциация, жинақтау және композиция үшін көрсетуге болады көптік (Ағылшынша мультипликация), ол қатынасқа қатысатын субъектілердің даналарының жалпы санын сипаттайды. Ол, әдетте, сәйкес субъектінің жанында қатынастың әр жағында көрсетіледі. Көпшілікті келесі жолдармен анықтауға болады:

- * - көшірмелердің кез келген саны, оның ішінде ешқайсысы да;

Теріс емес бүтін сан – көбейтіндісі қатаң бекітілген және көрсетілген санға тең (мысалы: 1, 2 немесе 5);

«бірінші сан.. екінші сан» теріс емес бүтін сандар ауқымы (мысалы: 1..5, 2..10 немесе 0..5);

Нақты бастапқы мәннен ерікті соңғы «бірінші сан..*» дейінгі сандар ауқымы (мысалы: 1..*, 5..* немесе 0..*);

Теріс емес бүтін сандарды және үтірмен бөлінген ауқымдарды санау (мысалы: 1, 3..5, 10, 15..*).

Егер көптік көрсетілмесе, онда оның мәні 1 болып қабылданады. Тәуелділікке, жалпылауға және іске асыруға қатысатын нысан даналарының көптігі әрқашан 1 деп қабылданады.

Келесі кестеде сипаттама берілген кеңейту механизмдері тұлғалар мен қатынастардың семантикасын нақтылау үшін қолданылады. Жалпы алғанда, кеңейту механизмі жақшаға немесе тырнақшаға алынған мәтін тізбегі болып табылады.

11.4-кесте. Кеңейту механизмдері

Аты Белгілеу Анықтама (семантика)
Стереотип
(стереотип)
« » Белгілеу элементінің семантикасын көрсететін белгілеу (мысалы: «қосу» стереотипі бар тәуелділік қосу қатынасы ретінде қарастырылады, ал «шек» стереотипі бар класс шекаралық класс)
күзет жағдайы
(қорғау жағдайы)
Логикалық шарт (мысалы: немесе [сәйкестендіру орындалды])
Шектеу
(шектеу)
{ } Үлгі элементінің семантикасын шектейтін ереже (мысалы, (орындау уақыты 10 мс-тен аз))
Белгіленген мән
(белгіленген мән)
{ } Жаңа немесе білікті белгілеу элементінің қасиеті (мысалы: (нұсқа = 3.2))

Тырнақшадағы мәтін жолы ретінде көрсетілген стереотиптерден басқа, диаграммаларда графикалық стереотиптерді пайдалануға болады. Төмендегі суретте стандартты және стереотиптік карта жасау мысалдары көрсетілген.

а) стандартты белгілеу б) стандартты белгілеу
мәтін стереотипімен
в) графикалық стереотип

Күріш. 11.2. Стандартты және стереотиптік класс картасының мысалдары

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

11.5-кесте. Диаграммалар

Диаграмма Мақсат
физикалық іске асыру дәрежесіне қарай динамикасын көрсету арқылы көрсетілетін аспект бойынша

(қолдану жағдайы)
Жүйе функцияларын, актерлер мен функциялардың өзара әрекетін көрсетеді логикалық статикалық функционалды

(сынып)
Класстардың, интерфейстердің және олардың арасындағы қатынастардың жиынын көрсетеді Бульдік немесе
физикалық
статикалық Функционалды ақпарат

(пакет)
Бумалар жиынын және олардың қарым-қатынастарын көрсетеді Бульдік немесе
физикалық
статикалық Құрамдас
мінез-құлық
(мінез-құлық)

(мемлекеттік машина)
Нысан күйлерін және өмірлік циклі кезінде олардың арасындағы ауысуларды көрсетеді логикалық Динамикалық мінез-құлық

(белсенділік)
Жүйедегі бизнес-процестерді көрсетеді (мінез-құлық алгоритмдерінің сипаттамасы)
Өзара әрекеттесулер
(өзара әрекеттесу)

(жүйелі)
Объектілер мен актерлер арасында хабар алмасу ретін көрсетеді

(байланыс)
Реттілік диаграммасына ұқсас, бірақ негізгі назар объектілер арасындағы өзара әрекеттесу құрылымына аударылады
Іске асыру
(іске асыру)

(компонент)
Жүйе компоненттерін (бағдарламалар, кітапханалар, кестелер және т.б.) және олардың арасындағы сілтемелерді көрсетеді Физикалық статикалық Құрамдас

(орналастыру)
Желілік түйіндер бойынша компоненттердің орналасуын, сондай-ақ оның конфигурациясын көрсетеді

UML 2.x стандарты сонымен қатар қосымша, жоғары мамандандырылған диаграммаларды анықтайды:

Объект диаграммасы (объект диаграммасы) – ұқсас, бірақ сыныптардың орнына объектілер көрсетіледі;

Уақыт диаграммасы – объектінің уақыт бойынша күйін сипаттайды;

Құрама құрылым диаграммасы - басқа класстармен әрекеттесу үшін кластың порттарын (соның ішінде интерфейстерді) сипаттайды;

Профиль диаграммасы (профиль диаграммасы) - оларға кіретін сыныптардың сипаттамасына ұқсас;

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

Жүйенің ішкі архитектурасының концептуалды көрінісін кеңейту үшін құрылыстың көпшілігі деп аталатындар үшін жақсы бекітілген графикалық стереотиптерді пайдалануға мүмкіндік береді. Мұндай диаграмма 1 деп аталады, бірақ UML стандартымен анықталған диаграммалар тізіміне жатпайды.

Жеке жүйе моделін жасау кезінде диаграммалардың бірнеше түрі құрастырылады. Сонымен қатар, күрделі жүйенің моделін жасау кезінде, әдетте, бір типтегі бірнеше диаграммалар салынады. Сонымен қатар, қажет болмаса, бөлек диаграмма көріністерін жасаудың қажеті жоқ. Мысалы, диаграммалар және бір-бірін алмастыруға болады, олар тек күрделі әрекеті бар нысандар үшін құрастырылған. Келесі кестеде жүйелік модельдер үшін диаграммаларды әзірлеу (нақтылау) қажеттілігі туралы ұсыныстар берілген.

11.6-кесте. Модельдер мен диаграммаларды байланыстыру

Жоғарыда келтірілген кестеде тестілеу үлгісі көрсетілмеген, өйткені оның құрылысы шеңберінде диаграммалар әзірленбеген, бірақ толықтығы мен сәйкестігі тексеріледі (сыналады).

Диаграммалардың бір бөлігі оларды құрастырғаннан кейін келесі үлгіні әзірлеу бөлігі ретінде әзірлеуді және нақтылауды талап етеді ( технологиялық процесс). Мәселен, әзірлеу кезінде нақтылау керек. үлгілерде.

4. «» терминіне анықтама беріңіз.

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

Ол не үшін керек?

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

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

Сондай-ақ, мұндай диаграммалардың бірнеше түрлері бар екенін атап өткен жөн.

сынып диаграммасы

UML класс диаграммасы жүйенің құрылымын сипаттауға, сондай-ақ бірнеше әртүрлі класстар арасындағы атрибуттарды, әдістерді және тәуелділіктерді көрсетуге арналған статикалық құрылым диаграммасы болып табылады.

Айта кету керек, мұндай диаграммаларды құруға қатысты олардың қалай қолданылатынына байланысты бірнеше көзқарастар бар:

  • Тұжырымдама. Бұл жағдайда UML класс диаграммасы белгілі бір модельді сипаттайды пәндік аймақ, және ол тек қолданбалы нысан сыныптарын қамтамасыз етеді.
  • Арнайы. Диаграмма әртүрлі ақпараттық жүйелерді жобалау процесінде қолданылады.
  • Іске асыру. Класс диаграммасы бағдарлама кодында тікелей қолданылатын класстардың барлық түрлерін қамтиды.

Компонент диаграммасы

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

Құрама/композиттік құрылым диаграммасы

UML құрама/құрамды құрылым диаграммасы да статикалық құрылым диаграммасы болып табылады, бірақ ол сыныптардың ішкі құрылымын көрсету үшін қолданылады. Мүмкін болса, бұл диаграмма құрамындағы элементтердің өзара әрекеттесуін де көрсете алады ішкі құрылымысынып.

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

Айта кету керек, UML класс диаграммалары мен құрама құрылым диаграммалары бір уақытта қолданылуы мүмкін.

Орналастыру диаграммасы

Бұл диаграмма іске қосылған түйіндерді, сондай-ақ оларда орналастырылған артефакттардың барлық түрлерін модельдеу үшін пайдаланылады. UML 2-де артефактілер әртүрлі түйіндерде орналастырылған, ал бірінші нұсқада тек құрамдас бөліктер орналастырылған. Осылайша, UML орналастыру диаграммасы бірінші кезекте екінші нұсқа үшін пайдаланылады.

Көрініс тәуелділігі артефакт пен ол іске асыратын компонент арасында қалыптасады.

Объект диаграммасы

Бұл көрініс белгілі бір уақытта жасалып жатқан жүйенің толық немесе ішінара суретін көруге мүмкіндік береді. Ол олардың параметрлерінің ағымдағы мәндерін, сондай-ақ олардың арасындағы байланыстарды көрсете отырып, белгілі бір жүйенің сыныптарының барлық даналарын толығымен көрсетеді.

Пакет диаграммасы

Бұл диаграмма құрылымдық сипатқа ие және оның негізгі мазмұны пакеттердің барлық түрлері, сондай-ақ олардың арасындағы байланыстар болып табылады. Бұл жағдайда бірнеше құрылымдық диаграммалар арасында қатаң бөлу жоқ, нәтижесінде оларды пайдалану көбінесе ыңғайлы болу үшін ғана қолданылады және ешқандай семантикалық мағына бермейді. Айта кету керек, әртүрлі элементтер басқа UML диаграммаларын бере алады (мысалы: пакеттер мен пакет диаграммаларының өздері).

Оларды пайдалану бірнеше элементтерді белгілі бір атрибут бойынша топтарға ұйымдастыруды қамтамасыз ету, құрылымды жеңілдету, сондай-ақ осы жүйенің үлгісімен жұмысты ұйымдастыру мақсатында жүзеге асырылады.

белсенділік диаграммасы

UML әрекет диаграммасы белгілі бір әрекеттің бірнешеге бөлінуін көрсетеді құрамдас бөліктер. Бұл жағдайда «белсенділік» түсінігі белгілі бір орындалатын мінез-құлықтың параллель түріндегі нақтылануын, сондай-ақ әртүрлі бағынышты элементтердің келісілген дәйекті орындалуын білдіреді - кірістірілген қызмет түрлері мен әртүрлі әрекеттер, олардан шығатын ағындармен біріктірілген. белгілі бір түйіннің шығыстары басқасының кірістеріне.

UML белсенділік диаграммасы әртүрлі бизнес-процестерді, параллельді және дәйекті есептеулерді модельдеу үшін жиі пайдаланылады. Басқа нәрселермен қатар, олар технологиялық процедуралардың барлық түрлерін модельдейді.

автомат диаграммасы

Бұл көрініс деп аталады және біршама басқаша - UML күй диаграммасы. Оның қарапайым және құрама күйлері, сондай-ақ ауысулары бар ұсынылған күй машинасы бар.

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

Айдаһар диаграммалары деп аталатындар мұндай диаграммалардың аналогтары ретінде пайдаланылуы мүмкін.

Кейс диаграммаларын пайдаланыңыз

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

Жүйені модельдеу процесінде UML қолдану жағдайларының диаграммасы пайдаланылса, талдаушы:

  • Үлгіленетін жүйені оның ортасынан анық ажыратыңыз.
  • Актерлерді, олардың осы жүйемен әрекеттесу тәсілдерін, сондай-ақ оның күтілетін функционалдығын анықтау.
  • Пәндік аймақ ретінде глоссарийде осы жүйенің функционалдық мүмкіндіктерін егжей-тегжейлі сипаттауға қатысты әртүрлі ұғымдарды орнатыңыз.

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

Коммуникациялар

Байланыс диаграммасы, UML реттілік диаграммасы сияқты, транзитивті, яғни өзара әрекеттесуді білдіреді, бірақ сонымен бірге оны көрсетеді. әртүрлі жолдар, ал қажет болса, қажетті дәлдік дәрежесімен бірін екіншісіне түрлендіруге болады.

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

Бұл түрібірнеше объектілерді және қатынастарды ретке келтірудің абсолютті еркін пішімінде, ол нысан диаграммасында орындалатындай етіп ерекшеленеді. Осы еркін форматта хабарламалардың ретін сақтау қажеттілігі туындаса, олар хронологиялық ретпен нөмірленеді. Бұл диаграмманы оқу 1.0 бастапқы хабарламасынан басталады, содан кейін хабарламалар бір нысаннан екіншісіне берілетін бағыт бойынша жалғасады.

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

реттілік диаграммасы

UML реттілік диаграммасы пайда болу уақытына сәйкес реттелген бірнеше объектілер арасындағы өзара әрекеттесуді көрсетеді. Мұндай диаграмма бірнеше объектілер арасындағы уақыт бойынша реттелген өзара әрекеттесуді көрсетеді. Атап айтқанда, ол өзара әрекеттесуге қатысатын барлық объектілерді, сондай-ақ олармен алмасатын хабарламалардың толық тізбегін көрсетеді.

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

Ынтымақтастық диаграммасы

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

Реттік диаграммалар мен байланыс диаграммалары бірдей процедуралардың жай ғана әртүрлі көріністері болғандықтан, Rational Rose реттілік диаграммасынан немесе керісінше байланыс реттілігі диаграммасын жасау мүмкіндігін береді, сонымен қатар оларды толығымен автоматты түрде үндестіреді.

Өзара әрекеттестікке шолу диаграммалары

Бұл диаграммалар UML тілі, олар әр түрлі әрекет диаграммаларына сілтеме жасайды және Жүйе элементтері мен басқару ағынының құрылымдарын қосады.

Бұл фактіні атап өткен жөн берілген форматҚұрылатын жүйедегі бірнеше объектілердің өзара әрекеттесуін әртүрлі көзқарастардан қарастыруға мүмкіндік беретін Бірлескен жұмыс пен реттілік диаграммасын біріктіреді.

Уақыт диаграммасы

Белгілі бір уақыт шкаласы бар өмір сызығындағы күйдің өзгеруін анық көрсететін реттілік диаграммасының баламалы нұсқасын көрсетеді. Ол әртүрлі нақты уақыттағы қолданбаларда өте пайдалы болуы мүмкін.

Қандай пайдасы бар?

UML пайдалану диаграммасын және басқаларын ажырататын бірнеше артықшылықтарды атап өткен жөн:

  • Тіл объектілі-бағытталған, нәтижесінде жүргізілген талдау және жобалау нәтижелерін сипаттау технологиялары қазіргі типтегі объектілі-бағытталған тілдердің барлық түрлеріндегі бағдарламалау әдістеріне семантикалық жағынан жақын.
  • Көмегімен берілген тілжүйені кез келген мүмкін дерлік тұрғыдан сипаттауға болады және оның мінез-құлқының әртүрлі аспектілері дәл осылай сипатталады.
  • Барлық диаграммалар оның синтаксисімен салыстырмалы түрде жылдам танысқаннан кейін де салыстырмалы түрде оңай оқылады.
  • UML кеңейтуге, сондай-ақ өзіңіздің графикалық және мәтіндік стереотиптеріңізді енгізуге мүмкіндік береді, бұл оны тек бағдарламалық жасақтамада ғана емес қолдануға ықпал етеді.
  • Тіл айтарлықтай кең тарады, сонымен қатар белсенді түрде дамып келеді.

Кемшіліктер

UML диаграммаларын құрудың көптеген артықшылықтары бар екеніне қарамастан, олар келесі кемшіліктер үшін жиі сынға ұшырайды:

  • артықшылық. Жағдайлардың басым көпшілігінде сыншылар UML тым үлкен және күрделі екенін айтады және көбінесе бұл негізсіз. Ол өте көп артық немесе іс жүзінде пайдасыз конструкциялар мен диаграммаларды қамтиды және көбінесе мұндай сын бірінші емес, екінші нұсқаға түседі, өйткені жаңа редакцияларда үлкен мөлшер«комитет әзірлеген» ымыраға келу.
  • Семантикадағы әртүрлі дәлсіздіктер. UML өзі, ағылшын және OCL тіркесімі арқылы анықталғандықтан, оның ресми сипаттау әдістерімен нақты анықталған тілдерге тән қаттылық жоқ. Кейбір жағдайларда OCL, UML және ағылшын тілінің абстрактілі синтаксисі бір-біріне қайшы келе бастайды, ал басқа жағдайларда олар толық емес. Тілдің өзін сипаттаудың дәлсіздігі пайдаланушыларға да, құрал жеткізушілеріне де әсер етеді, бұл сайып келгенде құралдың сәйкессіздіктеріне әкеледі бірегей жоләртүрлі спецификацияларды түсіндіру.
  • Іске асыру және зерттеу үдерісіндегі мәселелер. Жоғарыда аталған мәселелердің барлығы UML-ді енгізу және үйрену процесінде белгілі бір қиындықтарды тудырады және бұл, әсіресе, басшылық инженерлерді алдыңғы дағдылары болмаған кезде оны пайдалануға мәжбүр еткенде дұрыс.
  • Код кодты көрсетеді. Тағы бір пікір - бұл әдемі және тартымды модельдер емес, тікелей жұмыс істейтін жүйелер, яғни код - бұл жоба. Осы көзқарасқа сай, одан әрі дамыту қажет тиімді әдісжазу бағдарламалық қамтамасыз ету. UML орындалатын немесе бастапқы кодты қалпына келтіру үшін үлгілерді құрастыратын тәсілдерде бағаланады. Бірақ шын мәнінде бұл жеткіліксіз болуы мүмкін, себебі тілде Тюринг толықтық қасиеттері жоқ және әрбір жасалған код ақырында UML интерпретациялау құралы қабылдай алатын немесе анықтай алатын нәрсемен шектеледі.
  • Жүктеменің сәйкессіздігі. Бұл термин белгілі бір жүйенің кірісінің басқа жүйенің шығысын қабылдауға қабілетсіздігін анықтау үшін жүйелік талдау теориясынан шыққан. Кез келген стандартты белгілер сияқты, UML белгілі бір жүйелерді басқаларға қарағанда тиімдірек және қысқаша түрде көрсете алады. Осылайша, әзірлеуші ​​UML-дің барлық күшті жақтарын, сондай-ақ басқа бағдарламалау тілдерін тоқу үшін ыңғайлы шешімдерге көбірек бейім. Бұл мәселеегер даму тілі объектілі-бағытталған ортодоксалды доктринаның негізгі принциптерін ұстанбаса, яғни ООП принциптеріне сәйкес жұмыс істеуге тырыспаса, айқынырақ.
  • Жан-жақты болуға тырысады. UML - қазіргі уақытта бар кез келген өңдеу тілімен үйлесімді болуға ұмтылатын жалпы мақсаттағы модельдеу тілі. Белгілі бір жобаның контекстінде дизайнерлік топ түпкілікті мақсатқа жету үшін осы тілдің қолданылатын мүмкіндіктерін таңдау қажет. бұдан бөлек мүмкін тәсілдеркез келген нақты саладағы UML ауқымының шектеулері толық тұжырымдалмаған, бірақ өзі сынның объектісі болып табылатын формализмнен өтеді.

Осылайша, бұл тілді қолдану барлық жағдайларда өзекті бола бермейді.

UML қазір 1997 жылдың күзінде Object Managing Group (OMG) қабылдаған және көптеген объектіге бағытталған CASE өнімдерімен қолдау көрсетілетін бағдарламалық жүйелерді визуалды модельдеудің стандартты белгісі болып табылады.

UML стандарты модельдеу үшін келесі диаграммалар жинағын ұсынады:

Use case диаграммасы (us case diagram) – ұйымның немесе кәсіпорынның бизнес-процестерін модельдеу және құрылатын ақпараттық жүйеге қойылатын талаптарды анықтау үшін;

класс диаграммасы (класс диаграммасы) – жүйе кластарының статикалық құрылымын және олардың арасындағы байланыстарды модельдеу үшін;

жүйелік мінез-құлық диаграммасы (мінез-құлық диаграммалары);

өзара әрекеттесу диаграммалары;

Жүйелілік диаграммалары – бір пайдалану жағдайындағы объектілер арасындағы хабар алмасу процесін модельдеу үшін;

ынтымақтастық диаграммасы (бірлесу диаграммасы) - бір пайдалану жағдайындағы объектілер арасындағы хабар алмасу процесін модельдеу үшін;

statechart диаграммасы – бір күйден екінші күйге өту кезінде жүйе объектілерінің әрекетін модельдеуге арналған;

белсенділік диаграммасы (белсенділік диаграммасы) - шеңбердегі жүйенің әрекетін модельдеуге арналған әртүрлі опцияларпайдалану немесе модельдеу әрекеттері;

іске асыру диаграммасы (іске асыру диаграммалары):

Компоненттік диаграммалар (компоненттік диаграммалар) – ақпараттық жүйенің құрамдас бөліктерінің (ішкі жүйелерінің) иерархиясын модельдеу үшін;

орналастыру диаграммасы (deployment diagram) – жобаланған ақпараттық жүйенің физикалық архитектурасын модельдеу үшін.

Суретте. 1.1 осы курстық жобада әзірленетін негізгі диаграммаларды қамтитын ақпараттық жүйенің біріктірілген моделін ұсынады.

Күріш. 1. UML тілінің нотасындағы ақпараттық жүйенің біріктірілген моделі

4.2. Іс диаграммасын қолданыңыз

Қолдану жағдайы – бұл қандай да бір сыртқы объект (актер) іске қосқан оқиғаға жауап ретінде жүйе орындайтын әрекеттер тізбегі. Пайдалану жағдайы пайдаланушы мен жүйе арасындағы әдеттегі әрекеттесуді сипаттайды. Ең қарапайым жағдайда қолдану жағдайы пайдаланушымен осы ақпараттық жүйеде іске асырғысы келетін функцияларды талқылау процесінде анықталады. UML тілінде пайдалану жағдайы келесідей бейнеленген:

2-сурет. Қолдану жағдайы

Актер – пайдаланушының жүйеге қатысты атқаратын рөлі. Актерлер рөлдерді емес, рөлдерді білдіреді нақты адамдарнемесе лауазым атаулары. Олар қолданыс диаграммаларында стильдендірілген адам фигуралары ретінде бейнеленгенімен, актер сыртқы болуы мүмкін. ақпараттық жүйе, ол берілген жүйеден кейбір ақпаратты қажет етеді. Сіз актерлерді диаграммада кейбір пайдалану жағдайлары қажет болғанда ғана көрсетуіңіз керек. UML тілінде актерлер пішіндер ретінде ұсынылған:



3-сурет. Кейіпкер (актер)

Актерлер үш негізгі түрге бөлінеді:

Пайдаланушылар

жүйелер;

Осы жүйемен әрекеттесетін басқа жүйелер;

Жүйедегі кез келген оқиғалардың іске қосылуы соған байланысты болса, уақыт актер болады.

4.2.1. Қолдану жағдайлары мен актерлер арасындағы байланыстар

UML тілінде пайдалану жағдайлары диаграммалары диаграмма элементтері арасындағы байланыстың бірнеше түрін қолдайды:

Байланыс (коммуникация),

Қосылу (қосу),

ұзарту (ұзарту),

жалпылау.

коммуникациялық байланысқолдану жағдайы мен актер арасындағы қатынас болып табылады. UML тілінде байланыс сілтемелері бір жақты байланыс (тұтас сызық) арқылы көрсетіледі.

4-сурет. Байланыс байланысының мысалы

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

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

5-сурет. Қосу және кеңейту қатынасының мысалы

Коммуникацияны жалпылаубірнеше актерлердің немесе сыныптардың ортақ қасиеттері бар екенін көрсетеді.

6-сурет. Жалпылау қатынасының мысалы

4.3.



Өзара әрекеттесу диаграммаларыөзара әрекеттесетін объектілер топтарының әрекетін сипаттау. Әдетте, өзара әрекеттесу диаграммасы тек бір пайдалану жағдайындағы нысандардың әрекетін қамтиды. Мұндай диаграмма бірқатар объектілерді және олардың бір-бірімен алмасатын хабарламаларын көрсетеді.

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

Ақпараттық (ақпараттық) хабарламақабылдау объектісін оның күйін жаңарту үшін кейбір ақпаратпен қамтамасыз ететін хабарлама болып табылады.

Сұраныс хабарламасы (сұраулы)алушы нысаны туралы кейбір ақпаратты шығаруды сұрайтын хабарлама.

Императивті хабарламақабылдаушыдан қандай да бір әрекетті орындауды сұрайтын хабарлама.

Өзара әрекеттесу диаграммаларының екі түрі бар: реттілік диаграммалары және ынтымақтастық диаграммалары.

4.3.1. Тізбек диаграммалары

реттілік диаграммасыбір пайдалану жағдайында орын алатын оқиғалар ағынын көрсетеді.

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

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

Әрбір хабарлама екі нысанның өмірлік сызықтары арасындағы көрсеткі ретінде көрсетіледі. Хабарламалар бетте жоғарыдан төменге қарай пайда болу ретімен көрсетіледі. Әрбір хабар кем дегенде хабарлама атымен белгіленеді. Қосымша түрде дәлелдер мен кейбір басқару ақпаратын қосуға болады. Өзін-өзі тапсыруды, нысан өзіне жіберетін хабарды, хабар көрсеткісі сол өмір сызығына нұсқап көрсете аласыз.

Күріш. 7. Тізбек диаграммасының мысалы

4.3.2. Ынтымақтастық диаграммасы

Ынтымақтастық диаграммаларынақты сценарийдегі оқиғалар ағынын көрсету (пайдалану жағдайы). Бірлескен жұмыс диаграммалары нысандар арасындағы қарым-қатынастарға көбірек назар аударғанымен, хабарлар уақыт бойынша реттелген. Ынтымақтастық диаграммасы реттілік диаграммасы бар барлық ақпаратты көрсетеді, бірақ бірлесіп жұмыс істеу диаграммасы оқиғалар ағынын басқа жолмен сипаттайды. Одан объектілер арасындағы байланыстарды түсіну оңайырақ.

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

Күріш. 8. Ынтымақтастық диаграммасының мысалы

4.4. сынып диаграммасы

4.4.1. Негізгі ақпарат

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

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

Сынып диаграммасы келесі элементтерді көрсетеді:

· Пакет (пакет) – бір-бірімен логикалық байланысқан модель элементтерінің жиынтығы;

· Класс (класс) – ұқсас объектілер тобының ортақ қасиеттерін сипаттау;

· Интерфейс (интерфейс) – берілген интерфейспен байланысқан ерікті класс объектісі басқа объектілерге беретін операциялар жиынтығын көрсететін абстрактілі класс.

4.4.2. Сынып

Сыныпұқсас қасиеттері бар нысандар (нысандар) тобы, атап айтқанда деректер мен мінез-құлық. Класстың жеке мүшесі класс объектісі немесе жай ғана объект деп аталады.

UML тіліндегі нысанның әрекеті объектінің сыртқы әлеммен және объектінің деректерімен өзара әрекеттесуінің кез келген ережелерін білдіреді.

Диаграммаларда сынып көлденең сызықтармен 3 бөлікке бөлінген тұтас шекарасы бар тіктөртбұрыш ретінде бейнеленген:

Жоғарғы бөлімде (атау бөлімі) сыныптың атауы және басқа да жалпы сипаттар (атап айтқанда, стереотип) бар.

Ортаңғы бөлімде атрибуттар тізімі бар

Төменгі жағында оның тәртібін көрсететін сынып операцияларының тізімі (сынып орындайтын әрекеттер).

Төлсипат пен операция бөлімдерінің ешқайсысы көрсетілмеуі мүмкін (немесе екеуі де). Жетіспейтін бөлім үшін бөлу сызығын салудың қажеті жоқ және қандай да бір түрде ондағы элементтердің бар немесе жоқтығын көрсету керек.

Ерекшеліктер сияқты қосымша бөлімдер белгілі бір іске асырудың қалауы бойынша енгізілуі мүмкін.

Күріш. 9. Класс диаграммасының мысалы

4.4.2.1.Сынып стереотиптері

Класстарды стереотиптеу – класстарды категорияларға бөлу механизмі.

UML үш негізгі класс стереотиптерін анықтайды:

шекара (шекара);

Субъект (субъект);

Бақылау (басқару).

4.4.2.2.Шекаралық сыныптар

Шекаралық класстар - бұл жүйенің және бүкіл ортаның шекарасында орналасқан сыныптар. Бұл дисплейлер, есептер, аппараттық құралдармен интерфейстер (принтерлер немесе сканерлер сияқты) және басқа жүйелермен интерфейстер.

Шекаралық сыныптарды табу үшін пайдалану жағдайлары диаграммаларын зерттеу керек. Актер мен пайдалану жағдайының арасындағы әрбір әрекеттестікте кем дегенде бір шекаралық класс болуы керек. Дәл осы класс актердің жүйемен әрекеттесуіне мүмкіндік береді.

4.4.2.3.Нысан сыныптары

Нысан кластары сақталған ақпаратты қамтиды. Олар пайдаланушы үшін ең үлкен мағынаға ие, сондықтан олардың атаулары көбінесе тақырыптық аймақтағы терминдерді пайдаланады. Әдетте, әрбір нысан класы үшін дерекқорда кесте жасалады.

4.4.2.4.Бақылау сабақтары

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

Жүйеде бірнеше пайдалану жағдайларына ортақ басқа басқару сыныптары болуы мүмкін. Мысалы, қауіпсіздікке қатысты оқиғаларды бақылауға жауапты SecurityManager сыныбы болуы мүмкін. TransactionManager сыныбы дерекқор транзакцияларына қатысты хабарларды үйлестіруді өңдейді. Ресурстарды ортақ пайдалану, таратылған деректерді өңдеу немесе қателерді өңдеу сияқты жүйе жұмысының басқа элементтерімен айналысатын басқа менеджерлер болуы мүмкін.

Жоғарыда айтылған стереотиптерден басқа, сіз өзіңізді жасай аласыз.

4.4.2.5.Атрибуттар

Атрибут класспен байланысты ақпарат бөлігі болып табылады. Атрибуттар инкапсуляцияланған класс деректерін сақтайды.

Атрибуттар сынып ішінде болғандықтан, олар басқа сыныптардан жасырылады. Осыған байланысты қандай сыныптардың атрибуттарды оқуға және өзгертуге құқығы бар екенін көрсету қажет болуы мүмкін. Бұл сипат атрибуттың көрінуі деп аталады.

Атрибуттың осы параметр үшін төрт мүмкін мәні болуы мүмкін:

Қоғамдық (жалпы, ашық). Бұл көріну мәні төлсипат барлық басқа сыныптарға көрінетін болады деп болжайды. Кез келген класс атрибуттың мәнін көре немесе өзгерте алады. UML белгісіне сәйкес жалпы атрибуттың алдында «+» белгісі қойылады.

Жеке (жабық, құпия). Сәйкес төлсипат ешбір басқа сыныпқа көрінбейді. Жеке атрибут UML белгісіне сәйкес «-» белгісімен белгіленеді.

Қорғалған (қорғалған). Мұндай атрибут тек сыныптың өзіне және оның ұрпақтарына ғана қолжетімді. Қорғалған төлсипатқа арналған UML белгісі «#» таңбасы болып табылады.

Пакет немесе іске асыру (пакет). Берілген төлсипат ортақ, бірақ тек оның бумасында ғана деп есептейік. Көрінудің бұл түрі ешқандай арнайы белгішемен көрсетілмейді.

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

4.4.2.6.Операциялар

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

Параметрлер операция кіріс ретінде алатын аргументтер болып табылады. Қайтару түрі операция әрекетінің нәтижесіне сілтеме жасайды.

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

UML тілінде операциялар келесі белгілерге ие:

Операция атауы (аргумент: аргумент деректер түрі, аргумент2: аргумент2 деректер түрі,...): қайтару түрі

Қарастырылатын төрт түрлі операция түрі бар:

Іске асыру операциялары;

Басқару операциялары;

Қол жеткізу операциялары;

Көмекші операциялар.

Іске асыру операциялары

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

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

Басқару операциялары

Менеджер операциялары объектілерді құру мен жоюды басқарады. Класс құрастырушылар мен деструкторлар осы санатқа жатады.

Қол жеткізу операциялары

Атрибуттар әдетте жеке немесе қорғалған. Дегенмен, басқа сыныптар кейде өз мәндерін қарауы немесе өзгертуі қажет. Бұл үшін кіру операциялары бар. Бұл тәсіл класс ішіндегі атрибуттарды қауіпсіз инкапсуляциялауға мүмкіндік береді, оларды басқа сыныптардан қорғайды, бірақ әлі де оларға басқарылатын қол жеткізуге мүмкіндік береді. Сыныптың әрбір төлсипаты үшін Get және Set әрекеттерін жасау (мәнді алу және өзгерту) стандарт болып табылады.

Көмекші операциялар

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

Транзакцияларды анықтау үшін келесі әрекеттерді орындаңыз:

1. Тізбектік диаграммаларды және кооперативтік диаграммаларды оқу. Бұл диаграммалардағы хабарламалардың көпшілігі іске асыру операциялары болып табылады. Рефлексиялық хабарламалар көмекші операциялар болады.

2. Басқару операцияларын қарастырыңыз. Конструкторлар мен деструкторларды қосу қажет болуы мүмкін.

3. Қол жеткізу операцияларын қарастырыңыз. Басқа сыныптар жұмыс істеуі қажет әрбір сынып атрибуты үшін Get және Set әрекеттерін жасау керек.

4.4.2.7.Қосылымдар

Қарым-қатынас дегеніміз – таптар арасындағы мағыналық қатынас. Ол сыныпқа басқа сыныптың атрибуттары, әрекеттері және қарым-қатынастары туралы білуге ​​мүмкіндік береді. Басқаша айтқанда, бір сынып екіншісіне хабарламаны реттілікпен немесе кооперативтік диаграммада жіберу үшін олардың арасында байланыс болуы керек.

Сыныптар арасында орнатуға болатын қарым-қатынастардың төрт түрі бар: ассоциациялар, тәуелділіктер, жинақтаулар және жалпылау.

Коммуникациялық бірлестік

Ассоциация – бұл таптар арасындағы мағыналық қатынас. Олар класс диаграммасында кәдімгі сызық ретінде сызылады.

Күріш. 10. Коммуникациялық бірлестік

Ассоциациялар мысалдағыдай екі жақты немесе бір бағытты болуы мүмкін. UML тілінде екі жақты ассоциациялар көрсеткілері жоқ немесе сызықтың екі жағындағы көрсеткілері бар қарапайым сызық ретінде сызылады. Бір бағытты қауымдастықта оның бағытын көрсететін бір ғана көрсеткі болады.

Бірлестіктің бағытын реттілік диаграммалары мен кооперативтік диаграммаларды зерттеу арқылы анықтауға болады. Егер олардағы барлық хабарламаларды тек бір класс жіберіп, тек басқа класс қабылдайтын болса, бірақ керісінше болмаса, бұл кластар арасында бір бағытты байланыс болады. Кем дегенде бір хабарлама жіберілсе кері жағы, байланыс екі жақты болуы керек.

Ассоциациялар рефлексивті болуы мүмкін. Рефлексиялық ассоциация класстың бір данасы бір сыныптың басқа даналарымен әрекеттесетінін білдіреді.

Қарым-қатынасқа тәуелділік

Тәуелділік қатынастары сыныптар арасындағы қатынасты да көрсетеді, бірақ олар әрқашан бір бағытты болады және бір класс басқасында жасалған анықтамаларға тәуелді екенін көрсетеді. Мысалы, А класы В класының әдістерін қолданады. Содан кейін В класы өзгерген кезде, А класына сәйкес өзгерістер енгізу қажет.

Тәуелділік диаграмманың екі элементінің арасына сызылған нүктелі сызықпен көрсетіледі және көрсеткінің соңында бекітілген элемент сол көрсеткінің басында бекітілген элементке тәуелді деп айтылады.

Күріш. 11. Қарым-қатынасқа тәуелділік

Осы сыныптар үшін кодты жасау кезінде оларға ешқандай жаңа атрибуттар қосылмайды. Дегенмен, байланысты қолдау үшін қажетті тілге тән операторлар құрылады.

Коммуникацияны біріктіру

Агрегациялар қауымдастықтың неғұрлым қатаң нысаны болып табылады. Агрегация – бүтін мен оның бөлігі арасындағы байланыс. Мысалы, сізде Автокөлік сыныбы, сонымен қатар Қозғалтқыш, Шина сыныптары және басқа көлік бөлшектеріне арналған сыныптар болуы мүмкін. Нәтижесінде Car класының нысаны Engine класының объектісінен, Тирлердің төрт нысанынан және т.б. тұрады. Агрегациялар бүтін класс үшін ромбпен сызық ретінде бейнеленген:

Күріш. 11. Коммуникацияларды біріктіру

Қарапайым біріктіруден басқа, UML композиция деп аталатын біріктірудің күшті түрін енгізеді. Композиция бойынша объект-бөлік тек бір бүтінге ғана тиесілі болуы мүмкін, сонымен қатар, әдетте, бөліктердің өмірлік циклі тұтастың циклімен сәйкес келеді: олар онымен бірге өмір сүреді және өледі. Тұтастың кез келген жойылуы оның бөліктеріне таралады.

Бұл каскадты жою жиі біріктіру анықтамасының бөлігі болып саналады, бірақ ол рөлдердің көптігі 1..1 болғанда әрқашан тұспалданады; мысалы, егер Тұтынушыны жою қажет болса, онда бұл жою Тапсырыстарға (және, өз кезегінде, Тапсырыс жолдары) таралуы керек.

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

UML қысқаша тарихы

1990 жылдардың ортасына қарай әртүрлі авторлар OO модельдеудің бірнеше ондаған әдістерін ұсынды, олардың әрқайсысы өзінің графикалық белгілерін пайдаланды. Сонымен бірге бұл әдістердің қай-қайсысының да өзіндік ерекшеліктері болды мықты жақтары, бірақ жеткілікті толық PS моделін құруға, оны «барлық жағынан», яғни барлық қажетті проекцияларды көрсетуге мүмкіндік бермеді (1-бапты қараңыз). Сонымен қатар, OO модельдеу стандартының болмауы әзірлеушілерге ең қолайлы әдісті таңдауды қиындатты, бұл бағдарламалық жасақтаманы әзірлеуде OO тәсілін кеңінен қолдануға кедергі келтірді.

Объектілік технологиялар мен деректер базасы саласындағы стандарттарды қабылдауға жауапты ұйым - Object Management Group (OMG) сұранысы бойынша біріздендіру мен стандарттаудың өзекті мәселесін ең танымал үш ОО әдісінің авторлары - Г.Буч шешті. , D. Rambo және A. Jacobson, Efforts біріккен UML 1.1 нұсқасын жасады, оны OMG стандарт ретінде 1997 жылы бекітті.

UML - бұл тіл

Кез келген тіл сөздік пен мағыналы конструкциялар жасау үшін сөздерді біріктіру ережелерінен тұрады. Сонымен, атап айтқанда, бағдарламалау тілдері реттелген, мысалы, UML. Оның айрықша ерекшелігі – тілдің сөздік құрамы графикалық элементтер арқылы қалыптасады. Әрбір графикалық таңба белгілі бір семантикаға сәйкес келеді, сондықтан бір әзірлеуші ​​жасаған модельді екіншісі бір мағыналы түсінуі мүмкін, сонымен қатар бағдарламалық құрал UML интерпретациясы. Бұдан, атап айтқанда, UML тілінде ұсынылған PS моделін OO бағдарламалау тіліне (Java, C++, VisualBasic сияқты), яғни UML тілін қолдайтын жақсы көрнекі модельдеу құралымен автоматты түрде аударуға болатыны шығады. үлгісін салу , біз сондай-ақ дайындаманы аламыз бағдарлама кодыосы үлгіге сәйкес келеді.

UML тілі әдіс емес, тіл екенін атап өткен жөн. Ол үлгілерді қандай элементтерден жасау керектігін және оларды қалай оқу керектігін түсіндіреді, бірақ қандай үлгілерді және қандай жағдайларда әзірлеу керектігі туралы ештеңе айтпайды. UML негізінде әдісті құру үшін оны PS әзірлеу процесінің сипаттамасымен толықтыру қажет. Мұндай процестің мысалы ретінде келесі мақалаларда талқыланатын «Рационалды бірыңғай процесс» болып табылады.

UML лексикасы

Модель диаграммаларда көрсетілген нысандар мен олардың арасындағы қатынастар түрінде ұсынылған.

Эссенциялармодельдердің негізгі элементтері болып табылатын абстракциялар болып табылады. Нысандардың төрт түрі бар - құрылымдық (сынып, интерфейс, құрамдас, пайдалану жағдайы, ынтымақтастық, түйін), мінез-құлық (өзара әрекет, күй), топтау (пакеттер) және аннотативтік (түсініктемелер). Кәсіпорынның әрбір түрінің өзіндік ерекшеліктері бар графикалық бейнелеу. Субъектілер диаграммаларды зерттеу кезінде егжей-тегжейлі талқыланады.

Қарым-қатынастарнысандар арасындағы әртүрлі қатынастарды көрсетеді. UML-де келесі қатынастар түрлері анықталған:

  • Тәуелділікекі субъектінің арасындағы осындай қатынасты көрсетеді, олардың біреуінің – тәуелсіз – өзгерісі екіншісінің – тәуелді семантикасына әсер етуі мүмкін. Тәуелділік тәуелді нысаннан тәуелсіз нысанға көрсететін нүктелі көрсеткі арқылы көрсетіледі.
  • Қауымдастықбір субъектінің объектілерінің басқа объектілермен байланысын көрсететін құрылымдық қатынас. Графикалық түрде ассоциация қатысты нысандарды қосатын сызық ретінде көрсетіледі. Ассоциациялар объектілер арасында жылжу үшін қолданылады. Мысалы, «Тапсырыс» және «Өнім» сыныптары арасындағы байланыс бір жағынан белгілі бір тәртіпте көрсетілген барлық өнімдерді табу үшін немесе екінші жағынан осы өнімді қамтитын барлық тапсырыстарды табу үшін пайдаланылуы мүмкін. Тиісті бағдарламалар осындай навигацияны қамтамасыз ететін механизмді енгізуі керек екені анық. Егер шарлау тек бір бағытта қажет болса, ол байланыстың соңындағы көрсеткі арқылы көрсетіледі. Ассоциацияның ерекше жағдайы агрегаттық – «бүтін» – «бөлік» түріндегі қатынас. Графикалық түрде ол тұтас нысанның жанындағы соңында ромбпен бөлектеледі.
  • Жалпылаубасты ұйым мен еншілес ұйым арасындағы қатынас болып табылады. Негізінде бұл қатынас сыныптар мен нысандар үшін мұрагерлік қасиетін көрсетеді. Жалпылау негізгі нысанға бағытталған үшбұрышпен аяқталатын сызық ретінде көрсетіледі. Бала ата-ананың құрылымын (атрибуттары) және мінез-құлқын (әдістерін) мұра етеді, бірақ сонымен бірге оның жаңа құрылым элементтері мен жаңа әдістері болуы мүмкін. Нысан бірнеше негізгі нысанға қатысты болған кезде UML бірнеше мұраға рұқсат береді.
  • Іске асыру- мінез-құлықтың (интерфейстің) спецификациясын анықтайтын субъектінің осы мінез-құлықтың жүзеге асырылуын анықтайтын нысанмен (сынып, құрамдас бөлік) арасындағы қатынас. Бұл қатынас әдетте құрамдас модельдеуде қолданылады және келесі мақалаларда толығырақ сипатталатын болады.

Диаграммалар. UML келесі диаграммаларды береді:

  • Жүйе әрекетін сипаттайтын диаграммалар:
    • Күй диаграммалары (күй диаграммалары),
    • Іс-әрекет диаграммалары,
    • Объектілік диаграммалар,
    • Тізбек диаграммалары,
    • Ынтымақтастық диаграммалары;
  • Жүйенің физикалық орындалуын сипаттайтын диаграммалар:
    • Құрамдас диаграммалар;
    • Орналастыру диаграммалары.

Модельді басқару көрінісі. Пакеттер.

Модель адамға жақсы түсінікті болуы үшін иерархияның әрбір деңгейінде аздаған субъектілерді қалдырып, оны иерархиялық түрде ұйымдастыру қажет екенін жоғарыда айттық. UML құрамына модельдің иерархиялық көрінісін ұйымдастыру құралы – пакеттер кіреді. Кез келген үлгі сыныптарды, пайдалану жағдайларын және басқа нысандар мен диаграммаларды қамтуы мүмкін пакеттер жиынтығынан тұрады. Бума иерархияларды жасауға мүмкіндік беретін басқа бумаларды қамтуы мүмкін. UML бөлек пакет диаграммаларын қамтамасыз етпейді, бірақ олар басқа диаграммаларда пайда болуы мүмкін. Бума қойындысы бар тіктөртбұрыш түрінде көрсетіледі.

UML не береді.

  • пакеттерді ерекшелеу арқылы күрделі жүйені иерархиялық сипаттау;
  • пайдалану жағдайлары аппаратын пайдалана отырып жүйеге функционалдық талаптарды ресімдеу;
  • іс-шаралар мен сценарийлердің диаграммаларын құру арқылы жүйеге қойылатын талаптарды егжей-тегжейлі көрсету;
  • деректер класын шығару және құру концептуалды моделькласс диаграммасы түріндегі деректер;
  • пайдаланушы интерфейсін сипаттайтын сыныптарды таңдау және экранды шарлау схемасын құру;
  • жүйелік функцияларды орындау кезінде объектілердің өзара әрекеттесу процестерін сипаттау;
  • әрекеттер мен күйлердің диаграммалары түріндегі объектілердің мінез-құлқын сипаттау;
  • бағдарламалық қамтамасыз ету компоненттерін және олардың интерфейстер арқылы өзара әрекеттесуін сипаттау;
  • жүйенің физикалық архитектурасын сипаттау.

Ал соңғы…

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

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!