Файл: Интегрированные среды разработки программ (Определение и значение интегрированной среды разработки).pdf
Добавлен: 30.03.2023
Просмотров: 595
Скачиваний: 2
Введение
В условиях развития современного общества информационные технологии глубоко проникают жизнь людей. Они очень быстро превратились в жизненно важный стимул развития не только мировой экономики, но и других сфер человеческой деятельности. Не найти сферу, в которой сейчас не используются информационные технологии. Так, в промышленности информационные технологии применяются не только для анализа запасов сырья, комплектующих, готовой продукции, но и позволяют проводить маркетинговые исследования для прогноза спроса на различные виды продукции, находить новых партнеров и многое другое. Существует большое множество программ, предназначенных для той или иной сферы. Например, программы для обработки изображений, как для профессионалов, так и для любителей, программы для работы с таблицами и базами данных, программы для построения чертежей, специализированные программные продукты для управленческой, бухгалтерской, строительной и иной деятельности. При этом все бухгалтерские операции на предприятиях и не только, сейчас основываются на применении информационных технологий.
Как известно эффективность роботы государственного управления во многом зависит от уровня взаимодействия между гражданами, предприятиями и другими органами управления. Поэтому в государственном управлении информационные технологии позволяют одновременно использовать информационные, организационные, правовые, социально-психологические, кадровые и другие факторы, что значительно облегчает роботу и организацию самого процесса управления.
Применение информационных технологий в научной сфере и в сфере образования сложно переоценить. Сейчас трудно представить себе школу, в которой бы не было компьютерного класса. В настоящее время существует масса электронных библиотек, воспользоваться которыми можно не выходя из дома, что значительно облегчает процесс обучения и самообразования. При этом информационные технологии способствуют развитию научных знаний.
Информационные технологии это один из современных способов общения, главными преимуществами которого являются общедоступность. Используя информационные технологии можно с легкостью получить доступ к интересующей вас информации, а также пообщаться с живым человеком.
Подведя итог можно сказать, что информационные технологии глубоко проникли в нашу жизнь и современное общество, которое не сможет в нынешнем виде существовать без них.
В связи с этим важным является взаимодействие различных программ между собой, поскольку от этого зависит качество работы. В данной курсовой работе основное внимание будет уделено именно взаимодействию информационных технологий, их интеграции.
Актуальность данной темы объясняется необходимостью обеспечения совместимости тех или иных программ, разработки специальных пакетов, содержащих в себе те или иные интегрированные программные пакеты.
Объектом исследования данной курсовой работы выступают интегрированные программные пакеты.
Цель курсовой работы – изучить сущность интегрированных сред разработки программ и рассмотреть основные их составляющие.
1. Определение и значение интегрированной среды разработки.
Интегрированная среда разработки (ИСР) – это система программных средств, используемая программистам для разработки программного обеспечения. В английском языке такая среда называется Integrated development environment или сокращённо IDE.
Обычно среда разработки включает в себя:
- текстовый редактор
- компилятор и/или интерпретатор
- средства автоматизации сборки
- отладчик.
Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. Хотя и существуют ИСР, предназначенные для нескольких языков программирования — такие, как Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator или Microsoft Visual Studio, но обычно ИСР предназначается для одного определённого языка программирования - как, например, Visual Basic, Delphi, Dev-C++.
Один из частный случаев ИСР — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.
Интегрированные среды разработки были созданы для того, чтобы максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами. Это позволяет разработчику сделать меньше действий для переключения различных режимов, в отличие от дискретных программ разработки. Однако, так как IDE является сложным программным комплексом, то лишь после долгого процесса обучения среда разработки сможет качественно ускорить процесс разработки ПО.
Обычно IDE ориентирована на определённый язык программирования, предоставляя набор функций, который наиболее близко соответствует парадигмам этого языка программирования. Однако, есть некоторые IDE с поддержкой нескольких языков, такие как Eclipse, ActiveState Komodo, последние версии NetBeans, Microsoft Visual Studio, WinDev и Xcode.
IDE обычно представляет собой единственную программу, в которой проводилась вся разработка. Она обычно содержит много функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель среды разработки заключается в том, чтобы абстрагировать конфигурацию, необходимую, чтобы объединить утилиты командной строки в одном модуле, который позволит уменьшить время, чтобы изучить язык, и повысить производительность разработчика. Также считается, что трудная интеграция задач разработки может далее повысить производительность. Например, IDE позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках. В то время как большинство современных IDE являются графическими, они использовались ещё до того, как появились системы управления окнами (которые реализованы в Microsoft Windows или X11 для *nix-систем). Они были основаны на тексте, используя функциональные клавиши или горячие клавиши, чтобы выполнить различные задачи (например, Turbo Pascal). Использование IDE для разработки программного обеспечения является прямой противоположностью способа, в котором используются несвязанные инструменты, такие как vi (текстовый редактор), GCC (компилятор), и т.п.
2. История интегрированных сред
Изменялся способ общения программиста с ЭВМ. Первые компьютеры вообще не имели базового программного обеспечения. Программа могла вводиться вручную с пульта, а впоследствии с помощью перфолент и перфокарт. Первые терминалы с электронно-лучевыми трубками (дисплеями) были предназначены не для программистов, а для операторов ЭВМ. Программисты работали с ЭВМ опосредовано, сдавая на вычислительный центр колоды перфокарт. Начало 70-х годов – время массового перехода на языки программирования, появление операционных систем первого поколения. По мере возрастания мощности ЭВМ стал возможным коллективный доступ к ее ресурсам, и дисплей стал инструментом программиста.
Идея интегрированных сред достигла еще большего развития к середине 1980-х гг., когда появились две группы популярных интегрированных сред:
- Турбо-среды (Turbo Pascal, Turbo C, Turbo C++, Delphi и др.) фирмы Borland для поддержки программирования на этих языках, реализованные сначала для операционной системы MS DOS, затем - для ОС Windows;
- GNU Emacs - многоязыковая и многоплатформная интегрированная среда разработки, реализованная для MS DOS, затем для Windows, OpenVMS и для Linux.[1]
Первые IDE были созданы для работы через консоль или терминал, которые сами по себе были новинкой.
Dartmouth BASIC был первым языком, который был создан с IDE, и был также первым, который был разработан для использования в консоли или терминале. Эта IDE управлялась при помощи команд, поэтому существенно отличалась от более поздних, управляемых с помощью меню и горячих клавиш, и тем более графических IDE, распространённых в XXI веке. Однако она позволяла редактировать исходный код, управлять файлами, компилировать, отлаживать и выполнять программы способом, принципиально подобным современным IDE.
3. Основные возможности современных интегрированных сред
Для каждой из основных возможностей интегрированных сред разработки программ, характерно наличие следующих компонент:
- единая интерактивная оболочка, обеспечивающая вызов всех других компонент, не выходя из среды, с широким использованием функциональных клавиш;
- текстовый редактор для набора и редактирования исходных текстов программ. В недавнем прошлом в отечественной традиции использовался именно термин исходный текст, впоследствии стал использоваться термин исходный код (source code);
- система поддержки сборки (build), то есть компиляции проектов из исходных кодов, включающая компилятор с исходного реализуемого языка и компоновщик (linker) объектных бинарных кодов в единый исполняемый код (загрузочный модуль); компоновщик используется либо штатный, входящий в состав операционной системы, либо специфичный для данной среды;
- отладчик (debugger) для отладки программ в среде с помощью типичного набора команд: установить контрольную точку остановки; остановиться в заданной процедуры (методе); визуализировать значения переменных (или, на более низком уровне, регистров и областей памяти).
Современные текстовые редакторы в интегрированных средах обеспечивают также режим автоматического завершения кода (code completion), который в них включен по умолчанию и в котором редактор среды подсказывает разработчику кода возможные и синтаксически правильные его продолжения - например, отсутствие закрывающей скобки, отсутствие точки с запятой; возможные варианты имен методов при вызове метода от объекта какого-либо определенного класса, и т.д.
В современных версиях интегрированных сред появились также следующие возможности (компоненты):
- профилировщик (profiler) - инструмент для накопления и анализа статистических данных, полученных в результате исполнения программы под управлением интегрированной среды: число вызовов процедур (методов), объем памяти, используемой при выполнении программы, и т.д.
- рефакторинг (refactoring)[2] - инструментарий систематических групповых модификаций программ в среде, без принципиальных изменений их функциональности, с целью улучшения кода. К типичным подобным действиям относится, например, изменение имени метода в его определении и во всех использованиях, добавление его аргумента, добавление try/catch - блока для обработки ранее не учтенного исключения и т.п.
- генератор тестов (unit test generator) - инструмент для генерации типовых тестов для тестирования модулей (units) - методов или процедур - с различными возможными сочетаниями значений аргументов; типичные примеры - инструмент JUnit в интегрированных Java-средах и аналогичный инструмент NUnit в среде Visual Studio
-система управления версиями исходных кодов (source code control system) или инструмент интеграции среды с одной из существующих версионных систем (CVS, RCS, Mercurial, Visual SourceSafe и др.) - поддержка управления версиями файлов исходных кодов проектов в среде при сопровождении программ
- инструменты поддержки командной разработки программ (teamwork) - этапов жизненного цикла программы (требования и спецификации, проектирование, реализация, тестирование), распределения заданий по разработке среди участников команды программистов, контроля выполнения заданий менеджером проекта. В среде Visual Studio такая компонента называлась сначала Team Foundation Server (TFS), а, начиная с версии Visual Studio 2013, она реализована в виде облачного интерфейса и получила название Visual Studio Online.
- инструменты анализа кода (code analysis) - его семантической корректности: отсутствие некоторых видов ошибок, обнаруживаемых обычно при исполнении, например, недостижимые условия; отсутствие необходимых проверок и полномочий безопасности и др.
Эти возможности соответствуют духу и принципам надежных и безопасных вычислений (trustworthy computing), сформулированным корпорацией Microsoft и последовательно воплощаемым этой фирмой в жизнь. Также в современные среды встраиваются инструменты анализа кода в терминах метрик (metrics), характеризующих его сложность, - например, цикломатическое число графа потоков управления в программе, степень сцепления (взаимосвязанности) классов и т.д.