Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектування інформаційних систем.doc
Скачиваний:
158
Добавлен:
21.09.2019
Размер:
28.77 Mб
Скачать

15.5.2. Роль класів і об'єктів в аналізі й проектуванні

Під час етапу аналізу й ранніх стадій проектування розв’язуються дві основні задачі:

  • Виявлення класів і об'єктів, що становлять словник предметної області.

  • Побудова структур, які забезпечують взаємодію об'єктів, за допомогою яких виконуються вимоги задачі.

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

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

Висновки

1. Об'єкт характеризується станом, поведінкою та ідентичністю.

2. Структура й поведінка однакових об'єктів описується в загальному для них класі.

3. Стан об'єкта визначає його статичні й динамічні властивості.

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

5. Ідентичність об'єкта - це його відмінність від всіх інших об'єктів.

6. Ієрархія об'єктів може будуватися на принципах зв'язку або агрегації.

7. Множина об'єктів з однаковою структурою й поведінкою є класом.

8. Шість типів ієрархій класів включають: асоціацію, успадкування, агрегацію, використання, інсталювання й метаклас.

9. Класи й об'єкти, що утворять словник предметної області, називаються ключовими абстракціями.

10.Структура, що поєднує множину об'єктів і забезпечує їх спільне цілеспрямоване функціонування, називається механізмом.

Контрольні питання

1. Природа класів і об'єктів.

2. Стан об'єкта.

3. Поведінка об'єкта.

4. Ролі й відповідальності об'єкта.

5. Ідентичність об'єктів.

6. Відношення між об'єктами.

7. Агрегація об'єктів.

8. Що таке клас?

9. Інтерфейс і реалізація.

10. Відношення між класами.

11. Асоціація.

12. Успадкування.

13. Множинне успадкування.

14. Поліморфізм.

15. Агрегація.

16. Використання.

17. Інсталювання.

18. Мета класи.

19. Відношення між класами й об'єктами.

РОЗДІЛ 16. Класифікація

  • Важливість правильної класифікації

  • Ідентифікація класів і об'єктів

  • Ключові абстракції й механізми

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

На одній з конференцій програмістам було задане питання: "Якими правилами ви керуєтеся при визначенні класів і об'єктів?" Страуструп, розробник мови C++, відповів: "Це як пошук святого Грааля. Не існує панацеї". Габріель, один з розробників CLOS, сказав: "Це питання, на яке немає простої відповіді. Я просто пробую". На щастя, є багатий досвід класифікації в інших науках, на основі якого розроблені методики об’єктно-орієнтовного аналізу. Кожна така методика пропонує свої правила (евристики) ідентифікації класів і об'єктів. Вони й будуть предметом цієї глави.