Программное обеспечение. Под программным обеспечением (Software) понимается совокупность программ
Под программным обеспечением (Software) понимается совокупность программ, выполняемых вычислительной системой.
К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:
· технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проектирование и др.);
· методы тестирования программ
· методы доказательства правильности программ;
· анализ качества работы программ;
· документирование программ;
· разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.
Программное обеспечение — неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкректного компьютера определяется созданным для него ПО.
Программное обеспечение современных компьютеров включает миллионы программ — от игровых до научных.
Классификация программного обеспечения.
В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории (рис. 4.1):
прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
системные программы, выполняющие различные вспомогательные функции, например:
o управление ресурсами компьютера;
o создание копий используемой информации;
o проверка работоспособности устройств компьютера;
o выдача справочной информации о компьютере и др.;
2. инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.
Рис. 4.1. Категории программного обеспечения
При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения.
Если раньше можно было по пальцам перечислить основные категории ПО — операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась.
Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность).
Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро. Даже классические программные продукты, такие, как операционные системы, непрерывно развиваются и наделяются интеллектуальными функциями, многие из которых ранее относились только к интеллектуальным возможностям человека.
Кроме того, появились нетрадиционные программы, классифицировать которые по устоявшимся критериям очень трудно, а то и просто невозможно, как, например, программа — электронный собеседник.
На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:
· операционные системы и оболочки;
· системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.);
· инструментальные системы;
· интегрированные пакеты программ;
· динамические электронные таблицы;
· системы машинной графики;
· системы управления базами данных (СУБД);
· прикладное программное обеспечение.
Структура программного обеспечения показана на рис. 3.2. Разумеется, эту классификацию нельзя считать исчерпывающей, но она более или менее наглядно отражает направления совершенствования и развития программного обеспечения.
Прикладные программы.
Прикладная программа — это любая конкретная программа, способствующая решению какой-либо задачи в пределах данной проблемной области.
Например, там, где на компьютер возложена задача контроля за финансовой деятельностью какой-либо фирмы, прикладной будет программа подготовки платежных ведомостей.
Прикладные программы могут носить и общий характер, например, обеспечивать составление и печатание документов и т.п.
В противоположность этому, операционная система или инструментальное ПО не вносят прямого вклада в удовлетворение конечных потребностей пользователя.
Прикладные программы могут использоваться либо автономно, то есть решать поставленную задачу без помощи других программ, либо в составе программных комплексов или пакетов.