Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
підручник Менеджмент знань.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6 Mб
Скачать

2.4.2. Ієрархічний підхід

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

У теорії САПР такий підхід називається блочно-ієрархічним (БІП). Одне з переваг БІП полягає в тому, що складне завдання великої розмірності розбивається на послідовно вирішувані групи завдань малої розмірності.

На кожному рівні вводяться свої уявлення про систему та елементи. Елемент k-го рівня є системою для рівня k—1. Просування від рівня до рівня має строгу спрямованість, обумовлену стратегією проектування — зверху вниз або знизу до верху.

Спадна концепція (top-down) декларує рух від n = n+1 , де nn-й рівень ієрархії понять ПО (предметної області) з подальшою деталізацією понять, що належать відповідним рівням

де n — номер рівня концепту, що породжує; i — номер концепту, що породжує;

kі — число породжуваних концептів, сума всіх kі по і становить загальне число концептів на рівні n+1.

Вихідна концепція (bottom-up) пропонує рух з послідовним узагальненням понять.

де n — номер рівня концептів, що породжують; i — номер породжуваного концепту;

kі — число концептів, що породжують, сума всіх kі по i становить загальне число концептів на рівні n).

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

2.4.3. Традиційні методології структуризації

Наявні підходи до проектування складних систем можна розділити на два великі класи:

  • структурний (системний) підхід або аналіз, заснований на ідеї алгоритмічної декомпозиції, де кожний модуль систе­ми виконує один з найважливіших етапів загального процесу;

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

У структурному аналізі розроблена велика кількість виразних засобів для проектування, зокрема графічних: діаграми потоків даних (DFD — data-flow diagrams), структуровані словники (тезауруси), мови специфікації систем, таб­лиці рішень, стрілочні діаграми «об'єкт-зв'язок» (ERD — enti­ty-relationship diagrams), діаграми переходів (станів), дерева цілей, блок-схеми алгоритмів (у нотації Нассі-Шнейдермана, Гамільтона-Зельдіна, Фестля та ін.), засоби керування проек­том (PERT-Діаграми, діаграми Ганта та ін.), моделі оточення.

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

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

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

Широке розповсюдження об'єктно-орієнтованих мов прог­рамування C++, CLOS, Smalltalk і ін. успішно демонструє життєздатність і перспективність цього підходу.