Мал. 1. Ієрархія програмування
У сучасних обчислювальних машинах ряд функцій виконується апаратурою і становить апаратне або технічне забезпечення ЕОМ (hardware), а ряд - комплексом програм, званим програмним забезпеченням (software) (рис. 2).
Програмне забезпечення обчислювальної машини-це сукупність програм і документації на них, що дозволяють здійснити автоматизовану обробку інформації на ЕОМ. Якби апаратне обладнання надавало користувачам такі можливості, які їм необхідні, потреба в програмному забезпеченні відпала б. Однак, в даний час форма роботи з апаратним обладнанням для користувача не зовсім зручна, і при конструюванні ЕОМ створюють комбінацію програмних і апаратних засобів. Це дозволяє знайти оптимальний варіант поєднання витрат на створення ЕОМ і їх можливостей. З точки зору користувача можна говорити про віртуальну (уявній) ЕОМ, що володіє деякими властивостями, реалізованими сукупністю апаратних і програмних засобів.
Рис.2. Кільцева структура обчислювальної системи
Програмне забезпечення є невід'ємною частиною будь-якої обчислювальної машини. Воно звільняє користувачів від необхідності знати специфічні властивості кожного пристрою, полегшує зв'язок з машиною кожного конкретного користувача і організовує доступ до системи декількох користувачів, здійснюючи розподіл ресурсів системи. Чим складніше і більш розвинене програмне забезпечення, тим простіше спілкування з машиною. При оцінці сучасних машин таких основних характеристик, як швидкодія і об'єм пам'яті виявляється недостатньо. До них повинні додає характеристики програмного забезпечення. В міру ускладнення ЕОМ зростає і значення програмного забезпечення. В даний час воно складає 60-70% від вартості обчислювальної системи.
Основний принцип побудови програмного забезпечення полягає у виділенні окремих його функцій і оформленні їх у вигляді стандартизованих блоків, функціонування яких залежить від значення входів і виходів в цей блок і не залежить від інших блоків. Такі програмні блоки називають модулями. а принцип називається модульним.
По виконуваних функцій програмне забезпечення можна розділити на дві великі групи: системне і прикладне.
Системне програмне забезпечення-це сукупність програм, розрахованих на широке коло користувачів і призначених для організації обчислювального процесу і (або) рішення часто зустрічаються завдань (ГОСТ 24. 003-84). До системного програмного забезпечення відносять операційну систему і її оточення, системи програмування, допоміжні програми.
В міру ускладнення ЕОМ з'явилася необхідність у виділенні частини системного програмного забезпечення, яке стало називатися операційною системою. Операційна система (ОС) - це комплекс програм, призначених для управління всіма апаратними ресурсами машини, і всіма компонентами програмного забезпечення, для організації їх найбільш ефективного використання з урахуванням вирішуваних прикладних задач, а також організації взаємодії з користувачем. Програми, що розширюють можливості операційної системи і спрощують роботу з нею, називаютсяокруженіем операційної системи.
Система програмування (СП) являє собою сукупність засобів розробки комп'ютерних програм. Вона забезпечує створення і перетворення програм, написаних на мовах програмування або машинно-орієнтованої мови. Ця частина операційної системи представляється такими її програмними компонентами, як транслятори з мов програмування, засоби налагодження програм і ін. На персональних комп'ютерах використовуються системи програмування на алгоритмічних мовах Бейсік, Паскаль, Сі, PL / М, Пролог і ін.
Допоміжні програми обслуговування дозволяють проводити тестування обладнання, перевірку якості магнітних дисків.
Прикладне програмне забезпечення
- сукупність програм, призначених для вирішення спеціальних завдань. Серед них велику групу складають пакети прикладних програм, які можуть бути як загального призначення, так і орієнтовані на реалізацію або деяких методів, або деяких проблем (рис. 3). Сюди входять і унікальні програми, тобто програми користувача.
Рис.3. Структура програмного забезпечення
Пакети прикладних програм (ППП)-комплекс програм для вирішення завдань по деякій темі або предмету і оформлені відповідно до вимог до такого продукту. Наприклад, пакети бухгалтерських програм.
Програми користувача, або унікальні програми-це найчастіше програми, створені користувачем і не оформлені за стандартом у вигляді програмного продукту. У міру розвитку вони іноді переходять в попередні групи.
Розрізняють пакети прикладних програм загального і спеціального призначення. Пакети спеціального призначення поділяються на методо-орієнтовані і проблемно-орієнтовані.
В основі методо-орієнтованих ППП лежить реалізація того чи іншого математичного методу розв'язання задачі:
· Математичного програмування (лінійного, динамічного, статистичного та ін.);
· Мережевого планування і управління;
· Теорії масового обслуговування.
Проблемно-орієнтовані вирішують конкретні завдання з деякою предметної області, наприклад, транспорту, медицини, банківської справи, бухобліку і т.п. З їх допомогою можна створювати автоматизовані робочі місця для фахівців різного профілю.
ППП загального призначення орієнтовані на автоматизацію широкого класу задач користувача. До цього класу належать:
· Системи управління базами даних;
· Системи автоматизації проектування;
· Оболонки експертних систем, систем підтримки прийняття рішень.
Стандартними функціями пакетів є: завдання формату сторінки і форматування абзацу; введення і модифікація тексту; видалення і вставка рядка, нумерація сторінок; робота з фрагментами тексту, включаючи виділення слова, пропозиції і текстового блоку; контекстний пошук і заміна; використання в тексті різних шрифтів, виділення слова (фрази) на екрані і при друці підкресленням, курсивом, жирним шрифтом.
Електронна таблиця - це комп'ютерний еквівалент звичайної таблиці, в клітинах (осередках) якої записані дані різних типів: дати, тексти, формули, числа. Електронна таблиця є найпоширенішою і потужною технологією для роботи з даними. Для управління електронною таблицею створені спеціальні програмні продукти - табличні процесори. Головне достоїнство електронної таблиці - це можливість швидкого перерахунку всіх даних, пов'язаних формульними залежностями при зміні значення будь-якого операнда. Об'єктом табличній обробки є динамічна таблиця (SpreadSheet) - електронний еквівалент звичайного паперового бланка, який містить ряд рядків і стовпців. Основними областями застосування таких пакетів є економіка і планування, підготовка звітів, зведень тощо
База даних - це сукупність даних, організованих за певними правилами, що передбачає загальні принципи опису, зберігання і маніпулювання даними, незалежно від прикладних програм. Створюючи базу даних, користувач прагне впорядкувати інформацію за різними ознаками, щоб згодом швидко робити вибірку з довільним поєднанням ознак. Для управління даними в базі даних, ведення бази даних і забезпечення взаємодії з прикладними програмами використовуються системи управління базами даних (СКБД).
Ділова графіка є універсальним засобом відображення в графічному вигляді закономірностей зміни числових даних, які можуть бути введені з клавіатури або передаватися з баз даних і динамічних таблиць. Тому програмні засоби ділової графіки часто застосовуються спільно з іншими пакетами: табличній обробки, накопичення і зберігання даних, статистичної обробки.
Сучасні пакети ділової графіки володіють наступними основними показниками: настройка представлення даних під формат паперу і пристрій виведення; автоматичне масштабування і індикація масштабної сітки; автоматичні умовні позначення; горизонтальна (вертикальна) орієнтація графіка; вибір кольору; кілька типів і розмірів шрифтів; можливість регулювання розміру сторінки.
Пакети графічної обробки, як правило, забезпечують побудову графіків наступних типів: столбиковая вертикальна / горизонтальна і кругова діаграми; лінійний графік і графік розсіювання; діаграма співвідношення площ.
В даний час серед прикладного програмного забезпечення загального характеру найбільш відомі текстові процесори, табличні процесори і системи управління базами даних. У цих областях розроблено багато програм, і вони продовжують розвиватися. У них з'являється багато нових функцій і можливостей. Управління цими програмами відрізняється один від одного: використовуються різні функціональні клавіші, функції однакових команд у них часто різні і т.д. до того ж часто різні програми мають різний формат робочих файлів, тому файли, записані в одній програмі, не сприймаються інший і доводиться створювати додаткові програми для забезпечення сумісності даних. Щоб вирішити ці проблеми створюються інтегровані системи. У них зроблено наступне:
· Обмежена безліч функцій прикладних областей до такого їх кількості, яке найбільш часто використовується на практиці;
· Виконана інтеграція, яка об'єднує в єдине ціле всі модулі системи під єдиною операційним середовищем;
· Здійснена внутрішня сумісність модулів один з одним і зовнішня сумісність з іншими програмами.
В результаті цього всі модулі, що входять в інтегровану систему, мають єдину конструктивну організацію.