Методології структурного моделювання предметної області

Існують різні методики побудови структурних моделей предметної області, що відрізняються передусім своїм підходом до того, що є модельована система [27]. Відповідно до різних уявлень про організацію методики прийнято ділити на об'єктні та функціональні (структурні).

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

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

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

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

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

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

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

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

При функціональному підході об'єктні моделі даних у вигляді ER-діаграм «об'єкт (сутність) — властивість — зв'язок» розробляються окремо. Для перевірки коректності моделювання предметної області між функціональними і об'єктними моделями встановлюються взаємнооднозначні зв'язки.

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

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

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

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

Діаграма (Diagram) — це графічне представлення множини елементів. Найчастіше вона зображується у вигляді зв'язного графа з вершинами (сутностями) і ребрами (відношеннями) і є деякою проекцією системи.

Об'єктно-орієнтований підхід має наступні переваги:

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Що таке об’єкт дослідження та предметна область? Як окреслюються границі останньої?

2. Чим відрізняються апріорна та апостеріорна інформація про об’єкт дослідження?

3. Що таке стохастичні і детерміновані об’єкти? Чи існують у природі абсолютно детерміновані (не стохастичні) об’єкти?

4. Що таке модель і моделювання?

5. Як тлумачать систему у сучасній теорії систем?

6. Чи може один і той самий об’єкт розглядатися як система, підсистема і як елемент?

7. Що таке структура системи?

8. Які системи називають складними?

9. Які основні властивості моделі визначає постулат додатковості?

10. Як співвідносяться за складністю модель та оригінал?

11. Як розглядається процес моделювання в теорії побудови моделей?

12. Які основні умови мають виконуватися в процесі переходу від оригіналу до моделі?

13. Чим відрізняються точність та адекватність моделі?

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

15. Чим відрізняються семантика і синтаксис моделі? Як на них впливає мета моделювання?

16. Як класифікуються моделі за характером відбитих властивостей? До якого класу моделей можна віднести модель типу «чорна скринька»?

17. Які особливості виникають при моделюванні складних систем?

18. Що таке системний підхід до моделювання? Які його основні принципи?

19. Які різновиди інформаційного підходу застосовуються при моделюванні складних систем? Які тлумачення поняття «інформація» вони використовують та на яких принципах ґрунтуються?

20. У чому суть та переваги об'єктно-орієнтованого підходу до моделювання інформаційних систем?

21. Які основні складові містить модель предметної області?

22. Які основні переваги і недоліки об’єктних та функціональних методик моделювання предметної області?

23. Що є головним структуротворним компонентом у об’єктно-орієнтованих моделях?

24. За яким критерієм обирають методику моделювання предметної області?

 

 

Розділ 3
ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ І СИСТЕМИ ТА БАЗОВІ ІНФОРМАЦІЙНІ ПРОЦЕСИ ЇХ РЕАЛІЗАЦІЇ