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