Классификация программного обеспечения

Программное обеспечение это совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ (ГОСТ 19781-90), а также совокупность программ, процедур, правил, документации, относящихся к функционированию системы обработки данных (СТ ИСО 2382/1-84).

Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением.

В компьютерной терминалогии для обозначения ПО часто используется слово «софт» от английского слова software, которое в этом смысле впервые применил в статье в American Mathematical Monthly математик из Принстонского университета Джон Тьюки (John W. Tukey) в 1958 году.

Классификация ПО. Программное обеспечение принято по назначению подразделять на системное, прикладное и инструментальное, а по способу распространения и использования на несвободное/закрытое, открытое и свободное.

Системное программное обеспечение -- это комплекс программ, которые обеспечивают эффективное управление компонентами вычислительной системы, такими как процессор, оперативная память, каналы ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой - приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретных прикладных задач, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д.

Системное программное обеспечение

Рис. 6. Системное программное обеспечение

Прикладное программное обеспечение - это программы, предназначенные для выполнения определенных пользовательских задач и рассчитанные на непосредственное взаимодействие с пользователем. В большинстве операционных систем прикладные программы не могут обращаться к ресурсам компьютера напрямую, а взаимодействуют с ними посредством операционной системы. К прикладным относятся программы, предназначенные для решения определенной целевой задачи из проблемной области (часто такие программы называют приложениями). Спектр проблемных областей в настоящее время весьма широк.

Из всего разнообразия прикладного ПО выделяют группу наиболее распространенных программ (типовые пакеты и программы), которые можно использовать во многих областях человеческой деятельности. К типовому прикладному ПО относят следующие программы:

  • · текстовые процессоры;
  • · табличные процессоры;
  • · системы иллюстративной и деловой графики (графические процессоры);
  • · системы управления базами данных;
  • · экспертные системы;
  • · программы математических расчетов, моделирования и анализа экспериментальных данных.

Предлагаемые на рынке ПО приложения в общем случае могут быть выполнены как отдельные программы либо как интегрированные системы. Интегрированными системами обычно являются экспертные системы, программы математических расчетов, моделирования и анализа экспериментальных данных, а также офисные системы. Примером мощной и широко распространенной интегрированной системы может служить офисная система Microsoft Office.

Инструментальное программное обеспечение - программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ. Обычно этот термин применяется для акцентирования отличия данного класса ПО от прикладного и системного программного обеспечения.

Основные виды инструментального ПО:

  • · текстовые редакторы;
  • · интегрированные среды разработки;
  • · sdk;
  • · компиляторы;
  • · интерпретаторы;
  • · линковщики;
  • · ассемблеры;
  • · отладчики;
  • · профилировщики;
  • · генераторы документации;
  • · средства анализа покрытия кода;
  • · средства непрерывной интеграции;
  • · средства автоматизированного тестирования;
  • · системы управления версиями.

Открытое программное обеспечение (англ. open source software) -- это программное обеспечение с открытым исходным кодом. То есть исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет помочь в доработке самой открытой программы, а также использовать код для создания новых программ и исправления в них ошибок - через заимствование исходного кода, если это позволяет лицензия, или изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов (поскольку исходный код может существенно дополнять документацию, а при отсутствии таковой сам служит документацией).

Несвободное/закрытое (проприетарное программное обеспечение) (англ. proprietary software; от proprietary - частное, патентованное, в составе собственности и software - программное обеспечение) -- это программное обеспечение, являющееся частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободного ПО (наличия открытого программного кода недостаточно). Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Часто проприетарным называют любое несвободное ПО, включая полусвободное.

«Открытая» лицензия не требует, чтобы открытое ПО предоставлялось бесплатно. И тем не менее многие из наиболее успешных проектов открытого ПО -- бесплатны. Открытое программное обеспечение имеет большие перспективы в России в связи с принятием руководством страны решений по обеспечению национальной безопасности в сфере ИТ на основе внедрения открытого и свободного ПО в государственные и бюджетные организации.

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

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

Если раньше можно было по пальцам перечислить основные категории ПО -- операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась.

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

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >