Лекція 15. Нотація DFD

 

1. Компоненти синтаксису DFD

2. Варіанти графічних нотацій

3. Приклади використання DFD

 

1.                 Компоненти синтаксису DFD

Діаграма потоків даних або DFD (Data Flow Diagram) – це методологія графічного структурного аналізу, що описує зовнішні стосовно системи джерела та адресати даних, логічні функції, потоки даних та сховища даних, до яких здійснюється доступ.

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

Правильно побудована діаграма у методології DFD дасть відповіді на такі питання як:

– Яка структура проектованої інформаційної системи?

– Як інформація та дані взаємодіють із системою та циркулюють усередині проектованої системи?

– Що необхідно, щоб потоки інформації в системі, що моделюється, були оброблені?

Діаграми потоків даних відомі дуже давно і були запропоновані Ларі Костянтином у 70-ті роки. ХХ ст. Однак, є ще більш рання їхня згадка, що відноситься до 1920-х років. Так, у літературі згадується можливе використання діаграми для оптимізації простору в офісі для роботи клерків. Під час здійснення реорганізації фахівець позначив гуртком кожного клерка, а стрілкою – кожен документ, що передається між ними. Намалювавши таким чином діаграму, він запропонував схему оптимізації, відповідно до якої клерки, що здійснюють максимальну передачу документів між собою, були посаджені поряд, а клерки з невеликою взаємодією на великій відстані.

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

Будь-який DFD починається з оглядового DFD, у якому коротко описується проектована система – так званий верхній контекстний рівень (верхневрівнева контекстна діаграма).

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

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

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

На практиці широко поширене використання DFD для представлення логічного потоку даних та обробки даних.

Будь-яка діаграма потоку даних (DFD) відображає потік інформації для процесу або системи, тоді як логічна діаграма надає "що" відбувається, а фізична – "як" це відбувається. Це дві різні точки зору на той самий потік даних, кожна з яких призначена для візуалізації та уточнення системи.

Логічна DFD – зображує потоки даних. Такі діаграми показують переміщення потоку даних, життєво важливих для функціонування організації. У центрі уваги таких діаграм — сам бізнес та необхідна йому інформація, а не те, як працює чи має працювати система. Фокус логічний DFD – бізнес та ділова активність. Перевага логічних DFD полягає в тому, що вони легко сприймаються та читаються «не фахівцями». Такі моделі – це добрий інструмент обміну інформацією.

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

Методологія діаграм потоків даних (DFD) складається із чотирьох елементів:

– зовнішніх сутностей,

– процесів,

– сховищ даних

– потоків даних.

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

Процес – у логічних процесах DFD є бізнес-операції, а у фізичних процесах DFD є програми, ручні процедури або інші способи обробки інформації.

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

Процес (process) / робота (activity) – функція або послідовність дій, які потрібно зробити, щоб дані були оброблені. Це можливо створення замовлення, реєстрація клієнта тощо. У назви процесів прийнято використовувати дієслова, тобто, "Обробити замовлення" (а не "Проведення замовлення"). Тут немає суворої системи вимог, як, наприклад, IDEF0 або BPMN, де нотації мають жорстко певний синтаксис, так як вони можуть бути виконуваними. Але все ж таки певних правил варто дотримуватися, щоб не вносити плутанину під час читання DFD іншими людьми.

Зовнішні сутності / посилання (external entity / external reference). Це будь-які об'єкти, які не входять до самої системи, але є для неї джерелом інформації або одержувачами будь-якої інформації із системи після обробки даних. Це може бути людина, зовнішня система, будь-які носії інформації та сховища даних.

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

Потік даних (data flow) – в нотації відображається у вигляді стрілок, які показують, яка інформація входить, а яка виходить з того чи іншого блоку на діаграмі.

 

2.                 Варіанти графічних нотацій

Діаграми потоків даних стали відомі широкому загалу з кінця 1970-х років завдяки книзі «Структурне проектування» піонерів обчислювальної техніки Еда Йордана та Ларрі Костянтина («Structured Design» Yourdon & Constantine, 1974).

Найбільш поширені нотації:

Peter Coad and Ed Yourdon – методологія Коада та Йордану.

Ed Yourdon and Tom DeMarco (Yordon-DeMarco notation) - нотація ЙордонДеМарко.

Chris Gane та Trish Sarson (Gene-Sarson DFD Symbols or notation) – нотація Гейна-Сарсона.

– SSADM (Structured System Analysis and Design Methodology).

Розглянемо приклади відображення процесів:

 

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

 

 

Сховище даних – це елемент, що представляє внутрішнє сховище для процесів у системі.

 

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

Контекстна діаграма – це важливий елемент методології DFD, а саме це коренева діаграма, на якій зображено:

– Усі «зацікавлені» зовнішні сутності, які спілкуються із системою.

– Єдиний процес із номером «0», який зображує всю систему цілком.

– Основні потоки даних між системою та зовнішнім світом.

Зазвичай DFD малюють ітераційно, тому що складно відразу визначити всі потоки даних та ідентифікувати всі зовнішні сутності за один раз.

Наприклад:

Рівні DFD-моделі (або декомпозиції) можна наочно у вигляді наступної схеми:

Більш детально вони зображаються так:

– Перша діаграма називається контекстною (рівень 0) і служить позначення рамок системи (завдання контексту, у якому система працює).

– Діаграма деталізується шляхом додавання нових рівнів.

– На кожному рівні декомпозується (будується окрема діаграма) один якийсь процес із попереднього рівня.

Нумерація елементів на діаграмі – є одне важливе поняття. Як і в IDEF0 нумерація функціональних блоків має ієрархічний характер:

Рівень 0 – 0 Рівень 1 – 1, 2, 3, …

Рівень 2 – 1.1, 1.2, …, 2.1, 2.2, …

Рівень 3 – 1.1.1, 1.1.2, …, 1.2.1, 1.2.2, …

тощо.

 

3.                 Приклади використання DFD

Поширені помилки під час використання нотацій методології DFD:

У процесу є потоки, що виходять, але немає вхідних.

Сховище та зовнішнє джерело пов'язані безпосередньо.

Потік йде прямо у двох напрямках.

Сховища пов'язані безпосередньо.

 

Приклад 1.

Приклад 2.

Приклад 3.

 

Приклад 4.

 Приклад 5.

 

Запитання для самоперевірки

1. Для опису чого використовується нотація DFD?

2. З яких чотирьох елементів складається методологія діаграм потоків даних?

3. Чим відрізняються логічна DFD від фізичної DFD?

4. Які варіанти графічних нотацій ви знаєте? Чим вони відрізняються.

5. Які поширені помилки виникають під час використання нотацій DFD?