Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ІСТП (Гужва В.М).doc
Скачиваний:
0
Добавлен:
10.02.2020
Размер:
77.83 Mб
Скачать

2.3.2. Об’єктно-орієнтований підхід

2.3.2.1. Об’єктно-орієнтовані методи аналізу

Важливе місце в розробках АІСУП займають об’єктно-орієн­товані методології, засновані на об’єктній декомпозиції предметної області, що подається у вигляді сукупності об’єктів, які взаємодіють між собою за допомогою передачі повідомлень. Даний підхід не є протиставленням структурному підходу, більш того, фрагменти методологій структурного аналізу (а саме його базові моделі: DFD, ЕRD і SТD) використовуються при об’єктно-орієн­тованому аналізі для моделювання структури і поведінки самих об’єктів.

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

Об’єкти і класи організуються з дотриманням таких принципів:

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

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

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

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

Відомі об’єктно-орієнтовані методології базуються на інтегрованих моделях трьох типів:

  • об’єктній моделі, яка відображає ієрархію класів, що пов’язані спільністю структури і поведінки і відображають специфіку атрибутів і операцій кожного з них (при цьому однією із базових нотацій об’єктної моделі є діалект ЕRD);

  • динамічній моделі, що відображає часові аспекти й послідовність операцій (при цьому досить часто використовують SТD);

  • функціональній моделі, що описує потоки даних (з використанням DFD).

Головними недоліками об’єктно-орієнтованих методологій є такі:

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

  • відсутність методу, що однаково добре реалізує етапи ана- лізу вимог і проектування (більшість методів призначена для об’єктно-орієнтованого аналізу, деякі передбачають слабко розвинуті засоби проектування).