В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории (рис. 6.1):
- прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
- системные программы, выполняющие различные вспомогательные функции, например:
| управление ресурсами компьютера; |
| создание копий используемой информации; |
| проверка работоспособности устройств компьютера; |
| выдача справочной информации о компьютере и др.; |
- инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.

Рис. 6.1. Категории программного обеспечения
При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения.
Если раньше можно было по пальцам перечислить основные категории ПО — операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась.
Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность).
Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро. Даже классические программные продукты, такие, как операционные системы, непрерывно развиваются и наделяются интеллектуальными функциями, многие из которых ранее относились только к интеллектуальным возможностям человека.
Кроме того, появились нетрадиционные программы, классифицировать которые по устоявшимся критериям очень трудно, а то и просто невозможно, как, например, программа — электронный собеседник.
На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:
| операционные системы и оболочки; |
| системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.); |
| инструментальные системы; |
| интегрированные пакеты программ; |
| динамические электронные таблицы; |
| системы машинной графики; |
| системы управления базами данных (СУБД); |
| прикладное программное обеспечение. |
Структура программного обеспечения показана на рис. 6.2. Разумеется, эту классификацию нельзя считать исчерпывающей, но она более или менее наглядно отражает направления совершенствования и развития программного обеспечения.






