Тема 1.1 Введение в предмет. Понятие ППП
Цели и задачи дисциплины
- Изучение основных принципов, используемых в разработке интегрированных программных продуктов.
- Изучение структуры, состава и назначения компонентов интегрированного ПО, а также средств организации взаимодействия между компонентами и инструментальных средств расширения функциональности.
- Формирование навыков работы со средствами автоматизации решения прикладных задач.
- Формирование навыков использования встроенных средств разработки.
Требования к уровню освоения дисциплины
В результате изучения дисциплины студенты должны:
- знать принципы построения прикладных информационных систем
- уметь использовать современные программные средства для обработки разнородной информации;
- уметь автоматизировать процесс решения прикладных задач с помощью встроенных языков программирования;
- иметь представление о современном состоянии и тенденциях развития рынка прикладного ПО.
Основные понятия и определения
Информационная система (ИС) — организационно упорядоченная совокупность документов (массивов документов) и информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы.
Информационные системы предназначены для хранения, обработки, поиска, распространения, передачи и представления информации.
Автоматизированная (информационная) система (АС) — совокупность программных и аппаратных средств, предназначенных для хранения и/или управления данными и информацией и производства вычислений и управляемая человеком-оператором (в этом главное отличие автоматизированной системы от автоматической).
Многоуровневое представление ИС — модель представления информационной системы в виде совокупности взаимосвязанных уровней, разделенных по функциональному назначению (рис. 1).
Рис. 1. Многоуровневое представление информационных систем.
Аппаратное обеспечение ИС — комплекс электронных, электрических и механических устройств, входящих в состав информационной системы или сети.
Программное обеспечение (ПО) — совокупность программ и данных, предназначенных для решения определенного круга задач и хранящиеся на машинных носителях.
Программа — последовательность формализованных инструкций, представляющих алгоритм решения некоторой задачи и предназначенная для исполнения устройством управления вычислительной машины. Инструкции программы записываются при помощи машинного кода или специальных языков программирования. В зависимости от контекста термин «программа» может относится к исходным текстам, при помощи которых записывается алгоритм, или к исполняемому машинному коду.Программист — специалист, занимающийся разработкой и проверкой программ. Различают системных и прикладных программистов.
Пользователь — человек, принимающий участие в управлении объектами и системами некоторой предметной области и являющийся составным элементом автоматизированной системы.
Прикладное программное обеспечение — программное обеспечение, ориентированное на конечного пользователя и предназначенное для решения пользовательских задач. Прикладное ПО состоит из:
- отдельных прикладных программ и пакетов прикладных программ, предназначенных для решения различных задач пользователей;
- автоматизированных систем, созданных на основе этих пакетов.
Пакет прикладных программ — комплект программ, предназначенных для решения задач из определенной проблемной области. Обычно применение пакета прикладных программ предполагает наличие специальной документации: лицензионного свидетельства, паспорта, инструкции пользователя и т.п.
Классификация программного обеспечения
Любая классификация подразумевает выбор некоторого группировочного признака (или нескольких), на основании которого и производится отнесение объектов к тому или иному классу. Так, при классификации программного обеспечения по способу распространения можно выделить следующие категории список не полный):
- Commercial Software — коммерческое (с ограниченными лицензией возможностями на использование), разрабатываемое для получения прибыли.
- Freeware — свободное ПО, распространяемое без ограничений на использование, модификацию и распространение.
- Shareware — условно-бесплатное ПО, с частичными ограничениями при работе в ознакомительном режиме (например, определенное количество запусков программы).
- Abandonware — «заброшенное» ПО, поддержка которого непосредственным разработчиком прекращена, но продолжается третьими лицами (например, партнерами или энтузиастами).
- Adware — ПО, в код которого включены рекламные материалы. Такое ПО распространяется бесплатно, но для отключения рекламных блоков необходима оплата.
- Careware — «благотворительное» ПО, оплату за которое разработчик (или распространитель) просит переводить на благотворительные нужды.
При классификации программного обеспечения по назначению в качестве критерия используют уровень представления ИС, на который ориентирована та или иная программа. Соответственно выделяют следующие классы ПО:
- Системное ПО — решает задачи общего управления и поддержания работоспособности системы в целом. К этому классу относят операционные системы, менеджеры загрузки, драйверы устройств, программные кодеки, утилиты и программные средства защиты информации.
- Инструментальное ПО включает средства разработки (трансляторы, отладчики, интегрированные среды, различные SDK и т.п.) и системы управления базами данных (СУБД).
- Прикладное ПО — предназначено для решения прикладных задач конечными пользователями.
Прикладное ПО — самый обширный класс программ, в рамках которого возможна дальнейшая классификация, например по предметным областям. В этом случае группировочным признаком является класс задач, решаемых программой. Приведем несколько примеров:
- Офисные приложения — предназначены для автоматизации офисной деятельности (текстовые редакторы и процессоры, электронные таблицы, редакторы презентаций и т.п.)
- Корпоративные информационные системы — бухгалтерские программы, системы корпоративного управления, системы управления проектами (Project Management), инструменты автоматизации документооборота (EDM-системы) и управления архивами документов (DWM-системы)
- Системы проектирования и производства — системы автоматизированного проектирования (САПР, CAD/CAM-системы), системы управления технологическими (SCADA) и производственными (MES) процессами
- Научное ПО — системы математического и статистического расчета, анализа и моделирования
- Геоинформационные системы (ГИС)
- Системы поддержки принятия решений (СППР)
- Клиенты доступа к сетевым сервисам (электронная почта, веб-браузеры, передача сообщений, чат-каналы, клиенты файлообменных сетей и т.п.)
- Мультимедийное ПО — компьютерные игры, средства просмотра и редактирования аудио- и видеоинформации, графические редакторы и вьюеры, анимационные редакторы и т.п.
С точки зрения конечного пользователя такая классификация оправданна и наглядна, для разработчика же более значимым фактором является структура прикладной программы, в общем случае состоящей из нескольких компонентов. Назначение этих компонентов, связи между ними и способность к взаимодействию определяют интеграцию прикладного ПО. Чем теснее связаны программные компоненты, тем выше степень интеграции.
В зависимости от степени интеграции многочисленные прикладные программные средства можно классифицировать следующим образом:
- отдельные прикладные программы;
- библиотеки прикладных программ;
- пакеты прикладных программ;
- интегрированные программные системы.
Отдельная прикладная программа пишется, как правило, на некотором высокоуровневом языке программирования (Pascal, Basic и т.п.) и предназначается для решения конкретной прикладной задачи. Такая программа может быть реализована в виде набора модулей, каждый из которых выполняет некоторую самостоятельную функцию (например модуль пользовательского интерфейса, модуль обработки ошибок, модуль печати и т.п.). При этом доступ к функциям модулей из внешних программ невозможен.
Библиотека представляет собой набор отдельных программ, каждая из которых решает некоторую прикладную задачу или выполняет определенные вспомогательные функции (управление памятью, обмен с внешними устройствами и т.п.). Библиотеки программ зарекомендовали себя эффективным средством решения вычислительных задач. Они интенсивно используются при решении научных и инженерных задач с помощью ЭВМ. Условно их можно разделить на библиотеки общего назначения и специализированные библиотеки.
Пакет прикладных программ (ППП) — это комплекс взаимосвязанных программ, ориентированный на решение определенного класса задач. Формально такое определение не исключает из числа пакетов и библиотеки программ, однако у ППП, как отдельной категории, есть ряд особенностей, среди которых: ориентация на решение классов задач, унифицированный интерфейс, наличие языковых средств.
Интегрированная программная система — это комплекс программ, элементами которого являются различные пакеты и библиотеки программ. Примером служат системы автоматизированного проектирования, имеющие в своем составе несколько ППП различного назначения. Часто в подобной системе решаются задачи, относящиеся к различным классам или даже к различным предметным областям.
Понятие пакета прикладных программ
Итак, пакет прикладных программ (ППП) – это комплекс взаимосвязанных программ для решения определенного класса задач из конкретной предметной области. На текущем этапе развития информационных технологий именно ППП являются наиболее востребованным видом прикладного ПО. Это связано с упомянутыми ранее особенностями ППП. Рассмотрим их подробней:
- Ориентация на решение класса задач. Одной из главных особенностей является ориентация ППП не на отдельную задачу, а на некоторый класс задач, в том числе и специфичных, из определенной предметной области. Так например, офисные пакеты ориентированы на офисную деятельность, одна из задач которой — подготовка документов (в общем случае включающих не только текстовую информацию, но и таблицы, диаграммы, изображения). Следовательно, офисный пакет должен реализовывать функции обработки текста, представлять средства обработки табличной информации, средства построения диаграмм разного вида и первичные средства редактирования растровой и векторной графики.
- Наличие языковых средств. Другой особенностью ППП является наличие в его составе специализированных языковых средств, позволяющих расширить число задач, решаемых пакетом или адаптировать пакет под конкретные нужды. Пакет может представлять поддержку нескольких входных языков, поддерживающих различные парадигмы. Поддерживаемые языки могут быть использованы для формализации исходной задачи, описания алгоритма решения и начальных данных, организации доступа к внешним источникам данных, разработки программных модулей, описания модели предметной области, управления процессом решения в диалоговом режиме и других целей. Примерами входных языков ППП являются VBA в пакете MS Office, AutoLISP/VisualLISP в Autodesk AutoCAD, StarBasic в OpenOffice.org
- Единообразие работы с компонентами пакета. Еще одна особенность ППП состоит в наличии специальных системных средств, обеспечивавших унифицированную работу с компонентами. К их числу относятся специализированные банки данных, средства информационного обеспечения, средства взаимодействия пакета с операционной системой, типовой пользовательский интерфейс и т.п.
CC-BY-CA Анатольев А.Г., 04.11.2013