Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

ИНТЕГРИРОВАННЫЕ СРЕДЫ РАЗРАБОТКИ ПРОГРАММ (Интегрированная среда Microsoft Visual studio)

Содержание:

Введение

Мир не стоит на одном месте, он все время меняется, развивается, приобретая все новые и новые черты. Если первобытному человеку достаточно было просто поесть и не быть съеденным, то после того как он сумел овладеть первобытными инструментами, человек с каждым днем стал продвигать прогресс. Человек стремился упростить свою жизнь, сделать более удобнее. Научился получать электричество, управлять реками.

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

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

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

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

1. История появления и развития языков программирования

Основоположником программирования можно считать английского математика Чарлза Бэббиджа (1791—1871 гг.). В 20-х годах XIX века ему пришла идея создать такую механическую машину для вычислений, что порядок ее действий можно было предварительно записывать и впоследствии выполнять эти действия на машине автоматически. [1]Примитивное развитие вычислительной техники не позволили добиться признания при жизни, но он оказал огромное влияние на современное развитие информатики.

У истоков программирования стояла так же Ада Лавлейс. Она оказалась одним из немногих современников Ч. Бэббиджа, кто сумел по достоинству оценить идею «аналитической машины». А. Лавлейс разрабатывала приемы управления последовательности вычислений, которые используются в программировании до сих пор. Ада Лавлейс описала одну из важнейших конструкций практически любого современного языка программирования –Цикл, поэтому ее по праву считают первым программистом в мире.[2] Долгое время программисты записывали решаемые задачи математическими формулами, а затем, используя специальную таблицу переводил символ за символом, преобразуя формулы в двухлитерные коды. В 1945 году, по окончании Великой Отечественной войны, Цузе переехал из Берлина в Баварские Альпы, где и занялся определением языка для будущей логической машины. Язык, названный им Plankalkül фактически, представляет собой языком программирования высокого уровня с такими современными чертами:[3]

  • наличие повторно вызываемых функций;
  1. Методы программирования. Компьютерные вычисления / А. В. Могилев, Л. В. Листрова. — СПб.: БХВ-Петербург, 2008. — 11с.
  2. Основы программирования. Часть I./ А.А. Тюгашев - СПБ: Университет ИТМО, 2016. – 18с.
  3. Архитекторы компьютерного мира. –СПб.: БХВ-Петербург, 2002. - 231с.
  • встроенные типы данных;
  • массивы;
  • аналог условного оператора;
  • исключения;
  • цикл ПОКА [1]

В 1951 году Г. Хоппер создала первый компилятор и ею же был введен сам этот термин. Компилятор Г. Хоппер осуществлял функцию объединения и в ходе трансляции производил организацию подпрограмм, выделение памяти компьютера, преобразование команд высокого уровня (в то время псевдокодов) в машинные команды. Еще одним нововведением группы под руководством Г. Хоппер стало фундаментальное понятие техники программирования – «отладка». Термин debugging (отладка) используется в технических процессах для тестирования и поиска неисправностей в компьютере, а также в системах программирования. Середина 50-х годов XX века характеризуется стремительным ростом в области программирования. Активное внедрение языков программирования, которые выступали в роли посредника между программистом и машиной.[2]

Наибольшее распространение получил язык программирования Фортран. Название произошло от FORmula TRANslator (переводчик формул). Fortran был разработан группой программистов корпорации IBM под руководством Джона Бэкуса. Фортран разрабатывался в первую очередь для научных и инженерных вычислений. Главным преимуществом фортрана является огромное количество написанных на нем программ и библиотек подпрограмм. [3] Благодаря этому

  1. Методы программирования компьютерные вычисления /А.В. Могилев, Л.В. Листрова. СПБ.: БХВ-Петербург, 2008. -11с
  2. Эволюция языка Фортран. Устаревшие черты языка и средства для их замены /А.М. Горелик – Москва 2018. 3с.
  3. Паскаль. Руководство для пользователя /К.Иенсен, Н.Вирт -Москва 1989. 5с.

даже спустя 65 лет Фортан является мощным языком программирования и на его базе было разработано большое число версии. Стандартизированный язык фортран включает в себя версии: 66, 77,90,95, 03, 08. В 1970 г. швейцарский ученый Никлаус Вирт презентовал язык программирования Паскаль. Созданный специально с педагогическими целями язык Паскаль оказался крайне удачным в силу того, что ему просто научиться. Кроме того, он стал основой обсуждения языков программирования вообще и своеобразным эталоном для сопоставлений. [1]

В середине 1960-х годов сотрудники математического факультета Дартмутского колледжа Томас Курц и Джон Кемени создали специализированный язык программирования, который состоял из простых слов английского языка. Новый язык назвали «универсальным символическим кодом для начинающих» (Beginners All Purpose Symbolic Instruction Code, или, сокращенно BASIC.[2] BASIC благодаря простоте заслужил популярность и широкое распространение среди пользователей ЭВМ. Основной идеей команды было создание простого языка для студентов, которые могли бы без затруднений писать программы, не имея специальной подготовки. При проектировании языка использовались восемь принципов. Basic должен был быть[3]:

  • Простым в использовании для начинающих
  • Быть языком программирования общего назначения
  • Предоставлять возможность расширения функциональности, доступную опытным программистам
  • Быть интерактивным
  1. https://habr.com/ru/post/227711
  2. Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 18с
  3. Методы программирования компьютерные вычисления /А.В. Могилев, Л.В. Листрова. СПБ.: БХВ-Петербург, 2008. -14с
  • Предоставлять ясные сообщения об ошибках
  • Быстро работать на небольших программах
  • Не требовать понимания работы аппаратного обеспечения
  • Защищать пользователя от операционной системы

В 1970-е годы разрабатывается язык для создание систем искусственного интеллекта –Prolog. [1]

Бурный рост числа различных языков программирования в период с конца 1960-х и до начала 1980-х сопровождался, как ни странно, кризисом программного обеспечения. Остро не хватало программ для решения самых разных задач и программистов для их разработки, а написанные программы часто содержали ошибки и работали неустойчиво. [2]

Все это в купе с традиционным подходом написания программ, сильно тормозило развитие программирования. При традиционном подходе написание программы строится следующим образом: [3]

  • Исходный текст набирается при помощи любого текстового редактора
  • По завершении набора, работа с текстовым редактором прекращается и запускается кросс компилятор
  • Как правило, вновь написанная программа содержит синтаксические ошибки, и компилятор сообщает о них на консоль оператора.
  • Вновь запускается текстовый редактор, и оператор должен найти и устранить выявленные ошибки, при этом сообщения о характере ошибок
  1. Методы программирования компьютерные вычисления /А.В. Могилев, Л.В. Листрова. СПБ.: БХВ-Петербург, 2008. -16с
  2. Системное программное обеспечение. /А.Ю. Молчанов –СПБ. 2010. 275с
  3. Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 18с

выведенные компилятором уже не видны, так как экран занят текстовым редактором. [1]

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

  • Текстовые редакторы, служащие для создания текстов исходных программ;
  • Компоновщики, позволяющие объединять несколько объектных модулей, порождаемых компилятором, в единое целое;
  • Библиотеки прикладных программ, содержащие в себе наиболее часто используемые функции и подпрограммы в виде готовых объектных модулей;
  • Загрузчики, обеспечивающие программу в заданном режиме с целью
  1. Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 18с
  2. Системное программное обеспечение. /А.Ю. Молчанов –СПБ. 2010. 276с
  3. Методы программирования компьютерные вычисления /А.В. Могилев, Л.В. Листрова. СПБ.: БХВ-Петербург, 2008. -19с

поиска, обнаружения и локализации ошибок;

  • Другие программные средства, служащие для разработки программ и их компонентов.

Для упрощения и удобства написания программ, следовательно, и удешевления стоимости разработки ПО, стали разрабатываться Интегрированные среды разработки (анг. ID, Integrated Development Environment или Integrated Debugging Environment) – система программных средств, используемая программистами для разработки программного обеспечения. Интегрированная среда разработки программ объединяет в себе возможности текстовых редакторов и командного языка компилятора, а также некоторых других компонентов системы программирования, например, редактора и отладчика.

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

Используя литературу, изученную в ходе подготовки к курсовой, познакомился с людьми, которые внесли свою лепту в развитие языков программирования. Люди кто шаг за шагом приближал научный прогресс к настоящим результатам, проблемы с которыми столкнулись первые программисты. По праву можно сказать что и Бэббидж, и Ада Лавлейс, и Г. Хоппер, и многие-многие другие были первопроходцами в своем деле. Именно первым программистам пришлось создавать фундамент для программирования как науки. Создания технической документации, разработка принципов, инструментов, все это требовало колоссальных сил и знаний, а главное любви к своему делу.

2. Компоненты Интегрированной среды разработки

К настоящему моменту сложилось представление о традиционном составе инструментальной системы (среды) программирования (IDE), в который входят следующие программные инструменты и библиотеки[1]:

  • Редактор для построения программ
  • Транслятор для перевода программ с языка программирования на машинный язык
  • Отладчик для проверочных запусков программ и исправления ошибок
  • Библиотеки периода трансляции и периода исполнения
  • Средства управления компиляцией и построением программного проекта
  • Монитор, интегрирующий в себе вышеперечисленные средства и организующий функционирование системы программирования в целом.[2]

Редактором для построения программ, как правило, является текстовым редактором, который используется для ввода исходного кода программы. Редакторы имеют расширенный функционал- подсветку синтаксиса, сортировку строк, конвертацию кодировок, шаблоны, показ кодов символов. Иногда их называют редакторами кода, так как основное их предназначение- написание исходных кодов компьютерных программ. [3]

Подсветка синтаксиса - это выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний. Применение подсветки позволяет облегчить чтение текста, так же улучшает визуальное восприятие. [4]

  1. Профессиональное программирование системный подход 2 изд. /И.О. Одинцов - БХВ –Петербург, 2004. 315с
  2. http://bourabai.ru/C-Builder/
  3. Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 19с
  4. Системное программное обеспечение. /А.Ю. Молчанов – СПб. 2010. 279с

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

Существуют несколько видов транслятора[1]:

  • Компиляторы
  • Декомпиляторы
  • Интерпритаторы.

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

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

  1. Системное программное обеспечение формальные языки и методы трансляции ч3./ А.А. Малявко– Новосибирск 2012. 41с
  2. Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 29с
  3. 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]

  1. https://www.opennet.ru/docs/RUS/make_compile/ OpenNET
  2. Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 19с
  3. Переход к Microsoft Visual Studio 2010 /Патрис Пелланд, Паскаль Паре, Кен Хайнс 247с

Библиотеки периода трансляции и периода исполнения- инструкции и адреса элементов памяти, отводимых компилятору для хранения в период трансляции и всего периода исполнения. [1]

Средства управления компиляцией и построением программного проекта– это утилита, содержащая инструкции по прядку сборки программного

проекта: МakeFile, для Unix систем аналог GNU make (Ричард Столлман, Роланд МакГрат). [2]

Монитор состоит из трех основных компонентов:

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

Интегрированная среда объединила в себе возможности текстовых редакторов и командный язык компиляции. Разработчикам теперь не требовалось отвечать за передачу данных с выхода одного средства разработки на вход другого. Так же не требовалось описывать процесс с помощью языка MakeFile. Makefile каждый раз заново создавался в процессе создания сложных проектов и содержал инструкции по сборки и компиляции проекта. [3]

В частных случаях IDE –среды визуальной разработки, которые позволяют визуальное редактирование интерфейса программы. Настоящую популярность интегрированные среды разработки приобрел в середине 1980-х годов благодаря компании Borland lnk. (http://borland.com).

  1. Управление версиями с помощью CVS /А. Мохоткин (перевод на русский) 2001. 9с
  2. https://habr.com/ru/post/472600/
  3. Русская документация по 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]

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

  1. Русская документация по CVS https://www.opennet.ru/docs/RUS/cvsrdp/
  2. Компоненты и технологии / Денис Шехалев №5 2010. С153
  3. https://habr.com/ru/post/472600/

размер этого кода недостаточен для выделения его в отдельный проект, например, это могут быть небольшие компоненты общего применения (модули скремблеров, интерфейсов и т.д.). В таких ситуациях можно использовать ссылки на другие проекты и репозитории системы управления версиями.[1]

В случае если невозможно провести слияние в ни автоматическом ни в ручном режиме (формат файла слишком сложен или неизвестен), CVS дают возможность блокирования файла в репозитории. Блокировка не позволяет получить доступ к рабочей копии файла, в то же время обеспечивает исключительный доступ только пользователю, который работает с документом[2]

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

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

  1. Компоненты и технологии / Денис Шехалев №5 2010. С156
  2. https://habr.com/ru/post/472600/
  3. Переход к 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 –процесс позволяет группе создать полностью функциональную систему за очень

  1. Технология разработки программного обеспечения. /Ю.Ю. Якунин –Красноярск 2008. 26с
  2. Новейшая энциклопедия персонального компьютера /В.П.Леонтьев М.:ОЛМА-ПРЕСС 2004. 180с.
  3. https://worksection.com/blog/rapid-application-development.html

короткое время (60-90 дней). RAD- подход ориентирован на разработку информационных систем и выделяет следующие этапы[1]:

  • Бизнес-моделирование.
  • Моделирование данных
  • Моделирование обработки
  • Генерация приложения
  • Тестирование и объединение.

Бизнес –моделирование на этом этапе моделируются информационные потоки между бизнес-функциями, находят ответы на поставленные вопросы: «Какая информация руководит бизнес –процессом? Какая информация генерируется? Кто генерирует ее? Где информация применяется? Кто обрабатывает ее?»

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

Моделирование обработки – определяются преобразования объектов данных, обеспечивающие реализацию бизнес- функций. Создаются инструкции для добавления, удаления, изменения или нахождения объектов данных. [3]

Генерация приложения- предполагается использование методов, ориентированных на языки программирования 4-го поколения. Вместо создания программного обеспечения с помощью языков программирования 3-го поколения RAD- процесс работает с повторно используемыми

  1. https://worksection.com/blog/rapid-application-development.html
  2. Технология разработки программного обеспечения. /Ю.Ю. Якунин –Красноярск 2008. 27с
  3. Новейшая энциклопедия персонального компьютера /В.П.Леонтьев М.: ОЛМА-ПРЕСС 2004. 180с.

программными компонентами или создает повторно используемые компоненты. Для обеспечения конструирования применяются утилиты автоматизации.[1]

Тестирование и объединение – уменьшение времени тестирования достигается в следствии повторного применения используемых компонентов, многие программные элементы уже протестированы.

Принципы RAD сосредоточены на том, чтобы обеспечить основные преимущества методики быстрой разработки приложений[2]:

  • Повышенная скорость разработки
  • Низкая стоимость
  • Высокое качество.

Последний пункт вызывает больше всего проблем, потому что разработчик и заказчики видят предмет разработки по-разному.Группа программистов должна быть высоко подготовленная, иметь опыт в анализе, проектировании, генерации кода и тестировании программного обеспечения с использованием CASE- средств.

Выделяют следующие принципы RAD[3]:

  • Минимизация временных затрат
  • Прототипирование
  • Цикличность разработки
  • Сотрудничество
  • Итерационный подход
  1. https://worksection.com/blog/rapid-application-development.html
  2. Проектирование информационных систем /О.Г. Инюшкина. Екатеринбург 2014. 70с
  3. Интернет-курс по дисциплине «Управление жизненным циклом информационных систем» /Д.М. Бенин. Москва 2014. 80с.
  • Комбинирование.

Минимизация временных затрат- принцип нацеленный на уменьшение времени разработки программного продукта.

Прототипирование- создание прототипов под конкретные требования заказчика.[1]

Цикличность разработки- каждая новая версия продукта основывается на предыдущих версиях.

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

Жизненный цикл программного обеспечения по RAD включает в себя четыре фазы: [2]

  • Фаза анализа и планирования требований
  • Фаза проектирования
  • Фаза построения
  • Фаза внедрения
  • Фаза сопровождения

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

  1. https://worksection.com/blog/rapid-application-development.html
  2. Проектирование информационных систем /О.Г. Инюшкина. Екатеринбург 2014. 72с
  3. Модели жизненного цикла и технологии проектирования программного обеспечения /Е.А. Кумагина, Е.А. Неймарк. Нижний Новгород, 2016 13с

Проводится определение возможности реализации проекта в установленных рамках финансирования, на данных аппаратных средствах. [1]

Фаза проектирования- пользователи принимают участие в техническом проектировании системы под руководством специалистов-разработчиков при помощи CASE-средств (уточняются доп требования к системе, которые не были выявлены на предыдущей фазе). CASE средства (Computer - Aided Software Engineering) – это инструмент, который позволяет автоматизировать процесс разработки информационной системы и программного обеспечения. Разработка и создание информационных систем управления предприятием связаны с выделением бизнес-процессов, их анализом, определением взаимосвязи элементов процессов, оптимизации их инфраструктуры и т.д. Основной целью применения CASE средств является сокращение времени и затрат на разработку информационных систем, и повышение их качества.)[2]

Фаза построения- непосредственно быстрая разработка программного обеспечения на основе полученных по предыдущим фазам результатов. На этом этапе пользователи продолжают участвовать в развитии продукта, предлагая изменения и улучшения приложений. Программный код частично формируется при помощи автоматических генераторов, получающих информацию непосредственно из репозитория CASE-средств. На фазе построения также проходит тестирования продукта. После окончания работ каждой отдельной команды разработчиков происходит постепенная интеграция новой части системы к основной. Формируется полный программный код, тестируется совместимость части с основной системой, и системы в целом. [3]

  1. Модели жизненного цикла и технологии проектирования программного обеспечения /Е.А. Кумагина, Е.А. Неймарк. Нижний Новгород, 2016 14с
  2. https://worksection.com/blog/rapid-application-development.html
  3. Проектирование информационных систем /О.Г. Инюшкина. Екатеринбург 2014. 72с

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

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

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

Стоит выделить положительные и отрицательные стороны RAD технологии:

  • Главным плюсом является высокое качество конечного продукта, достигается за счет вовлечения в процесс создания продукта непосредственно пользователей для кого создается продукт.
  • Снижение рисков– использование среды быстрой разработки позволяет на ранних этапах проектирования определить главные риски и подготовится к их решению.
  • Скорость выполнения проекта- максимальное время, отведенное на выполнения проекта 60-90 дней.
  • Для создания готового продукта достаточно небольшого числа программистов.
  • Достаточно небольшого бюджета.

Из минусов можно выделить – RAD используется для относительно небольших проектов, разработки ведутся под конкретного заказчика. Быстрая среда разработки не подходит для построения сложных расчетных программ. Невозможность использование программ, написанных с использование технологии RAD, для ПО от которого зависит безопасность людей. (возможны скрытые ошибки из-за которых могут пострадать люди).

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

В настоящее время одной из наиболее популярной интегрированной средой разработки является Microsoft Visual Studio 2015 - это набор инструментов для создания программного обеспечения: от планирования до разработки пользовательского интерфейса, написания кода, тестирования, отладки, анализа качества кода и производительности, развертывания в средах клиентов и сбора данных телеметрии по использованию. Эти инструменты предназначены для максимально эффективной совместной работы; все они доступны в интегрированной среде разработки (IDE) Visual Studio.[1]

Степень интеграции различных компонент и их ассортимент в базовой комплектации (Community Edition и выше) достаточны для того, чтобы при выполнения всех задач заказчика не пришлось что-то искать в настройках или устанавливать дополнительные компоненты: всё работает “из коробки”. Это несомненный плюс данной IDE. Также её преимуществами являются качественный встроенный редактор (и в целом интерфейс пользователя) и высокая степень интеграции предоставляемого отладчика (его удобно использовать). Microsoft Visual Studio обладает удобным интерфейсом и легкостью в понимании работы продукта. (рис.2)

Microsoft Visual Studio включает в себя инструменты для каждого поддерживаемого языка[2]:

• VisualBasic.NET

• Visual C++

• Visual C#

• Visual F#

  1. http://visual-studio.download-windows.org/
  2. https://technet.microsoft.com/ru-ru/office/dn762121(v=vs.85)

Каждый язык, входящий в состав Visual Studio, имеет свой компилятор с одной важной специфической особенностью: для обеспечения переносимости такой компилятор переводит программу не в исполняемый код, а в набор машинно-независимых инструкций языка СIL (Common Intermediate Language – общий промежуточный язык)[1]. Этот язык не содержит команд, зависящих от исходного языка, опера­ционной системы и типа компьютера. Программа на языке СIL выполняется под управлением системы CLR (Common Language Runtime – общеязыковой среды выполнения).

В среде можно разрабатывать приложения для множества платформ, включая Windows, Xbox, и MacOS. Для удобной и быстрой работы в VS реализованы следующие функции[2]:

  • Технология IntelliSense автоматически дописывает функции при вводе первых букв, находит и исправляет неоднозначности в названиях элементов и другие ошибки. Также он рефакторизирует код, делая его проще.
  • Огромная библиотека расширений, которая постоянно увеличивается;
  • Настраиваемая панель и закрепляемые окна;
  • Простой рабочий процесс и файловая иерархия;
  • Статистика мониторинга производительности в режиме реального времени;
  • Отладчик работает на машинном и исходном уровнях кода.
  • Легкий рефакторинг и вставка фрагментов кода;
  • Поддержка разделенного экрана;
  • Список ошибок, который упрощает отладку;
  • Проверка утверждения при развертывании приложений с помощью ClickOnce, Windows Installer или Publish Wizard. [3]
  1. http://visual-studio.download-windows.org/
  2. https://technet.microsoft.com/ru-ru/office/dn762121(v=vs.85)
  3. Microsoft Visual Studio 2010/ А.Л. Голощапов 2011.- СПБ.: БХВ- Петербург. 54с.

IntelliSense — это общий термин для набора очень популярных функций, отображающих сведения о типах в коде непосредственно в редакторе и в некоторых случаях, автоматически создающих небольшие отрывки кода. По сути IntelliSense представляет собой базовую документацию, встроенную в редактор, что избавляет от необходимости поиска информации о типах в отдельном окне справки. Функции IntelliSense зависят от языка. [1]

Пользователю дается возможность устанавливать интеллектуальные точки, а историю диагностики опционально сохраняются в специальном журнале[2].

• Доступны дизайнеры классов и схем базы данных.

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

•Разработчики могут вести командные проекты, используя для передачи данных Team Foundation Server.

• В App Center можно за пару кликов загружать разработанные мобильные приложения в магазины, отправлять пользователям бета-версии и следить за результатами тестирования.

• В MarketPlace доступны тысячи различных расширений, вроде Эмулятора Android и Ассистента Visual Assist. Те, кто не нашел там нужных дополнений, могут самостоятельно разработать их и добавить в магазин.

Можно отметить что для студентов и независимых разработчиков VS распространяется бесплатно, но для коммерческого использования требуется приобретения полного пакета. Интерфейс переведен на 14 языков, включая русский. Последняя версия – Visual Studio 2019. Visual Studio- один из наиболее популярных IDE ПО.

  1. http://visual-studio.download-windows.org/
  2. Microsoft Visual Studio 2010/ А.Л. Голощапов 2011.- СПБ.: БХВ- Петербург. 55с.

Плюсы Visual Studio - это простота использования, все компоненты приложения не требуют дополнительных настроек. Компания Microsoft постоянно разрабатывает обновления для своего ПО, выпуская патчи обновлений и исправлений безопасности.

Компоненты для обучения и домашнего использования распространяются совершенно бесплатно.

Из минусов можно отметить- невозможность отладчика Microsoft Visual Studio Debugger отслеживать в коде режима ядра. Отладка в ОС Windows в режиме ядра выполняется как правило с использованием WinDbg, SoftICE или KD. Второй минус – в случае отказа одного из компонентов VS происходит нарушении в работе всего ПО.

Еще один минусом Visual Studio можно назвать требовательность к ресурсом ПК. На бюджетных офисных машинах даже внесение простых изменений может отнять много времени.

3.2 Свободная интегрированная среда Eclipce

Eclipse (от англ. затмение) – свободная интегрированная среда разработки модульных кроссплатформенных приложений (рисунок 69). Развивается и поддерживается некоммерческой организацией Eclipse Foundation (http://www.eclipse.org/).[1]

Первоначально Eclipse разрабатывался фирмой “IBM” в качестве корпоративного стандарта IDE для разработки на разных языках под платформы от данной компании. Исходный код Eclipse был полностью открыт и сделан доступным после того, как Eclipse был передан для дальнейшего развития независимому от “IBM” сообществу.  Eclipse распространяется в рамках лицензии EPL - Eclipse Public License (Открытая лицензия Eclipse) V1.0, одобренной OSI и нацеленной на то, чтобы облегчить коммерческое признание Eclipse, при этом сохраняя лояльность к авторам исходного кода.[2]

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

Eclipse поддерживает Java, JS, C/C++, PHP, Python, 1C v8 и ряд других языков программирования, взаимодействует с любыми операционными системами. [3]

  1. Рейтинг интегрированных сред разработки https://www.internet-technologies.ru/articles/10-luchshih-ide.html
  2. https://www.ibm.com/developerworks/ru/library/os-eclipse-platform/
  3. Среда разработки Java-приложений Eclipse/ С.А. Казарин, А.П. Клишин. Москва 2008. -14с

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

Особенности Eclipse:

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

Интерфейс, ориентированный на задачи, включая уведомления в системном трее;

  • Улучшения Java IDE, такие как иерархические представления вложенных проектов;
  • Автоматическое создание отчетов об ошибках;
  • Параметры инструментария для проектов JEE;
  • Интеграция с JUnit.

Рабочее пространство Eclipse состоит из нескольких панелей, называемых представлениями, например, навигационное или схематическое представления (navigator or outline views). Набор таких представлений называется перспективой. Одна из наиболее распространённых перспектив - перспектива Ресурсы (Resource), которая представляет собой базовый набор представлений для управления проектами и просмотра, а также редактирования файлов проекта.

  1. Среда разработки Java-приложений Eclipse/ С.А. Казарин, А.П. Клишин. Москва 2008. -15с
  2. https://www.ibm.com/developerworks/ru/library/os-eclipse-platform/
  3. Рейтинг интегрированных сред разработки https://www.internet-technologies.ru/articles/10-luchshih-ide.html

К плюсам Eclipse можно отнести – простоту в установке и использовании. В отличие от VS абсолютно бесплатная, с открытым исходным кодом. Как и все IDE позволяет ускорить разработку приложений. Для Eclipse в любой момент можно догрузить плагин, который позволит расширить дополнительные функции. Имеется возможность подключаться к БД. Но, пожалуй, главным плюсом, я считаю, для начинающего программиста является – сообщество разработчиков, которое могут подсказать и указать на ошибки в коде, а также документация, накопленная за долгое существование IDE Eclipse.

К недостаткам Eclipse относят – не совсем оптимальный код, среда получилась тяжелой, требовательной к ресурсам. Разнообразие плагинов требует от программиста хороших знаний особенностей. Часто не совместимы плагины с обновленной версией Eclipse. Так же возможны конфликты плагинов друг с другом, что может вызвать ошибки в ПО.

3.3 Интегрированная среда NetBeans

NetBeans IDE - бесплатная интегрированная среда разработки с открытым исходным кодом для разработчиков программного обеспечения. Среда предоставляет все средства, необходимые для создания профессиональных десктоп приложений, корпоративных, мобильных и веб-приложений на платформе Java, а также C/C++, PHP, JavaScript, Groovy и Ruby.[1]

NetBeans появилась как студенческий университетский проект в Праге в 1996 году. В 1997 году IDE стала коммерческим продуктом, а в 1999 году её выкупила компания Sun Microsystems (родители Java) и уже на следующий год представила open source-релиз.

Особенности NetBeans IDE[2]:

  • Рабочий интерфейс NetBeans является полностью настраиваемый- существует возможность пользовательской настройки действий, выполняемых с помощью панели, имеется возможность настройки «горячих клавиш.
  • NetBeans IDE имеет многоязыковой редактор для различных языков программирования, таких как: Java, C/C++, Ruby, Groovy, PHP, JavaScript, CSS, XML, HTML, RHTML, JSP
  • Среда автоматически проводит проверку ошибок во время ввода кода, отображаются варианты для автозавершения кода и фрагментов документации по требуемому языку.
  • Редактор может генерировать и вставлять в исходный код стандартные фрагменты кода на Java или других языках.
  1. Рейтинг интегрированных сред разработки https://www.internet-technologies.ru/articles/10-luchshih-ide.html
  2. https://javarush.ru/groups/posts/1642-eclipse-netbeans-ili-intellij-idea-vihbiraem-ide-dlja-java-razrabotki
  • Интуитивный drag-and-drop интерфейс;
  • Динамические и статические библиотеки;
  • Интеграция нескольких сессий GNU-отладчика с поддержкой кода;
  • Возможность осуществлять удаленное развертывание
  • NetBeans IDE является платформой для построения десктопных приложений с пользовательским интерфейсом.

NetBeans - единственная IDE, которая устроит и начинающего разработчика, и профессионала. Наличие подробной встроенной справочной системы обеспечит быстрый старт для начинающих пользователей[3]

К положительным качествам Netbeans можно отнести- малый объем среды. Так же как уже было отмечено Netbeans является дружелюбной для программистов, которые только изучают языки программирования. Можно так же отметить простоту интерфейса, который можно перенастроить под конкретного пользователя.

Еще один не мало важным плюсом является функция авто-завершения текста. Netbeans так же поддерживает систему управления версиями (CVS)

К минусам можно отнести отсутствие справок по тому языку, для которого IDE предназначено.

Требовательность к ресурсам ПК, из-за использования JAVA.

Заключение

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

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

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

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

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

Список литературы

  1. Microsoft Visual Studio 2010/ А.Л. Голощапов 2011.- СПБ.: БХВ- Петербург. 544с
  2. NetBeans IDE - универсальная интегрированная среда разработки приложений https://hightech.in.ua/content/art-netbeans-ide
  3. Архитекторы компьютерного мира. –СПб.: БХВ-Петербург, 2002. 231с.
  4. Интернет-курс по дисциплине «Управление жизненным циклом информационных систем» /Д.М. Бенин. Москва 2014. 127с.
  5. Компоненты и технологии / Денис Шехалев №5 2010. С156
  6. Методы программирования компьютерные вычисления /А.В. Могилев, Л.В. Листрова. СПБ.: БХВ-Петербург, 2008. 320с
  7. Модели жизненного цикла и технологии проектирования программного обеспечения /Е.А. Кумагина, Е.А. Неймарк. Нижний Новгород, 2016. 41с.
  8. Новейшая энциклопедия персонального компьютера /В.П.Леонтьев М.: ОЛМА-ПРЕСС 2004. 734с
  9. Основы программирования ч.1/ А.А. Тюгашев – СПб: Университет ИТМО. 2016. 142с
  10. Паскаль. Руководство для пользователя /К.Иенсен, Н.Вирт -Москва 1989. 254с.
  11. Переход к Microsoft Visual Studio 2010 /Патрис Пелланд, Паскаль Паре, Кен Хайнс 247с
  12. Проектирование информационных систем /О.Г. Инюшкина. Екатеринбург 2014. 240с
  13. Профессиональное программирование системный подход 2 изд. /И.О. Одинцов - БХВ –Петербург, 2004. 610с
  14. Рейтинг интегрированных сред разработки https://www.internet-technologies.ru/articles/10-luchshih-ide.html
  15. Русская документация по CVS https://www.opennet.ru/docs/RUS/cvsrdp/
  16. Системное программное обеспечение. /А.Ю. Молчанов –СПБ. 2010. 279с
  17. Системы программирования /И.А. Волкова, И.Г. Головин, Л.Е. Карпов –Москва 2009. 130с
  18. Среда разработки Java-приложений Eclipse/ С.А. Казарин, А.П. Клишин. Москва 2008. 77с
  19. Технология разработки программного обеспечения. /Ю.Ю. Якунин –Красноярск 2008. 169с
  20. Управление версиями с помощью CVS /А. Мохоткин (перевод на русский) 2001. 180с
  21. Эволюция языка Фортран. Устаревшие черты языка и средства для их замены /А.М. Горелик – Москва 2018. 14с.
  22. http://bourabai.ru/C-Builder/
  23. http://visual-studio.download-windows.org/
  24. https://habr.com/ru/post/227711
  25. https://javarush.ru/groups/posts/1642-eclipse-netbeans-ili-intellij-idea-vihbiraem-ide-dlja-java-razrabotki
  26. https://technet.microsoft.com/ru-ru/office/dn762121(v=vs.85)
  27. https://worksection.com/blog/rapid-application-development.html

7. Приложение

Рис.1 Традиционная и RAD модели создания приложений

Рис2. Интерфейс Microsoft Visual Studio 2013.

Рисунок 3. Главное окно IDE Eclipse

Рисунок 4. Главное окно IDE NetBeans