Понятие программного обеспечения компьютера. Программное обеспечение: примеры

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

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

1) Прикладные программы

2) Системные программы :

  • управление ресурсами ЭВМ.
  • операционные системы.
  • системы программирования.
  • инструментальные системы.
  • интегрированные пакеты.
  • системы машинной графики.

Жизненный цикл ПО и его стандартизация, процессы ЖЦ ПО, группы процессов ЖЦ ПО

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

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

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

Согласно стандарту ISO/IEC 12207 все процессы ЖЦ ПО разделены на три группы:

1. основные процессы :

1.1. приобретение;

1.2. поставка;

1.3. разработка;

1.4. эксплуатация;

1.5. сопровождение;

2. вспомогательные процессы :

2.1. документирование;

2.2. управление конфигурацией;

2.3. обеспечение качества;

2.4. верификация;

2.5. аттестация;

2.6. совместная оценка;

2.7. аудит (определение соответствия требованиям, планам и условиям договора);

2.8. разрешение проблем;

3. организационные процессы :

3.1. управление;

3.2. инфраструктура;

3.3. усовершенствование

3.4. обучение.

3. Процесс разработки ПО: основные действия и их содержание

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

Процесс разработки включает следующие действия:

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

2) Анализ требований к системе подразумевает определение ее функциональных возможностей, пользовательских требований, требований к надежности и безопасности, к внешним интерфейсам и т.д.

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

4) Анализ требований к ПО

Проектирование архитектуры ПО

6) Детальное проектирование ПО

Кодирование и тестирование ПО

8) Интеграция ПО предусматривает сборку разработанных компонентов ПО в соответствии с планом интеграции и тестирование агрегированных компонентов.

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

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

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

12) Установка ПО осуществляется разработчиком в соответствии с планом в той среде и на том оборудовании, которые предусмотрены договором.

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


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

Гарантия качества процессов разработки программных продуктов является весьма значимой в современных условиях. Такую гарантию дают сертификаты качества процесса , подтверждающие его соответствие принятым международным стандартам. Наиболее авторитетными являются модели стандартов ISO 9001:2000, ISO/IEC 15504 и модель зрелости процесса разработки ПО (Capability Maturity Model – CMM).

Основным понятием модели CMM является зрелость процессов (Software process maturity). Зрелость процессов – это степень их управляемости, контролируемости и эффективности. Повышение технологической зрелости означает потенциальную возможность возрастания устойчивости процессов и указывает на степень эффективности и согласованности использования процессов создания и сопровождения ПО в рамках всей организации.

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

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

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

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

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

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


Каскадная модель жизненного цикла ПО: описание, преимущества и недостатки,

Критерии применения

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

Системный анализ – Анализ требований – Проектирование – Реализация – Тестирование – Внедрение – Сопровождение

Системный анализ: задается роль каждого элемента и их взаимодействие друг с другом.

Анализ требований: определение функциональных и нефункциональных требований к ПО.

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

Реализация: преобразование проектных спецификаций в текст на ЯП (язык прогр.) (кодирование).

Тестирование: проверка корректности, исправление ошибок в функциях и логике.

Внедрение: установка разработанного ПО у заказчика, обучение персонала.

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

Преимущества:

Модель хорошо известна потребителям;

Хорошо срабатывает для тех проектов, которые достаточно понятны

Весьма доступна для понимания, проста и удобна в применении;

Ее структурой может руководствоваться даже неопытный персонал;

Отличается стабильностью требований;

Хорошо срабатывает тогда, когда требования к качеству доминируют над тре­бованиями к затратам и графику выполнения проекта;

Способствует осуществлению строгого контроля менеджмента проекта;

Стадии модели довольно хорошо определены и понятны;

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

Недостатки:

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

Выражение "35 процентов выполнено" - не несет никакого смысла и не является показа­телем для менеджера проекта;

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

У клиента едва ли есть возможность ознакомиться с системой заранее;

Все требования должны быть известны в начале жизненного цикла;

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

Модель основана на документации, а значит, количество документов может быть избыточным;

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

Отсутствует возможность учесть переделку и итерации за рамками проекта.

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

Критерии применения

Макетирование (прототипирование) – это процесс создания модели разрабатываемого программного продукта. Модель может принимать один из трех видов:

1) бумажный макет или «электронный» макет , который представляет GUI;

2) работающий макет (выполняет только часть требуемых функций);

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

Макетирование основывается на многократном повторении итераций , в которых участвуют заказчик и разработчик, как это показано.

Преимущества:

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

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

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

Да
Нет
образуются постоянные, видимые признаки прогресса;

Качество продукта определяется при активном участии пользователя в процесс разработки;

Благодаря меньшему объему доработок уменьшаются затраты на разработку;

Обеспечивается управление рисками;

Недостатки:

Разработанные "на скорую руку" прототипы страдают от неадекватной или недостающей документации;

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

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

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

Если выполнение проекта завершается досрочно, у ко­нечного пользователя останется лишь частичная система;

Вызывает зависимость и может продолжаться слишком долго;

Критерии применения:

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

Существует потребность в разработке пользовательских интерфейсов;

Осуществляются временные демонстрации;

Выполняется новая, не имеющая аналогов разработка;

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

Алгоритмы или системные интерфейсы усложнены;

Разрабатывается ПО, когда проявляется средняя и высокая степень риска;


Типы связей IDEF3

Соединения разбивают или соединяют внутренние потоки:

Типы соединений

Графическое обозначение Название Вид Правила инициализации
& Соединение «И» Разворачивающее Каждое конечное действие обязательно инициируется
Сворачивающее Каждое исходное действие обязательно должно завершиться
X Соединение «исключающее ИЛИ» Разворачивающее Одно и только одно конечное действие инициируется
Сворачивающее Одно и только одно исходное действие должно завершиться
O Соединение «ИЛИ» Разворачивающее Одно или несколько конечных действий инициируются
Сворачивающее Одно или несколько исходных действий должны завершиться

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

Виды указателей IDEF3

22 Основные этапы проектирования программных систем и их содержание

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

Модель хранилища данных

Модель «клиент-сервер»

Трехуровневая модель

Преимущества трехуровневой модели:

· упрощается такая модификация уровня, которая не влияет на другие уровни;

· отделение прикладных функций от функций управления базы данных упрощает оптимизацию всей системы.

Модель абстрактной машины

Подсистема 2
Подсистема N
Обработчик событий и сообщений

Модульная декомпозиция

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

· модель потока данных;

· модель объектов.

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

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

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

Затраты на модульность

Таким образом, существует оптимальное количество модулей Opt, которое приводит к минимальной стоимости разработки.

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

Информационная закрытость обозначает следующее:

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

· доступ к операциям и структурам модуля ограничен.

Достоинства информационной закрытости:

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

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

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


Типы вызовов модулей

А
В
В
А
С
А
В
а)
б)
в)

Условные и циклические вызовы модулей: а) – циклический; б) – условный; в) – однократный

Переход

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

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

Сложные переходы

Выбор и соединение

Псевдосостояние выбора (choice pseudo state) предназначено для моделирования нескольких альтернативных ветвей при реализации поведения конечного автомата

Псевдосостояние соединения (junction pseudo state) является вершиной со свободной семантикой, которая используется для соединения вместе нескольких переходов

Разделение и слияние

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

Вершина слияния (join vertex) – псевдосостояние, предназначенное для соединения нескольких переходов, которые имеют в качестве своих источников вершины из различных ортогональных регионов композитного состояния.

Точки входа и выхода

Точка входа (entry point) – псевдосостояние, предназначенное для моделирования входа в некоторый конечный автомат или композитное состояние

Точка выхода (exit point) – псевдосостояние, предназначенное для моделирования выхода из некоторого конечного автомата или композитного состояния

Псевдосостояние неглубокой истории (shallow pseudo state)

Псевдосостояние неглубокой истории (shallow pseudo state) предназначено для представления самого последнего активного подсостояния композитного состояния после выхода из него.

Псевдосостояние глубокой истории (deep pseudo state)

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

Интерфейсы

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

Требуемый интерфейс (required interface) – интерфейс, который необходим компоненту от своего окружения для выполнения заявленной функциональности, контракта или поведения.

Порт

Порт определяет различимую точку взаимодействия между компонентом и окружающей его средой или между компонентом и его внутренними частями

Наличие имени у порта не является обязательным

При отсутствии имени порта его тип ассоциируется с типом интерфейса, с которым связан порт.

Собирающий соединитель
(assembly connector)

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

Делегирующий соединитель
(delegation connector)

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

Делегирующий соединитель выполняет одну из следующих задач:

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

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


Узел(node)

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

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

Хотя в языке UML 2.х конкретные стереотипы для узлов не определены, разработчики предложили для этой цели следующие текстовые стереотипы:

«application server» (сервер приложений), «client workstation» (клиентская рабочая станция), «mobile device» (мобильное устройство), «embedded device» (встроенное устройство), «processor» (процессор), «sensor» (датчик), «modem» (модем), «net» (сеть), «printer» (принтер) и другие.

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

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

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

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

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

2) Системные программы :

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

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

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

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

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

Поскольку без ПО функционирование ПК невозможно в принципе, оно является неотъемлемой составной частью любого ПК и поставляется вместе с его аппаратной частью (hardware ).

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

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

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

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

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

Назначение ПО:

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

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

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

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

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

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

Расширение существующего ПО предполагает наличие следующих возможностей:

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

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

  • модульность;
  • наращиваемость и развитие;
  • надежность;
  • предсказуемость;
  • удобство и эргономичность;
  • гибкость;
  • эффективность;
  • совместимость.

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

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

Программы на компьютер можно установить двумя способами:

  • Инсталляцией с дистрибутива
  • Простым копированием

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

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

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

Внутреннее ПО выполняет следующие основные функции:

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

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

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

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

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

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

Драйверы имеют следующие особенности:

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

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

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

ОС представляет собой набор программ управления ПЭВМ.

Состав ПО определяется кругом задач, которые пользователь предполагает решать с помощью компьютера.

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

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

Схема общей классификации ПО

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

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 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. Разработайте таблицу, которая содержит рассмотренные виды программного обеспечения, установленные на вашем компьютере.

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

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

1. Системное программное обеспечение (системные программы);

2. Прикладное программное обеспечение (прикладные программы);

3. Инструментальное обеспечение (инструментальные системы).

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

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

ОС определяет производительность системы, степень защиты данных, выбор программ, с которыми можно работать на компьютере, требования к аппаратным средствам. Примерами ОС являются MS DOS, OS/2, Unix, Windows 9х, Windows XP.

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

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

Для организации более удобного и наглядного интерфейса пользователя с компьютером используются программные оболочки операционных систем – программы, которые позволяют пользователю отличными от предоставляемых ОС средствами (более понятными и эффективными) осуществлять действия по управлению ресурсами компьютера. К числу наиболее популярных оболочек относятся пакеты Norton Commander (Symantec ), FAR (File and Archive manageR) (Е.Рошаль ).

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

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

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

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

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

 программы для записи компакт-дисков;

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

 коммуникационные программы, организующие обмен информацией между компьютерами и др.

Некоторые утилиты входят в состав операционной системы, а некоторые поставляются на рынок как самостоятельные программные продукты, например, многофункциональный пакет сервисных утилит Norton Utilities (Symantec ).

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

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

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

ППП общего назначения – универсальные программные продукты, предназначенные для автоматизации широкого класса задач пользователя. К ним относятся:

Текстовые редакторы (например, MS Word, Word Perfect, Лексикон);

Табличные процессоры (например, MS Excel, Lotus 1-2-3, Quattro Pro);

Системы динамических презентаций (например, MS Power Point, FreelanceGraphics, Harvard Graphics);

Системы управления базами данных (например, MS Access, Oracle, MS SQL Server, Informix);

Графические редакторы (например, Сorel Draw, Adobe Photoshop);

Издательские системы (например, Page Maker, Venture Publisher);

Системы автоматизации проектирования (например, BPWin, ERWin);

Электронные словари и системы перевода (например, Prompt, Сократ, Лингво, Контекст);

Системы распознавания текста (например, Fine Reader, Cunei Form).

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

методо-ориентированные ППП , в основе которых лежит реализация математических методов решения задач. К ним относятся, например, системы математической обработки данных (Mathematica, MathCad, Maple), системы статистической обработки данных (Statistica, Stat).;

проблемно-ориентированные ППП предназначены для решения определенной задачи в конкретной предметной области. Например, информационно-правовые системы ЮрЭксперт, ЮрИнформ; пакеты бухгалтерского учета и контроля 1С: Бухгалтерия, Галактика, Анжелика; в области маркетинга –Касатка, Marketing Expert; банковская система СТБанк;

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

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

К инструментальному программному обеспечению относят: системы программирования для разработки новых программ, например, Паскаль, Бейсик. Обычно они включают: редактор текстов , обеспечивающий создание и редактирование программ на исходном языке программирования (исходных программ), транслятор , а также библиотеки подпрограмм ; инструментальные среды для разработки приложений, например, C++, Delphi, Visual Basic, Java, которые включают средства визуального программирования; системы моделирования , например, система имитационного моделирования MatLab, системы моделирования бизнес-процессов BpWin и баз данных ErWin и другие.

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

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

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

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

В продолжение темы:
Графика

Друзья, многие из вас используют iMessage в повседневной жизни, но даже не замечают этого! Естественно, я говорю про SMS — если сообщение адресату ушло синим цветом, то в...

Новые статьи
/
Популярные