Тема: СИНТАКСИС ДІАГРАМ

Лекція 15.

Контрольні питання та завдання

1. Що показують функціональні діаграми?

2. Хто запропонував методологію функціонального моделювання SADT? Що спонукало до створення цієї методології?

3. Що є основним поняттям в ?

4. Скільки містить SADT-діаграма блоків і дуг, а також можливих версій?

5. Що використовують для позначення різних версій?

6. Що відображають на діаграмі блоки, а що дуги?

7. При розгалуженні та з’єднанні дуги зберігають свої об’єкти?


Як вже наголошувалося, кожна SADT-діаграма містить блоки і дуги. Блоки зображають функції системи, дуги зв'язують блоки і відображають взаємодії і взаємозв'язки між ними. Діаграмі дається назва, яка розташовується внизу.

Функціональні блоки зображають прямокутниками. Оскільки блоки відображають функції системи, то в назві блоків використовують дієслова (розрахувати, виконати завдання і т.д.).

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

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

Дуги на SADT-діаграмі зображуються одинарними лініями із стрілками на кінцях. Дуги зображують об'єкти (або дані), тому вони описуються іменниками або іменниками з визначеннями (набір інструментів, креслення і т.д.)

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

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

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

У функціональних діаграмах SADT розрізняють п'ять типів впливів блоків один на одного:

• вхід – вихід блоку подається на вхід блоку з меншим домінуванням, тобто Наступного (рис. 15.1, а);

• керування – вихід блоку використовується як керування для блоку з меншим домінуванням (наступного) (рис. 15.1, б);

• зворотній зв'язок по входу – вихід блоку подається на вхід блоку з великим домінуванням (попереднього) (рис. 15.1, в);

• зворотній зв'язок по керуванню — вихід блоку використовується як керуюча інформація для блоку з більшим домінуванням (попереднього) (рис. 15.1, г);

• вихід-механізм – вихід блоку використовується як механізм для іншого блоку (рис. 15.1, д).


 

Рисунок 15.2 – приклад типів впливів блоків один на одного

 

Зв'язки по керуванню і входу є простими, оскільки вони відображують прямі дії, які інтуїтивно зрозумілі і дуже прості. Відношення керування виникає тоді, коли вихід одного блоку безпосередньо впливає на блок з меншим домінуванням. Приклад: Блок "Керувати виконанням завдання" впливає на блок "Виконати завдання" відповідно до плану виконання завдання (рис.15.2).

Відношення входу виникає тоді, коли вихід одного блоку стає входом для блоку з меншим домінуванням. Приклад: вихід "Завершене або незавершене завдання" є входом функції "Контролювати якість виконання" при виконанні функції "Виконати завдання".

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

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

Зв'язок по вхідному зворотному зв'язку має місце тоді, коли вихід одного блоку стає входом іншого блоку з великим домінуванням. Приклад: завдання, знехтувані функцією "контролювати якість виконання", відсилаються на вхід блоку "виконати завдання" як брак.

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

Дуга в SADT рідко зображає один об'єкт. Зазвичай вона символізує набір об'єктів. Наприклад, дуга "робочий комплект" відображує "технічне завдання", "креслення", "план-графік", деяка "сировина і заготовки". Оскільки дугами є набори об'єктів, вони можуть мати безліч початкових точок (джерел) і кінцевих точок (призначень). Тому дуги можуть розгалужуватися і з'єднуватися різними складними способами. Приклад: дуга “прийняте завдання” розгалужується на дугу “штамп прийнято", яка є керуючою інформацією для блоку "керувати виконанням завдання" і дугу “деталь з біркою”, яка є вхідною для того ж блоку.

Бувають варіанти, коли дві різні дуги об'єднуються і утворюють більший набір об'єктів.

Для пояснення того, як дуги представляють роз'єднання і з'єднання наборів об'єктів, в SADT були розроблені спеціальні угоди.