Програмне забезпечення

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


Програ́мне забезпе́чення (програ́мні за́соби) (ПЗ; англ. software) — сукупність програм системи обробки інформації і програмних документів, необхідних для експлуатації цих програм[1].

Загальні відомості[ред.ред. код]

Розрізняють системне програмне забезпечення (зокрема, операційна система, транслятори, редактори, графічний інтерфейс користувача) та прикладне програмне забезпечення, що використовується для виконання конкретних завдань, наприклад, статистичне програмне забезпечення[2].

Виконання програмного забезпечення комп'ютером полягає у маніпулюванні інформацією та керуванні апаратними компонентами комп'ютера. Наприклад, типовим для персональних комп'ютерів є відтворення інформації на екран та отримання її з клавіатури.

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

Теоретичні основи[ред.ред. код]

Теоретичні основи програмного забезпечення комп'ютерів базуються на теорії скінченних автоматів, і практично були закладені британським математиком Аланом Тюрингом у 1936 році. Він створив так звану машину Тюринга, математичну модель абстрактної машини, здатної виконувати послідовності рудиментарних операцій, які переводять машину з одного фіксованого стану в інший, вже заданий наперед стан. Головна ідея полягала в математичному доведенні факту, що будь-який попередньо сформульований стан системи може бути завжди досягнутий послідовним виконанням скінченного набору елементарних команд (програми) з фіксованого алфавіту команд.

Носії[ред.ред. код]

На відміну від апаратних складових hardware комп'ютера, програмне забезпечення — це інформація[Джерело?], яка зберігається на матеріальних носіях у вигляді файлів (дискета, HDD, CD, DVD тощо) та може передаватись через канали зв'язку.

Текстовий редактор OpenOffice.org

Системне та прикладне[ред.ред. код]

Розрізняють системне та прикладне програмне забезпечення;

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

Прикладне програмне забезпечення, призначено для розв'язання задач користувача. Наприклад: редактори тексту, електронні таблиці, бази даних, церковне ПЗ тощо.

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

Розробка[ред.ред. код]

Див. також: Українські розробники програмного забезпечення

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

Розробка програмного забезпечення включає в себе багато стадій: проектування, програмування, тестування, впровадження і підтримку.

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

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

Стандарти[ред.ред. код]

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

Ліцензія[ред.ред. код]

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

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

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

Класи програмного забезпечення[ред.ред. код]

Програмне забезпечення для підприємств ділиться на класи:

  • ERP (Enterprise Resources Planning) — система планування ресурсів підприємства;
  • CRM (Customer Relationship Management) — система управління взаємовідносинами з користувачами;
  • SCM (Supply Chain Management) — система управління логістичним ланцюгом;
  • PLM (Product Lifecycle Management) — система управління життєвим циклом продукту;
  • SRM (Supplier Relationship Management) — система управління взаємовідносинами з постачальниками;
  • BI (Business Intelligence) — інтелектуальні системи підтримки стратегічного менеджменту.

Див. також[ред.ред. код]

Посилання[ред.ред. код]

  1. ДСТУ 2938-94 Основні поняття. Терміни та визначення.
  2. УСЕ (Універсальний словник-енциклопедія)


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.