Методологія функціонального моделювання SADT 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Методологія функціонального моделювання SADT



Методологія SADT розроблена Дугласом Россом і одержала подальший розвиток у роботі [4], на її основі розроблена, зокрема, відома методологія IDEF0 (Icam DEFinition), котра є основною частиною програми ICAM (Інтеграція комп'ютерних і промислових технологій).

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

· Графічне представлення блокового моделювання. Графіка блоків і дуг SADT-діаграми відображає функцію у вигляді блоку, а інтерфейси входу/виходу представляються дугами, що, відповідно, входять у блок і виходять з нього. Взаємодія блоків між собою описується за допомогою інтерфейсних дуг, що виражають "обмеження", котрі у свою чергу визначають, коли і яким чином функції виконуються й керуються;

· Строгість і точність. Виконання правил SADT вимагає достатньої строгості й точності, не накладаючи в той же час надмірних обмежень на дії аналітика. Правила SADT включають:

· обмеження кількості блоків на кожному рівні декомпозиції (як правило, 3-6 блоків);

· зв’язність діаграм (номери блоків);

· унікальність міток і найменувань (відсутність імен, що повторювалися б);

· синтаксичні правила для графіки (блоків і дуг);

· поділ входів і керувань (правило визначення ролі даних).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

На малюнках 2.3 - 2.5 представлені різні варіанти виконання функцій і з'єднання дуг із блоками.

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

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

 

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

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

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

 

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

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

 

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

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

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

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

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

 

Тип зв'язку Відносна значимість
Випадкова  
Логічна  
Тимчасова  
Процедурна  
Комунікаційна  
Послідовна  
Функціональна  

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

(0) Тип випадкової зв’язності: найменш бажаний. Випадкова зв’язність виникає, коли конкретний зв'язок між функціями малий або повністю відсутній. Це відноситься до ситуації, коли імена даних на SADT-дугах в одній діаграмі мають малий зв'язок між собою. Граничний варіант цього випадку показаний на малюнку 2.8.

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

2.3. Моделювання потоків даних (процесів)

У основі даної методології (методології Gane/Sarson [11]) лежить побудова моделі аналізованої ІС - проектованою або такою, що реально існує. Відповідно до методології модель системи визначається як ієрархія діаграм потоків даних (ДПД або DFD), що описують асинхронний процес перетворення інформації від її введення в систему до видачі користувачеві. Діаграми верхніх рівнів ієрархії (контекстні діаграми) визначають основні процеси або підсистеми ІС із зовнішніми входами і виходами. Вони деталізують за допомогою діаграм нижнього рівня. Така декомпозиція продовжується, створюючи багаторівневу ієрархію діаграм, до тих пір, поки не буде досягнутий такий рівень декомпозиції, на якому процеси стають елементарними і деталізувати їх далі неможливо.

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

зовнішня суть;

системи/підсистеми;

процеси;

накопичувачі даних;

потоки даних.

Зовнішня суть

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

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

 

 

Мал. 2.13. Зовнішня суть

Системи і підсистеми

При побудові моделі складної ІС вона може бути представлена в найзагальнішому вигляді на так званій контекстній діаграмі у вигляді однієї системи як єдиного цілого, або може бути розкладена на ряд підсистем.

Підсистема (або система) на контекстній діаграмі зображається таким чином (малюнок 2.14).

 

Мал. 2.14. Підсистема

 

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

Процеси

Процес - це перетворення вхідних потоків даних у вихідні відповідно до певного алгоритму. Фізично процес може бути реалізований різними способами: це може бути підрозділ організації (відділ), що виконує обробку вхідних документів і випуск звітів, програма, апаратно реалізований логічний пристрій і т.д.

Процес на діаграмі потоків даних зображається, як показано на малюнку 2.15.

 

 

Мал. 2.15. Процес

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

1. "Ввести відомості про клієнтів";

2. "Видати інформацію про поточні витрати";

3. "Перевірити кредитоспроможність клієнта".

Використання таких дієслів, як "обробити", "модернізувати" або "відредагувати" означає, як правило, недостатньо глибоке розуміння даного процесу і вимагає подальшого аналізу.

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

Накопичувачі даних

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

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

 
 

 


Мал. 2.16. Накопичувач даних

Накопичувач даних ідентифікується буквою "D" і довільним числом. Ім'я накопичувача вибирається з міркування найбільшої інформативності для проектувальника.

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

Потоки даних

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

Потік даних на діаграмі зображається лінією, що закінчується стрілкою, яка показує напрям потоку (малюнок 2.17). Кожен потік даних має ім'я та зміст, що відображає його.

 

 

Мал. 2.17. Потік даних



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 1057; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.239.195 (0.052 с.)