1.3.1 Примеры современных прикладных пакетов
Рассматриваются несколько прикладных пакетов от разных разработчиков. Приводятся краткие описания возможностей структурных компонентов этих ППП.
Для иллюстрации ранее изученных материалов приведем несколько примеров современных пакетов прикладных программ из различных предметных областей. Учитывая, что постоянно появляются новые версии программных продуктов, здесь будут рассматриваться не возможности конкретных версий, а лишь основные структурные компоненты, входящие в состав того или иного пакета.
Autodesk AutoCAD
Основное назначение системы автоматизированного проектирования Autodesk AutoCAD — создание чертежей и проектной документации. Современные версии этого пакета представляют существенно большие возможности, среди которых построение трехмерных твердотельных моделей, инженерно-технические расчеты и многое-многое другое.
Первые версии системы AutoCAD, разрабатываемой американской фирмой Autodesk, появились еще в начале 80-х годов двадцатого века, и сразу же привлекли к себе внимание своим оригинальным оформлением и удобством для пользователя. Постоянное развитие системы, учет замечаний, интеграция с новыми продуктами других ведущих фирм сделали AutoCAD мировым лидером на рынке программного обеспечения для автоматизированного проектирования.
Языковые средства
В основе языковых средств ППП AutoCAD — технология Visual LISP, базирующаяся на языке AutoLISP (подмножество языка LISP) и используемая для создания приложений и управления в AutoCAD. Visual LISP представляет полное окружение, включающее:
- Интегрированную среду разработки, облегчающую написание, отладку и сопровождение приложений на AutoLISP
- Доступ к объектам ActiveX и обработчикам событий
- Защиту исходного кода
- Доступ к файловым функциям операционной системы
- Расширенные функции языка LISP для обработки списочных структур данных.
Для разработчиков совместимых приложений в AutoCAD включена поддержка ObjectARX. Это программное окружение представляет объектно-ориентированный интерфейс для приложений на языках C++, C# и VB.NET и обеспечивает прямой доступ к структурам БД, графической подсистеме и встроенным командам пакета.
Кроме того, в AutoCAD имеется поддержка языка Visual Basic for Applications (VBA), что позволяет использовать этот пакет совместно с другими приложениями, в частности, из семейства Microsoft Office.
Предметное обеспечение
К предметному обеспечению пакета в первую очередь относятся функции построения примитивов — различных элементов чертежа. Простые примитивы это такие объекты как точка, отрезок, круг (окружность) и т.д. К сложным примитивам относятся: полилиния, мультилиния, мультитекст (многострочный текст), размер, выноска, допуск, штриховка, вхождение блока или внешней ссылки, атрибут, растровое изображение. Кроме того, есть пространственные примитивы, видовые экраны и пр.. Операции построения большей части примитивов могут быть выполнены через пользовательский интерфейс, все — через команды языка.
Высокоуровневые средства представлены расширениями и приложениями AutoCAD для конкретных предметных областей. Например в машиностроении используется Autodesk Mechanical Desktop — предназначенный для сложного трехмерного моделирования, в том числе валов и пружин. Для проектирования деталей из листовых материалов предназначена система Copra Sheet Metal Bender Desktop (разработчик — Data-M Software GmbH). Моделирование динамики работы механизмов может выполняться в системе Dynamic Designer (Mechanical Dynamics). В числе известных архитектурных и строительных приложений можно отметить системы АРКО (АПИО-Центр), СПДС GraphiCS (Consistent Software), ArchiCAD. Для проектирования промышленных объектов может использоваться система PLANT-4D (СЕА Technology). Это лишь некоторые из областей использования AutoCAD.
Системное обеспечение
Среди системного обеспечения следует отметить основной формат файлов AutoCAD .dwg, который стал стандартом «де факто» для прочих САПР.
К системному же обеспечению обеспечению относятся типовые и специализированные библиотеки деталей и шаблонов, использование которых позволяет существенно ускорить процесс проектирования. Здесь же упомянем требования отраслевых и государственных стандартов, которым должны соответствовать чертежи и спецификации.
Конфигурация и настройки различных режимов AutoCAD устанавливаются через т.н. системные переменные. Изменяя их значения можно задавать пути к файлам, точность вычислений, формат вывода и многое другое.
Adobe Flash
Adobe (ранее Macromedia) Flash — это технология и инструментарий разработки интерактивного содержания с большими функциональными возможностями для цифровых, веб- и мобильных платформ. Она позволяет создавать компактные, масштабируемые анимированные приложения (ролики), которые можно использовать как отдельно, так и встраивая в различное окружение (в частности, в веб-страницы). Эти возможности обеспечиваются следующими компонентами технологии: языком Action Script, векторным форматом .swf и видеоформатом .flv, всевозможными flash-плейерами для просмотра и редакторами для создания.
Рассмотрим интегрированную среду Adobe Flash как основное средство создания flash-приложений. При этом отметим, что языковые и системные средства относятся не только к этому пакету, а к технологии в целом. Если, например, купить фотошоп cs3 в соответствующей конфигурации, то эти средства будут доступны для всех приложений из состава пакета.
Язык ActionScript
ActionScript — объектно-ориентированный язык программирования, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. Синтаксис ActionScript основан на спецификации ECMAScript (сюда же относятся языки JavaScript и JScript). Библиотека классов ActionScript, написанная на C++, представляет доступ к графическим примитивам, фильтрам, принтерам, геометрическим функциям и пр..
ActionScript как язык появился с выходом 5 версии Adobe (тогда еще Macromedia) Flash, которая стала первой программируемой на ActionScript средой. Первый релиз языка назывался ActionScript 1.0. Flash 6 (MX). В 2004 году Macromedia представила новую версию ActionScript 2.0 вместе с выходом Flash 7 (MX 2004), в которой было введено строгое определение типов, основанное на классах программирование: наследование, интерфейсы и т. д. Также Macromedia была выпущена модификация языка Flash Lite для программирования под мобильные телефоны. ActionScript 2.0 является не более чем надстройкой над ActionScript 1.0, то есть на этапе компиляции ActionScript 2.0 осуществляет некую проверку и превращает классы, методы ActionScript 2.0 в прежние прототипы и функции ActionScript 1.0.
В 2005 году вышел ActionScript 3.0 в среде программирования Adobe Flex, а позже в Adobe Flash 9.
ActionScript 3.0 (текущая версия на момент подготовки этого материала) представляет, по сравнению с ActionScript 2.0 качественное изменение, он использует новую виртуальную машину AVM 2.0 и дает взамен прежнего формального синтаксиса классов настоящее классовое (class-based) Объектно-ориентированное программирование. ActionScript 3.0 существенно производительней предыдущих версий и по скорости приблизился к таким языкам программирования, как Java и C++.
С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое.
Системное обеспечение
ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байткод, который включается в SWF-файл.
SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение. Во втором случае возможно создание исполняемых exe-файлов, когда swf-файл включается во Flash Player.
Для создания и просмотра видеофайлов в формате .flv используются программные кодеки, поддерживающие этот формат.
Прикладное обеспечение
К прикладному обеспечению в рамках технологии Flash относятся средства создания роликов в форматах .swf, .flv и .exe. Основным инструментом является среда среда Adode Flash (см. Adobe Flash Builder ), включающая различные средства для создания и редактирования мультимедийного содержания, в т.ч. видео- и аудиофайлов, интегрированную среду разработки на ActionScript и множество дополнительных функций упрощения процесса создания роликов.
Пакет MatLab
MatLab (сокращение от англ. «Matrix Laboratory») — пакет прикладных программ для решения задач технических вычислений, и язык программирования, используемый в этом пакете. По данным фирмы-разработчика, более 1000000 инженерных и научных работников используют этот пакет, который работает на большинстве современных операционных систем, включая GNU/Linux, Mac OS, Solaris и Microsoft Windows.
Язык MatLab
MATLAB как язык программирования был разработан Кливом Моулером (англ. Cleve Moler) в конце 1970-х годов. Целью разработки служила задача использования программных математических библиотек Linpack и EISPACK без необходимости изучения языка Фортран. Акцент был сделан на матричные алгоритмы.
Программы, написанные на MATLAB, бывают двух типов — функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код, а сохраняются в виде текстовых файлов. Существует также возможность сохранять так называемые pre-parsed программы — функции и скрипты, приведенные в вид, удобный для машинного исполнения и, как следствие, более быстрые по сравнению с обычными.
Системное обеспечение
Язык MATLAB является высокоуровневым интерпретируемым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования. Имеются интерфейсы для получения доступа к внешним данным, клиентам и серверам, общающимся через технологии Component Object Model (COM) или Dynamic Data Exchange (DDE), а также периферийным устройствам, которые взаимодействуют напрямую с MATLAB. Многие из этих возможностей известны под названием MATLAB API.
Встроенная среда разработки позволяет создавать графические интерфейсы пользователя с различными элементами управления, такими как кнопки, поля ввода и другими. С помощью компонента MATLAB Compiler эти графические интерфейсы могут быть преобразованы в самостоятельные приложения.
Для MATLAB имеется возможность создавать специальные наборы инструментов (англ. toolbox), расширяющие его функциональность. Наборы инструментов представляют собой коллекции функций, написанных на языке MATLAB для решения определенного класса задач. С некоторыми, весьма полезными, примерами таких расширений для MatLab можно ознакомиться здесь.
Прикладное обеспечение
MATLAB предоставляет удобные средства для разработки алгоритмов, включая высокоуровневые с использованием концепций объектно-ориентированного программирования. В нем имеются все необходимые средства интегрированной среды разработки, включая отладчик и профайлер.
MATLAB предоставляет пользователю большое количество (несколько сотен) функций для анализа данных, покрывающие практически все области математики, в частности:
- Матрицы и линейная алгебра — алгебра матриц, линейные уравнения, собственные значения и вектора, сингулярности, факторизация матриц и другие.
- Многочлены и интерполяция — корни многочленов, операции над многочленами и их дифференцирование, интерполяция и экстраполяция кривых и другие.
- Математическая статистика и анализ данных — статистические функции, статистическая регрессия, цифровая фильтрация, быстрое преобразование Фурье и другие.
- Обработка данных — набор специальных функций, включая построение графиков, оптимизацию, поиск нулей, численное интегрирование (в квадратурах) и другие.
- Дифференциальные уравнения — решение дифференциальных и дифференциально-алгебраических уравнений, дифференциальных уравнений с запаздыванием, уравнений с ограничениями, уравнений в частных производных и другие.
-
Разреженные матрицы — специальный класс данных пакета MATLAB, использующийся в специализированных приложениях.
В составе пакета имеется большое количество функций для построения графиков, в том числе трехмерных, визуального анализа данных и создания анимированных роликов, функции для создания алгоритмов для микроконтроллеров и других приложений.
CC-BY-CA Анатольев А.Г., 06.11.2013