Современная разработка программного обеспечения невозможна без использования специализированных инструментальных средств. Данное пособие предназначено для студентов специальности 09.02.03 «Программирование в компьютерных системах» и охватывает основные понятия, классификацию и практическое применение инструментальных средств разработки программ.
Классификация программных продуктов
Программные продукты можно классифицировать по различным признакам; Если основополагающим признаком считать сферу (область) использования, то выделяются три класса программных продуктов:
- Системное программное обеспечение — обеспечивает работу аппаратной части автономных компьютеров и сетей ЭВМ;
- Пакеты прикладных программ, решают функциональные задачи различных предметных областей;
- Инструментарий технологии программирования, обслуживает технологию разработки программ.
Именно третье направление является предметом изучения данной дисциплины. Его развитие связано с переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на производство и эксплуатацию программ, а также обеспечению гарантированного уровня их качества.
Группы инструментальных средств
В рамках инструментария технологии программирования сформировались следующие группы программных продуктов:
- Средства для создания приложений, включающие:
- локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
- интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ;
- CASE-технологии (Computer-Aided System Engineering) — методы анализа, проектирования и создания программных систем, предназначенные для автоматизации процессов разработки и реализации информационных систем.
Средства для создания приложений
Средства для создания приложений — это совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ.
Локальные средства разработки программ
Эти средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя.
Язык программирования — формализованный язык для описания алгоритма решения задачи на компьютере.
Системы программирования
Система программирования (programming system) включает:
- интегрированную среду разработчика программ (IDE);
- средства оптимизации кода программ;
- набор библиотек (возможно, с исходными текстами программ);
- редактор связей (компоновщик);
- сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;
- справочные системы;
- документатор исходного кода программы;
- систему поддержки и управления проектом программного комплекса.
Интегрированные среды разработки (IDE)
Интегрированная среда разработки объединяет в себе все этапы создания программы:
- Редактирование исходного кода — текстовый редактор с подсветкой синтаксиса, автодополнением и проверкой ошибок;
- Компиляция и сборка — преобразование исходного кода в исполняемый модуль;
- Отладка — пошаговое выполнение программы, точки останова, просмотр значений переменных;
- Тестирование — проверка корректности работы программы;
- Документирование — создание системы помощи и документации кода.
К популярным интегрированным средам относятся: 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-средствами является обязательным требованием к квалификации специалиста в области программирования. Использование этих средств позволяет сократить сроки разработки, повысить качество программных продуктов и обеспечить эффективную командную работу.
Контрольные вопросы
- Назовите три класса программных продуктов по сфере использования.
- Что входит в состав системы программирования?
- Какие функции выполняет интегрированная среда разработки?
- Для чего предназначены средства поддержки проектов?
- Что такое CASE-технология и какие задачи она решает?
- Какие инструменты используются для документирования кода?