Відкрити головне меню

Програмування

процес проектування, написання, тестування, зневадження і підтримки комп'ютерних програм

Програмування — процес проектування, написання, тестування, зневадження і підтримки комп'ютерних програм. Програмування поєднує в собі елементи інженерії (існує навіть відповідна спеціальна галузь інженерії — програмна інженерія, англ. software engineering), фундаментальних наук (перш за все математики) і мистецтва[1].

ТРПЗ
Цикл розробки програмного забезпечення
Coding Shots Annual Plan high res-5.jpg
Програміст за роботою
Діяльність та кроки
Вимоги • Специфікація • Архітектура • Дизайн • Реалізація • Тестування • Розгортання (Реліз) • Супровід
Методології • Процес
Гнучка • Чистого приміщення • DSDM • Ітеративна • RAD • RUP • Спіраль • Водоспад • XP • Scrum • Lean • V-Model • FDD • TDD • BDD
Допоміжні дисципліни
Керування конфігурацією • Документування • Якість ПЗ • Управління проектами • Досвід користування
Інструменти
Компілятор • Зневаджувач • Профілювальник • GUI designer • IDE

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

У широкому значенні програмування використовується у значенні створення програми дій або алгоритмів та навчання людей або пристроїв діяти за алгоритмами.

Зміст

Сучасне програмуванняРедагувати

Критерії якостіРедагувати

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

  • Ефективність/Продуктивність: кількість ресурсів системи, що споживає програма (час процесора, розмір пам'яті, зовнішня пам'ять, ширина каналу мережі, і навіть взаємодії з користувачем). Чим менше ресурсів споживається, тим краще;
  • Надійність: ймовірність того, що результат роботи програми правильний. Це залежить від коректності алгоритмів та правильності кодування;
  • Стійкість: як програма розв'язує проблеми в нестандартних ситуаціях, як наприклад неправильні дані, недоступність необхідних ресурсів як наприклад пам'ять, локальна мережа, та неправильні дії користувача;
  • Зручність: ергономічність програми. Легкість, з якою особа може використовувати програму для своїх цілей;
  • Переносимість: діапазон апаратного забезпечення та операційних систем на яких можна компілювати чи інтерпретувати код програми, виконуючи її. Це залежить від відмінностей в програмних ресурсах наданих різними платформами, включаючи ресурси, наявність компіляторів та бібліотек для мови програмування;
  • Масштабованість: Простота подальшого супроводження програми, тобто внесення в неї додаткових вдосконалень, що збільшують функціональність чи виправляють помилки. Цей критерій не має прямого відношення до користувача, але впливає на час, протягом якого програма буде використовуватись.

Рівні програмуванняРедагувати

Успішне програмування передбачає виконання необхідних дій на таких рівнях[джерело?]:

  • Економічний (бізнес-логіка): Формування вимог до програмного продукту з урахуванням привабливості для користувачів, прибутковості для розробника і наявних можливостей розробника;
  • Структурний (архітектура): Створення переліку і взаємозв'язків потрібних модулів, графічних і звукових елементів, алгоритмів, баз даних, файлів, вибір мови програмування;
  • Детальний/Фізичний (кодування): Реалізація окремих функцій з використанням конструкцій і операторів мови програмування, друкування тексту програми на клавіатурі.

Мова програмуванняРедагувати

Це система позначень яку використовує програміст для опису програми.

Теорія програмуванняРедагувати

Пов'язана з вивченням програмування в загальному контексті інформатики як наукової дисципліни.

Див. такожРедагувати

ПриміткиРедагувати

  1. Graham, Paul. Knuth: Computer Programming as an Art. Процитовано 2017-05-11. 

ПосиланняРедагувати

ЛітератураРедагувати

  • Зубенко В. В. Програмування: навчальний посібник (гриф МОН України) / В. В. Зубенко, Л. Л. Омельчук. — К. : ВПЦ «Київський університет», 2011. — 623 c.
  • Нікітченко М. С. Теоретичні основи програмування: навчальний посібник / М.С Нікітченко — Ніжин: Видавництво НДУ імені Миколи Гоголя, 2010. — 121с.
  • Лавров С. С. Програмирование. Математические основи, средства, теория / С. С. Лавров. — СПб. : БХВ-Петербург,2001. — 251с.
  • Непейвода Н. Н. Основания програмирования: учеб. пособие / Н. Н. Непейвода, И. Н. Скопин. — Ижевск, 2003.