Файл: ИНТЕГРИРОВАННЫЕ СРЕДЫ РАЗРАБОТКИ ПРОГРАММ (Интегрированная среда Microsoft Visual studio).pdf
Добавлен: 01.04.2023
Просмотров: 242
Скачиваний: 2
Существуют несколько видов транслятора[1]:
- Компиляторы
- Декомпиляторы
- Интерпритаторы.
Компилятор – это транслятор, для которого исходным считается язык высокого уровня. Исходная программа преобразуется компонентами компилятора в ряд промежуточных объектов, но в конечном итоге, в программу на языке назначения. В процессе компиляции компоненты работают с общими символьными таблицами и при необходимости обращаются к обработчику ошибок. [2]
Отладчик –программа, помогающая анализировать поведение отлаживаемой программы, при этом обеспечивая ее трассировку. большинство отладчиков позволяют выполнять остановки в указанных точках или при заданных условиях, просматривать значения переменных, ячеек памяти, при необходимости изменять эти значения. Данные для отладчика создает компилятор при включении режима генерации отладочной информации (данные о типах, начале и конце блоков, специфических конструкциях). Наиболее распространенными отладчиками являются[3]:
- Системное программное обеспечение формальные языки и методы трансляции ч3./ А.А. Малявко– Новосибирск 2012. 41с
- Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 29с
- https://www.opennet.ru/docs/RUS/make_compile/ OpenNET
- GNU Debugger – отладчик программ от проекта GNU;
- IDA – дизассемблер и низкоуровневый отладчик для операционных систем семейства Windows и GNU/Linux;
- Microsoft Visual Studio – среда разработки программного обеспечения, включающая средства отладки от корпорации Microsoft;
- OllyDbg – бесплатный низкоуровневый отладчик для операционных систем семейства Windows;
- SoftICE – низкоуровневый отладчик для операционных систем семейства Windows;
- Dr. Watson – стандартный отладчик Windows, позволяет создавать дампы памяти;
- WinDbg – бесплатный отладчик от корпорации Microsoft. [1]
Кроме классических отладчиков существуют еще несколько групп инструментов[2]:
- Средства динамической отладки
- Средства отладки многопоточных и параллельных приложений.
Средства динамической отладки распределения памяти –специальный инструмент, позволяющий анализировать распределение памяти в процессе исполнении программы.
Средства отладки многопоточных и параллельных приложений- приложения, которые могут разветвиться для выполнения параллельной работы, потом возвращаются в точку ожидания для продолжения выполнения последовательных команд. [3]
- https://www.opennet.ru/docs/RUS/make_compile/ OpenNET
- Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 19с
- Переход к Microsoft Visual Studio 2010 /Патрис Пелланд, Паскаль Паре, Кен Хайнс 247с
Библиотеки периода трансляции и периода исполнения- инструкции и адреса элементов памяти, отводимых компилятору для хранения в период трансляции и всего периода исполнения. [1]
Средства управления компиляцией и построением программного проекта– это утилита, содержащая инструкции по прядку сборки программного
проекта: МakeFile, для Unix систем аналог GNU make (Ричард Столлман, Роланд МакГрат). [2]
Монитор состоит из трех основных компонентов:
- Ядро системы, содержащее основные программы тестирования и оформления результатов.
- Тестовая база, которая включает в себя исходный тест и эталонные результаты пропуска тестов.
- Тестовое пространство, содержащее специфический настроечный файл.
Интегрированная среда объединила в себе возможности текстовых редакторов и командный язык компиляции. Разработчикам теперь не требовалось отвечать за передачу данных с выхода одного средства разработки на вход другого. Так же не требовалось описывать процесс с помощью языка MakeFile. Makefile каждый раз заново создавался в процессе создания сложных проектов и содержал инструкции по сборки и компиляции проекта. [3]
В частных случаях IDE –среды визуальной разработки, которые позволяют визуальное редактирование интерфейса программы. Настоящую популярность интегрированные среды разработки приобрел в середине 1980-х годов благодаря компании Borland lnk. (http://borland.com).
- Управление версиями с помощью CVS /А. Мохоткин (перевод на русский) 2001. 9с
- https://habr.com/ru/post/472600/
- Русская документация по CVS https://www.opennet.ru/docs/RUS/cvsrdp/
Следуя пионерской традиции нисходящего визуального стиля программирования Delphi на Объектном Паскале, корпорация Borland выпускает на рынок систем быстрой разработки приложений RAD (Rapid Application Development) мощную систему под названием C++ Builder на языке C++. [1]
Важным модулем в интегрированных средах разработки при создании проектов средней и высокой степени сложности является система управления версиями. Система управлении версиями CVS (Concurrent Versions System) –программное обеспечение для облегчения работы с изменяющейся информацией. CVS позволяет хранить в репозитории с древовидной структурой полные копии несколько версий одного и того же документа, находящегося под контролем. Имеется возможность создания модулей –объединения нескольких файлов и каталогов в логическую единицу. [2]
У каждого файла имеется уникальный номер версии, который представляет собой несколько целых чисел, разделенных точками, например, 1.3.6.2.1. При необходимости, можно возвращаться к более ранним версиям, определять кто и когда сделал то или иное изменение и многое другое. Часто бывает, над проектом одновременно работают несколько человек, и если два человека изменяют один и тот же файл, то один из них может случайно отменить изменения, сделанные другим. Система управления версиями отслеживает такие конфликты и предлагает средства их решения. Большинство систем может автоматически произвести слияние изменений, сделанные разными разработчиками. [3]
Достаточно часто при работе над смежными или похожими проектами возникает следующая ситуация: в проектах используется одинаковый код, но
- Русская документация по CVS https://www.opennet.ru/docs/RUS/cvsrdp/
- Компоненты и технологии / Денис Шехалев №5 2010. С153
- https://habr.com/ru/post/472600/
размер этого кода недостаточен для выделения его в отдельный проект, например, это могут быть небольшие компоненты общего применения (модули скремблеров, интерфейсов и т.д.). В таких ситуациях можно использовать ссылки на другие проекты и репозитории системы управления версиями.[1]
В случае если невозможно провести слияние в ни автоматическом ни в ручном режиме (формат файла слишком сложен или неизвестен), CVS дают возможность блокирования файла в репозитории. Блокировка не позволяет получить доступ к рабочей копии файла, в то же время обеспечивает исключительный доступ только пользователю, который работает с документом[2]
Главное преимущество интегрированной среды- удобство работы ее пользователя, теперь ему достаточно указать в интерфейсной форме программирования явилось перенесение технологических приемов, использованных при их разработке на разработку того программного обеспечения, которая выполняется с их помощью.
Программистам стали предоставлять графический пользовательский интерфейс, ставший вскоре после своего появления неотъемлемой составной частью многих современных операционных систем и графических оболочек. В состав систем программирования стали включаться библиотеки, обеспечивающие поддержку графического интерфейса. Описание библиотек выполнялось с помощью прикладных программных интерфейсов, позволявших стандартизовать взаимодействие с операционными системами. [3] Особенную помощь интеграция компонентов системы программирования приобретает при проведении отладки программ исходного кода программы, отмечающие места,
- Компоненты и технологии / Денис Шехалев №5 2010. С156
- https://habr.com/ru/post/472600/
- Переход к Microsoft Visual Studio 2010 /Патрис Пелланд, Паскаль Паре, Кен Хайнс 200с
требующие дальнейшего внимания, также возможности внесения изменений, такие как «TODO». Дальнейшем пометки могут выделяться редакторами (emACS, Visual Studio, vim).
Использование комментариев с TODO так же является оформления кода на Delpfi, odject pascal. В руководстве к Visual Studio рекомендовано использовать тег TODO для пометок:
- известные проблемы, которые нужно исправить
- добавление новых функций
- предполагаемых к реализации классов
- мест размещения кода обработчиков ошибок
- напоминаний о необходимости переработки участка кода.
В этом разделе курсовой я разобрал инструменты, которые необходимы для создания проекта в интегрированной среде. Познакомился с самим понятием IDE. Узнал в каких проектах можно использовать традиционные принципы, а в каких целесообразнее использование интегрированных сред программирования. Так же узнал о плюсах и минусах использования интегрированных сред.
Познакомился с модулем системы контроля версий, которая способна минимизировать проблемы при написании проекта группой разработчиков с использованием интегрированных сред программирования.
3. Быстрая разработка приложений
Интегрированная среда разработки позволяет программисту избежать большого объема однообразных действий и повысить эффективность разработки и отладки, т.е. IDE являются RAD- средами различной степени автоматизации процесса программирования.
Первую версию RAD создал Барри Боэм в 1986г. Который назвал ее «спиральная модель». Каждый виток спирали разбивался на 4 сектора и соответствовал разработке фрагмента или версии ПО. С каждым новым витком шло углубление и уточнение целей, спецификаций проекта.[1]
RAD (Rapid Application Development) –модель быстрой разработки приложений, ключевыми для которой является скорость и удобство программирования.К появлению быстрой разработки приложений стоит благодарить неидеальные модели семейства Waterfall при создании ПО. Изначально «водопадная система» разработки основалась на традиционной инженерной модели, которая использовалась для проектирования и возведения зданий и мостов. На рисунке 1. представлена традиционная модель и RAD модель создания приложений.[2]
Модель быстрой разработки приложений обеспечивает короткий цикл разработки. RAD – высокоскоростная адаптация линейной последовательной модели, в которой быстрая разработка достигается за счет использования компонентно-ориентированного конструирования.[3] Если требования полностью определены, а проектная область ограничена, RAD –процесс позволяет группе создать полностью функциональную систему за очень
- Технология разработки программного обеспечения. /Ю.Ю. Якунин –Красноярск 2008. 26с
- Новейшая энциклопедия персонального компьютера /В.П.Леонтьев М.:ОЛМА-ПРЕСС 2004. 180с.
- https://worksection.com/blog/rapid-application-development.html
короткое время (60-90 дней). RAD- подход ориентирован на разработку информационных систем и выделяет следующие этапы[1]:
- Бизнес-моделирование.
- Моделирование данных
- Моделирование обработки
- Генерация приложения
- Тестирование и объединение.
Бизнес –моделирование на этом этапе моделируются информационные потоки между бизнес-функциями, находят ответы на поставленные вопросы: «Какая информация руководит бизнес –процессом? Какая информация генерируется? Кто генерирует ее? Где информация применяется? Кто обрабатывает ее?»
Моделирование данных – информация, полученная на этапе бизес-моделирования, отображается в виде объектов данных, которые необходимы для поддержки бизнеса. Определяются свойства и атрибуты каждого объекта, определяются отношения между объектами[2].
Моделирование обработки – определяются преобразования объектов данных, обеспечивающие реализацию бизнес- функций. Создаются инструкции для добавления, удаления, изменения или нахождения объектов данных. [3]
Генерация приложения- предполагается использование методов, ориентированных на языки программирования 4-го поколения. Вместо создания программного обеспечения с помощью языков программирования 3-го поколения RAD- процесс работает с повторно используемыми
- https://worksection.com/blog/rapid-application-development.html
- Технология разработки программного обеспечения. /Ю.Ю. Якунин –Красноярск 2008. 27с
- Новейшая энциклопедия персонального компьютера /В.П.Леонтьев М.: ОЛМА-ПРЕСС 2004. 180с.
программными компонентами или создает повторно используемые компоненты. Для обеспечения конструирования применяются утилиты автоматизации.[1]
Тестирование и объединение – уменьшение времени тестирования достигается в следствии повторного применения используемых компонентов, многие программные элементы уже протестированы.
Принципы RAD сосредоточены на том, чтобы обеспечить основные преимущества методики быстрой разработки приложений[2]:
- Повышенная скорость разработки
- Низкая стоимость
- Высокое качество.
Последний пункт вызывает больше всего проблем, потому что разработчик и заказчики видят предмет разработки по-разному.Группа программистов должна быть высоко подготовленная, иметь опыт в анализе, проектировании, генерации кода и тестировании программного обеспечения с использованием CASE- средств.
Выделяют следующие принципы RAD[3]:
- Минимизация временных затрат
- Прототипирование
- Цикличность разработки
- Сотрудничество
- Итерационный подход
- https://worksection.com/blog/rapid-application-development.html
- Проектирование информационных систем /О.Г. Инюшкина. Екатеринбург 2014. 70с
- Интернет-курс по дисциплине «Управление жизненным циклом информационных систем» /Д.М. Бенин. Москва 2014. 80с.