Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

Введение

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

Компьютер, как известно, сам по себе не решает никаких проблем, если на нем не установлено программное обеспечение. Около 20 лет назад профессор Е Сыромолотов, который известен нам как большой энтузиаст вычислительной техники и незаурядный человек, говорил о том, что в будущем ситуация относительно значимости «железа» и программ кардинально изменится. По его словам соотношение стоимости программного обеспечения к стоимости компьютера будет примерно такая же как соотношение стоимости приличной обуви к стоимости упаковки. И на сегодняшний день мы имеем данную ситуацию [2].

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

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

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

Задачами, для решения поставленной цели, я вижу нижеследующие:

Ознакомление с понятием программного обеспечения;

Изучение видом программного обеспечения;

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

Ознакомление с основными уровнями программного обеспечения;

Изучение понятия системного программного обеспечения;

Ознакомление с понятием операционной системы и её принадлежностью;

В данной работе объектом исследования является программное обеспечение. Предметом исследования, является классификация видов программного обеспечения.

Данную тему для своего исследования брали такие известные компьютерщики, теоретики и практики, известные как в Российской Федерации, так и по всему миру, к примеру: Акулов О.А., Алексеев А.П.,

Л.Л. Босова, Н.И. Михайлова, Вьюхин В.В., Гейн А.Г., Острейковский В.А., Макарова Н.В., Н.В. Бройдо, Могилев А.В., Угринович Н.Д. и многие другие.

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

1.1 Понятия, виды и уровни программного обеспечения

Программа - это упорядоченные последовательности команд.

Для начала остановимся на основном определении –программного обеспечения (ПО). Под программным обеспечением (ПО) принято понимать комплекс программ, обеспечивающих обработку, систематизацию, хранение и передачу данных, предназначенных для многократного использования пользователем и применения разными пользователями. [7].

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

С другой стороны программы выполняемые вычислительной системой, понимается программное обеспечение (Software).

Для любой компьютерной программы, конечной целью является – управление аппаратными средствами. И даже если на первый взгляд кажется, что программ никак не взаимодействует с оборудованием, не требует никакого ввода данных с устройств ввода все равно её работа основана на управлении аппаратными устройствами компьютера [1].

Аппаратное и программное обеспечение в компьютере работают в непрерывной связи друг с другом и в непрерывном взаимодействии [2].

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

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

Уровни программного обеспечения можно выразить в виде пирамидальной конструкции, где каждый следующий уровень программного обеспечения опирается на уровень предыдущего программного обеспечения и так множество раз. И такое взаимодействие удобно для пользователя на всех его этапах работы с вычислительной системой, начиная с установления программ и до самой практической эксплуатации и технического обслуживания оборудования. Каждый вышележащий уровень повышает функциональность всей системы. К примеру вычислительная система с программным обеспечением самого базового уровня не способна выполнять большинство необходимых функций, но тем не менее она позволяет установить системное программное обеспечение [2-4].

Рассмотрим уровни программного обеспечения по подробнее, начиная с основного-базового уровня. Так базовый уровень –это самый низкий уровень программного обеспечения и отвечает данное программное обеспечение за взаимодействие с базовыми аппаратными средствами. Как правило базовые программные средства входят в состав базового оборудования и хранятся в специальных микросхемах, называемых постоянными запоминающимися устройствами: ПЗУ - ReadOnlyMemory - ROM. Важно отметить, что программы и данные записываются («Прошиваются») в микросхемах ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации [5].

Не редки случаи, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, и вместо микросхем ПЗУ специалисты применяют перепрограммируемое программное обеспечение, такие как ППЗУ - ErasableandProgrammableReadOnlyMemory, EPROM [4]. В таких случаях изменение содержания ПЗУ можно выполнять непосредственно как в составе вычислительной системы – такая технология будет называться флэш-технологией, так и вне её, на специализированных устройствах, называемых программаторами.

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

Итак, подытоживая вышесказанное отметим, что системные программы – это программы предназначенные для:

Поддержания работоспособности всей системы обработки информации, хранящейся на компьютере;

Повышения эффективности её использования.

Различают следующие виды системных программ:

управляющие системные;

обслуживающие системные.

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

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

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

Рассмотрим только несколько разновидностей утилит:

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

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

Программы упаковщики или по-другому их называют архиваторами. Данные программы позволяют записывать информацию на дисках более плотно или же при необходимости объединять копии нескольких файлов в один архивный файл [3].

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

Программы по оптимизации и контролем за качеством дискового пространства.

Программы по восстановлению информации, защиты данных, а также по форматированию.

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

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

Программы, используемые пользователем для записи CD-ROM, CD-R и многие, многие другие.

Важно отметить, что только часть утилит входят в состав операционной системы, а другая же часть функционирует совершенно независимо от нее, т.е. функционирует автономно [3].

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

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

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

Следующий из рассматриваемых уровней программного обеспечения –служебный уровень [3].

Программное обеспечение данного уровня взаимодействует как с программами базового уровня, так и с программами системного уровня. Основным назначением служебных программ, которых по-другому называют «утилитами», является автоматизация работы по проверке, настройке, наладке всей компьютерной системы. Часто они также используются для улучшения функций или расширения функций системных программ. Отдельные служебные программы, такие как программы обслуживания например, изначально включаются в состав операционной системы, но все же большинство из них являются для операционной системы внешними и служат для расширения её функций [6].

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

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

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

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

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

Важно отметить что и прикладные программы имеют свои разновидности. Так они делятся на программы специального назначения и программы общего назначения.

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

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

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

К программному обеспечению относится также вся область деятельности по разработке и проектированию программного обеспечения: методы тестирования программ; анализ качества работы программ; методы доказательства правильности программ; документирование программ; технология проектирования программ, например, нисходящее проектирование, структурное и объектно-ориентированное проектирование и другое, разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения и другое.

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

Программное обеспечение - неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкретного компьютера определяется созданным для него программного обеспечения. Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах.

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

1. Базовое программное обеспечение – базовый уровень.

2. Системное программное обеспечение– системный уровень.

3. Служебное или сервисное программное обеспечение.

4. Прикладное программное обеспечение.

Каждый вышележащий уровень повышает функциональность всей системы.[5]

Рассмотрим структуру программного обеспечения в виде cхемы (рис. 1).

Результат пошуку зображень за запитом "классификация программного обеспечения"

Рисунок 1 – Структура программного обеспечения

1.2 Уровни программного обеспечения

Базовое ПО – самый низкий уровень ПО.

Программное обеспечение, отвечающее за взаимодействие с базовыми аппаратными средствами, называют - базовым программным обеспечением. Как правило, базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах, называемых постоянными запоминающими устройствами или сокращенно - ПЗУ. Базовое программное обеспечение в архитектуре компьютера занимает особое положение.

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

Базовое программное обеспечение, или по-другому его ещё называют BIOS, представляет собой программа, которая отвечает за управление всеми компонентами, установленными на материнской плате. Фактически BIOS является неотъемлемой составляющей системной платы и поэтому может быть отнесена к особой категории компьютерных компонентов, занимающих промежуточное положение между программным обеспечением и аппаратурой.

Функцией базового программного обеспечения является проверка работоспособности вычислительной системы и состава вычислительной системы. [3]

1.3 Системное программное обеспечение

Ядром операционной системы компьютера или по-другому (сокращенно) её обозначают, как ОС является совокупность программ системного уровня. Эти программы обеспечивают взаимодействие программ базового уровня и всех программ, а также непосредственно с аппаратным обеспечением и отвечают за взаимоотношения человека – пользователя и компьютера. Служебное или сервисное программное обеспечение (утилита) имеют основную функцию в автоматизации работы по настройке, наладке, проверке всей компьютерной системы. Отдельные служебные программы, такие например, как обслуживающие программы, изначально включаются в состав операционной системы, но тем не менее большинство служебных программ, являются для операционной системы внешними с служат лишь для расширения функций. Это различные сервисные программы, используемые при техническом обслуживании или работе компьютера, — диагностические программы, редакторы, архиваторы, отладчики, программы для борьбы с вирусами и другие дополнительные программы. Данные программы облегчают пользователю взаимодействие с компьютером. К ним относятся и программы, обеспечивающие работу компьютеров в сети. Они реализуют сетевые протоколы обмена информацией между различными машинами, телеобработку информации, работу с распределенными базами данных. [2]

1.4 Классификация служебных программных средств

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

2. Средства сжатия данных, такие как архиваторы, предназначены для создания архивов. Архивирование данных упрощает их хранение за счет того, что большая группа файлов и каталогов сводятся в один архивный файл Наиболее распространенными среди пользователей компьютеров и известными во всем мире архиваторами являются:WinAce, WinZip, WinRAR.

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

4. Средства контроля или мониторингапозволяют следить за процессами, происходящими в самой компьютерной системе.

5. Диспетчеры файлов - это программы для выполнения большинства операций, связанных с обслуживанием файловой системы: перемещение и переименование файлов копирование, создание каталогов и папок, поиск файлов, удаление файлов и каталогов, навигация в файловой структуре. Наиболее популярными среди пользователей являются такие программы, как: Total Commander, который бывший Windows Commander и FAR Manager.

6. Мониторы установки предназначены для контроля над установкой программного обеспечения.

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

1.5 Прикладное программное обеспечение

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

Они предназначены для решения задач в конкретной предметной области.

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

1. Текстовые редакторы

2. Текстовые процессоры

3. Графические редакторы

4. Системы управления базами данных

5. Электронные таблицы

6. Системы автоматизированного проектирования

7. Настольные издательские системы

8. Экспертные системы

9. WEB-редакторы

10. Браузеры

11. Бухгалтерские системы

12. Геоинформационные системы

13. Интегрированные системы делопроизводства

14. Финансовые аналитические системы

15. Системы видеомонтажа

1.6 Инструментальное программное обеспечение

Программы инструментального программного обеспечения управляются системными программами, поэтому они относятся к более высокому уровню. Инструментальное программное обеспечение представляет комплексы программ для создания других программ. К инструментальному программному обеспечению относятся: редакторы связей, интегрированные системы разработки программного обеспечения, компиляторы, отладчики, например, интегрированная система, известная во всем мире - Delphi[6].

2 Операционная система

2.1 Понятие операционной системы

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

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

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

В функции операционной системы входит:

осуществление диалога с пользователем;

ввод-вывод и управление данными;

планирование и организация процесса обработки программ;

распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);

запуск программ на выполнение;

всевозможные вспомогательные операции обслуживания;

передача информации между различными внутренними устройствами;

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

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

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

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

Ещё не так давно работы по настройке приходилось выполнять пользователю вручную, а сегодня производители компонентов компьютерной техники разработали протокол plug-and-play (включил - заработало). Этот протокол позволяет операционной системе в момент подключения нового компонента получить информацию о новом устройстве, достаточную для настройки ОС на работу с ним.

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

однопользовательские однозадачные, которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;

однопользовательские однозадачные с фоновой печатью, которые позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную, как правило, на вывод информации на печать. Это ускоряет работу при выдаче больших объёмов информации на печать;

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

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

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

2.2 Программы-оболочки

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

Самая популярная у пользователей IBM-совместимого ПК оболочка - пакет программ Norton Commander. Он обеспечивает:

создание, копирование, пересылку, переименование, удаление, поиск файлов, а также изменение их атрибутов;

отображение дерева каталогов и характеристик входящих в них файлов в форме, удобной для восприятия человека;

создание, обновление и распаковку архивов (групп сжатых файлов);

просмотр текстовых файлов;

редактирование текстовых файлов;

выполнение из её среды практически всех команд DOS;

запуск программ;

выдачу информации о ресурсах компьютера;

создание и удаление каталогов;

поддержку межкомпьютерной связи;

поддержку электронной почты через модем.

Что такое сетевые операционные системы.

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

2.3 Утилиты

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

Кратко опишем некоторые разновидности утилит:

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

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

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

Антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами. Компьютерный вирус - это специально написанная небольшая по размерам программа, которая может "приписывать" себя к другим программам для выполнения каких-либо вредных действий - портит файлы, "засоряет оперативную память и т.д. Представители антивирусного семейства программ - Kaspersky Antivirus, DrWeb, Norton Antivirus.

Согласно исследованию организации AVIEWS (Antivirus Information & Early Warning System), Sophos обнаруживает не менее 80 процентов неизвестных зловредных кодов, значительно опережая многие другие весьма популярные и именитые программы. Второе место занял «Антивирус Касперского», который обнаруживает 65 процентов угроз. Интересно, что третье место с 60 процентами занял Ikarus, не известная широким массам программа. А такая именитая программа, как Panda, показала всего 10%.

Программы для создания резервных копий информации позволяют периодически копировать важную информацию, находящуюся на жестком диске компьютера, на дополнительные носители. Представители программ резервного копирования - APBackUp, Acronis True Image.

Программы оптимизации и контроля качества дискового пространства;

Программы восстановления информации, форматирования, защиты данных;

Коммуникационные программы, предназначены для организации обмена информацией между компьютерами. Это программы позволяют удобно пересылать файлы с одного компьютера на другой при соединении кабелем их последовательных портов. Другой вид таких программ обеспечивает возможность связи компьютеров по телефонной сети (при наличии модема). Они дают возможность посылать и принимать телефаксные сообщения. Представители коммуникационных программ - Venta Fax, Cute FTP.

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

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

Программы для записи CD-ROM, CD-R и многие другие.

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

2.4 Инструментальные системы

Какие программы называются инструментальными.

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

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

К инструментальным программам, например, относятся:

редакторы;

средства компоновки программ;

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

вспомогательные программы, реализующие часто используемые системные действия;

графические пакеты программ и т.п.

Система программирования

Система программирования - это система для разработки новых программ на конкретном языке программирования.

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

компилятор или интерпретатор;

интегрированная среда разработки;

средства создания и редактирования текстов программ;

обширные библиотеки стандартных программ и функций;

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

"дружественная" к пользователю диалоговая среда;

многооконный режим работы;

мощные графические библиотеки; утилиты для работы с библиотеками;

встроенный ассемблер;

встроенная справочная служба;

другие специфические особенности.

Транслятор (англ. translator - переводчик) - это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

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

Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

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

Популярные системы программирования - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. Borland C++, Borland Delphi и др.

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

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

3 Тенденции развития программного обеспечения

3.1 Бурный рост и быстрые темпы развития рынка ПО

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

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

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

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

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

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

Расширяется практика сдачи программного обеспечения в аренду.

Стандартизация и интеграция продуктов ПО.

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

Увеличение мощности программ

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

Возможность дистанционного запуска ПО через Web.

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

3.2 Программное обеспечение как товар.

Создание программного обеспечения для персональных компьютеров за какой-то десяток лет превратилось из занятия программистов-одиночек в важную и мощную сферу промышленности. Только в США более 50 фирм – производителей программного обеспечения имеют объемы продаж более 10 млн. дол., а у десяти из них (в частности, Microsoft, Lotus, Novell, Borland, Autodesk, Symantec и Computer Associates) объемы продаж превышают 100 млн. дол. Поэтому развитие программного обеспечения, предназначенного для широкого круга пользователей, происходит уже не состязании индивидуальных программистов, а в процессе ожесточенной конкурентной борьбы между фирмами-производителями программного обеспечения. Доля некоммерческого программного обеспечения постоянно снижается и все более ограничивается программами, создаваемыми в процессе научных исследований или для собственного удовольствия. Важнейшие свойства программ. При разработке коммерческих программ основной задачей фирм-разработчиков является, естественно, обеспечение их успеха на рынке. Для этого необходимо, чтобы программы обладали следующими качествами:

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

Стандартизация. Во многих областях совместная работа различных производителей программного обеспечения приводит к стандартизации отдельных элементов интерфейса программ, форматов данных и т.д., что весьма удобно для пользователей. Это происходит прежде всего потому, что разработчики программ перенимают друг у друга удачные находки и приемы и стремятся обеспечить совместимость с другими наиболее популярными программами. В результате использования ниспадающих (pull-down) меню или вид таблицы табличного процессора будут приблизительно одинаковыми во всех программах, хотя они созданы различными разработчиками, подобно тому, как похожи кнопки в лифтах, изготовленных разными заводами. Удобство пользовательского интерфейса программ является важнейшим фактором, определяющим приемлемость программы для пользователей, а значит, и ее успеха на рынке. Большинство выпускаемых на рынок программ используют достаточно стандартные методы организации интерфейса: ниспадающее меню, панели для выбора ответа, встроенные диалоговые справочники и т.д. Как правило, пользователь может работать не только с клавиатурой, но и с мышью. В последнее время все большее количество программ используют графический пользовательский интерфейс (graphical user interface, GUI), в котором, в частности, для упрощения работы пользователя вместо надписей на экране употребляются рисунки (пиктограммы). При этом графический интерфейс используется не только в таких программах, как графические редакторы или издательские системы, но и в табличных процессорах, текстовых редакторах и т.д. Многие из программ с графическим интерфейсом работают под управлением системы Windows.

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

Оборотной стороной увеличения мощности программ является повышение их требований к аппаратуре. Например, программы, работающие под управлением Windows, нельзя использовать на 486, требуется компьютер не ниже класса Pentium, для сносного быстродействия при этом необходим компьютер с микропроцессором 100 Mhz и 16 Мбайта памяти, а для комфортной работы – 200 Mhz и 32 Мбайт оперативной памяти. Для многих программ необходимы оперативная память не менее 16 Мбайт, графический монитор класса не ниже VGA, хорошая графическая плата и т.д.

3.3 Коммерческие разновидности программ

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

Существуют и такие программы, которые распространяются бесплатно.

Чаще всего эти программы написаны каким-нибудь опытным программистом для себя, затем переданы для общего пользования. Такие программы называются бесплатными (freeware). Иногда разработчики программы указывают, что их программа является бесплатной для индивидуальных пользователей, но для использования в организациях должна покупаться соответствующая лицензия. Промежуточное положение между бесплатными и коммерческими программами занимают условно-бесплатные программы (shareware). Эти программы можно получить и опробовать бесплатно, но для систематического их использования необходимо уплатить разработчикам или распространителям программы определенную сумму.

3.4 Нумерация версий программ

Программы, которые нашли популярность у пользователей, как правило, совершенствуются разработчиками: в них исправляются ошибки, включаются новые возможности и т.д. Чтобы сохранить преемственность, получившимся программам не дается какое-то другое имя, а вместо этого они называются версиями исходных программ. По установившейся традиции версии программ обозначаются числами вида 1.00, 3.5 и т.д., т.е. десятичных дробей в американской записи. Номер версии обычно указывается после названия программы, например Windows 3.0 (читается «три ноль»). При этом существенные изменения в программах отражаются увеличением цифры до точки, незначительные изменения или исправления ошибок – увеличением цифр, стоящих после точки. Например, первоначальная версия программы обозначается 1.0, версия с некоторыми улучшениями - 1.1, а после внесения существенных дополнений новая версия программы будет иметь номер 2.0. Также существует нумерация программ по годам, например: Windows 98 – версия, выпущенная в 98 году. Большинство фирм-разработчиков программ продают на льготных условиях (а иногда даже предоставляют бесплатно) новые версии своих программ тем, кто ранее приобрел одну из предшествующих версий. Например, программа может стоить 400 дол., а для владельцев предыдущих версий – 50 дол.

3.5 Вредоносное программного обеспечения

В наше время набирает популярности вредоносное программное обеспечение.

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

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

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

Местом глобального распространения вредоносных программ является, конечно же, Internet.

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

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

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

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

В современном Интернет в среднем каждое тридцатое письмо заражено почтовым червем, около 70% всей корреспонденции - нежелательна. С ростом сети Интернет увеличивается количество потенциальных жертв вирусописателей, выход новых операционных систем влечет за собой расширение спектра возможных путей проникновения в систему и вариантов возможной вредоносной нагрузки для вирусов. Современный пользователь компьютера не может чувствовать себя в безопасности перед угрозой стать объектом чей-то злой шутки - например, уничтожения информации на винчестере - результатов долгой и кропотливой работы, или кражи пароля на почтовую систему. Точно так же неприятно обнаружить себя жертвой массовой рассылки конфиденциальных файлов или ссылки на порно-сайт. Кроме уже ставших привычными краж номеров кредитных карт, участились случаи воровства персональных данных игроков различных онлайновых игр - Ultima Online, Legend of Mir, Lineage, Gamania. В России также зафиксированы случаи с игрой "Бойцовский клуб", где реальная стоимость некоторых предметов на аукционах достигает тысяч долларов США. Развитие получили и вирусные технологии для мобильных устройств. В качестве пути проникновения используются не только Bluetooth-устройства, но и обычные MMS-сообщения (червь ComWar).

Заключение

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

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

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

Программы могут разрабатываться и распространяться в форме, пригодной для выполнения с помощью других программ, в их среде. Примерами таких программ являются приложенияFoxPro (файлы приложений с расширением APP (application), FXP или даже файлы в исходном (на языке программирования FoxPro) коде PRG) или апплеты Java, выполняемые на Java-машине. Такие приложения не могут выполняться самостоятельно, вне соответствующей среды.

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

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

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

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

Список использованных источников

1. Акулов О.А. Информатика: учебник / О.А. Акулов, Н.В. Медведев. - М.: Омега-П, 2011. - 270 с.

2. Алексеев А.П. Операционные системы / А.П. Алексеев. - М.: СОЛОН-ПРЕСС, 2012. - 608 с.

3. Босова Л.Л. Програмное обеспечение / Л.Л. Босова, Н.И. Михайлова. - М.: Бином, 2012. - 400 с.

4. Вьюхин В.В. Информатика и вычислительная техника: учеб. пособие для инженерных специальностей / В.В. Вьюхин; под ред. В.Н. Ларионова. - М.: Дрофа, 2012. - 286 с.

5. Гейн А.Г. Основы информатики и вычислительной техники / А.Г. Гейн. - М.: Просвещение, 2014. - 245 с.

6. Острейковский В.А. Информатика / В.А. Острейковский. М.: Высш. шк., 2010. - 235 с.

7. Информатика: практикум по технологии работы на компьютере / под ред. Н.В. Макаровой. - 2-е изд. - М.: Финансы и статистика, 2016. - 384 с.

8. Макарова Н.В. Информатика: практикум по технологии работы на компьютере / Н.В. Макарова, С.Н. Рамин. - М.: Академия, 2015. - 384 с.

9. Макарова Н.В. Информатика: учеб. пособие для вузов / Н.В. Макарова, Н.В. Бройдо. - М.: Академия, 2014. - 768 с.

10. Могилев А.В. Информатика: учеб. пособие для вузов / А.В. Могилев, Н.И. Пак, Е.К. Хеннер; под ред. Е.К. Хеннера. - М.: Академия, 2010. - 346 с..

11. Угринович Н.Д. Практикум по информатике и информационным технологиям: учеб. пособие для общеобразовательных учреждений / Н.Д. Угринович, 2010. – 120 с.