Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsiya.docx
Скачиваний:
43
Добавлен:
14.02.2016
Размер:
51.85 Кб
Скачать

Нові концепції програмування

За останні роки у сфері програмного забезпечення відбувся ряд значних змін. В результаті пошуку нових ідей програмування було розроблено три нові концепції програмування:

  • об’єктно-орієнтоване програмування (ООП);

  • уніфікована мова моделювання (UML);

  • спеціалізовані засоби розробки програмного забезпечення.

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

Процедурні мови. Недоліки структурного програмування

С, Pascal, FORTRAN та інші схожі з ними мови програмування відносяться до категорії процедурних мов. Кожен оператор такої мови є вказівкою комп’ютеру виконати певну дію. Програміст створює перелік інструкцій, а комп’ютер виконує дії, що відповідають цим інструкціям.

Як би ефективно не використовувався структурний підхід, він не дозволяє в достатній мірі спростити великі складні проекти. Коли розмір програми великий, список команд стає доволі громіздким. Небагато програмістів здатні утримувати в голові більш ніж 500 рядків програмного коду.

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

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

І, нарешті, третя, більш важлива, проблема процедурного програмування полягає в тому, що відокремлення даних від функцій виявилось малопридатним для відображення картини реального світу.

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

Властивості. Прикладами властивостей для людей можуть бути колір очей, вік чи місце роботи; для машин - потужність двигуна, марка машини чи рік виробництва. Таким чином, властивості об’єктів рівносильні даним в програмі, бо вони мають певне значення: наприклад, 20 для віку людини чи 2005 для року випуску автомобіля.

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

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