- •1. Програма як формалізований опис процесу обробки даних. Програмний засіб.
- •2. Неконструктивність поняття правильної програми.
- •3. Надійність програмного засобу.
- •4. Технологія програмування як технологія розробки надійних програмних засобів.
- •5. Технологія програмування і інформатизація суспільства.
- •6. Перші мови програмування
- •7. Області застосування мов програмування
- •8. Парадигми програмування
- •10. Середовище проектування
- •9. Стандартизація мов програмування
3. Надійність програмного засобу.
Альтернативою правильного ПЗ є надійне ПЗ. Надійність (reliability) ПЗ це його здатність безвідмовно виконувати певні функції за заданих умов протягом заданого періоду часу з чималою вірогідністю [1.5]. При цьому під відмовою в ПЗ розуміють прояв в ньому помилки [1.2, стор. 10-13]. Таким чином, надійне ПЗ не виключає наявності в ньому помилок важливо лише, щоб ці помилки при практичному застосуванні цього ПЗ в заданих умовах виявлялися достатньо рідко. Переконатися, що ПЗ володіє такою властивістю можна при його випробуванні шляхом тестування, а також при практичному застосуванні. Таким чином, фактично ми можемо розробляти лише надійні, а не правильні ПЗ.
ПЗ може володіти різним ступенем надійності. Як вимірювати цей ступінь? Так само як в техніці, ступінь надійності можна характеризувати [1.2, стор. 10-13] вірогідністю роботи ПЗ без відмови протягом певного періоду часу. Проте через специфічні особливості ПЗ визначення цієї вірогідності призводить до ряду труднощів в порівнянні з розв’язуванням цієї задачі в техніці. Пізніше ми повернемося до грунтовнішого обговорення цього питання.
При оцінці ступеня надійності ПЗ слід також враховувати наслідки кожної відмови. Деякі помилки в ПЗ можуть викликати лише деякі незручності при його застосуванні, тоді як інші помилки можуть мати катастрофічні наслідки, наприклад, загрожувати людському життю. Тому для оцінки надійності ПЗ іноді використовують додаткові показники, що враховують вартість (шкоду) для користувача кожної відмови.
4. Технологія програмування як технологія розробки надійних програмних засобів.
Відповідно до звичайного значення слова «технологія» [1.6] під технологією програмування (programming technology) розумітимемо сукупність виробничих процесів, що приводить до створення необхідного ПЗ, а також опис цієї сукупності процесів. Іншими словами, технологія програмування в широкому розумінні – це технологія розробки ПЗ, включаючи в неї всі процеси, починаючи з моменту зародження ідеї цього засобу, і, зокрема, пов'язані із створенням необхідної програмної документації. Кожен процес цієї сукупності базується на використанні певних методів і засобів, наприклад, комп'ютера (в цьому випадку говоритимемо про комп'ютерну технологію програмування).
У літературі є декілька інших відмінних визначень технології програмування. Ці визначення обговорюються в роботі [1.7]. Використовується в літературі і близьке до технології програмування поняття програмної інженерії, означеної як систематичний підхід до розробки, експлуатації, супроводу і вилучення із обігу програмних засобів [1.7, стор. 9-16]. Саме програмній інженерії (software engineering) присвячена згадана робота [1.3]. Головна відмінність між технологією програмування і програмною інженерією як дисциплінами для вивчення полягає в способі розгляду і систематизації матеріалу. У технології програмування акцент робиться на вивченні процесів розробки ПЗ (технологічних процесів) і порядку їх проходження методи і інструментальні засоби розробки ПЗ використовуються в цих процесах (їх застосування і утворюють технологічні процеси). Тоді як в програмній інженерії вивчаються різні методи і інструментальні засоби розробки ПЗ з погляду досягнення певної мети – ці методи і засоби можуть використовуватися в різних технологічних процесах (і в різних технологіях програмування).
Не слід також плутати технологію програмування з методологією програмування [1.8]. У технології програмування методи розглядаються «зверху» з погляду організації технологічних процесів, а в методології програмування методи розглядаються «знизу» з погляду основ їх побудови (у роботі [1.9, стор. 25] методологія програмування визначається як сукупність механізмів, використовуваних в процесі розробки програмного забезпечення і об'єднаних одним загальним філософським підходом).
Маючи на увазі, що надійність є невід'ємним атрибутом ПЗ, ми розглядатимемо технологію програмування як технологію розробки надійних ПЗ. Це означає, що
ми розглядатимемо всі процеси розробки ПЗ, починаючи з моменту виникнення задуму ПЗ;
нас цікавитимуть не тільки питання побудови програмних конструкцій, але і питання опису функцій і ухвалюваних рішень з погляду їх людського (неформального) сприйняття;
як продукт технології приймається надійна (далеко не завжди правильна) ПЗ.
Такий погляд на технологію програмування істотно впливатиме на організацію технологічних процесів, на вибір в них методів і інструментальних засобів.
