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

В первом приближении программы, работающие на компьютере, можно условно разделить на три категории (рис. 4.5):

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

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

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

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

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

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

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

К настоящему моменту сложились следующие группы программного обеспечения:

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

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

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

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

Классификация прикладных программ следующая:

  • 1. Текстовые редакторы, текстовые процессоры (Блокнот, WordPad, Word).
  • 2. Электронные таблицы, табличные процессоры (Excel).
  • 3. Графические редакторы (Microsoft Paint, ACDSee, Adobe Photoshop, Corel Draw, Macromedia Flash).
  • 4. Системы управления базами данных (Access).
  • 5. Обозреватели web-страниц (Internet Explorer, Opera).
  • 6. Среды программирования (Turbo Pascal 7.0, Delphi, Borland C++).

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

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

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

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

  • программы контроля, тестирования и диагностики, которые используются для проверки правильности функционирования устройств компьютера и для обнаружения неисправностей в процессе эксплуатации, указывают причину и место неисправности;
  • программы-драйверы, которые расширяют возможности операционной системы по управлению устройствами ввода-вывода, оперативной памятью и т. д. (с помощью драйверов можно подключать к компьютеру новые устройства или нестандартно использовать имеющиеся);
  • программы-упаковщики (архиваторы), которые позволяют записывать информацию на дисках более плотно, а также объединять копии нескольких файлов в один архивный файл;
  • антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами;
  • программы оптимизации и контроля дискового пространства;
  • программы восстановления информации, форматирования, защиты данных;
  • коммуникационные программы, организующие обмен информацией между компьютерами;
  • программы для управления памятью, обеспечивающие более гибкое использование оперативной памяти;
  • программы для записи СО-ЯОМ, СО-ИЛУ и т. д.

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

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

Программное обеспечение ЭВМ и вычислительных сетей может сильно различаться составом используемых программ, который определяется классом применяемой вычислительной техники, режимами ее использования, содержанием вычислительных работ пользователей и т. п. Развитие программного обеспечения современных ПЭВМ и ВС в значительной степени носит эволюционный и эмпирический характер, но можно выделить закономерности в его построении.

В приложении 2 приведены характеристики программно-аппаратных комплексов в образовании.

В общем случае процесс подготовки и решения задач на ЭВМ пользователями предусматривает выполнение следующих этапов (рис. 4.6):

  • • формулировка проблемы и математическая постановка задачи;
  • • выбор метода и разработка алгоритма решения;
  • • программирование (запись алгоритма) с использованием некоторого алгоритмического языка;
  • • планирование и организация вычислительного процесса, т. е. порядка и последовательности использования ресурсов ЭВМ и ВС;

Поко

ление

ЭВМ

Этапы подготовки к решению задач

Постановка

задачи

Выбор

алгоритма

Программирование на входном

языке

Организация вычислительного процесса

Получение

машинной

программы

Решение

задачи

I

ПОЛЬЗОВАТЕЛЬ

Аппаратура

II

ПОЛЬЗОВАТЕЛЬ обёсКение Аппаратура

III

ПОЛЬЗОВАТЕЛЬ о^Кен^е® Аппаратура

IV

ПОЛЬЗОВАТЕЛЬ Аппаратура

V

ПОЛЬЗОВАТЕЛЬ обесп^енТ Аппаратура

Рис. 4.6. Автоматизация подготовки и решения задач на ЭВМ

  • • формирование «машинной программы», т. е. программы, которую непосредственно будет выполнять ЭВМ;
  • • собственно решение задачи — выполнение вычислений по готовой программе.

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

Для ЭВМ второго поколения характерно применение алгоритмических языков (Автокоды, Алгол, Фортран и др.) и соответствующих трансляторов, позволяющих автоматически формировать машинные программы по их описанию на алгоритмическом языке. Здесь же стали широко внедряться библиотеки стандартных программ, что позволило строить машинные программы блоками, используя накопленный и приобретенный программистами опыт. Временные границы появления всех нововведений достаточно размыты.

ЭВМ третьего поколения характеризуются расцветом операционных систем (ОС), отвечающих за организацию и управление вычислительным процессом. Именно здесь аббревиатура ЭВМ все чаще стала заменяться понятием «вычислительная система», что в большей степени отражало усложнение как аппаратурной, так и программной части ЭВМ. Стоимость программного обеспечения начала расти и в настоящее время намного опережает стоимость аппаратурных средств (рис. 4.7).

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

Под ресурсами обычно понимают те средства, которые применяются для вычислений: машинное время процессоров или ЭВМ, входящих в систему; объемы оперативной и внешней памяти; отдельные устройства, информационные массивы; библиотеки программ; программы общего и специального применения и т. п.

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

Динамика изменения стоимости аппаратурных

Рис. 4.7. Динамика изменения стоимости аппаратурных

и программных средств

ны аппаратурно. Одновременно были разработаны более сложные режимы: коллективный доступ к ресурсам и мультипрограммные режимы. Часть этих решений стала своеобразным стандартом и начала использоваться повсеместно в ЭВМ различных классов. Это позволило в значительной степени повысить эффективность применения ЭВМ и ВС в целом.

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

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

 
< Пред   СОДЕРЖАНИЕ     След >