Диаграма на състоянието
В повечето случаи диаграмите на състоянието са изградени за един клас и отразяват динамиката на поведението на един обект.
Състоянието(State)е ситуация в живота на даден обект, по време на която той удовлетворява определено условие, извършва определена дейност или чака някакво събитие.
Състоянието се показва като правоъгълник със заоблени ъгли.
Първоначалният(Start)е състоянието, в което се намира обектът веднага след създаването му.
Крайният(Стоп)е състоянието, в което обектът се намира непосредствено преди унищожаването.
Първоначалното състояние е задължително. Може да има само едно начално състояние в диаграмата на състоянието. Крайните състояния не са задължителни, може да има произволен брой.
1. Действие за влизане(Действие за влизане)е непрекъсваемо действие, което се извършва, когато обектът премине към дадено състояние. Например, при преминаване към състояние„Акаунтът е превишен“се извършва действието „Временно замразяване на акаунта“.
2. Дейност(Дейност)е действието, изпълнявано от обекта, когато е в това състояние. Например в състояние„Превишен брой“трябва да изпрати известие до клиента. Трябва да се отбележи, че дадена дейност е прекъсваемо поведение, тъй като може да бъде прекъсната от прехода на обект в друго състояние.
3. Действие за излизане(Exit action)– осъществява се като неразделна част от процеса на излизане на обекта от даденото състояние. Така че, когато обектътАкаунтизлезе от състоянието„Акаунтът е превишен“(независимо къде отива), се изпълнява действието „Размразяване на акаунта“. Подобно на входното действие, изходното действие е непрекъснато.
Диаграмата на състоянието показва жизнения цикъл на един обект, започвайки от момента на неговото създаване и завършвайки с неговото унищожаване. Той определя всички възможни състояния, в които може да бъде определен обект, както и процеса на промяна на състоянията на обекта в резултат на влиянието на определени събития.
Преход(Transition)е движение от едно състояние в друго.
На диаграмата всички преходи са изобразени като стрелка, започваща от първоначалното състояние и завършваща в следващото състояние.
При преминаване от първо състояние към второ състояние, обектът извършва някакво действиеДействие(Запазване на датата на закриване на акаунта) под влияние на определено събитиеСъбитие(Клиент иска затваряне) и е изпълнено определеното условиеУсловия за охрана.
Събитие(Събитие)е това, което причинява преход от едно състояние към друго.
Действие(Действие)е атомарно изчисление, което води до промяна на състоянието или връщане на стойност.
Условия за защита(Условия за защита)определят кога преходът може да бъде изпълнен и кога не.
Така че графикатаСъстоянието е(State Machine), което включва състояния, преходи, събития и действия.
Диаграмата на състоянието се използва за указване на състоянията на обект, които се променят с различни обрати на събитията. Тази диаграма е динамична и е особено важна за моделиране на системи в реално време, тъй като показва поведението на обект, подреден по събития.
Следва диаграмата на състоянието за класАкаунтна ATM системата.Диаграмите на състоянието е добре да се използват за описание на поведението на обект в няколко различни случая на употреба. Те не са много подходящи за описание на поведението на взаимодействащи обекти. Не трябва да се опитвате да изградите диаграма на състоянието за всеки клас на системата, почти винаги ще бъде загуба на време. Трябва да използвате диаграми на състоянието само за онези класове, чието поведение е наистина интересно и важно и ако конструкцията на диаграми на състоянието помага за по-доброто разбиране. Много разработчици откриват, че потребителският интерфейс и контролните обекти имат точно такова поведение, което е полезно да се изобрази с помощта на диаграми на състоянието.