Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichni_vkazivki_3_chastina.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
612.86 Кб
Скачать

4.2.5 Вкладеність станів

В разі, якщо діаграма станів визначає поведінку деякого об’єкта, кількість станів та переходів якого досить велика, така діаграма може бути вельми громіздкою та складною для побудови і розуміння. Одним зі способів розв’язання подібних ситуацій є виділення діаграми більш високого рівня, окремі стани якої деталізуються на піддіаграмах.

На рис. 4.4 зображено загальну діаграму станів об’єкта АвтоматДляПродажуКави. На рис. 4.5 стан ПриготуванняКави розкрито більш детально.

Зауваження. На діаграмах показано, що стани необов’язково мають бути іменованими. Крім того, можлива наявність переходів, не викликаних подіями (позначення події не вказано біля переходу); такі переходи називаються переходами за замовчанням та активуються по завершенні виконання поточної діяльності (лише при виконанні сторожової умови).

Рисунок 4.4 – Загальна діаграма станів автомату для продажу кави

Рисунок 4.5 – Деталізуюча піддіаграма стану ПриготуванняКави

Рис. 4.5 крім того представляє нове умовні позначення, які можуть використовуватися не тільки на деталізуючих піддіаграмах, а і на звичайних діаграмах станів, якщо зміна станів певного об’єкта не є циклічною і можуть бути виділені відповідно:

– початковий стан (точка входу у стан);

– цільовий стан (точка виходу).

4.2.6 Паралелізм

Модель станів неявним чином підтримує паралелізм: в загальному випадку об’єкти систему можуть бути автономними та ніяким чином не залежати одне від одного. На практиці ж повна незалежність навряд чи може бути досягнута, можливо накласти деякі обмеження, внаслідок яких виявиться деяка корреляція між переходами між станів незалежних об’єктів.

4.2.6.1 Паралелізм в агрегації

Діаграма стану агрегата є сукупністю діаграм стану його складових частин, поєднаних відношенням ТА (стан агрегата визначається станом об’єкту1 ТА станом об’єкту2 ТА … ТА станом об’єктаN). Причому, перехід між станами певного об’єкту агрегації може бути викликаний зміною стану зовсім в іншому об’єкті агрегації, або, в більш загальному випадку, зміна стану певного об’єкта може залежати від поточного стану деякого іншого об’єкту, що входить до складу тої ж агрегації.

4.2.6.2 Паралелізм в об’єкті

В деяких випадках всередині об’єкта можна виділити підмножини атрибутів та зв’язків, кожна з яких буде характеризуватися власною діаграмою станів. В таких випадках поточний стан об’єкта буде включати в себе по одному (поточному) стану на кожну з таких підмножин. Діаграми станів підмножин для подібних об’єктів можуть бути незалежними, або залежними – певна подія може викликати переходи на декількох діаграмах одночасно.

4.2.7 Створення діаграми станів

Для створення нової діаграми станів в середовищі Rational Rose необхідно в браузері моделі клацнути правою кнопкою миші на гілці Logic View та пройти пунктами меню New > Statechart Diagram (рис 4.6).

Рисунок 4.6 – Створення нової діаграми станів

До Logic View поточної моделі буде додано (якщо до цього не було створено жодної діаграми стану чи діяльності) гілку з іменем «State/Activity Model», яка буде вміщувати усі діаграми станів, діяльності, а також їхні елементи. В цій гілці буде створено нову діаграму під іменем NewDiagram (з можливим числовим індексом, якщо діаграма з таким іменем вже існує в моделі), яку і пропонується далі редагувати. Рекомендується одразу ж змінити назву діаграми на більш змістовну.