В основу работы любого компьютера положен программный принцип управления, состоящий в том, что компьютер выполняет действия по заранее заданной программе.
Программа - это запись алгоритма решения задачи в виде последовательности команд или операторов на языке, который понимает компьютер.
Конечная цель любой компьютерной программы – управление аппаратными средствами.
Работа компьютерной системы осуществляется в непрерывном взаимодействии аппаратных и программных средств.
Программное обеспечение (ПО, Software) – это совокупность программ и соответствующей документации, позволяющая использовать вычислительную технику для решения различных задач.
Программное обеспечение выполняет следующие основные функции :
обеспечивает работоспособность ЭВМ, так как без соответствующего ПО компьютеры не могут осуществлять никакие операции;
расширяет ресурсы вычислительной системы и повышает эффективность их использования;
облегчает взаимодействие пользователя с ЭВМ и повышает производительность его труда, т. е. обеспечивает пользовательский интерфейс.
Состав программного обеспечения вычислительной системы называют программной конфигурацией .
Программный интерфейс — функциональность, которую некоторый программный компонент предоставляет другим программным компонентам.
Возможность существования такого интерфейса тоже основана на существовании технических условий и протоколов взаимодействия.
На практике он обеспечивается распределением программного обеспечения на несколько взаимодействующих между собой уровней.
Уровни программного обеспечения
Базовый уровень
Базовое ПО отвечает за взаимодействие с базовыми аппаратными средствами.
Как правило, базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах, называемых постоянными запоминающими устройствами (ПЗУ).
Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации.
К этому уровню ПО относится базовая система ввода-вывода (BIOS). BIOS (Basic Input-Output System, базовая система ввода-вывода) – реализованная в виде микропрограмм часть программного обеспечения, которая предназначается для обеспечения доступа к аппаратуре компьютера и подключенным к нему устройствам.
В том случае, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства (ППЗУ – Erasable and Programmable Read Only Memory, EPROM)3.
Системный уровень
Программы системного уровня обеспечивают взаимодействие прочих программ компьютерной системы с программами базового уровня и непосредственно с аппаратным обеспечением, то есть выполняют «посреднические» функции.
От программного обеспечения этого уровня во многом зависят эксплуатационные показатели всей вычислительной системы в целом.
Примеры: драйвера устройств, средства обеспечения пользовательского интерфейса .
Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера .
Операционная система ОС (англ. operating system, OS ) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
Служебный уровень.
Программное обеспечение этого уровня взаимодействует как с программами базового уровня, так и с программами системного уровня.
Основное назначение служебных программ ( утилит ) состоит в автоматизации работ по проверке, наладке и настройке компьютерной системы.
Во многих случаях используются для расширения или улучшения функций системных программ.
Некоторые служебные программы (программы обслуживания) изначально включают в состав операционной системы (Восстановление системы, Дефрагментация диска, Монитор ресурсов), но большинство служебных программ являются для операционной системы внешними и служат для расширения ее функций.
Прикладной уровень.
Программное обеспечение прикладного уровня представляет собой комплекс программ, предназначенных для выполнения конкретных задач пользователей.
Поскольку между прикладным ПО и системным существует непосредственная взаимосвязь (первое опирается на второе), то можно утверждать, что универсальность вычислительной системы, доступность прикладного программного обеспечения и широта функциональных возможностей компьютера напрямую зависят от типа операционной системы, от того, какие системные средства содержит ядро ОС, как она обеспечивает взаимодействие триединого комплекса человек – программы – оборудование .
Классификация программного обеспечения по назначению
Системное ПО (System Software) – совокупность программ и программных комплексов, предназначенных для обеспечения работы компьютера и сетей ЭВМ. (Носят общий характер применения, независимо от специфики предметной области).
Прикладное (специальное) программное обеспечение (пакеты прикладных программ, ППП) - комплекс взаимосвязанных программ для решения задач определенного класса конкретной области.
Инструментальное ПО – программные средства поддержки (обеспечения) технологии программирования.
Классификация прикладного ПО
Прикладные программы являются наиболее динамично развивающейся частью ПО и обеспечивают выполнение конкретных задач пользователя.
Структура и принципы построения прикладной программы зависят от класса ЭВМ и операционной системы, в рамках которой это приложение будет функционировать.
По функционально-организационному признаку прикладное ПО делится на две группы: проблемно-ориентированные программы и интегрированные пакеты .
Проблемно-ориентированные программы
Текстовые редакторы. Используются для ввода и редактирования текстовых данных (без какого-либо форматирования или оформления).
Пример: Блокнот, входящий в состав любой версии Windows.
Текстовые процессоры. Позволяют не только вводить и редактировать текст, но и форматировать его, т.е. оформлять. К основным средствам текстовых процессоров относятся средства обеспечения взаимодействия текста, графики, таблиц и других объектов, составляющих итоговый документ, а дополнительным – средства автоматизации процесса фор-матирования.
Примеры: Microsoft Word, OpenOffice.org Writer, Corel WordPerfect, Лексикон и др.
Графические редакторы. Предназначены для создания и (или) обработки графических изображений. Различают следующие категории: растровые редакторы , векторные редакторы и программные средства для создания и обработки трехмерной графики ( 3D-редакторы ).
Примеры: Microsoft Paint, Corel Draw, Adobe Photoshop, OpenOffice.org Draw и др.
Системы управления базами данных (СУБД) – совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных. Базами данных называют большие массивы данных, организованных в табличные структуры.
Примеры: Microsoft Access, OpenOffice.org Base, FoxPro, Oracle, Paradox и др.
Электронные таблицы (табличные процессоры) предоставляют комплексные средства для хранения различных типов данных и их обработки. Используются для создания таб-лиц в случаях, когда предполагаются сложные расчеты, сортировка, фильтрация, стати-стический анализ массивов, построение на их основе диаграмм.
Примеры: Microsoft Excel, OpenOffice.org Calc, Quattro Pro, SuperCalc, Lotus 1-2-3 и др.
Системы подготовки презентаций (системы демонстрационной графики).
Примеры: Microsoft PowerPoint, OpenOffice.org Impress, Freelance Graphics, Harvard Graphics и др.
Системы проведения математических расчетов.
Примеры: MathCAD, Maple, MathLab, Mathematica и др.
Системы автоматизированного проектирования (CAD-системы) предназначены для автоматизации проектно-конструкторских работ. Кроме чертежно-графических работ эти системы позволяют проводить простейшие расчеты и выбор готовых конструктивных элементов из обширных баз данных. Отличительная особенность CAD-систем состоит в автоматическом обеспечении на всех этапах проектирования технических условий, норм и правил, что освобождает конструктора (архитектора) от работ нетворческого характера.
Примеры: Autodesk AutoCAD, DesignCAD, Drawbase, UltimateCAD и др.
Настольные издательские системы предназначены для автоматизации процесса верстки полиграфических изданий. Этот класс ПО занимает промежуточное положение между текстовыми процессорами и системами автоматизированного проектирования.
Примеры: Microsoft Publisher, Adobe PageMaker, Quark Xpress, Corel Venture и др.
Веб-редакторы. Это особый класс редакторов, объединяющих в себе свойства текстовых и графических редакторов. Они предназначены для создания и редактирования веб-документов ( веб-страниц Интернета ).
Примеры: Macromedia Dreamweaver MX, AdobeGolive и Adobe LiveMotion, Microsoft Front Page, COFFECUP HTML Editor , Kompozer и др.
Браузеры (обозреватели, средства просмотра Web). Предназначены для просмотра электронных документов, выполненных в формате HTML. Современные браузеры воспроизводят текст, графику, музыку, человеческую речь, могут обеспечивать прослушивание радиопередач в интернете, просмотр видеоконференций, работу со службами электронной почты, с системой телеконференций и многое другое.
Примеры: Google Chrome, Opera, Internet Explorer, Mozilla Firefox, Safari
Экспертные системы предназначены для анализа данных, содержащихся в базах знаний , и выдачи рекомендаций по запросу пользователя. Системы применяют в тех случаях, когда исходные данные хорошо формализуются, но для принятия решения требуются обширные специальные знания. Области использования ЭС: юриспруденция, медицина, фармакология, химия.
Интегрированные системы делопроизводства. Предназначены для автоматизации рабочего места руководителя. К основным функциям подобных систем относятся функции создания, редактирования и форматирования простейших документов, централизация функций электронной почты, факсимильной и телефонной связи, диспетчеризация и мониторинг документооборота предприятия, координация деятельности подразделений, оптимизация административно-хозяйственной деятельности и поставка по запросу оперативной и справочной информации.
Бухгалтерские системы . Это специализированные системы, сочетающие в себе функции текстовых и табличных редакторов, электронных таблиц и систем управления базами данных. Предназначены для автоматизации подготовки первичных бухгалтерских документов предприятия и их учета, для ведения счетов плана бухгалтерского учета, а также для автоматической подготовки регулярных отчетов по итогам производственной, хозяйственной и финансовой деятельности в форме, принятой для представления в налоговые, внебюджетные фонды и органы статистического учета.
Финансовые аналитические системы. Программы этого класса используются в банковских и биржевых структурах.
Геоинформационные систем (ГИС). Предназначены для автоматизации картографических и геодезических работ на основе информации, полученной топографическими или аэрокосмическими методами.
Системы видеомонтажа. Предназначены для цифровой обработки видеоматериалов, их монтажа, создания видеоэффектов, устранения дефектов, наложения звука, титров и субтитров
Интегрированные пакеты
Представляют собой пакет нескольких программных продуктов, функционально дополняющих друг друга и поддерживающих единую технологию работы.
Типичными представителями таких пакетов являются: Microsoft Office, OpenOffice.org, Borland Office, Lotus SmartSuite.
В базовой и профессиональной редакциях этих пакетов обязательно присутствуют следующие приложения: текстовый процессор, табличный процессор, программа демонстрационной графики (система подготовки презентаций), и СУБД (не всегда для базовой редакции).
Классификация служебного ПО
Диспетчеры файлов (файловые менеджеры). Используются для выполнения операций, связанных с обслуживанием файловой структуры: копирование, перемещение и переименование файлов, создание каталогов (папок), удаление файлов и каталогов, поиск файлов и навигация в файловой структуре. Базовые программные средства, предназначенные для этой цели, обычно входят в состав программ системного уровня и устанавливаются вместе с операционной системой. Однако для повышения удобства работы с компьютером большинство пользователей устанавливают дополнительные служебные программы.
Средства сжатия данных (архиваторы). Предназначены для создания архивов. Архивирование упрощает их хранение за счет того, что большие группы файлов и каталогов сводятся в один архив. При этом повышается и эффективность использования носителя за счет того, что архивные файлы имеют повышенную плотность записи информации. Архиваторы часто используют для создания резервных копий данных.
Средства просмотра и воспроизведения. Обычно для работы с файлами данных необходимо загрузить их в «родительскую» прикладную систему, с помощью которой они были созданы. Это дает возможность просматривать документы и, при необходимости, редактировать. В случае, когда требуется только просмотр (воспроизведение в случае звукозаписи или видеозаписи), удобно использовать более простые и универсальные средства, позволяющие просматривать документы разных типов.
Средства диагностики. Предназначены для автоматизации процессов диагностики программного и аппаратного обеспечения. Они выполняют необходимые проверки и выдают собранную информацию в удобном и наглядном виде. Их используют не только для устранения неполадок, но и для оптимизации работы компьютерной системы.
Средства контроля (мониторинга). Программные средства контроля иногда называют мониторами . Они позволяют следить за процессами, происходящими в компьютерной системе либо в режиме реального времени, либо в режиме записи результатов в специальном протокольном файле. В последнем случае результаты мониторинга можно передать службе технической поддержки для установления причин конфликта в работе программного и аппаратного обеспечения.
Мониторы установки. Предназначены для контроля над установкой программного обеспечения. Следят за состоянием и изменением окружающей программной среды, отслеживают и протоколируют образование новых связей (между различными категориями программного обеспечения) и позволяют восстановить связи, утраченные в результате удаления ранее установленных программ. Простейшие средства управления установкой программ обычно входят в состав операционной системы и размещаются на системном уровне программного обеспечения, однако они редко бывают достаточными. Поэтому в вычислительных системах, требующих повышенной надежности, используют дополнительные служебные программы.
Средства коммуникации (коммуникационные программы). Позволяют устанавливать соединения с удаленными компьютерами, обслуживают передачу сообщений электронной почты, работу с телеконференциями, обеспечивают пересылку факсимильных сообщений и других операций в компьютерных сетях.
Средства обеспечения компьютерной безопасности. К ним относятся средства пассивной и активной защиты данных от повреждения, а также средства защиты от несанкционированного доступа, просмотра и изменения данных. В качестве средства пассивной защиты используют служебные программы, предназначенные для резервного копирования. В качестве средств активной защиты применяют антивирусное программное обеспечение . Для защиты данных от несанкционированного доступа, их просмотра и изменения служат специальные системы, основанные на криптографии.
«Рыночная» классификация ПО
Существует еще одна классификация ПО, связанная со способом распространения программы и теми условиями, приняв которые, потребитель получает возможность ею пользоваться.
Способ распространения и вариант лицензии
Бесплатное ПО (freeware) - программное обеспечение, лицензионное соглашение которого не требует каких-либо выплат правообладателю.
Условно-бесплатное ПО (shareware). shareware-программы распространяются в виде полнофункциональных версий, ограниченных либо по времени работы, либо по количеству запусков.
«Рекламно-оплачиваемые программы» (adware), ПО с рекламой - вид программного обеспечения, при использовании которого пользователю принудительно показывается реклама. Принцип adware подразумевает, что платит за программу не пользователь, а рекламодатель, которому взамен дается пространство для размещения информации о своих продуктах в виде баннеров или всплывающих окошек.
Коммерческое ПО (commercial ware) – программное обеспечение, созданное с целью получения прибыли от его использования другими лицами, например, путем продажи экземпляров. Для использования таких программ необходимо приобрести лицензию.
OEM-версии (англ. original equipment manufacturer – «оригинальный производитель оборудования») – специальные варианты обычных коммерческих программ, поставляющихся по сниженной цене вместе с готовыми компьютерами.
«Условно-платные» программы (donationware, от англ. donation – «пожертвование») – это модель лицензирования, при которой пользователю поставляется полностью функционирующее программное обеспечение с возможностью сделать пожертвование разработчику. Размер пожертвования может быть фиксированным или устанавливаться пользователем на основании индивидуального восприятии ценности программного обеспечения. (Вариантом Donationware является лицензия Beerware. )
ЗаброшенноеПО (Abandonware) программное обеспечение, которое больше не на продается и не поддерживается компанией-производителем, и от которого производитель больше не получает доходов. Правообладатель не занимается преследованием их само-вольных распространителей. В некоторых случаях какая-либо компания или сайт получает разрешение от производителя на распространение такой программы. Чаще всего Abandonware распространяется пиратами.
Классификация по степени готовности
Программы по степени их готовности принято делить на следующие версии: alpha, beta, RC, release.
Альфа (alpha) – самая первая версия программы, черновой набросок. Статус «альфы» гарантирует пользователю, что скачанная программа установится и даже запустится, однако дальнейшие действия непредсказуемы. Чаще всего в ней много ошибок, многие из заявленных возможностей не работают. Пользователи этой версии, очевидно, выполняют роль тестеров.
Бета (beta) – уже вполне готовая к применению программа. Грубые ошибки убраны, базовые задачи программа выполняет успешно. Маленькие недоделки могут исчезнуть уже в следующих «бетах». В статусе «беты» программы могут пребывать достаточно долго (например, проигрыватель WinAmp, почтовая программа The Bat! и другие).
RC (ReleaseCandidate) – кандидат на окончательную версию. Эта программа уже считается стабильной и используется для выявления наиболее скрытых ошибок. Такую программу практически без опаски можно скачивать и устанавливать пользователем. Ошибки в RC-версиях вычисляются довольно редко, так что при переходе в «основную» версию программа практически не меняется.
Release- финальная, полностью готовая, окончательная версия программы.
Demo-версия обычно крайне «обрезанная» программа. Чаще всего содержит примерно 20% наполнения в отличие от финальной версии. Программисты больше делают демо-версий для того, чтобы широкая публика нашла еще багов, которые не обнаружили программисты и бета-тестеры.
Trial-версия. Если компания или отдельный программист не желают, чтобы программа была бесплатной, и хотят получить вознаграждение, например, 30$, они делают триал-версию, так называемую обрезанную версию программы. Обычно в таких случаях программа работает 30 дней (сколько оговорено в описании), а потом отказывает, требуя регистрации.
Тенденции развития программного обеспечения
Полная автоматизация деятельности специалистов. Новые прикладные программные продукты автоматизируют деятельность различных специалистов. Создаваемые автоматизированные рабочие места (АРМ) полностью поддерживают всю профессиональную деятельность пользователей.
Массовое использование интегрированных пакетов. Среда интегрированного пакета – это в определенном смысле автоматизированное рабочее место, обеспечивающее работу пользователя с мощными и гибкими средствами.
Создание инструментальных пользовательских средств. Инструментальные пользовательские средства предназначены для совершенствования функций обработки информации и создания новых приложений силами пользователей.
Совершенствование пользовательского интерфейса. Работа пользователя с программными продуктами должна быть комфортной и осуществляться в соответствующей программно-технической среде.