Методологія функціонального моделювання SADT, Комерція, Різне, статті

Методологія SADT розроблена Дугласом Россом. На її основі розроблена, зокрема, відома методологія IDEF0 (Icam DEFinition). Методологія SADT являє собою сукупність методів, правил і процедур, призначених для побудови функціональної моделі об’єкта будь-якої предметної області. Функціональна модель SADT відображає функціональну структуру об’єкта, тобто вироблені їм дії та зв’язку між цими діями. Основні елементи цієї методології грунтуються на наступних концепціях:

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

Склад функціональної моделі

Результатом застосування методології SADT є модель, яка складається з діаграм, фрагментів текстів і глосарію, що мають посилання один на одного. Діаграми – головні компоненти моделі, всі функції ІС і інтерфейси на них представлені як блоки і дуги. Місце з’єднання дуги з блоком визначає тип інтерфейсу. Керуюча інформація входить в блок зверху, у той час як інформація, яка піддається обробці, показана з лівого боку блоку, а результати виходу показані з правого боку. Механізм (людина або автоматизована система), який здійснює операцію, представляється дугою, що входить в блок знизу (рис.1.).

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

Рис 1. Функціональний блок та інтерфейсні дуги

На малюнку 2, де наведено чотири діаграми та їх взаємозв’язку, показана структура SADT-моделі. Кожен компонент моделі може бути декомпозирован на інший діаграмі. Кожна діаграма ілюструє “внутрішнє будову “блоку на батьківській діаграмі.

Ієрархія діаграм

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

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

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

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

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

Рис.2. Структура SADT-моделі. Декомпозиція діаграм

На малюнках 3 – 5 представлені різні варіанти виконання функцій і з’єднання дуг з блоками.

Рис. 3. Одночасне виконання

Рис. 4. Відповідність має бути повним і несуперечливим

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

На SADT-діаграмах не вказані явно ні послідовність, ні час. Зворотні зв’язки, ітерації, що тривають процеси і перекриваються (за часом) функції можуть бути зображені за допомогою дуг. Зворотні зв’язку можуть виступати у вигляді коментарів, зауважень, виправлень і т.д. (Рисунок 5).

Рис. 5. Приклад зворотного зв’язку

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

Рис. 6. Приклад механізму

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

Для того, щоб вказати положення будь діаграми або блоку в ієрархії, використовуються номери діаграм. Наприклад, А21 є діаграмою, яка деталізує блок 1 на діаграмі А2. Аналогічно, А2 деталізує блок 2 на діаграмі А0, яка є самою верхній діаграмою моделі. На малюнку 7 показано типове дерево діаграм.

Рис. 7. Ієрархія діаграм

 

Типи зв’язків між функціями

Одним з важливих моментів при проектуванні ІС за допомогою методології SADT є точна узгодженість типів зв’язків між функціями. Розрізняють принаймні сім типів зв’язування:





















Тип зв’язку


Відносна значимість

Випадкова

0

Логічна

1

Тимчасова

2

Процедурна

3

Комунікаційна

4

Послідовна

5

Функціональна

6

Нижче кожен тип зв’язку коротко визначений і проілюстровано за допомогою типового прикладу з SADT.

(0) Тип випадкової зв’язності: Найменш бажаний.

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

Рис. 8. Випадкова зв’язність

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

(2) Тип тимчасової зв’язності. Пов’язані за часом елементи виникають внаслідок того, що вони представляють функції, пов’язані в часі, коли дані використовуються одночасно або функції включаються паралельно, а не послідовно.

(3) Тип процедурної зв’язності. Процедурно-пов’язані елементи з’являються згрупованими разом внаслідок того, що вони виконуються протягом однієї і тієї ж частини циклу або процесу. Приклад процедурно-зв’язаної діаграми наведено на малюнку 9.

Рис. 9. Процедурна зв’язність

(4) Тип комунікаційної зв’язності. Діаграми демонструють комунікаційні зв’язки, коли блоки групуються внаслідок того, що вони використовують одні й ті ж вхідні дані та / або виробляють одні й ті ж вихідні дані (малюнок 10).

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

(6) Тип функціональної зв’язності. Діаграма відображає повну функціональну зв’язність, за наявності повної залежності однієї функції від іншої. Діаграма, яка є чисто функціональної, не містить чужорідних елементів, що відносяться до послідовного або слабшому типу зв’язності. Одним із способів визначення функціонально-пов’язаних діаграм є розгляд двох блоків, пов’язаних через управляючі дуги, як показано на малюнку 12.

Рис.10. Комунікаційна зв’язність

Рис. 11. Послідовна зв’язність

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

	C = g(B) = g(f(A))

Нижче в таблиці представлені всі типи зв’язків, розглянуті вище. Важливо відзначити, що рівні 4-6 встановлюють типи зв’язності, які розробники вважають найважливішими для одержання діаграм хорошої якості.

Рис. 12. Функціональна зв’язність






























Значимість


Тип зв’язності


Для функцій


Для даних


0


Випадкова



Випадкова



Випадкова


1


Логічна



Функції одного і того ж безлічі або типу (наприклад, “редагувати всі входи”)



Дані одного і того ж безлічі або типу


2


Тимчасова



Функції одного і того ж періоду часу (наприклад,
“Операції ініціалізації”)



Дані, що використовуються в будь-якому часовому інтервалі


3


Процедурна



Функції, які працюють в одній і тій же фазі або ітерації (наприклад, “перший прохід компілятора”)



Дані, що використовуються під час однієї і тієї ж фази або ітерації


4


Коммунікаціоннная



Функції, що використовують одні і ті ж дані



Дані, на які впливає одна і та ж діяльність


5


Послідовна



Функції, які виконують послідовні перетворення одних і тих же даних



Дані, перетворені послідовними функціями


6


Функціональна



Функції, що об’єднуються для виконання однієї функції



Дані, пов’язані з однією функцією


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*