Таблиця рішень — це візуальне представлення для визначення дій, що виконуються залежно від заданих умов. Таблиці рішень використовуються для таблиць переходів станів у сфері моделювання бізнес-процесів. Як і і блок-схеми, пов'язують умови (передумови) з рішеннями, які слід або не слід (Так/Ні) виконувати. Форматування таких таблиць у цій галузі зазвичай є транспонованим порівняно з їхнім форматом в інженерії програмного забезпечення .
Структура
Кожне рішення відповідає змінній, можливі значення якої перераховані серед варіантів умов. Кожна дія - це процедура або операція, яку потрібно виконати, а записи вказують, чи потрібно виконувати цю дію.
Таблиці ухвалення рішень, як правило, поділяють на чотири квадранти, як показано нижче.
Умови
|
Варіанти виконання рішень
|
Дії
|
Необхідність дій
|
Щоб зробити їх більш стислими, багато таблиць рішень включають в альтернативи умов символ «байдуже». Це може бути дефіс[1] або пробіл,[2] хоча використання пробілу не рекомендується, оскільки він може просто вказувати на те, що таблиця рішень не закінчена. Одним із застосувань таблиць рішень є виявлення умов, за яких певні вхідні фактори не мають відношення до дій, які потрібно виконати, що дозволяє пропустити ці перевірки і тим самим впорядкувати процедури прийняття рішень.
Таблиця рішень вважається збалансованою[2] або повною[1], якщо вона включає всі можливі комбінації вхідних змінних. Іншими словами, збалансовані таблиці рішень визначають дії в кожній ситуації, де є вхідні змінні[2].
Нижче наведено приклад збалансованої таблиці рішень для компанії технічної підтримки, яка використовується, щоб дозволити співробітникам технічної підтримки ефективно діагностувати проблеми з принтером на основі симптомів, описаних їм по телефону клієнтами.
Приклад таблиці рішень:
|
|
Варіанти виконання рішень
|
Умови
|
Принтер друкує
|
Так
|
Ні
|
Ні
|
Ні
|
Так
|
Так
|
Так
|
Так
|
Блимає сповіщення про помилку
|
Так
|
Так
|
Ні
|
Ні
|
Так
|
Так
|
Ні
|
Ні
|
Принтер розпізнано комп'ютером
|
Ні
|
Так
|
Ні
|
Так
|
Ні
|
Так
|
Ні
|
Так
|
|
|
Необхідність дій
|
Дії
|
Перевірити кабель живлення
|
|
|
✔
|
|
|
|
|
—
|
Перевірте кабель підключення до ПК
|
✔
|
|
✔
|
|
|
|
|
—
|
Переконайтеся, що встановлено ПЗ
|
✔
|
|
✔
|
|
✔
|
|
✔
|
—
|
Перевірте наявність/замініть чорнило
|
✔
|
✔
|
|
|
|
✔
|
|
—
|
Перевірте, чи не застряг папір
|
|
✔
|
|
✔
|
|
|
|
—
|
Переваги у інженерії програмного забезпечення
Таблиці рішень, особливо у поєднанні з використанням специфічної для предметно-орієнтованих мов програмування, дозволяють розробникам і експертам у галузі політики працювати з однаковою інформацією — самими таблицями прийняття рішень.
Інструменти для перетворення вкладених операторів if з традиційних мов програмування в таблиці рішень також можна використовувати як інструмент налагодження[3].
Таблиці рішень виявилися легшими для розуміння та перегляду, ніж код, і широко та успішно використовуються для створення специфікацій для складних систем.
Вбудовані у програми таблиці рішень
Таблиці рішень можуть бути, і часто є, вбудованими у комп'ютерні програми та використовуються для "керування" логікою програми. Простим прикладом може бути таблиця пошуку, яка містить діапазон можливих вхідних значень і вказівник на функцію, що посилається на частину коду для обробки цих вхідних даних.
Static decision table
Ввід |
Вказівник на функцію
|
"1" |
Функція 1 (Ініціалізація)
|
"2" |
Функція 2 (Обробка 2)
|
"9" |
Функція 9 (Завершення)
|
Історія
У 1960-х і 1970-х роках для бізнес-програмування були популярні мови на основі таблиць рішень, такі як Filetab[en].
Реалізації
Див. також
Джерела