Тема 1.1 Вступ у технології програмування.
Технологія програмування – дисципліна, що вивчає технологічні процеси програмування та порядок їх проходження. Споріднені поняття до технології програмування як дисципліни:
- Комп’ютерні науки (Computer science) – сукупність знань та практичних навичок, які використовують спеціалісти з інформаційних систем, обчислювальної техніки, інформатики.
- Системна інженерія (System engineering) – розділ науки, що вивчає питання розроблення комп’ютерних систем (архітектура, дизайн, інтеграція, ПЗ та ін.).
- Програмна інженерія (Software engineering) – дисципліна, спрямована на розроблення й супроводження програмного забезпечення систем, що функціонують надійно та ефективно, можуть вдосконалюватися й еволюціонувати та відповідають вимогам, визначеним замовником [1].
Програмування (Programming) – процес підготовки задач для їх розв’язання за допомогою комп’ютера; ітераційний процес складання програм.
Програма – дані, призначені для управління конкретними компонентами системи обробки інформації з метою реалізації певного алгоритму [2], послідовність машинних команд, призначена для досягнення конкретного результату. Програмне забезпечення (ПЗ/Software) – комп’ютерні програми, процедури, а також документація й дані, що з ними асоційовані, які стосуються функціонування комп’ютерної системи [3].
Уперше термін software увів відомий статистик Джон Т’юкей (John Tukey) у 1958 р. для позначення різниці апаратного забезпечення ЕОМ (hardware) від засобів обробки даних. Б’ярне Страуструп (Bjarne Stroustrup) зазначив, що добре ПЗ не можна побачити, але можна відчути, коли воно працює із помилками [4]. За видами виконуваних функцій програмне забезпечення поділяється на системне, прикладне та інструментальне. Такий поділ є умовним, оскільки широке запровадження комп’ютеризації привело до того, що майже кожна програма має ознаки кількох видів ПЗ.
Види програмного забезпечення
Системне ПЗ (System software) призначене для управління роботою комп’ютера, розподілу його ресурсів, підтримки діалогу з користувачами, а також для часткової автоматизації розроблення нових програм. Як правило, системні програми забезпечують взаємодію інших програм з апаратними складовими, організацію інтерфейсу користувача.
Віділяють три типи системного ПЗ:
операційна система (ОС) – програмне забезпечення, що забезпечує інфраструктуру, на якій можуть працювати прикладні програми. Найпоширеніші ОС – Microsoft Windows, Mac OS X та Linux; системи програмування – призначені для полегшення та часткової автоматизації процесу розроблення та відлагодження програм; сервісні програми (утиліти) розширюють можливості ОС. До утиліт відносять архіватори, антивіруси, драйвери та ін. Прикладне ПЗ (application, application software) – комп’ютерна програма, що вирішує конкретні задачі фахової діяльності користувача. Інструментальне ПЗ призначене для розроблення всіх видів інформаційно-програмного забезпечення. При цьому під інформаційним забезпеченням розуміють сукупність попередньо підготовлених даних, необхідних для роботи програмного забезпечення. До інструментального ПЗ відносять текстові редактори, системи керування базами даних, транслятори мов програмування.
Розроблення програмного забезпечення Інтегроване середовище розроблення програмного забезпечення (integrated development environment, IDE) – це система програмних засобів, що використовується програмістами для розроблення програмного забезпечення. Як правило, середовище розроблення включає текстовий редактор, компілятор і/або інтерпретатор, засоби автоматизації складання, налагоджував та різноманітні інструменти для конструювання графічного інтерфейсу користувача. Значне поширення об’єктно-орієнтованого програмування (ООП) привело до того, що сучасні інструменти розроблення включають браузер класів та інспектор об’єктів. На сьогодні до середовищ розроблення підключають систему керування версіями, засоби тестування та ін. Раніше середовища розроблення переважно призначалися для однієї мови (Delphi, Turbo Pascal, Borland C++,Visual Basic), але на сьогодні широко застосовувані такі середовища, як Eclipse або Microsoft Visual Studio, призначені для мультимовного розроблення ПЗ.