Каждый, кто более-менее подробно знаком с работой компьютера, знает, что сам по себе он не обладает никакими знаниями, – все они сосредоточены в программах, выполняемых на компьютерах. Поэтому программное обеспечение является неотъемлемой частью компьютерной системы. Если говорить об определении термина «программное обеспечение», то это совокупность программ, которые способен выполнять компьютер. Кроме того, к программному обеспечению принято относить всю область деятельности, связанную с проектированием и разработкой ПО:
- технологию проектирования программ;
- методы тестирования;
- методы доказательства правильности;
- анализ качества работы;
- документирование;
- разработку и использование программных средств, которые призваны облегчить процесс проектирования ПО и некоторые другие.
Если не вдаваться в подробности, то все программы, установленные и работающие на компьютере, можно разделить на три группы:
- прикладные (обеспечивают выполнение работ, необходимых пользователям);
- системные (выполняют различные функции, такие как: управление ресурсами, создание копий используемой информации, выдача справочной информации и т.д.);
- инструментальные (облегчают процесс создания нового программного обеспечения).
Причем при составлении классификации программного обеспечения обязательно необходимо учитывать тот факт, что в настоящее время наблюдается гиперактивный процесс эволюции ПО. Сегодня программное обеспечение на заказ создается с применением новых подходов к разработке языков программирования и операционных систем, при этом, прикладные программы стали приобретать еще и самостоятельную ценность.
Кроме того, сейчас соотношение между уже имеющимся программным продуктом и требующимися пользователям программами также очень быстро меняется. Даже такие, казалось бы, классические программные продукты, как операционные системы, постоянно развиваются – их наделяют такими интеллектуальными функциями, которые еще недавно относились исключительно к интеллектуальным возможностям человека. Также необходимо отметить, что появился ряд нетипичных программ, которые вообще не поддаются классификации по уже устоявшимся критериям. Примером такого программного обеспечения может быть электронный собеседник.