Файл: Интегрированные среды разработки программ (Интегрированная среда разработки, ее предназначение).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 441

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В версиях интегрированных сред программирования нашего времени появились и новые возможности (компоненты):

  1. Профилировщик (profiler) – средство для сбора и анализа статистических данных, которые были сформированы в ходе работы программы, управляемой интегрированной средой: количество вызовов процедур (методов), количество памяти, которое используется при выполнении программы;
  2. Рефакторинг (refactoring) – инструмент периодических общих модификаций программ в среде, без значимых изменений их функциональной составляющей, преследующий улучшение кода. Примером может служить замена имени метода, что послужит стартом автоматического изменения его имени во всех его использованиях;
  3. Генератортестов (unittestgenerator) – инструмент для создания тестов для проверки работоспособности модулей, методов и процедур, используя при этом различные наборы значений аргументов. Примером может служить инструмент JUnit в интегрированных Java – средах, а так же NUnitв MicrosoftVisualStudio.
  4. Система управления версиями исходных кодов – способ взаимодействия среды с одной из используемых систем (GIT, CVS, RCS, Mercurial, VisualSourceSafeи др.) – помощь в управлении версиями файлов исходного кода в среде разработки при обслуживании программ.
  5. Инструментарий поддержки командной разработки программ (teamwork) – последовательность жизненного цикла программного обеспечения (требования, спецификации, проектирование, реализация, тестирование), возможность разделения задания между командой программистов, а также возможность контроля проделанной работы менеджером проекта. Для примера в VisualStudio элемент, отвечающий за это назывался TeamFoundationServer (TFS), а, начиная с 2013 года Microsoftразработал для своего продукта облачный интерефейся, который получил название VisualStudioOnline.
  6. Средства анализа кода (codeanalysis)–разбор программного обеспечения, который для получения результата не требовал исполнения проверяемой программы. Как правило анализ производится применимо к какой – либо версии исходного кода. Термин применим к анализу, который выполняется с использованием специализированного программного обеспечения, но может быть проведен и ручной анализ, который получил название «Programunderstanding». В зависимости от применяемого инструмента качество проводимой проверки может изменяться от отображения изменений операторов до анализа, который предоставляет результаты всего имеющегося исходного кода. Существуют различные пути применения полученных в ходе анализа результатов: от определения мест, в которых, с высокой степенью вероятности, содержащих ошибки, до формальных методов, которые дают возможность с помощью математических действий доказать особые свойства программы. Последние разработки в рамках верификации свойств ПО, которое используется в компьютерных системах, все чаще используют методику статического анализа. Кроме того такой анализ все чаще используется для поиска заведомо содержащего уязвимости кода;
  7. Средства графического представления генерируемого бинарного кода – методов, переменных, имен, классов;
  8. Средства, выполняющие задачу добавления коду свойства «запутывания». С этой целью выполняется задача замены таких элементов кода, как: классы, методы, поля. Они автоматически заменяются на хаотичные имена. Данная процедура преследует цель затруднения изучения бинарного кода, который прошел декомпиляцию, что позволяет защитить от злоумышленников тот код, который те хотят заполучить;
  9. Возможность создания программных проектов совершенно разнообразного вида и построения их решений на основании типовых шаблонов кода, а так же сопоставление механизмов создания расширений. В наше время при написании программ часто необходимо создать очень сильно отличающиеся друг от друга виды приложений и инструментов. Примерами возможных вариантов разработки могу служить: консольные приложения, Web – приложения, Web– сервисы, облачные приложения, мобильные приложения, приложения для персональных компьютеров, прикладные программы для прошивки микросхем и чипованых устройств. Для каждого из огромного набора таких приложений требуется разработка специфической структуры файловой системы исходного кода, и файлов конфигурации, обеспечивающих, к примеру, спецификацию (права безопасности кода, интернет конфигурации). Интегрированные среды программирования, используемые в настоящее время обладают отличным механизмом автоматизации создания различного рода проектов, предлагая шаблон исходного кода и автоматически создавая нужные проекту файлы конфигурации. Многим из разработчиков современного программного обеспечения уже сложно представить создание продукта без применения подготовленных шаблонов кода, которое сразу же начинает требовать большего уровня внимательности, так как очень легко допустить ошибки, которые, как кажется, не могут быть совершены подготовленным человеком. Они могут заключаться в отсутствии того или иного файла, несмотря на его необходимость для корректной работы проекта. Именно поэтому очень важно сопровождение проекта интегрированными средствами различного вида. Кроме того в современных системах разработчик имеет возможность самостоятельно дополнить набор возможных видов проектов;
  10. Возможность моделирования структуры программы с использованием средств UML (Unified Modeling Language). Версии языка UML, применяемые в наше время, обеспечивают моделирование программ абсолютно любой направленности и построение диаграмм, отображающих каждую из моделей. Кроме того эта среда разработка предполагает своим функционалом возможность разработки взаимодействия разработчиков между собой. Большинство современных интегрированных сред разработки предполагают использование средств UML двумя основными путями: генерация модели и соответствующих диаграмм по исходному коду, или в обратной последовательности: генерация кода на основе разработанной модели.

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

  1. Программное обеспечение, обеспечивающее работу медицинских устройств;
  2. Программное обеспечение, обеспечивающее работу атомных электростанций и систем безопасности реактора;
  3. Программное обеспечение, обеспечивающее выполнения задач авиацией;
  4. Программное обеспечение на наземных видах транспорта.

ГЛАВА 2. Рассмотрение наиболее популярных интегрированных сред разработки

Среда программирования Delphi

Любой программист при упоминании термина интегрированная среда программирования первым делом начинает думать о среде Delphi. Именно она стала первой среди ИСР, многие особенности современные среды переняли именно у нее, она стала основоположником новой эры программирования.

Интерфейс среды программирования Delphi отличается от многих других, что можно увидеть в ОС Windows. Например, Borland Pascal for Windows 7.0, Borland C++ 4.0, являются MDI приложениями и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) - предполагает особый способ управления нескольких дочерних окон внутри одного большого окна.

Среда Delphi же следует другой логике построения рабочего пространства, называемой Single Document Interface (SDI), и состоит из нескольких отдельно расположенных окон. Это было применено из-за того, что SDI близок к той модели приложений, что используется в Windows 95.

Ниже перечислены основные составные части Delphi:

  1. Дизайнер Форм (Form Designer);
  2. Окно Редактора Исходного Текста (Editor Window);
  3. Палитра Компонент (Component Palette);
  4. Инспектор Объектов (Object Inspector);
  5. Справочник (On-line help);

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

Разработчки на Delphi проводят большую часть времени работая в Дизайнере Форм и Окне Редактора Исходного Кода (которое для краткости называют Редактор).

Дизайнер Форм в Delphi очень прост в использовании, что делает создание графического интерфейса пользователя не занимает много времени (конечно же возможности визуализации совсем не те, что в современных ИСР). Дизайнер Форм изначально состоит из одного пустого окна, которое пользователь заполняет разнообразными объектами, которые могут быть выбраны на Палитре Компонент. Основным рабочим пространством разработчика является редактор исходного кода, где прописывается вся логическая составляющая продукта.


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

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

Еще один важный элемент среды Delphi - Справочник (online help). Чтобы отобразить данный элемент нужно просто выбрать в системном меню вкладку Help, а затем Contents. Пользователь получит подсказку, соответствующую текущей ситуации и выбранному элементу.

Теперь рассмотрим элементы, которые можно считать вспомогательными для среды программирования:

  1. Меню (Menu System);
  2. Панель с кнопками для быстрого доступа (SpeedBar);
  3. Редактор картинок (Image Editor).

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

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

Редактор Картинок, выполняет те же функции, что программа Paintbrush из Windows.

Помимо уже рассмотренных элементов существует еще 5 средств, которые и превращают Delphi в интегрированную среду разработки:

  1. Встроенный отладчик;
  2. Внешний отладчик (поставляется отдельно);
  3. Компилятор командной строки;
  4. WinSight;
  5. WinSpector.

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

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

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


WinSight и WinSpector предназначены исключительно для опытных разработчиков в Windows. Конечно же это не говорит о том, что новичок не может запустить данные средства и начать изучать их возможности, но прежде всего эти средства предназначены для узкоспециализированных технических целей.

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

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

Таким образом именно Delphi положила начало всем интегрированным средам разработки, на основе нее появились C++ Builder, RAD Studio и еще множество дочерних сред. Стоит заметить полную преемственность ими всего функционала и всех функций, но даже они в современных условиях считаются сильно устаревшими, именно поэтому предлагаю рассмотреть 2 среды, которые являются злейшими конкурентами, каждая из них приобрела армию постоянных пользователей, каждая из них уже долгое время на рынке и, судя по всему, никто не намерен пускать новые продукты на свою территорию.

Интегрированная среда разработки Microsoft Visual Studio

Независимо от того, с какой точки зрения подходить к изучению современных ИСР, невозможно не остановиться на разработке IT гиганта.

Кроме имеющихся практически у всех конкурентов редактора и отладчика, Visual Studio имеет в своем арсенале такие инструменты, как компиляторы, средства автозавершения кода, конструкторы с графическим оформлением и еще огромное количество функциональных надстроек для упрощения написания кода.


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

  1. Обозреватель решений – позволяет просматривать все части из которых состоит исходный код программы, перемещаться по ним и управлять их работой. Кроме того данный элемент дает пользователю возможность упорядочить код посредством объединения его в решения и проекты.
  2. Окно редактора – в данном рабочем пространстве отображается содержимое того файла, над которым в данный момент ведется работа. Именно здесь пользователь имеет возможность редактировать код.
  3. Окно выводы – один из, на мой взгляд, важнейших элементов интерфейса среды разработки. Именно в нем отображаются различные уведомления (сообщения об ошибках, предупреждения компилятора). Все сообщения разбиты по вкладках, в зависимости от источника.
  4. Team Explorer – дает возможность отслеживать рабочие элементы и запускать код одновременно с другими пользователями, что достигается технологией управления версиями. Примером может служить Git и система управления версиями Team Foundation.

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

В ходе создания было разработано три основных пакета Visual Studio. Они получили названия Community, Professional и Enterprise. Главным отличием их друг от друга является разнообразный набор функций в каждой из них. Но существует элемент преемственности: более старшая версия содержит все элементы более младшей.

Разберем основные составляющие каждой из выпусков Visual Studio, проиллюстрировав их в таблице №1.

Поддерживаемые возможности

Visual Studio Community

Visual Studio Professional

Visual Studio Enterprise

Поддерживаемые сценарии использования

+++

++++

++++

Поддержка платформ разработки

++++

++++

++++

Интегрированная среда разработки

+++

+++

++++

Расширенная отладка и диагностика

++

++

++++

Средства тестирования

+

+

++++

Кроссплатформенная разработка

++

++

++++

Инструменты и возможности для совместной работы

++++

++++

++++