Реферат на тему: Обзор современных сред ускоренной разработки приложений

Реферат на тему: Обзор современных сред ускоренной разработки приложений

Студента группы МЭО 16 2/9

Пяткова Даниила

Введение

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

Поначалу большинство задач, решаемых компьютерной техникой, носили вычислительный характер, поэтому первыми были созданы языки программирования, позволяющие переводить математические формулы на язык команд машины. Впоследствии компьютеры все шире стали использоваться для автоматизации различных видов производственной и творческой деятельности. Для разработки ПО таких компьютеров активно применяется подход, основанный на создании так называемых объектных моделей, которые имитируют объекты реального мира из автоматизируемой области. Такой прием, получивший название объектного метода [1], существенно упростил разработку программ на начальном этапе, когда конкретизируется поставленная задача и определяется архитектура программы. Для написания программ с использованием объектного метода были созданы языки, объединенные в группу объектно-ориентированных.

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

Зачем нужна FloraWare?

Попытки создания полноценной объектной машины и замены текстового представления программы предпринимались неоднократно, однако все они ограничивались полумерами. Это можно объяснить несколькими причинами. Технология, меняющая что-то кардинально, требует отбрасывания существующих программных компонентов, созданных по другим технологиям. Поэтому она обязана предложить весь спектр инструментальных средств, либо как запасной вариант, предоставить инструменты поддержки других технологий, и то и другое требует больших усилий. С другой стороны ОО языки программирования [3, 4, 5, 6] создавались с учетом универсальности объектов и полного контроля над ними со стороны пользовательской программы. Даже если технология предполагает наличие некой виртуальной машины [3, 6], назвать ее объектной можно только с большой натяжкой, на откуп ей в лучшем случае отдается сборка мусора. Тогда как наибольшие преимущества объектной машины сказываются при максимальном ее контроле над объектами. Попытки заменить текстовое представление алгоритма, в большинстве случаев, сводятся к генерации текста части программы на основе ее графического представления с последующей трансляцией, интересным же является полное исключение теста программы. Избавиться от перечисленных недостатков можно, отказавшись от архитектуры машины с потоком команд и линейной памятью, и перейдя к архитектуре с древовидной объектной памятью, с управлением объектами собственно объектной машиной.

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



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

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

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

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

FloraWare: основы понимания

Некоторые трудности восприятия технологии FloraWare могут возникать от неправильного понимания основ объектно-ориентированного проектирования, роли программы в объектном методе. Объектный метод не постулирует необходимость программы, его основная парадигма предполагает только необходимость построения объектной модели. Большинство реализаций объектного метода используют программный способ построения объектной модели. То есть создают программы, создающие объектную модель. Работу таких программ можно разбить на пять частей:

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

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

Реферат на тему: Обзор современных сред ускоренной разработки приложений - student2.ru

Рисунок 1 - Сложность ОО программирования

Мультизадачность

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

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

Универсальность

Может показаться, что использование объектов заранее определенных классов резко сужает область применения FloraWare. Но это далеко не так. Среди предопределенных классов FloraWare есть практически все используемые в настоящее время диалоговые элементы, инструменты работы с базой данных, переходники к драйверам устройств, а также такие универсальные классы, как Контейнер, Число, Целое, Строка, Массив и Программа, с помощью которых можно создать практически любое приложение. Базовые классы, реализованные в ядре объектной машины, являются основой создания собственных прикладных классов с использованием множественного наследования, полиморфизма и инкапсуляции. При необходимости расширить набор базовых классов можно, используя типы .NET, что существенно расширяет универсальность.

Поддержка XML

Под поддержкой XML [9] во FloraWare понимается нечто большее, чем просто работа с сообщениями известного формата и известными методами. Определяющей является древовидная структура данных объектной машины, позволяющая работать по правилам DOM не только с данными межпрограммного обмена, но и со всеми внутренними данными.

FloraWare поддерживает импорт и экспорт данных в XML формате, что позволяет легко интегрировать ее в современную информационную инфраструктуру. Но, пожалуй, гораздо более важно то, что FloraWare позволяет естественным образом отобразить XML документ на свое дерево и предоставляет свои универсальные и специализированные средства для обработки этого документа. Для этой цели имеются базовые классы Документ, Входной XML курсор и Выходной XML курсор, с помощью которых на объектном уровне, то есть не программно, реализована обработка XML документов. Эти же объекты являются и основой реализации SOAP и WSDL.

Интерактивность

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

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

Инструментальные средства

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

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

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

Отладка и мониторинг

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

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

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

Разработка больших проектов

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

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

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

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

Приложение Центр разработки организует интегрированную среду разработки приложений, использующую возможности и средства Дизайнера (Designer), Менеджера проектов (ProjectManager) и Менеджера секций (SectionManager).

Реферат на тему: Обзор современных сред ускоренной разработки приложений - student2.ru

Рисунок 9 - Центр разработки (в натуральную величину)

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

Особенности реализации

Заключение

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

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

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

Все это, а также многолетняя промышленная проверка системы говорит в пользу применения FloraWare. Основное практическое преимущество FloraWare перед аналогами (известными на рынке объектно-ориентированными системами программирования – JDK Sun, VisualBasic, Delphi, VisualStudio, C++Builder ,PowerBuilder и другими) заключается в повышении качества и скорости разработки больших программных систем при одновременном резком снижении трудозатрат.

Реферат на тему: Обзор современных сред ускоренной разработки приложений

Студента группы МЭО 16 2/9

Пяткова Даниила

Введение

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

Поначалу большинство задач, решаемых компьютерной техникой, носили вычислительный характер, поэтому первыми были созданы языки программирования, позволяющие переводить математические формулы на язык команд машины. Впоследствии компьютеры все шире стали использоваться для автоматизации различных видов производственной и творческой деятельности. Для разработки ПО таких компьютеров активно применяется подход, основанный на создании так называемых объектных моделей, которые имитируют объекты реального мира из автоматизируемой области. Такой прием, получивший название объектного метода [1], существенно упростил разработку программ на начальном этапе, когда конкретизируется поставленная задача и определяется архитектура программы. Для написания программ с использованием объектного метода были созданы языки, объединенные в группу объектно-ориентированных.

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

Зачем нужна FloraWare?

Попытки создания полноценной объектной машины и замены текстового представления программы предпринимались неоднократно, однако все они ограничивались полумерами. Это можно объяснить несколькими причинами. Технология, меняющая что-то кардинально, требует отбрасывания существующих программных компонентов, созданных по другим технологиям. Поэтому она обязана предложить весь спектр инструментальных средств, либо как запасной вариант, предоставить инструменты поддержки других технологий, и то и другое требует больших усилий. С другой стороны ОО языки программирования [3, 4, 5, 6] создавались с учетом универсальности объектов и полного контроля над ними со стороны пользовательской программы. Даже если технология предполагает наличие некой виртуальной машины [3, 6], назвать ее объектной можно только с большой натяжкой, на откуп ей в лучшем случае отдается сборка мусора. Тогда как наибольшие преимущества объектной машины сказываются при максимальном ее контроле над объектами. Попытки заменить текстовое представление алгоритма, в большинстве случаев, сводятся к генерации текста части программы на основе ее графического представления с последующей трансляцией, интересным же является полное исключение теста программы. Избавиться от перечисленных недостатков можно, отказавшись от архитектуры машины с потоком команд и линейной памятью, и перейдя к архитектуре с древовидной объектной памятью, с управлением объектами собственно объектной машиной.

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

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

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

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

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

FloraWare: основы понимания

Некоторые трудности восприятия технологии FloraWare могут возникать от неправильного понимания основ объектно-ориентированного проектирования, роли программы в объектном методе. Объектный метод не постулирует необходимость программы, его основная парадигма предполагает только необходимость построения объектной модели. Большинство реализаций объектного метода используют программный способ построения объектной модели. То есть создают программы, создающие объектную модель. Работу таких программ можно разбить на пять частей:

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

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

Реферат на тему: Обзор современных сред ускоренной разработки приложений - student2.ru

Рисунок 1 - Сложность ОО программирования

Наши рекомендации