Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 4.docx
Скачиваний:
29
Добавлен:
23.02.2016
Размер:
101.1 Кб
Скачать

4.5 Специфікації керування

Специфікації керування призначені для моделювання й документування аспектів систем, що залежать від часу або реакції на подію. Вони дозволяють здійснювати декомпозицію керуючих процесів і описують відносини між вхідними й вихідними керуючими потоками на керуючому процесі-пращурі. Для цієї мети звичайно використовуються діаграми переходів станів (STD).

За допомогою STD можна моделювати наступне функціонування системи на основі її попереднього й поточного функціонування. Система, що моделюється, в будь-який заданий момент часу перебуває точно в одному з кінцевої безлічі станів. Із часом вона може змінити свій стан, при цьому переходи між станами повинні бути точно визначені.

Діаграма STD складається з наступних об'єктів:

1. Стан - може розглядатися як умова стійкості для системи. Перебуваючи в певному стані, ми маємо досить інформації про минулу історію системи, щоб визначити черговий стан залежно від поточних вхідних подій. Ім'я стану повинне відбивати реальну ситуацію, у якій перебуває система, наприклад, Нагрівання, Охолодження й т. п.

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

3.    Перехід визначає переміщення модельованої системи з одного стану в інший. При цьому ім'я переходу ідентифікує подію, що є причиною переходу й керує ним. Ця подія звичайно складається з керуючого потоку (сигналу), котрий виникає як у зовнішньому світі, так і усередині модельованої системи при виконанні деякої умови (наприклад, Лічильник=999 або Кнопка натиснута). Слід зазначити, що, загалом кажучи, не всі події обов'язково викликають переходи з окремих станів. З іншого боку, та сама подія не завжди викликає перехід у той же самий стан.

У такий спосіб Умова являє собою подію (або події), яка викликає перехід, і перехід, що ідентифікується ім'ям. Якщо в умові бере участь вхідний керуючий потік керуючого процесу-пращура, то ім'я потоку повинне бути укладене в лапки, наприклад,"Пароль"-666, де Пароль - вхідний потік.

Крім умови з переходом може зв'язуватися дія або ряд дій, що виконуються, коли перехід має місце. Тобто Дія - це операція, що може мати місце при виконанні переходу. Якщо дія необхідна для вибору вихідного керуючого потоку, то ім'я цього потоку повинне братися в лапки, наприклад: "Уведена карта" = TRUEде Уведена карта - вихідний потік.

Крім того, для специфікації А-, Т-, E/D-потоків ім'я, що запускає або перемикає процес, також повинне братися в лапки, наприклад:

А: "Отримати пароль" - активувати процес Отримати пароль.

Фактично умова є деякою зовнішньою або внутрішньою подією, яку система здатна виявити й на яку вона повинна відреагувати певним чином, змінюючи свій стан. При зміні стану система звичайно виконує одну або більше дій (робить висновок, видає повідомлення на термінал, виконує обчислення). Таким чином, дія являє собою відгук, що відсилається в зовнішнє оточення, або обчислення, результати якого запам'ятовуються в системі (звичайно в сховищах даних на DFD), з метою забезпечення реакції на деяких із планованих у майбутньому подіях.

На діаграмі STD стани зображуються вузлами, а переходи - дугами (рис. 4.29). Умови (по-іншому називані стимулюючими подіями) ідентифікуються ім'ям переходу й збуджують виконання переходу. Дії або відгуки на події прив'язуються до переходів і записуються під відповідною умовою. Початковий стан на діаграмі повинен мати вхідний перехід, зображуваний потоком, -стартовий вузол (іноді цей стартовий вузол зобра­жується невеликим квадратом і прив'язується до вхідного стану).

Рис. 4.29 - Нотація STD

Діаграма переходів станів для приклада банківської задачі наведена на рис. 4.30. Вона містить два стани - Очікування йОбробка. Перехід зі стану Очікування в стан Обробка здійснюється за умови уведення кредитної карти Уведена кредитна карта.При цьому виконується дія по запуску процесу на рис. 4.31 (Отримати пароль). Відзначимо, що для запуску використовується А-потік, який забезпечує безперервність процесу, тобто можливість повторного уведення пароля. Перехід зі стану Обробка в станОчікування здійснюється двома різними способами. За умови трикратного уведення невірного пароля кредитна карта видаляється із системи, при цьому вона переходить у режим очікування чергового клієнта. За умови Коректний пароль виконуються дії щодо забезпечення необхідного сервісу (послідовне включення процесів Зробити обслуговування, Перейти до обслуговування) і видалення кредитної карти, а потім перехід у режим очікування чергового клієнта.

Рис. 4.30 - Діаграма STD для розв'язання банківської задачі

 

Рис. 4.31 - Деталізована діаграма STD для розв'язання банківської задачі

 

При побудові STD рекомендується додержуватися нижчеперелічених правил:

-         будувати STD на якомога більш високому рівні деталізації DFD;

-         будувати якомога більш прості STD;

-         по можливості більше деталізувати STD;

-         використовувати ті ж принципи іменувань станів, подій і дій, що й при іменуванні процесів та потоків.

Застосовуються два способи побудови STDПерший спосіб полягає в ідентифікації усіх можливих станів і подальшому дослідженні всіх не безглуздих зв'язків (переходів) між ними. Згідно з другим способом спочатку будується початковий стан, а потім ті стани, які випливають з нього з певними зв'язками. Результат (обидва способи) - попередня STD, для якої потім здійснюється контроль заможності, який полягає у відповіді на наступні питання:

1.   Чи всі стани визначені й мають унікальне ім'я?

2.   Чи всі стани досяжні?

3.   Чи всі стани мають вихід?

4. Для кожного стану: чи реагує система відповідним чином на всі можливі умови (особливо на ненормальні)?

5.   Чи всі вхідні (вихідні) потоки керуючого процесу відбиті в умовах (діях) на STD?

Приклад використання діаграми STD наведений у табл. 4.1.

  Таблиця 4.1 - Діаграма переходів станів

Поточний стан

Умова

Дія

Наступний стан

початковий стан

активується щоразу

-

Очікування

Очікування

уведена кредитна картка

одержати пароль

Обробка

Обробка

некоректний пароль

видалити кредитну картку

Очікування

Обробка

коректний пароль

забезпечити необхідний сервіс, видалити кредитну картку

Очікування

 

У ситуації, коли кількості станів і/або переходів багато, для проектування специфікацій керування можуть використовуватися таблиці й матриці переходів станів. Обидві ці нотації дозволяють зафіксувати ту ж саму інформацію, що йДіаграми переходів станів, але в іншому форматі. Як приклад таблиці переходів станів наведена табл. 4.1, котра відповідає розглянутій вище діаграмі переходів станів (рис. 4.31). Перший стовпчик таблиці містить список усіх станів проектованої системи, у другому стовпчику для кожного стану наведені всі умови, що викликають переходи в інші стани, а в третьому стовпчику - чинені при цих переходах дії. Четвертий стовпчик містить відповідні імена станів, у які здійснюється перехід з розглянутого стану при виконанні певної умови.

Матриця переходів станів містить по вертикалі перелік станів системи, а по горизонталі - список умов. Кожний її елемент включає список дій, а також ім'я стану, у який здійснюється перехід. Використовується й інший варіант даної нотації: по вертикалі вказуються стани, з яких здійснюється перехід, а по горизонталі - стани, в які здійснюється перехід. При цьому кожний елемент матриці містить відповідні умови й дії, що забезпечують перехід з "вертикального" стану в "горизонтальний".

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]