Типы программного обеспечения пк. Понятие программного обеспечения, классификация программного обеспечения. Сертификация процессов разработки ПО, модель CMM

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

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

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


Рис. 2.1.

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

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

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

Для поддержки информационной технологии в этих областях выделяют соответственно три класса программных продуктов, представленных на рис.2.2 :

  • системное программное обеспечение;
  • прикладное программное обеспечение;
  • инструментальное программное обеспечение.

Системное программное обеспечение ( System Software ) – совокупность программ и программных комплексов, предназначенная для обеспечения работы компьютера и сетей ЭВМ. Системное программное обеспечение выполняет следующие задачи:

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


Рис. 2.2.

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

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

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

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

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

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

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

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


Рис. 2.3.

В базовое программное обеспечение входят:

  • операционная система;
  • операционные оболочки (обычно текстовые и графические);
  • сетевая операционная система.

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

Наиболее традиционное сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:

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

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

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

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

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

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

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

Основные понятия программного обеспечения

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ

Контрольные вопросы

1. Что такое архитектура ЭВМ?

2. Назовите принципы построения ЭВМ, сформулированные фон Нейманом.

3. Какие устройства входят в состав ЭВМ фон Неймана?

4. Какие электронные элементы располагаются на материнской плате?

5. Назовите основные функции микропроцессора?

6. Что такое тактовая частота?

7. Что такое разрядность микропроцессора?

8. Какие модели микропроцессоров Вам известны?

9. Каково назначение устройств памяти?

10. Что такое ОЗУ и ПЗУ?

11. Что обозначается сокращенно RAM?

12. Чему равна минимальная порция информации в устройствах памяти для ПК?

13. Каково назначение системной шины?

14. Назовите основные группы клавиш на стандартной клавиатуре.

15. К какому порту подключается мышь?

16. Каково назначение монитора?

17. Опишите принцип работы матричных, струйных и лазерных принтеров?

18. Что представляют собой дорожки и секторы на магнитном диске?

19. Зачем выполняют форматирование дисков?

20. Что собой представляет лазерный диск?

21. Что такое драйвер?

22. Какие бывают типы портов?

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

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

Программное обеспечение (sowtware) - совокупность программ обработки данных.

Задача (problem, task) - проблема, подлежащая решению.

Приложение (application) - программная реализация на компьютере решения задачи.

Программное обеспечение можно разделить на три группы:

системные программы;

– прикладные программы;

– системы программирования.

Системными называют программы, которые осуществляют организацию вычислительного процесса и управление ресурсами ЭВМ.

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

Системные программы состоят из:

– операционных систем (ОС),

– операционных оболочек,

– специальных программ.

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

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



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

Операционные системы классифицируются по:

– количеству одновременно работающих пользователей на однопользовательские и многопользовательские ОС;

– числу задач, одновременно выполняемых под управлением ОС, на однозадачные и многозадачные;

– количеству используемых процессоров на однопроцессорные имногопроцессорные;

– разрядности процессора на 8-разрядные, 16-разрядные, 32-разрядные, 64-разрядные;

– типу пользовательского интерфейса на командные (текстовые) и объектно-ориентированные (графические);

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

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

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

Операционная система MS-DOS является командной (текстовой) ОС для 16-разрядных ЭВМ на основе микропроцессоров 8086...80486. Все программы MS-DOS хранятся на магнитных дисках, поэтому она называется дисковой операционной системой (Disk Operating System). Буквы MS являются сокращением названия фирмы-разработчика Microsoft. Было выпущено несколько модификаций этой ОС, поэтому можно говорить о целом семействе операционных систем MS-DOS.

Операционные системы семейства Windows

При создании операционной системы семейства Windows фирма Microsoft использовала объектно-ориентированный подход.

На уровне пользователя объектно-ориентированный подход выражается в том, что интерфейс представляет собой подобие реального мира, а работа с ЭВМ сводится к действиям с обычными объектами. Так, папки можно открывать, закрывать, перемещать, убирать в портфель. Документы можно просматривать, исправлять, перекладывать с одного места на другое, уничтожать или выбрасывать в корзину.

В ОС Windows заложены принципы:

– WYSIWYG (What You See Is What You Get - что видите, то и получаете), за счет которого на принтере формируется такое же изображение, как и на экране дисплея. При работе в DOS вид текста на экране монитора и отпечатанного на принтере может оказаться разным. Это зависит от выбранного на принтере шрифта.

– Plug and Play (вставь и играй, точнее, подключи и используй) позволяет без ручной настройки подключать новые устройства к ЭВМ, например, принтер или лазерный проигрыватель. Англоязычный термин Plug and Play по-русски произносится плаг энд плэй. ОС, поддерживающая этот принцип, автоматически подбирает драйвер, необходимый для работы нового подключенного к ЭВМ устройства.

– технология Drag and Drop (перетащи и положи). Благодаря технологии Drag and Drop легко изменить положение любого окна и его размеры.

В Windows можно составлять документы из частей, которые готовятся в различных приложениях. Для связывания и внедрения документов используется технология OLE (Object Linking and Embedding), что означает «связывание и внедрение объектов».

При работе в операционной системе Windows программы принято называть приложениями.

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

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

Операционные оболочки –– графические надстройки созданные для облегчения работы с помощью операционной системы. Наибольшей популярностью в России пользуются Norton Commander, DOS Navigator ,Windows Commander и др.

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

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

Драйверы - системные программы, обеспечивающие работу принтеров, дисководов, дисплеев, клавиатуры и т. п. Слово «драйвер» происходит от английского слова driver - шофер, водитель.

Пакеты прикладных программ (ППП)

Пакет прикладных программ (application program package) - комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.

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

Прикладное программное обеспечение, в свою очередь, делится на две части:

– прикладные программы общего назначения,

– профессионально-ориентированные программы.

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

– системы обработки текстов (текстовые процессоры);

– системы компьютерной графики (графические редакторы);

– системы табличных расчетов - электронные таблицы (табличные процессоры);

– системы управления базами данных, ориентированные на пользователя;

– средства разработки презентаций;

– программы, обеспечивающие работу с электронной почтой и работу с Интернетом.

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

Системы программирования - инструмент для работы профессиональных программистов.

Каждая такая система ориентирована на определенный язык программирования: Паскаль, Бейсик, Фортран, Си, Ассемблер и др. Системы программирования позволяют создавать тексты программ, отлаживать и исполнять программы. Все перечисленные выше виды программного обеспечения создаются программистами с помощью специально созданных систем программирования.

Рис. 100.

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

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

Базовый уровень

Самый низкий уровень программного обеспечения. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Базовые программные средства хранятся в микросхемах ПЗУ. Программы и данные записываются в микросхемы ПЗУ на этапе производства. В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяются перепрограммируемые постоянно запоминающие устройства (ППЗУ - англ. Erasable and Programmable Read Only Memory, EPROM).

Системный уровень

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

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

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

Служебный уровень

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

Прикладной уровень

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

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

  • - текстовые редакторы - предназначены для создания и редактирования текста. Дополнительные функции состоят в автоматизации процесса ввода и редактирования. В качестве примера можно привести программу Notepad (Блокнот);
  • - текстовые процессоры. Основным отличием текстовых процессоров от текстовых редакторов в том, что они позволяют не только вводить и редактировать тексты, но и внедрять в него графики, формулы, таблицы и других объекты. Классическим примером текстового процессора является Microsoft Word;
  • - графические редакторы - предназначены для создания или обработки графических изображений.

Различают: растровые редакторы, векторные редакторы и программные средства для создания и обработки трехмерной графики (ЗО-редакторы). Самый простой пример растрового графического редактора, который присутствует на каждом компьютере - Paint. Растровые изображения имеют несколько видов расширения: jpeg или jpg, png, gif, bmp и др. Второй пример графического растрового редактора - Adobe Photoshop. Photoshop имеет огромный функционал, поддержку большого числа плагинов (программные модули, динамически подключаемые к основной программе и предназначенные для расширения и/или использования ее возможностей) и инструментов. Позволяет работать в различных цветовых моделях и с различными расширениями файлов.

Векторный графический редактор CorelDRAW из пакета CorelDRAW Graphics Suite представляет собой мощный профессиональный продукт для создания различного рода графики и анимации. Тем не менее благодаря встроенной развитой системе обучения и справки программа весьма проста для освоения даже новичками в области векторной графики.

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

Редакторы трехмерной графики служат для создания фильмов, компьютерных игр, графического дизайна, изобилующих анимацией, визуальными эффектами. Широкое распространение подобные программы нашли в области машиностроения, архитектуры, производства потребительских товаров и т.п. В качестве примера можно привести такие программные продукты, как Autodesk Maya, Autodesk 3ds Max:

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

Принято делить СУБД на настольные и промышленные. Примером настольных СУБД служат: Access, FoxPro. Промышленные СУБД ориентированы на создание информационных систем, оперирующих большим объемом информации с повышенным требованием безопасности, например: Oracle, MS SQL Server:

  • - электронные таблицы - представляют собой программный инструмент, предназначенный для хранения различных типов данных, проведения над ними расчетов. Самое популярное средство работы с электронными таблицами - программа Excel;
  • - системы автоматизированного проектирования (САПР) - предназначены для автоматизации проектно-конструкторских работ. Применяются в машиностроении, приборостроении, архитектуре.

Наиболее распространенной САПР в мире является программа AutoCAD (англ. Computer-Aided Design) - двух- и трехмерная система автоматизированного проектирования и черчения. В качестве примера российской САПР можно привести систему ADEM (англ. Automated Design Engineering Manufacturing), предназначенную для автоматизации конструкторско-технологической подготовки производства;

  • - настольные издательские системы - позволяют осуществлять электронную верстку широкого спектра основных типов документов: информационного бюллетеня, цветной брошюры, каталога, справочника. Примерами таких программ являются: Corel Ventura, Page Maker, QuarkXPress, Frame Maker, MS Publisher;
  • - экспертные системы - предназначены для анализа данных, содержащихся в базе знаний, и выдачи рекомендаций по запросу пользователя.

Экспертные системы способны в сложной ситуации (при недостатке времени, информации или опыта) дать квалифицированную консультацию (совет, подсказку), помогающую специалисту или менеджеру принять обоснованное решение. База знаний экспертной системы содержит сведения о предметной области (медицина, юриспруденция и т.п.) и правила - набор инструкций, применяя которые к известным фактам можно получать новые факты. В качестве примера можно привести программную экспертную систему CLIPS (англ. С Language Integrated Production System);

  • - web-редакторы (HTML-редакторы) - позволяют создавать с минимальными временными затратами простые и сложные, красиво оформленные Web-страницы. Одним из наиболее популярных HTML-редакторов в мире является программа Adobe Dreamweaver;
  • - браузеры (обозреватели) - программные средства, предназначенные для просмотра web-сайтов. Наиболее популярными являются программы Internet Explorer, Mozilla Firefox, Google Chrome, Opera;
  • - бухгалтерские системы (системы автоматизации бухгалтерского учета) - предназначены для автоматизации подготовки бухгалтерских документов предприятия и их учета, для подготовки регулярных отчетов по итогам производственной, хозяйственной и финансовой деятельности.

Бухгалтерский учет в крупных предприятиях ведется при помощи современных ERP (англ. Enterprise Resource Planning System - система планирования ресурсов предприятия) - систем, позволяющих автоматизировать не только бухгалтерский учет, но и управление производством. В этих целях обычно используются такие системы, как SAP, Oracle E-Business Suite, 1С:Предприятие, Microsoft Dynamics NAV (Navision), ERP «Галактика» и др.;

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

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

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

К служебным программным средствам относят:

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

Типичными представителями этого класса программ являются FAR Manager, Total Commander, FreeComander;

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

Из числа наиболее популярных программ можно выделить: ARJ, РКРАК, LHA, ICE, HYPER, ZIP, РАК, ZOO, RAR;

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

Диагностика - систематизированный способ поиска неисправностей с последующим их устранением. Среди программ диагностики можно выделить SiSoftware Sandra (англ. System ANalyser, Diagnostic and Reporting Assistant) - это информационная и диагностическая программа. Она предоставляет практически всю информацию об аппаратном и программном обеспечении компьютера. Другая программа - 3DMark, ориентированная исключительно на измерение производительности видеосистемы;

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

В качестве примера можно привести программу MB Probe, с помощью которой можно снимать температуру от нескольких термодатчиков, определить напряжения ядра процессора и материнской платы, держать под контролем обороты вентиляторов. Температура винчестера, атрибуты внутренней системы диагностики S.M.A.R.T., а также напряжения датчиков оборотов вентиляторов материнской платы могут быть представлены с помощью утилиты SpeedFan;

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

К антивирусному программному обеспечению данной категории относят Kaspersky Virus Removal Tool - программу разработанную специалистами лаборатории Касперского для сканирования компьютера на наличие вредоносных программ. Kaspersky A VP Tool находит и изолирует: вирусы, трояны, черви, шпионские и рекламные модули, все типы руткитов и тому подобные вредоносные программы. Другая популярная программа Dr.Web Curelt! - бесплатный антивирус для сканирования, обнаружения и удаления (лечения) компьютеров под управлением Windows.

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

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

Контрольные вопросы и задания

  • 1. Что называется программой? Дайте определение понятию «программная конфигурация».
  • 2. Начертите схему уровней программного обеспечения.
  • 3. Дайте характеристику базовому уровню программного обеспечения.
  • 4. Что называется драйвером устройства? Опишите назначение программ системного уровня.
  • 5. Каково назначение утилит? Поясните назначение программ системного уровня. Приведите примеры подобных программ.
  • 6. Перечислите программы, которые относят к прикладному уровню программного обеспечения.
  • 7. Какие типы программ, относящиеся к графическим редакторам, вы знаете?
  • 8. Поясните основные функции систем управления базами данных. Приведите примеры программ данного класса.
  • 9. В чем особенности экспертных систем?
  • 10. Раскройте назначение финансовых аналитических систем. Приведите примеры программ данного класса.
  • 11. Перечислите программы, относящиеся к служебным программным средствам.
  • 12. Какой класс программ позволяет выполнять основные операции над файлами? Приведите примеры.
  • 13. В чем отличие программ, предназначенных для диагностики и мониторинга компьютерных систем?
  • 14. Что относится к средствам обеспечения компьютерной безопасности? Перечислите и опишите соответствующие программы.
  • 15. Разработайте таблицу, которая содержит рассмотренные виды программного обеспечения, установленные на вашем компьютере.

1.6.1. Основные понятия программного обеспечения информационного процесса

Основные понятия

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

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

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

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

Задача (problem, task ) - проблема, подлежащая решению.

Приложение (application ) - реализованное средствами информационной технологии решение задачи.

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

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

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

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

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

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

Программирование (programming )- теоретическая и практическая деятельность, связанная с созданием программ.

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

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

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

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

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

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

Понятие программного продукта

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

Этот признак классификации является определяющим. Он позволяет изменить статус программы, вместо “подсобного” инструментария обработки данных она превращается в “основное средство”. Таким образом, в зависимости от вида “потребителя” различают программы “внутреннего” применения и программные продукты (изделия) для “внешнего” распространения.

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

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

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

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

Программные продукты могут создаваться как:

  • индивидуальная разработка под заказ;
  • разработка для массового распространения среди пользователей.

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

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

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

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

Сопровождение программного продукта - поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок, и т.п.

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

Основными характеристиками программ являются:

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

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

Классификация по сфере использования

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

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

Для поддержки информационной технологии в этих областях выделим соответственно три класса программных продуктов, представленных на рис.2:

  • прикладное программное обеспечение;
  • инструментарий технологии программирования.

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

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

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

Системное программное обеспечение направлено:

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

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

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

Операционная система предназначена для планирования и управления вычислительными ресурсами компьютера, для управления выполнением прикладного программного обеспечения. В этом классе программных продуктов наиболее широкое распространение получили операционные системы Windows (фирма Microsoft), OS/2 (фирма IBM), Unix (свободнораспространяемая).

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

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

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

Инструментарий технологии программирования

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

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

Инструментарий технологии программирования можно разделить на два подкласса, ориентированных на:

  • создание отдельных приложений или их комплексов;
  • автоматизацию процессов разработки и реализации информационных систем.

В рамках этих направлений сформировались следующие группы программных продуктов:

  • средства для создания приложений, включающие:
  • локальные средства выполнения отдельных работ по созданию программ;
  • интегрированные инструментальные среды разработчиков программ для выполнения комплекса взаимосвязанных работ по созданию программ;
  • CASE - технология (Computer-Aided System Engineering ), представляющая методы анализа, проектирования и создания программных систем с применением компьютерной техники.

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

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

  • машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
  • машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отражают структуру конкретного типа компьютера (ассемблер);
  • алгоритмические языки (algorithmic language) - независящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (ПАСКАЛЬ, ФОРТРАН, БЕЙСИК и др.);
  • проблемно-ориентированные языки (universal programming language) - языки программирования, предназначенный для решения задач определенного класса (ЛИСП, РПГ, СИМУЛА и др.);
  • интегрированные системы программирования.

Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования , и объектно-ориентированные языки, такие как, Visual Basic, Visual C ++, поддерживающие понятие объектов, их свойств и методов обработки.

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

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

Средства CASE - технологий делятся на две группы:

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

Некоторые CASE-технологии ориентированы только на системных проектировщиков и предоставляет специальные графические средства для изображения различного вида моделей, например, диаграммы потоков данных (DFD), диаграммы “сущность-связь” (ERD) и пр.

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

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

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

Большинство CASE-технологий использует также метод “прототипов” для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически.

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

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

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

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

Примерная классификация прикладного программного обеспечения представлена на рисунке 3.

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

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

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

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

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

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

Основные тенденции в области развития проблемно-ориентированных программных средств:

  • создание программных комплексов в виде автоматизированных рабочих мест (АРМ) управленческого персонала;
  • создание интегрированных систем управления предметной областью на базе вычислительных сетей, объединяющих АРМы в единый программный комплекс с архитектурой “клиент-сервер”;
  • организация данных информационных систем в виде распределенной базы данных в компьютерной сети;
  • настройка функций обработки конечными пользователями (без участия программистов);
  • защита программ и данных от несанкционированного доступа.

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

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

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

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

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

Наиболее распространено программное обеспечение методов математического программирования, решения дифференциальных уравнений, имитационного моделирования, исследования операций. Программные продукты этого класса могут быть автономными и встроенными. Например, в электронной таблице Excel встроен пакет анализа данных, обеспечивающий широкий набор статистических методов, а также пакет «поиск решения», реализующий метод линейного программирования. Примером автономного программного продукта может служить Microsoft Project, где реализован метод сетевого планирования и управления. Это обеспечило менеджеров проектов достаточно мощным инструментарием планирования и анализа профессиональной деятельности.

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

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

Интегрированные пакеты имеют в своем составе следующие типовые компоненты:

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

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

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

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

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

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

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

Выводы

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

Вопросы для самопроверки

  1. Что такое программа?
  2. Что такое программное обеспечение?
  3. Дайте определение задачи и приложения.
  4. Что такое предметная область?
  5. Какие вы знаете основные этапы процесса создания программ?
  6. В чем состоит постановка задачи?
  7. Что такое алгоритм решения задачи?
  8. Назовите основные свойства алгоритмов.
  9. Что такое программный продукт и каковы его свойства?
  10. Что такое сопровождение программного продукта?
  11. Как можно классифицировать программное обеспечение?
  12. Что входит в состав системного программного обеспечения?
  13. Что составляет подкласс сервисного программного обеспечения?
  14. Дайте определение программы утилиты. Приведите примеры.
  15. Что такое инструментарий технологии программирования?
  16. Дайте определение CASE-технологии и когда она используется.
  17. Какие виды языков программирования вы знаете?
  18. Материал с сайта http://mega.km.ru/pc/srch.asp
Корпоративные базы данных Материал с сайта http://mega.km.ru/pc/Encyclop.asp?Topic=pc_918

Введение

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

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

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

В нее включаются:

Технология проектирования программ;

Методы тестирования программ;

Методы доказательства правильности программ;

Анализ качества работы программ;

Документирование программ;

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

К сервисному программному обеспечению относятся:

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

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


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

Типичными представителями утилит являются:

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

Архиваторы файлов, папок и дисков;

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

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

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

Деинсталляторы приложений, установленных на компьютере. Они служат заменой стандартному диалогу Добавить/Удалить программу Windows. При этом работают приблизительно в 5-10 раз быстрее. Имеется функция поиска приложения по ключевому слову.

Часто утилиты объединяются в комплексы, наиболее популярны комплексы Norton Utilities, PC Tools Deluxe и Mace Utilities.

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

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

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

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

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

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

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

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