Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
гл ё2.doc
Скачиваний:
7
Добавлен:
06.09.2019
Размер:
5.06 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.3.2.2. Об’єктно-орієнтоване проектування

Якщо методи структурного проектування мали на меті спрощення системної розробки на основі алгоритмічного підходу, то об’єктно-орієнтовані методи вирішують аналогічне завдання, використовуючи описи класів і об’єктів, тобто чіткі засоби об’єкт­но-орієнтованого програмування. Г. Буч визначив об’єктно-орі­єнтоване проектування як «методологію проектування, що поєднує в собі процес об’єктної декомпозиції і прийоми уявлення як логічної та фізичної, так і статичної та динамічної моделей системи, що проектується».

Основою для об’єктно-орієнтованого проектування цілком обґрунтовано служать результати об’єктно-орієнтованого аналізу. Проте результат будь-якого з методів структурного аналізу також може бути використаний як вхідні дані для об’єктно-орієнтовано­го проектування: в цьому разі проводиться інтеграція діаграм потоків даних з класами та об’єктами.

На етапі проектування використовуються наступні діаграмні техніки:

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

  • діаграми модулів і діаграми процесів, що моделюють конкретні програмні й апаратні компоненти і є частиною статичної фізичної моделі;

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

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