Файл: Интегрированные среды разработки программ(Понятие программы).pdf
Добавлен: 28.03.2023
Просмотров: 103
Скачиваний: 1
ВВЕДЕНИЕ
С момента появления человечество непрерывно развивается. Благодаря этому сегодня мы имеем все современные блага цивилизации – транспорт, медицина, наука и техника, и, конечно же, современные технологии. Смартфоны, лэптопы, персональные компьютеры, даже смарт–часы – с каждым годом появляется все больше и больше устройств, призванных сделать повседневную и профессиональную жизнь человека максимально комфортной. Это стало возможным благодаря целому ряду открытий и разработок – от первой вычислительной машины и до беспроводной связи.
Так, наиболее продуктивное и, что немаловажно, удобное использование вычислительных приборов становится возможным благодаря созданию специальных средств – программ. Сегодня программы настолько удобны и направлены на пользователя, что большинством из них может ежедневно пользоваться даже человек, не обладающий специальной подготовкой или образованием.
Программы разрабатываются посредством применения языков программирования. Один из наиболее удобных инструментов сегодня – это интегрированная среда разработки, которая позволяет саккумулировать все этапы разработки в одном месте.
Таким образом, цель работы – рассмотреть интегрированные среды разработки.
Для достижения цели необходимо выполнить следующие задачи:
- рассмотреть понятие программы;
- охарактеризовать этапы разработки программ;
- рассмотреть понятие интегрированной среды разработки программ;
- осуществить краткий обзор интегрированных сред разработки программ;
- подвести итоги исследования.
Объектом исследования выступает процесс разработки программ, а предметом – интегрированные среды разработки программ.
Методологической основой исследования выступили научные труды таких отечественных и зарубежных исследователей проблемы, как Абросимов Л. И., Глушаков С., Гук М., Уваров А. и др.
Структура работы содержит две главы, каждая из которых, в свою очередь, включает два параграфа. В исследование также включены такие структурные элементы, как введение, заключение и список использованных источников.
1. Разработка программ
1.1. Понятие программы
Программа представляет собой упорядоченную последовательность команд (инструкций), которая передается компьютеру или другому вычислительному устройству от программиста для решения задачи. Конечная цель любой компьютерной программы – управление аппаратными средствами.
В целом программное обеспечение является совокупностью программ обработки данных. Деятельность компьютера обеспечивается непрерывным и постоянным взаимодействием программного и аппаратного обеспечения. Как правило, данные части обеспечения компьютера рассматриваются раздельно, тем не менее, между ними существует определенная диалектическая связь, так что их разделение можно смело назвать формальным или условным [4].
Выделяют определенные уровни программного обеспечения компьютера, которые взаимодействуют между собой. В целом эти уровни выстраиваются в виде пирамидальной конструкции, где каждый следующий уровень в качестве опоры использует программное обеспечение уровней, которые были выше. Примечательно, что здесь каждый уровень, лежащий выше, повышает функциональность системы в целом.
У каждой программы есть критерии, которые говорят о ее готовности к работе и других свойствах. Так, готовой к выполнению может считаться только программа, которая содержит перечень инструкций в двоичном машинном коде – иначе говоря, это программа, написанная на языке определенного компьютера. Хдесь речь идет именно о тех программах, которые не могут быть мобильными, и не смогут работать на компьютерах с другим процессором и характеристиками [11].
Иcхoдный кoд прoгрaммы на языке программирования создает программист, используя при этoм имeющиecя в его распоряжении редакторы текстов (специальные программы, которые иcпoльзуютcя для ввoдa и модификации текстовой информации). Для перевода программы, нaпиcaннoй нa языкe программирования, в форму, готовую к выполнению (в мaшинный кoд), иcпoльзуютcя специальные системные программы (трансляторы, компоновщики), которые помогают прoгрaммиcту рaзрaбoтaть прoгрaмму. Разработчики применяют различные инструментальные средства, входящие в cocтaв cиcтeм прoгрaммирoвaния, снижающие трудоемкость разработки программ. Современные системы программирования включaют в cвoй состав текстовые редакторы, средства визуального программирования, трансляторы c oпрeдeлeнных языкoв программирования, компоновщики, позволяющие «собрать» программы из отдельно рaзрaбoтaнных мoдулeй, и средства отладки программ, позволяющие выявлять и исправлять oшибки в прoцecce разработки программы.
Все программы хранятся в файлах на дисках компьютера. Тип файла определяет способ записи программы в нем. При загрузке программы в память на выполнение она считывается из файла и записывается в выделенную ей для выполнения оперативную память с помощью специальной программы загрузки, так как процессор может прочитать и выполнить только команды, находящиеся в оперативной памяти компьютера [4].
Таким образом, кроме программ, решающих задачи пользователя, существуют и программы, выполняющие вспомогательные, обслуживающие функции, позволяющие повысить эффективность и снизить трудоемкость работы.
1.2. Этапы разработки программ
Сегодня нередко этапы разработки программ рассматривают в ключе двух циклов – каскадного и гибкого. Рассмотрим этапы разработки в данных циклах подробнее.
Каскадный цикл
Каскадный цикл разработки программ за продолжительное время своего существования вырвался вперед и стал одним из основных циклов, использующихся сегодня в процессе разработки программного обеспечения. Каскадный цикл строится на последовательном выполнении этапов разработки программы с периодическими проверками корректности действий на каждом этапе. Этапы, использующиеся для разработки программ согласно каскадному циклу, представлены в таблице 1 [9].
Таблица 1
Этапы разработки программ согласно каскадному циклу
№ |
Название |
Описание |
01 |
Подготовка |
Сбор и обработка требований. Предварительное планирование этапов работ, сроков, ресурсов и стоимости. |
02 |
Проектирование |
Получение технических заданий, разработка спецификаций. Партнер получает документальное изложение своих требований и планы проведения работ. |
03 |
Создание |
Дизайн – получение графических макетов, визуальных форм, разработка интерфейсов. Создание индивидуального стиля. Кодирование – написание исходного кода. Тестирование – проверка программы на соответствие всем предъявляемым к ней требованиям. Документирование – передача накопленных знаний пользователям и другим разработчикам. |
04 |
Поддержка |
Внедрение – установка программного обеспечения, обучение пользователей. Сопровождение – исправление выявленных ошибок, поддержка пользователей. |
Гибкий цикл
Второй из наиболее распространенных – гибкий цикл разработки, позволяющий без негативных последствий изменять направление деятельности, вносить дополнительные задания, требовать детальной проработки узких мест.
Создание ПО с помощью гибкого цикла разработки заключается в реализации небольших итераций – коротких циклов – спринтов, являющихся, по сути, мелкими проектами и занимающих от одной до четырех недель. При завершении отдельного продуктивного периода проводится анализ и переориентирование на новые задачи следующего цикла. Количество спринтов может быть любым. Этапы проиллюстрированы ниже (таблица 2) [9].
Таблица 2
Этапы разработки программ согласно гибкому циклу
№ |
Название |
Описание |
01 |
Планирование |
Постановка целей спринта и выбор действий для их реализации, распределение имеющихся ресурсов. |
02 |
Разработка |
Практическое решение задач для достижения целей спринта. |
03 |
Тестирование |
Аккумулирование итоговой информации в целях контроля выполнения задач спринта. Анализ ошибок и причин отклонений от плана. Поиск путей исправления оплошностей. |
04 |
Демонстрация |
Представление заказчику готовой части ПО. |
05 |
Внедрение |
По требованию возможно использование ПО в качестве самостоятельного продукта. |
Если выбирать из каскадного и гибкого цикла, то следует иметь в виду, что применение гибкого цикла оправдано в крупных проектах, растянутых по времени, при постоянных изменениях требований пользователей; а также в других случаях, где невозможно точное планирование. Каскадный цикл больше подойдет для небольших проектов с четко определенными требованиями и при наличии специалистов нужной квалификации.
Степень риска при разработке ПО варьируется в зависимости от выбранного цикла. При гибком цикле выше вероятность возникновения неудачных архитектур, но и устранять ошибки проще. При каскадном цикле архитектурные погрешности обнаруживаются в конце проекта, а исправление недостатков значительно сложнее и дороже. Следовательно, наиболее корректный выбор того или иного цикла разработки возможен в зависимости от требований, предъявляемых к будущей программе, а также от ресурсов проекта [12].
В первой главе работы рассмотрено понятие программы и программного обеспечения. Также определено, что наиболее распространены сегодня два подхода к программированию – каскадный цикл и гибкий цикл. Каждый из них обладает своими особенностями и недостатками. Тем не менее, как при опоре на каскадную систему разработки, так и на гибкую, возможно применение интегрированных сред разработки. К сегодняшнему дню технологии достигли невиданных высот развития, и интегрированные среды разработки не стали исключением – их множество, и подробно они будут рассмотрены в следующих разделах исследования.
2. Интегрированные среды разработки
2.1. Понятие интегрированной среды разработки программ
Интегрированная среда разработки, ИСР – система программных средств, используемая программистами для разработки программного обеспечения (ПО).
Обычно среда разработки включает в себя:
- текстовый редактор;
- компилятор и / или интерпретатор;
- средства автоматизации сборки;
- отладчик [14].
Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов – для использования при объектно–ориентированной разработке ПО. Хотя и существуют ИСР, предназначенные для нескольких языков программирования – такие, как Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator или Microsoft Visual Studio, но обычно ИСР предназначается для одного определённого языка программирования – как, например, Visual Basic, PureBasic, Delphi, Dev–C++.
Частный случай ИСР, их эволюционное развитие – среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.
Интегрированные среды разработки были созданы для того, чтобы максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами. Это позволит разработчику делать меньше действий для переключения различных режимов, в отличие от дискретных программ разработки. Однако, так как IDE является сложным программным комплексом, то лишь после долгого процесса обучения среда разработки сможет качественно ускорить процесс разработки ПО [2].
Обычно IDE ориентирована на определенный язык программирования, предоставляя набор функций, который наиболее близко соответствует парадигмам этого языка программирования. Однако, есть некоторые IDE с поддержкой нескольких языков, такие как Eclipse, ActiveState Komodo, последние версии NetBeans, Microsoft Visual Studio, WinDev и Xcode.
IDE обычно представляет из себя единственную программу, в которой проводилась вся разработка. Она обычно содержит много функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель среды разработки заключается в том, чтобы абстрагировать конфигурацию, необходимую, чтобы объединить утилиты командной строки в одном модуле, который позволит уменьшить время, чтобы изучить язык, и повысить производительность разработчика. Также считается, что трудная интеграция задач разработки может далее повысить производительность. Например, IDE позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках. В то время как большинство современных IDE являются графическими, они использовались еще до того, как появились системы управления окнами (которые реализованы в Microsoft Windows или X11 для *nix–систем). Они были основаны на тексте, используя функциональные клавиши или горячие клавиши, чтобы выполнить различные задачи (например, Turbo Pascal). Использование IDE для разработки программного обеспечения является прямой противоположностью способа, в котором используются несвязанные инструменты, такие как vi (текстовый редактор), GCC (компилятор), и т.п. [2]