Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технология разработки ПО / Приложения программного обеспечения

.doc
Скачиваний:
33
Добавлен:
10.03.2016
Размер:
53.76 Кб
Скачать

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

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

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

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

Все современные программные системы можно разделить на следующие классы.

Системное программное обеспечение (system software).

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

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

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

  • обслуживающие программы,

  • системы программирования (Инструментальные языки и системы программирования.)

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

Прикладное ПО персональных ЭВМ (personal computer software):

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

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

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

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

Инженерное и научное ПО (engineering and scientific software).

Научное ПО: Системы математического и статистического расчета и анализа. Диапазон его приложений простирается от астрономии до молекулярной биологии до автоматических производственных линий. Инженерное и научное ПО характеризовалось алгоритмами «перемалывания чисел». Однако, новые приложения внутри этой инженерной/научной области уходят все дальше от традиционных числовых алгоритмов. Проектирование и моделирование систем с использованием ЭВМ (CAD), и другие интерактивные приложения принимает характеристики системного ПО и ПО реального времени.

  • Системы проектирования и производства

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

  • Геоинформационные системы,

  • Системы поддержки принятия решений.

Программное обеспечение искусственного интеллекта (artificial intelligence software). Программное обеспечение искусственного интеллекта (AI) использует нечисловые алгоритмы для решения сложных задач, которые не поддаются вычислительному или непосредственному анализу. Активные области искусственного интеллекта - это экспертные системы, называемые также системами, основанными на знаниях. Другие области приложений для программного обеспечения искусственного интеллекта - это распознавание моделей (patterns) (образов и голосов), доказательство теорем и игры. В последние годы развивается новая ветвь программного обеспечения искусственного интеллекта, называемая искусственные нейронные сети. Нейронная сеть моделирует структуру процессов мозга (функции биологических нейронов) и может, в конце концов, привести к новому классу ПО которое может распознавать сложные модели и учиться из прошлого опыта.

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

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

Встроенные системы и ПО реального времени.

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

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

Программное обеспечение реального времени (real-time software). Программы, которые наблюдают/анализируют/управляют событиями реального мира по мере их возникновения, называются программами реального времени.

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

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

Распределенные системы

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

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

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

.