Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnyuvalna_zapiska_DP.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
33.74 Mб
Скачать
  1. Технологічний розділ

    1. Вибір засобів розробки програмного продукту

      1. Обґрунтування технології програмування

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

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

  • вказівка ​​послідовності виконання технологічних операцій;

  • перерахування умов, при яких виконується та чи інша операція;

  • описи самих операцій, де для кожної операції визначені вихідні дані,

результати, а також інструкції, нормативи, стандарти, критерії та методи оцінки і т. п.

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

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

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

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

Можна дати узагальнююче визначення: об'єкт ООП - це сукупність змінних стану і пов'язаних з ними методів ( операцій). Згадані методи визначають, як об'єкт взаємодіє з навколишнім світом.

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

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

Застосовуючи інкапсуляцію, ми захищаємо дані, належать об'єкту, від можливих помилок, які можуть виникнути при прямому доступі до цих даних. Крім того, застосування цього принципу дуже часто допомагає локалізувати можливі помилки в коді програми. А це набагато спрощує процес пошуку і виправлення цих помилок.

Можна сказати, що інкапсуляція увазі під собою приховування даних, що дозволяє захистити ці дані. Однак застосування інкапсуляції веде до зниження ефективності доступу до елементів об'єкта. Це обумовлено необхідністю виклику методів для зміни внутрішніх елементів (змінних) об'єкта. Але при сучасному рівні розвитку обчислювальної техніки ці втрати в ефективності не відіграють істотної ролі.

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

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

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