Жағдай диаграммалары. Ақпараттық жүйенің жұмыс істеу барысында системаның объектілерінің қасиеттері әртүрлі мәндерді қабылдауы, ал системаның объектілері әртүрлі жағдайда болуы мүмкін. Объектілердің жағдайы, объектілердің бір жағдайдан екіншісіне өтуі, объектілер бір-бірімен алмасатын хабарламалар ақпараттық жүйенің динамикалық құрастырушысы болады. Ақпараттық жүйенің динамикасын модельдеу үшін жағдайлар диаграммасымен қатар, қызметтік, тізбектік және кооперациялық диаграммалар қолданылады. Олардың әрқайсысы өз бетімен болашақ системаны көрсетеді.
Жағдай диаграммасы бір кластың өзгеру процесін көрсетеді, дәлірек айтқанда – кластың бір данасының. Диаграммада объектінің жағдайы мен факторлардың әсерімен объектінің жағдайлары арасындағы өтулер сипатталынады.
Диаграммада жағдай (states) төбелері доғаланған тіктөртбұрыш түрінде көрсетіледі. Әрбір осындай тіктөртбұрышта бір міндетті секция болуы мүмкін; оған жағдай аты жазылады. Сонымен бірге, бірнеше басқа секциялар болуы мүммкін; оларда объектінің осы жағдайдағы орындайтын амалы жазылады. Жағдай аты үшін етістіктер мен есімдіктерді пайдаланған дұрыс.
Алғашқы жағдай қара дөңгелекпен, ал соңғы жағдай ақ шеңбер ішіндегі қара дөңгелекпен бейнеленеді. Алғашқы және соңғы жағдайлардың болмауы мүмкін. Соңғы жағдайы болмайтын жүйенің мысалы ретінде бір рет жіберілгеннен кейін үзіліссіз жұмыс істейтін системаны келтіруге болады. Ал алғашқы жағдайы болмайтын жүйенің мысалы ретінде қашан пайда болғаны белгісіз жұмыс істеп тұрған системаны қарастыруға болады. Алғашқы жағдайы да, соңғы жағдайы да болмайтын жүйе ретінде циклды түрде өзгеретін объектіні атауға болады.
Жағдайдың ішкі амалдарын сипаттау келесі формат бойынша сипатталынады:
метка // действие
Мұнда метка аргументі келесі кілттік сөздердің бірі болады:
entry- амал объектінің осы жағдайға өту сәтінде орындалады;
exit- амал объектінің осы жағдайдан шығу сәтінде орындалады;
do- амал объектінің осы жағдайда болу сәтінде орындалады;
include– объектінің осы жағдайдағы бағынышты жағдайына (substate) өтуі.
Құрама жағдай (composite state) немесе супержағдай дегеніміз объектінің өзіне бірнеше бағынышты жағдайларды қамтитын жағдайы. Бағынышты жағдайларды пайдалану көбінесе объектінің жағдайын оның бір қасиетіне байланысты көрсету керек болғанда ыңғайлы.
Құрама жағдайдың графикалық бейнелеуінің екі нұсқасы болады: бірізді жағдай және параллель жағдай.
Тарихи жағдай (history state) дегеніміз барлық соңғы өткен жағдайлардан объектінің соңғы бағынышты жағдайына өту.
UML тілінде бір жағдайдан екіншісіне өту лезде болады немесе уақыт жұмсалынбайды. Жағдайлар арасындағы өту диаграммаларда стрелкамен бейнеленеді. Стрелкалардың үстіне осы өтудің себебі болатын оқиға (event), осы өтудің болу шарты (күзеттік шарт) және осы өтумен қатар орындалатын амал жазылады. Олардың жазылуы:
событие(список параметров)[сторожевое условие]выполняемые действия
Жағдай диаграммаларында оқиға триггерлер ролін атқарады. Қажетті оқиға пайда болмай, өту амалы орындалмайды.
Триггер дегеніміз ағылшын сөзінің trigger – защелка, спусковой крючок, ілгек деген сөзден алынған; ол екі тұрақты жағдайы болатын, бір битті сақтайтын электрондық құрылғы; сыртқы сигналдың әсерімен екі түрлі мәннің бірін қабылдайды.
Егер өтуді бейнелейтін стрелканың жанында оқиға көрсетілмеген болса, онда ондай өтуді триггерлік емес өту деп атайды. Триггерлік емес өту осы жағдайда орындалған амалдан кейін бірден орындалады.
Күзеттік шарт (guard condition) – ол өтудің қосымша шарты болатын логикалық өрнек. Егер күзеттік шарт false мән қабылдаса, онда оқиға болғанымен, өту орындалмайды. Күзеттік шартты пайдалану келесі жағдайларда ыңғайлы: белгілі бір оқиға орындалғанымен бірнеше жағдайдың бірі таңдалынатын болса.
Мысалы, клиент виртуалды дүкеннен тауар таңдаса ( жағдай – таңдау), содан кейін төлеу деген команда жіберген болса (оқиға), тауар клиентке тек оның есеп-шотында жеткілікті қаражат болса ғана жеткізіледі (өту жеткізу жағдай орындалған жағдайда болады), ал егер ондай көлемде қаржы болмаса, онда басқа жағдай болуы мүмкін.
Өту қарапайым және күрделі болуы мүмкін. Қарапайым өту – объектінің басқа жағдайына немесе сол жағдайға өту. Сол жағдайға өту осы жағдайдан басталып, сол жағдаймен аяқталатын стрелкамен бейнеленеді. Осы сияқты өту кезінде тиісті ену және шығу амалдары орындалады.
Күрделі өту – объектінің бірнеше алғашқы (кейінгі, соңғы) жағдайлары болғандағы өту, сонымен бірге әртүрлі жағдайлардың бағынышты жағдайларының арасындағы өту. Объектінің бірнеше алғашқы және соңғы жағдайлары болатын өту (параллель өту) толық вертикаль немесе горизонталь сызықпен (синхронизация сызығы) бейнеленеді.
Жалпы жағдайда жағдай диаграммаларында өту асинхронды болады немесе басқа өтулерден тәуелсіз болады. Бірақ жобалау кезінде объектінің жағдайларының арасындағы өтудің синхрондығын көрсету қажеттілігі тууы мүмкін. Ол үшін синхрондайтын жағдайлар енгізіледі; оны шеңбер ішіндегі жұлдызша * арқылы бейнелейді.
Ескерту. UML нотациялары ақпараттық жүйелерді құрастыру кезінде процестерді бейнелеу үшін кең мүмкіндіктер береді. Бірақ оларды шамадан тыс күрделендірудің пайдасы жоқ, себебі ондай жағдай модельдің күрделі болуына келтіреді.
Достарыңызбен бөлісу: |