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

Разбираем инструментальные средства разработки без воды: классификация, практика и секреты профи для студентов 09.02.03. Начни кодить как босс!

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

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

Классификация программных продуктов

Программные продукты можно классифицировать по различным признакам; Если основополагающим признаком считать сферу (область) использования, то выделяются три класса программных продуктов:

  • Системное программное обеспечение — обеспечивает работу аппаратной части автономных компьютеров и сетей ЭВМ;
  • Пакеты прикладных программ, решают функциональные задачи различных предметных областей;
  • Инструментарий технологии программирования, обслуживает технологию разработки программ.

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

Группы инструментальных средств

В рамках инструментария технологии программирования сформировались следующие группы программных продуктов:

  1. Средства для создания приложений, включающие:
    • локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
    • интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ;
  2. CASE-технологии (Computer-Aided System Engineering) — методы анализа, проектирования и создания программных систем, предназначенные для автоматизации процессов разработки и реализации информационных систем.

Средства для создания приложений

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

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

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

Язык программирования — формализованный язык для описания алгоритма решения задачи на компьютере.

Системы программирования

Система программирования (programming system) включает:

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

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

Интегрированная среда разработки объединяет в себе все этапы создания программы:

  1. Редактирование исходного кода — текстовый редактор с подсветкой синтаксиса, автодополнением и проверкой ошибок;
  2. Компиляция и сборка — преобразование исходного кода в исполняемый модуль;
  3. Отладка — пошаговое выполнение программы, точки останова, просмотр значений переменных;
  4. Тестирование — проверка корректности работы программы;
  5. Документирование — создание системы помощи и документации кода.

К популярным интегрированным средам относятся: Microsoft Visual Studio, IntelliJ IDEA, Eclipse, PyCharm, Code::Blocks и другие.

Расширение функциональности среды разработки

Современные IDE поддерживают инструментальные средства и методы расширения функциональности:

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

Средства поддержки проектов

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

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

Наиболее распространённой системой контроля версий является Git, а также платформы совместной разработки GitHub, GitLab, Bitbucket.

CASE-технологии

CASE-технология (Computer-Aided System Engineering) представляет собой совокупность методов анализа, проектирования и создания программных систем. CASE-средства позволяют:

  • строить модели предметной области (диаграммы UML, ER-диаграммы);
  • автоматически генерировать код по моделям;
  • проводить реинжиниринг существующих систем;
  • ведать проектной документацией.

Примеры CASE-средств: Rational Rose, Enterprise Architect, ERwin, StarUML.

Документирование кода и создание системы помощи

Важным этапом разработки является документирование кода. Для этого используются специальные инструменты, документаторы (например, Doxygen, Javadoc, Sandcastle), которые автоматически формируют документацию на основе комментариев в исходном коде.

Инструментальные средства разработки программ — неотъемлемая часть современной технологии программирования. Владение языками и системами программирования, интегрированными средами разработки, системами контроля версий и CASE-средствами является обязательным требованием к квалификации специалиста в области программирования. Использование этих средств позволяет сократить сроки разработки, повысить качество программных продуктов и обеспечить эффективную командную работу.

Контрольные вопросы

  1. Назовите три класса программных продуктов по сфере использования.
  2. Что входит в состав системы программирования?
  3. Какие функции выполняет интегрированная среда разработки?
  4. Для чего предназначены средства поддержки проектов?
  5. Что такое CASE-технология и какие задачи она решает?
  6. Какие инструменты используются для документирования кода?