Главная страница
Навигация по странице:

  • Средства разработки программного обеспечения

  • Sublime Text

  • Visual Studio от Microsoft

  • Компиля́тор

  • Resource Hacker

  • Devesar Book Editor

  • Dependency Walker

  • Дизассе́мблер

  • Декомпиля́тор

  • .NET Reflector

  • Driver

  • синего экрана смерти

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

  • Microsoft Visual Studio

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


    Скачать 31.65 Kb.
    НазваниеИнструментальные средства разработки программ
    Анкорпрактическая
    Дата31.01.2023
    Размер31.65 Kb.
    Формат файлаdocx
    Имя файла206-271.docx
    ТипДокументы
    #913671

    Инструментальные средства разработки программ

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

    Средства разработки программного обеспечения – совокупность приемов, методов, методик, а также набор инструментальных программ (компиляторы, прикладные/системные библиотеки и т.д.), используемых разработчиком для создания программного кода Программы, отвечающего заданным требованиям.

    С учетом данного определения термин «Разработка программ» будет звучать следующим образом:

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

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

    Для простоты, все используемые инструментальные средства можно разделить на 4 группы. Рассмотрим подробнее каждую из групп.
    Необходимые

    Необходимые инструментальные средства - это те, без которых в принципе невозможно получить исполняемый код; К этой группе можно отнести:


    • редакторы текстов;

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

    Atom - это текстовый редактор с открытым исходным кодом, который доступен для нескольких платформ (Windows, Linux, Mac), бесплатный для использования.  Atom позволяет работать с Git и GitHub непосредственно в редакторе, включает умное автозаполнение.

    Sublime Text - великолепный многоплатформенный текстовый редактор, в котором есть большое количество полезных команд для повышения эффективности. Он может быть использован для поиска кода в файлах в считанные секунды. Sublime имеет специальный менеджер пакетов, который поможет вам установить тысячи пакетов, созданных сообществом, чтобы добавить больше возможностей. Многооконный редактор также поддерживается. (Имеется бесплатная и платная версия $80)

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


    • компиляторы и ассемблеры;

    Ассемблер (Assembly) — язык программирования, понятия которого отражают архитектуру электронно-вычислительной машины. Язык ассемблера — символьная форма записи машинного кода, использование которого упрощает написание машинных программ. Для одной и той же ЭВМ могут быть разработаны разные языки ассемблера.

    Компиля́тор — программа, переводящая текст, написанный на языке программирования, в набор машинных кодов.

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


    • компоновщики или редакторы связей (linkers);

    Компоновщик — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает из них исполняемый или библиотечный файл-модуль.
    Часто используемые

    Это средства, использования которых, в отличие от необходимых, можно избежать. Но без них процесс разработки весьма затрудняется и удлиняется; Из часто используемых средств стоит назвать:

    • утилиты автоматической сборки проекта;

    Автоматизация сборки — этап процесса разработки программного обеспечения, заключающийся в автоматизации широкого спектра задач, решаемых программистами в их повседневной деятельности.

    Включает такие действия, как:

    • компиляция исходного кода в объектный модуль,

    • сборка бинарного кода в исполняемый файл,

    • выполнение тестов,

    • развёртывание программы в целевой среде,

    • написание сопроводительной документации или описание изменений новой версии.

    Основное средство автоматизации сборки — применение специализированного инструмента; один из ранних и исторически значимых инструментов является утилита make, во многом определившая стиль и методы для инструментов, появившихся позднее


    • отладчики;

    Отла́дчик (англ. debugger от bug, баг) — компьютерная программа для автоматизации процесса отладки: поиска ошибок в других программахядрах операционных системSQL-запросах и других видах кода. В зависимости от встроенных возможностей, отладчик позволяет выполнять трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и так далее.

    Среди популярных отладчиковMicrosoft Visual Studio Debugger (Windows)


    • программы создания инсталляторов;

    Разработка собственного программного обеспечения это одна задача, а установка его - это совсем другое. Как только Вы создали свой продукт, необходимо подумать о том, каким образом он будет предоставляться конечному пользователю. Если это просто один исполняемый файл, который вы можете просто заархивировать и выложить, то все просто. Но когда Ваш продукт состоит из нескольких файлов таких как, например, dll, которые необходимо зарегистрировать, Вам уже необходим инсталлятор. Даже если Вам просто необходимо создать пару ярлыков на компьютерах пользователей, то инсталлятор уже будет удобен, если Вы, конечно, не хотите, чтобы ваши пользователи делали все вручную.

    Либо создать инсталлятор Вашего приложения можно при помощи бесплатного расширения развертывания приложений для Visual Studio (Пример, Install Shield Limited Edition, Setup Project)


    • редакторы ресурсов;

    Resource Hacker (ResHacker или ResHack) — редактор ресурсов; программа, предназначенная для просмотра, извлечения и замены ресурсов в исполняемых файлах 

    Исполняемый файл любой программы содержит программный код (функционал программы) и элементы, связанные с интерфейсом (ресурсы программы). К ресурсам программы относят: надписи, названия элементов управления, цвет, названия пунктов меню, иконки, изображения на форме и т.п. Ресурсы размещаются в отдельном месте исполняемого файла, они отдалены от программного кода. Изменяя ресурсы можно несколько изменить внешний вид программы, выполнить перевод текста на нужный язык, но нельзя повлиять на функционал программы.

    PE Explorer

    Resource Builder

    XN Resource Editor


    • профилировщики;

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

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

    perftips visual studio 2019

    • программы поддержки версий;

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

    Git

    • программы создания файлов помощи (документации).

    Справки могут создавать в различных форматах CHM, Web Help и HTML.

    CHM (Compiled HTML Help) - это формат Microsoft, разработанный для создания справок программ, работающих в системах Windows. Чаще всего формат используется, чтобы создать справочные файлы для программных продуктов. Кроме того, формат CHM все более и более используется для создания электронных книг.

    Devesar Book Editor — простая, но довольно мощная среда разработки руководств, справочников, книг и других электронных документов.
    Специализированные

    Эти инструментальные средства используются в исключительных случаях, решают довольно специфичные задачи:

    • программы отслеживания зависимостей;

    Зависимость — это объект, который может быть использован (как сервис).

    Dependency Walker - бесплатная, свободная утилита, которая сканирует 32-битные и 64-битные исполняемые файлы Windows (exedllocxsys и т. п.), и строит диаграмму - иерархическое дерево всех модулей (библиотек), от которых зависит программа. Для каждого найденного модуля выводится список всех функций, которые экспортирует этот модуль, и какие из этих функций реально вызываются другими модулями.


    • дизассемблеры;

    Дизассе́мблер — транслятор, преобразующий машинный кодобъектный файл или библиотечные модули в текст программы на языке ассемблера.

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


    • декомпиляторы;

    Декомпиля́тор — это программа, транслирующая исполняемый модуль (полученный на выходе компилятора) в эквивалентный исходный код на языке программирования высокого уровня.

    .NET Reflector — платная утилита для Microsoft .NET, комбинирующая браузер классов, статический анализатор и декомпилятор

    dotPeek — это бесплатный самостоятельный инструмент, основанный на встроенном декомпиляторе ReSharper. Он надежно декомпилирует любую сборку .NET в эквивалентный код на C# или IL-код.

    • программы отслеживания активности системы и изменений, происходящих в системе;

    Позволяют отслеживать действия программ по изменению реестра, файловой системы, вызовов системных сервисов и т.д. Следят за загруженностью системы в целом.

    Process Monitor


    • программы-вериферы и контейнеры (создают виртуальную среду для отдельных классов программ, в которой можно исследовать поведение программы);

    Утилита Driver Verifier входит в состав всех версий Windows, начиная с Windows XP, и позволяет выполнять проверку драйверов, выявлять проблемные драйвера, являющиеся причиной синего экрана смерти (BSOD — Blue Screen of Death) и записывать подробную информацию о проблемном драйвере в дамп памяти для дальнейшего анализа.
    Интегрированные среды разработки

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

    Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментов. Данные продукты позволяют разрабатывать как консольные приложения, так и игры и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайтывеб-приложениявеб-службы

    Qt Creator (ранее известная под кодовым названием Greenhouse) — кроссплатформенная свободная IDE для разработки на С, С++ и QML


    написать администратору сайта