Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
100587_Lytvyn.doc
Скачиваний:
164
Добавлен:
07.02.2016
Размер:
6.01 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 і ін. успішно демонструє життє­здатність і перспективність цього підходу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]