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

Структура Кожне рішення відповідає змінній, можливі значення якої перераховані серед варіантів умов. Кожна дія — це процедура або операція, яку потрібно виконати, а записи вказують, чи потрібно виконувати цю дію.

Таблиці ухвалення рішень, як правило, поділяють на чотири квадранти, як показано нижче. УмовиВаріанти виконання рішеньДіїНеобхідність дій Щоб зробити їх більш стислими, багато таблиць рішень включають в альтернативи умов символ «байдуже». Це може бути дефіс або пробіл, хоча використання пробілу не рекомендується, оскільки він може просто вказувати на те, що таблиця рішень не закінчена. Одним із застосувань таблиць рішень є виявлення умов, за яких певні вхідні фактори не мають відношення до дій, які потрібно виконати, що дозволяє пропустити ці перевірки і тим самим впорядкувати процедури прийняття рішень.

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

Нижче наведено приклад збалансованої таблиці рішень для компанії технічної підтримки, яка використовується, щоб дозволити співробітникам технічної підтримки ефективно діагностувати проблеми з принтером на основі симптомів, описаних їм по телефону клієнтами. +Приклад таблиці рішень:Варіанти виконання рішеньУмовиПринтер друкуєТакНіНіНіТакТакТакТакБлимає сповіщення про помилкуТакТакНіНіТакТакНіНіПринтер розпізнано комп'ютеромНіТакНіТакНіТакНіТакНеобхідність дійДіїПеревірити кабель живлення ✔—Перевірте кабель підключення до ПК ✔ ✔—Переконайтеся, що встановлено ПЗ ✔ ✔ ✔ ✔—Перевірте наявність/замініть чорнило ✔ ✔ ✔—Перевірте, чи не застряг папір ✔ ✔—

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

Інструменти для перетворення вкладених операторів if з традиційних мов програмування в таблиці рішень також можна використовувати як інструмент налагодження.

Таблиці рішень виявилися легшими для розуміння та перегляду, ніж код, і широко та успішно використовуються для створення специфікацій для складних систем.

Вбудовані у програми таблиці рішень Таблиці рішень можуть бути, і часто є, вбудованими у комп'ютерні програми та використовуються для «керування» логікою програми. Простим прикладом може бути таблиця пошуку, яка містить діапазон можливих вхідних значень і вказівник на функцію, що посилається на частину коду для обробки цих вхідних даних. +Static decision tableВвід Вказівник на функцію«1» Функція 1 (Ініціалізація)«2» Функція 2 (Обробка 2)«9» Функція 9 (Завершення)

Історія У 1960-х і 1970-х роках для бізнес-програмування були популярні мови на основі таблиць рішень, такі як .

Реалізації

Rufus-decision — реалізація таблиць прийняття рішень мовою програмування Ruby

Див. також

Дерево ухвалення рішень Цикл ухвалення рішень

Джерела