Обзор основных программ, их особенности и сравнительные характеристики. Использование ППО в ГА. Блок-схемы вычислений. Условные графические обозначения элементов блок-схем.
Назначение и области применения ЭВМ, их роль в радиотехнике и в авиационной технике. Классификация прикладных программ. Обзор основных этапов развития, эволюция, современное состояние.
Цель и задачи курса, его место в подготовке инженеров радиотехнического профиля. Особенности самостоятельной работы по программе курса.
ЛИТЕРАТУРА
СОДЕРЖАНИЕ
Прикладных программ в РЭО
Проблемно-ориентированные пакеты
Томск, 2013 г.
Лекция № 1.1
По дисциплине
Раздел 1. Введение. Предмет и задачи дисциплины. Общие сведение о ЭВМ и ПО.
1. Цель и задачи курса, его место в подготовке инженеров радиотехнического профиля. Особенности самостоятельной работы по программе курса.
2. Назначение и области применения ЭВМ, их роль в радиотехнике и в авиационной технике. Классификация прикладных программ. Обзор основных этапов развития, эволюция, современное состояние.
3. Обзор основных программ, их особенности и сравнительные характеристики. Использование ППО в ГА. Блок-схемы вычислений. Условные графические обозначения элементов блок-схем.
4. Применение вычислительной техники при проектировании, изготовлении, испытаниях и эксплуатации РЭО. Системы автоматического проектирования (САПР).
5. Эксплуатация вычислительной техники. Перспективы развития прикладного программного обеспечения.
1. IBM PC для пользователя / В. Э. Фигурнов – М.: Инфра-М, 2001, стр. 361-433.
2. Microsoft Word 2002: самоучитель / З. М. Берлин, И. Б. Глазырина, Б. Э. Глазырин – М.: ЗАО «Издательство Рином», 2002, стр. 39-101, 121-167.
НАГЛЯДНЫЕ ПОСОБИЯ, ПРИЛОЖЕНИЯ, ТСО
1. ПО PowerPoint, проектор мультимедиа, ПЭВМ
Дисциплина «Проблемно-ориентированные пакеты прикладных программ в радиотехнике» обеспечивает базовую подготовку радиоинженеров в изучении теории и принципов работы прикладных программ, используемых при проектировании, моделировании схем, составлении технической документации и необходимых специалисту для грамотной эксплуатации радиоэлектронного оборудования. Она подготовливает слушателей к освоению профилирующих дисциплин специальности, рассматривающих теорию и практику радиотехнических систем.
Цели и задачи дисциплины
В результате изучения дисциплины студенты должны:
знать принципы построения прикладных информационных систем;
уметь использовать современные программные средства для обработки разнородной информации;
уметь автоматизировать процесс решения прикладных задач с помощью встроенных языков программирования;
иметь представление о современном состоянии и тенденциях развития рынка прикладного ПО.
Дисциплина изучается на лекционных, практических и лабораторных занятиях. Кроме этого обязательным условием успешного освоения дисциплины является самостоятельная работа в рамках изучаемых тем. В основном это касается вопросов теоретического изучения конкретного прикладного ПО и приобретения практических навыков работы с ним.
Изыскание средств и методов механизации и автоматизации работ – одна из основных задач технических дисциплин. Автоматизация работ с данными имеет свои особенности и отличия от автоматизации других типов работ. Для этого класса задач используют особые виды устройств, большинство из которых являются электронными приборами. Совокупность взаимодействующих между собой устройств и программ, предназначенный для обслуживания одного рабочего участка, называют вычислительной системой. Центральным устройством большинства вычислительных систем является компьютер или ЭВМ.
Компьютер – это электронной прибор, предназначенный для автоматизации создания, хранения, обработки и транспортировки данных.
Значительная доля применений ЭВМ приходится на авиационную технику. Устройства, обслуживаемые ЭВМ в авиационной технике, разнообразны. Это «интеллектуальные» датчики, способные решать задачи адаптивного выделения полезных сигналов из шумов, преобразователи координат и формирователи управляющих воздействий на исполнительные органы, обеспечивающие заданные законы движения управляемых объектов, системы помехоустойчивого кодирования и декодирования, управления адаптивными антенными решетками и многие другие.
В качестве примера можно рассмотреть радионавигационную систему. Микропроцессорная вычислительная система управляет полетом самолета с целью достижения пункта назначения по прямому курсу. Для вычисления прямой траектории пилот задает с пульта конечную точку полета, а также азимутальные данные и частоты опорных пунктов сети радиомаяков, расположенных по курсу. Он может ввести также другие параметры, например необходимую высоту в какой-то конкретной точке полета. В процессе полета с приемника сигналов сети радиомаяков и с дальномера поступают реальные параметры для сравнения с параметрами запланированного курса полета. На основании этих данных ЭВМ производит все вычисления, необходимые для автоматического или ручного управления полетом.
Поскольку радионавигационная система взаимодействует с существующей самолетной измерительной аппаратурой, многие, обычно аппаратурные, решения заменены в данном случае подпрограммами работы микропроцессорной вычислительной системы. Такой подход позволяет не только минимизировать габаритные размеры радиотехнических средств, но ограничиться разовыми затратами на разработку программного обеспечения.
Еще одним примером применения ЭВМ в авиации является использование ЭВМ в радиолокационных станциях, в системах автоматического управления, речевых информаторах и системах сбора полетных данных и т.д.
Общие положения и определения
Перед рассмотрением признаков классификации прикладных программ рассмотрим несколько основных понятий и определений, которые помогут построить четкую и стройную классификационную картину.
Информационная система (ИС) – организационно упорядоченная совокупность документов (массивов документов) и информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы. Информационные системы предназначены для хранения, обработки, поиска, распространения, передачи и представления информации.
Автоматизированная информационная система (АИС) – совокупность программных и аппаратных средств, предназначенных для хранения и/или управления данными и информацией и производства вычислений и управляемая человеком-оператором (в этом главное отличие автоматизированной системы от автоматической).
Многоуровневое представление ИС – модель представления информационной системы в виде совокупности взаимосвязанных уровней, разделенных по функциональному назначению (рисунок 1).
Аппаратное обеспечение ИС – комплекс электронных, электрических и механических устройств, входящих в состав информационной системы или сети.
Рисунок 1. Многоуровневое представление информационных систем.
Программное обеспечение (ПО) – совокупность программ и данных, предназначенных для решения определенного круга задач и хранящиеся на машинных носителях.
Программа – последовательность формализованных инструкций, представляющих алгоритм решения некоторой задачи и предназначенная для исполнения устройством управления вычислительной машины.
Программист – специалист, занимающийся разработкой и проверкой программ. Различают системных и прикладных программистов.
Пользователь – человек, принимающий участие в управлении объектами и системами некоторой предметной области и являющийся составным элементом автоматизированной системы.
Прикладное программное обеспечение – программное обеспечение, ориентированное на конечного пользователя и предназначенное для решения пользовательских задач.
Прикладное ПО состоит из:
отдельных прикладных программ и пакетов прикладных программ, предназначенных для решения различных задач пользователей;
автоматизированных систем, созданных на основе этих пакетов.
Классификация программного обеспечения
Любая классификация подразумевает выбор некоторого группировочного признака (или нескольких), на основании которого и производится отнесение объектов к тому или иному классу. Так, при классификации программного обеспечения по способу распространения можно выделить следующие категории (список не полный):
Commercial Software – коммерческое (с ограниченными лицензией возможностями на использование), разрабатываемое для получения прибыли;
Freeware – свободное ПО, распространяемое без ограничений на использование, модификацию и распространение;
Shareware – условно-бесплатное ПО, с частичными ограничениями при работе в ознакомительном режиме (например, определенное количество запусков программы);
Abandonware – «заброшенное» ПО, поддержка которого непосредственным разработчиком прекращена, но продолжается третьими лицами (например, партнерами или энтузиастами);
Adware – ПО, в код которого включены рекламные материалы. Такое ПО распространяется бесплатно, но для отключения рекламных блоков необходима оплата.
Careware – «благотворительное» ПО, оплату за которое разработчик (или распространитель) просит переводить на благотворительные нужды.
При классификации программного обеспечения по назначению в качестве критерия используют уровень представления ИС, на который ориентирована та или иная программа. Соответственно выделяют следующие классы ПО:
Системное ПО – решает задачи общего управления и поддержания работоспособности системы в целом. К этому классу относят операционные системы, менеджеры загрузки, драйверы устройств, программные кодеки, утилиты и программные средства защиты информации;
Инструментальное ПО – включает средства разработки (трансляторы, отладчики, интегрированные среды, различные SDK и т.п.) и системы управления базами данных (СУБД);
Прикладное ПО – предназначено для решения прикладных задач конечными пользователями. Прикладное ПО является самым обширным классом программ, в рамках которого возможна дальнейшая классификация, например по предметным областям. В этом случае группировочным признаком является класс задач, решаемых программой.
В зависимости от степени интеграции многочисленные прикладные программные средства можно классифицировать следующим образом:
отдельные прикладные программы;
библиотеки прикладных программ;
пакеты прикладных программ;
интегрированные программные системы.
Отдельная прикладная программа пишется, как правило, на некотором высокоуровневом языке программирования (Pascal, Basic и т.п.) и предназначается для решения конкретной прикладной задачи.
Библиотека представляет собой набор отдельных программ, каждая из которых решает некоторую прикладную задачу или выполняет определенные вспомогательные функции (управление памятью, обмен с внешними устройствами и т.п.). Условно их можно разделить на библиотеки общего назначения и специализированные библиотеки.
Пакет прикладных программ (ППП) – это комплекс взаимосвязанных программ, ориентированный на решение определенного класса задач.
Интегрированная программная система – это комплекс программ, элементами которого являются различные пакеты и библиотеки программ.
Понятие пакета прикладных программ
Итак, пакет прикладных программ (ППП) – это комплекс взаимосвязанных программ для решения определенного класса задач из конкретной предметной области. На текущем этапе развития информационных технологий именно ППП являются наиболее востребованным видом прикладного ПО. Это связано с упомянутыми ранее особенностями ППП. Рассмотрим их подробней:
ориентация на решение класса задач. Одной из главных особенностей является ориентация ППП не на отдельную задачу, а на некоторый класс задач, в том числе и специфичных, из определенной предметной области.
наличие языковых средств. Другой особенностью ППП является наличие в его составе специализированных языковых средств, позволяющих расширить число задач, решаемых пакетом или адаптировать пакет под конкретные нужды. Поддерживаемые языки могут быть использованы для формализации исходной задачи, описания алгоритма решения и начальных данных, организации доступа к внешним источникам данных, разработки программных модулей, описания модели предметной области, управления процессом решения в диалоговом режиме и других целей.
единообразие работы с компонентами пакета. Еще одна особенность ППП состоит в наличии специальных системных средств, обеспечивавших унифицированную работу с компонентами. К их числу относятся специализированные банки данных, средства информационного обеспечения, средства взаимодействия пакета с операционной системой, типовой пользовательский интерфейс и т.п.
Обзор основных этапов развития, эволюция, современное состояние.
Первые ППП представляли собой простые тематические подборки программ для решения отдельных задач в той или иной прикладной области, обращение к ним выполнялось с помощью средств оболочки ОС или из других программ.
Современный пакет является сложной программной системой, включающей специализированные системные и языковые средства. В относительно короткой истории развития вычислительных ППП можно выделить 4 основных поколения (класса) пакетов. Каждый из этих классов характеризуется определенными особенностями входящих в состав ППП компонентов – входных языков, предметного и системного обеспечения.
Первое поколение. В качестве входных языков ППП первого поколения использовались универсальные языки программирования (Фортран, Алгол-60 и т.п.) или языки управления заданиями соответствующих операционных систем. Проблемная ориентация входных языков достигалась за счет соответствующей мнемоники в идентификаторах. Составление заданий на таком языке практически не отличалось от написания программ на алгоритмическом языке.
Второе поколение. Разработка ППП второго поколения осуществлялась уже с участием системных программистов. Это привело к появлению специализированных входных языков на базе универсальных языков программирования. Проблемная ориентация таких языков достигалась не только за счет использования определенной мнемоники, но также применением соответствующих языковых конструкций, которые упрощали формулировку задачи и делали ее более наглядной. Транслятор с такого языка представлял собой препроцессор (чаще всего макропроцессор) к транслятору соответствующего алгоритмического языка.
Третье поколение. Третий этап развития ППП характеризуется появлением самостоятельных входных языков, ориентированных на пользователей-непрограммистов. Особое внимание в таких ППП уделяется системным компонентам, обеспечивающим простоту и удобство. Это достигается главным образом за счет специализации входных языков и включения в состав пакета средств автоматизированного планирования вычислений.
Четвертое поколение. Четвертый этап характеризуется созданием ППП, эксплуатируемых в интерактивном режиме работы. Основным преимуществом диалогового взаимодействия с ЭВМ является возможность активной обратной связи с пользователем в процессе постановки задачи, ее решения и анализа полученных результатов.
Прикладная система состоит из диалогового монитора – набора универсальных программ, обеспечивающих ведение диалога и обмен данными, и базы знаний об области. Таким образом, создание прикладной системы сводится к настройке диалогового монитора на конкретный диалог, путем заполнения базы знаний.
Большое внимание в настоящее время уделяется проблеме создания «интеллектуальных ППП». Такой пакет позволяет конечному пользователю лишь сформулировать свою задачу в содержательных терминах, не указывая алгоритма ее решения. Синтез решения и сборка целевой программы производятся автоматически. Такой способ решения иногда называют концептуальным программированием, характерными особенностями которого является программирование в терминах предметной области использование ЭВМ уже на этапе постановки задач, автоматический синтез программ решения задачи, накопление знаний о решаемых задачах в базе знаний.
Несмотря на разнообразие конкретных пакетных разработок, их обобщенную внутреннюю структуру можно представить в виде трех взаимосвязанных элементов (рисунок 2):
входной язык (макроязык, язык управления) – представляет средство общения пользователя с ППП;
предметное обеспечение (функциональное наполнение) – реализует особенности конкретной предметной области;
системное обеспечение (системное наполнение) – представляет низкоуровневые средства, например, доступ к функциям операционной системы.
Рисунок 2. Структура ППП.
Входной язык – основной инструмент при работе пользователя с пакетом прикладных программ. В качестве входного языка могут использоваться как универсальные (Pascal, Basic и т.п.), так и специализированные, проблемно-ориентированные языки программирования (Cobol – для бизнес-приложений, Lisp – списочные структуры данных, Fortran и MathLAB – математические задачи и т.п.).
Входные языки отражают объем и качество предоставляемых пакетом возможностей, а также удобство их использования. Таким образом, именно входной язык является основным показателем возможностей ППП. Однако стоит отметить, что в современных пакетах обращение пользователя к языковым средствам обычно происходит косвенно, через графический интерфейс.
Прикладное обеспечение отражает особенности решаемого класса задач из конкретной предметной области и включает:
программные модули, реализующие алгоритмы (или их отдельные фрагменты) прикладных задач;
средства сборки программ из отдельных модулей.
Наиболее распространено в настоящее время оформление программных модулей в виде библиотек, подключаемых статически или динамически. В зависимости от использованного разработчиками подхода к проектированию и реализации ППП такие библиотеки содержат встроенные классы и описания их интерфейсов (при использовании объектно-ориентированного программирования).
Системное обеспечение представляет собой совокупность низкоуровневых средств (программы, файлы, таблицы и т.д.), обеспечивающих определенную дисциплину работы пользователя при решении прикладных задач и формирующих окружение пакета. К системному обеспечению ППП относят следующие компоненты:
монитор – программа, управляющая взаимодействием всех компонентов ППП;
транслятор(ы) с входных языков – для ППП характерно использование интерпретируемых языков;
средства доступа к данным – драйверы баз данных и/или компоненты, представляющие доступ через унифицированные интерфейсы (ODBC, JDBC, ADO, BDE и т.п.);
информационно-справочный модуль – предоставляет функции поддержки, среди которых информационные сообщения, встроенная справочная системы и т.п. различные служебные программы, выполняющие низкоуровневые операции (автосохранение, синхронизация совместно используемых файлов и т.д.).
Приведенная логическая структура ППП достаточна условна и в конкретном ППП может отсутствовать четкое разделение программ на предметное и системное обеспечение. Например, программа планирования вычислений, относящаяся к прикладному обеспечению, может одновременно выполнять и ряд служебных функций (информационное обеспечение, связь с операционной системой и т.п.).
При проектировании радиотехнических устройств применяются следующие программные средства:
- текстовые редакторы и издательские системы: Microsoft Word, Adobe Pagemaker, Ms Publisher, Scientific Word, Ventura Publisher, Ami Pro и др.;
- переводчики и словари: Promt XT Office, Stilus, Lingvo и др.;
- табличные процессоры: Microsoft Excel, Quattro Pro, Lotus 1-2-3 и др.;
- графические редакторы и графические системы: PaintBrush, Adobe Photoshop, Corel Draw, AutoCAD, Компас-3D LT, Bcad, Micrografix Designer, Visio Pro, 3D Studio, Picture Publisher, Microstation CAD, Silver Screen и др.;
- математические программы: Mathcad, MathLab, Mathematica, Scientific Works Place, ASSO, MathPlot, Marple, Reduce, Statistica, Statgraphics Plus и др.;
- программы моделирования и оптимизации процессов в электронных схемах: PSpice, Design Center, Design Lab, B2 Spice A/D, Micro-Cap, LabView, Circuit Maker, Electronics Workbench, Multisim, Altera Max Plus, Microwawe Office и др.;
- программы моделирования и оптимизации процессов в радиотехнических системах: Dynamo, HyperSignal Block Diagram, SystemView и др.;
- САПР по выполнению схем и разводке печатных плат: P-CAD, Accel EDA, Orcad, TangoPro, MaxRoute, Visual Route, Specctra, Protel, Trax Maker и др.
Использование ППО в ГА. Блок-схемы вычислений. Условные графические обозначения элементов блок-схем.
Блок-схема – распространенный тип графического представления схем, описывающих алгоритмы или процессы, в которых шаги изображаются в виде блоков различной формы, соединенных между собой стрелками (рисунок 3).
Рисунок 3. Пример блок-схемы алгоритма вычисления факториала числа N.
Правила выполнения схем определяются специальными правилами, закрепленными в государственных стандартах. Данные документы в частности регулируют способы построения схем и внешний вид их элементов.
Основные элементы схем алгоритма
Наименование | Обозначение | Функция |
Терминатор (пуск-останов) | Элемент отображает вход из внешней среды или выход из нее (наиболее частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие. | |
Процесс | Выполнение одной или нескольких операций, обработка данных любого вида. Внутри фигуры записывают непосредственно сами операции. | |
Решение | Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. | |
Предопределенный процесс | Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). | |
Данные (ввод-вывод) | Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). | |
Граница цикла | Символ состоит из двух частей − соответственно, начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними. | |
Соединитель | Символ отображает выход в часть схемы и вход из другой части этой схемы. | |
Комментарий | Используется для более подробного описания шага, процесса или группы процессов. |
Описание других элементов схем можно найти в соответствующих ГОСТ.
Существует специальный язык ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность) – визуальный алгоритмический язык, созданный в рамках космической программы Буран. Разработка данного языка была начата в 1986 г. под руководством Владимира Паронджанова. В разработке языка принимали участие Федеральное космическое агентство (НПЦ автоматики и приборостроения им. акад. Н.А. Пилюгина, г. Москва) и Российская академия наук (Институт прикладной математики им. акад. М.В. Келдыша).
Разработчики языка полагают, что правила языка ДРАКОН оптимизированы для восприятия алгоритмов человеком. Таким образом, язык предлагается в качестве инструмента усиления интеллекта.
Существует специальная интегрированная среда работы DRAKON.
Язык ДРАКОН может удачно применяться для специфицирования протоколов взаимодействия (например, клиент-серверных).