12. Классификация программного обеспечения. Виды программного обеспечения и их характеристики

26.08.2014 12:39 Александр
Печать

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

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

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

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

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

Прикладное программное обеспечение (англ. Application software) - программное обеспечение, состоящее из:

§ отдельных прикладных программ и пакетов прикладных программ, предназначенных для решения различных задач пользователей; и

§ автоматизированных систем, созданных на основе этих (пакетов) прикладных программ.

Классификация прикладного ПО:

§ Прикладное программное обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственное ПО предприятий малого бизнеса, а также ПО отдельных подразделений внутри большого предприятия. (Примеры: Управление транспортными расходами, Служба IT поддержки)

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

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

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

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

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

§ Инструментальные программные средства в области медиа. Обеспечивают потребности пользователей, которые производят печатные или электронные медиа ресурсы для других потребителей, на коммерческой или образовательной основе. Это программы полиграфической обработки, верстки, обработки мультимедиа, редакторы HTML, редакторы цифровой анимации, цифрового звука и т.п.

§ Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного ("Железо") и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design - CAD), автоматизированное проектирование (computer aided engineering - CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments), интерфейсы для прикладного программирования (Application Programmer Interfaces).

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

Инструментальное программное обеспечение предназначено для разработки новых программ и программных комплексов.

Множество различных приложений на компьютере создаётся с помощью языков и систем программирования.

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

В процессе становления и развития вычислительной техники возникали и развивались также языки программирования. Некоторые из них затем изменялись, трансформировались, интегрировались с другими, некоторые умирали вовсе. Сейчас у программистов имеется богатый арсенал языков программирования на все случаи программистской жизни: Assembler, Basic, C++, Delphi, Fortran, Java, Pascal, и др. Каждый из перечисленных языков программирования имеет целый ряд модификаций (например, Basic, Q-Basic, Visual Basic и др.), которые по возможностям и свойствам существенно отличаются друг от друга.

Языки программирования можно разделить на машинно-зависимые (низкого уровня) и машинно-независимые (высокого уровня).

К языкам низкого уровня относятся:

· машинные языки, написанные в двоичных кодах в виде нулей и единиц,

· машинно-ориентированные языки (ассемблеры), написанные в так называемых мнемокодах, заложенных в систему команд конкретного процессора (например, мнемокод сложить записан как ADD, мнемокод очистить как DEL и т.д.).

К языкам высокого уровня относятся:

· алгоритмические языки - переводят алгоритмы с языка математики на язык программных кодов,

· процедурно - ориентированные языки позволяют записать программу в виде набора процедур,

· проблемно-ориентированные языки предназначены для решения определённого класса задач.

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

В других языках высокого уровня (например, на Бейсике) трансляция исходного кода в исполняемый происходит последовательно с каждой командой (оператором). Такая трансляция осуществляется программой-интерпретатором.

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

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

 

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