Основні поняття програмного забезпечення

Можливості комп’ютера як технічної основи системи обробки даних пов’язані з використанням програмного забезпечення (програмами).

Програма –цеупорядкована послідовність команд комп’ютеру для вирішення задачі.

Програмне забезпечення –цесукупність комп’ютерних програм і доку­мен­тальних засобів для створення й експлуатації систем опрацювання даних.

Програми призначені для комп’ютерної реалізації задач. Терміни задача і додаток мають широке вживання в контексті інформатики і програмного забезпечення.

Задача – це проблема, що підлягає вирішенню.

Додаток (або застосунок)– програмна реалізація розв’язання задачі на комп’ютері.

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

Існує багато різноманітних класифікацій задач. З позицій специфіки роз­ро­бки і виду програмного забезпечення наведемо два класи задач – тех­нологічні та функціональні.

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

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

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

Процес створення програмвключає таку послідовність дій:

q Постановка задачі.

q Створення алгоритму рішення задачі.

q Написання програми.

Постановка задачі – це точне формулювання вирішення задачі на ком­п’ютері з описом вхідної та вихідної інформації.

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

До основних характеристик функціональних задач, що уточнюються в процесі її формалізованої постановки, належать:

- мета або призначення задачі, її місце і зв’язки з іншими задачами;

- умови рішення задачі з використанням засобів ПК;

- зміст функцій обробки вхідної інформації при рішенні задачі;

- вимоги до періодичності рішення задачі;

- обмеження по термінах і точності вихідної інформації;

- склад і форма представлення вихідної інформації;

- джерела вхідної інформації для рішення задачі;

- користувачі задачі (хто здійснює її рішення і користується резуль­та­тами рішення).

Вихідна інформація по задачі може бути представлена у вигляді доку­ментів (типу лістинга або машинограми), сформованих кадрів – відеограми на екрані монітора, файлу бази даних, вихідного сигналу пристрою упра­вління.

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

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

Алгоритм розв’язання задачі має ряд обов’язкових властивостей:

q дискретність – процес опрацювання даних відбувається поетапно, у описується у формі послідовності окремих простих команд, кроків;

q визначеність алгоритму – однозначність виконання кожного визначе­но­го кроку перетворення інформації;

q результативність – певний результат одержують при припустимих вихідних даних за скінченну кількість кроків;

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

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

Алгоритм вирішення комплексу задач і його програмна реалізація тісно взаємозалежні.

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

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

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

Основна категорія фахівців, зайнятих розробкою програм, – це про­гра­місти. Вони неоднорідні за рівнем кваліфікації, а також за характером своєї діяльності. Найбільш часто програмісти поділяються на системних і при­кладних.

Системний програміст займається розробкою, експлуатацією і супро­во­дом системного програмного забезпечення, що підтримує працездатність комп’ютера і створює середовище для виконання програм, які забезпечують реалізацію функціональних задач.

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

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

У процесі створення програм на початковій стадії беруть участь і фахівці – постановники задач.

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

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