Главная страница / 12. Понятие и назначение операционной си...: 12.2. Классификация прогр...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные групы ПО

  1. Системное ПО.
    • Операционная система:
      • общего назначения;
      • реального времени;
      • сетевая;
      • встраиваемая.
    • Загрузчик операционной системы
    • Драйвер устройства
    • Программный кодек
    • Утилита
  2. Программные средства защиты.
    • Криптошлюз
    • Средство аутентификации
    • Средство мониторинга и аудита
    • Сканер защищенности
    • Средство разграничения доступа
    • Система криптографической защиты, шифрования и ЭЦП
    • Антивирусная программа
    • Антиспамовая программа
    • Межсетевой экран
  3. Инструментальное ПО.
    • Средство разработки программного обеспечения:
      • cреда разработки;
      • RAD;
      • SDK.
    • Система управления базами данных (СУБД):
      • Реляционная (DB2, Informix, Interbase, Firebird, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, ЛИНТЕР);
      • Объектно-ориентированная (Caché);
      • Иерархическая;
      • Сетевая.
  4. Прикладное ПО.
    • Офисное приложение:
      • текстовый редактор;
      • текстовый процессор;
      • табличный процессор;
      • редактор презентаций.
    • Корпоративная информационная система:
      • аудиторская программа;
      • бухгалтерская программа;
      • система MRP;
      • система MRP II;
      • система ERP;
      • система CRM;
      • система POS;
      • система управления версиями (VCS);
      • система управления проектами (Project Management);
      • система автоматизации документооборота (EDM);
      • финансово-аналитическая система;
      • система управления архивами документов (DWM);
      • корпоративный портал.
    • Система проектирования и производства:
      • cистема автоматизации проектных работ (САПР, CAD);
      • CAE-система;
      • CAM-система;
      • PDM-система;
      • PLM-система;
      • АСУТП (SCADA);
      • АСТПП (MES).
    • Система логистической поддержки изделий:
      • Система анализа логистической поддержки (LSA);
      • Система создания ИЭТР (IETM).
    • Система обработки и хранения медицинской информации:
      • система передачи, обработки, хранения и архивации изображений;
      • радиологическая информационная сеть (РИС);
      • госпитальная информационная сеть (ГИС).
    • Научное ПО:
      • система математического и статистического расчета и анализа;
      • система компьютерного моделирования.
    • Информационные системы:
      • геоинформационная система (ГИС);
      • система поддержки принятия решений (СППР);
      • cистема управления IT-инфраструктурой;
      • cправочно-правовая система (СПС).
    • Клиент для доступа к Интернет-сервисам:
      • электронная почта;
      • веб-браузер;
      • система мгновенного обмена сообщениями;
      • IRC;
        IP-телефония;
      • пиринговая сеть;
      • потоковое мультимедиа;
      • банк-клиент.
    • Мультимедиа:
      • компьютерная игра;
      • музыкальный редактор;
      • графические программы;
      • видеоредактор;
      • аудиоредактор;
      • медиапроигрыватель.