|
|
|||||||||||||||||||||||||||||
|
Создание высококачественного кода с помощью интегрированных сред разработкиИсточник: IBM
Интегрированные среды разработки (IDE) дают разработчикам специализированные инструменты для создания ПО. Интегрированные среды Rational Software Architect и Rational Application Developer предоставляют автоматизированные инструменты быстрой разработки высококачественного кода. Интегрированная среда разработки упрощает определение, предотвращение и исправление дефектов в разрабатываемом ПО. Экономию от более эффективного обслуживания ПО можно использовать для создания инновационных продуктов с целью увеличения дохода. ВведениеИнтегрированные среды разработки, такие как IBM® Rational® Software Architect и IBM® Rational® Application Developer for WebSphere Software, позволяют улучшить качество кода, облегчая выявление дефектов на ранних этапах цикла разработки. Поскольку анализ и проектирование изменений ПО занимают больше времени, чем их реализация, интегрированная среда разработки (далее - IDE) должна предоставлять автоматизированные инструменты визуализации воздействия изменений. Такая IDE сводит к минимуму вероятность негативных последствий изменений и упрощает процесс анализа воздействия. Непрерывная интеграция является ключевым элементом современных сред разработки программного обеспечения. IDE, поддерживающая многочисленные частые обновления и версии ПО, может облегчить взаимодействие между подразделениями разработки и эксплуатации (методология DevOps). IDE помогает уменьшить время выхода на рынок. В этой статье дается краткий обзор возможностей Rational Software Architect и Rational Application Developer, которые позволяют избежать дефектов кода, найти и исправить их на ранних этапах процесса разработки, в результате чего повышается качество кода, а также упрощается обслуживание кода и своевременный выпуск версий. Примечание. Преобразования для автоматизации создания новых артефактов разработкиПреобразования берут набор элементов и превращают их в новый набор элементов. Элементы изменяются на основе правил, свойственных каждому конкретному преобразованию. Преобразование предоставляет автоматизированный способ создания артефактов разработки, которые точно соответствуют намеченной архитектуре или дизайну. Оно позволяет создавать то, что просит клиент. Типы преобразований Rational Software Architect:
Эта статья посвящена преобразованиям "модель в текст" и "текст в модель", поскольку они позволяют генерировать код (и связанные с кодом артефакты) из архитектуры и дизайна моделей и выполнять обратное преобразование. Примеры преобразований "модель в текст" в Rational Software Architect: UML в Java, UML в C#, UML в WSDL, UML в SO, и UML в SCA. Для многих из них можно также выполнять обратное преобразование, создавая модели из артефактов разработки (например, Java в UML). (Обратное преобразование - это не то же самое, что визуализация, которая обсуждается далее, поскольку артефакты не обязательно неразрывно связаны с моделью). Обратное преобразование способствует лучшему пониманию структуры и реализации ПО. Оно помогает избежать ошибок при создании и изменении кода. Также обратные преобразования обеспечивают способ модификации исходных моделей. Преобразования, предоставляемые Rational Software Architect, можно дополнять расширениями, а также создавать новые преобразования. Чтобы использовать преобразование, создайте его конфигурацию, определяющую различные параметры преобразования. К числу параметров преобразования относятся тип, источник, цель, отображение и т.д. Затем запустите преобразование, и оно поместит выходные данные в указанную цель, которой является проект (например, Java-проект). Пример конфигурации преобразования показан на рисунке 1. Рисунок 1. Конфигурация преобразованияАвтоматизация разработки кода с помощью мастеровМастера - это автоматизированные инструменты, позволяющие выполнять сложные задачи. Они собирают необходимые для этих задач информацию или параметры, а затем выполняют сами задачи. В Rational Software Architect есть множество мастеров для широкого спектра задач, от создания проекта до генерирования кода. Мастера улучшают качество кода, позволяя получать проверенные, повторяемые и ожидаемые результаты. Некоторые результаты могут быть очень большими, например, сотни строк кода из мастера EJB. Автоматизация, обеспечиваемая мастерами, позволяет получать результаты, не содержащие ошибок, за считанные секунды или минуты. Rational Software Architect имеет несколько мастеров, которые поддерживают следующие технологии:
Пример мастера создания Web-сервисов показан на рисунке 2. Рисунок 2. Мастер создания Web-сервисовПрограммы проверки (валидаторы) файлов и кода на соответствие правиламRational Application Developer предоставляет ряд валидаторов для разных видов технологии разработки. Валидаторы проверяют файлы или исходный код на соответствие правилам для этого вида технологии (например, JAX-RS) и сообщают о найденных ошибках. Валидаторы улучшают качество кода. Они быстро выполняют автоматическое сканирование больших объемов кода и могут выявлять как скрытые, так и относительно очевидные дефекты. Подобные дефекты отнимают очень много времени и сложны в обнаружении. По умолчанию проверка запускается автоматически после выполнения компоновки. Кроме того, можно в любое время выполнить проверку вручную. Проверку можно настроить на включение и отключение различных валидаторов. Также можно настроить фильтры, чтобы проверять только конкретные артефакты. Валидаторами можно управлять с помощью параметров настройки Validator (см. пример на рисунке 3). Рисунок 3. Некоторые валидаторы Rational Application Developer и параметры настройкиВизуализация кода, делающая структуру более нагляднойRational Application Developer позволяет визуализировать код путем создания динамических тематических диаграмм, а также путем создания диаграмм классов вручную. Диаграммы позволяют быстро увидеть и понять структуру исходного кода. Когда разработчики лучше понимают структуру создаваемого или модифицируемого кода, качество кода повышается. Визуализацию можно использовать для документирования кода, чтобы другие могли лучше понять его. С помощью диаграмм можно редактировать код в визуальном режиме. Визуализация позволяет повысить производительность труда, автоматизировать создание документации, улучшить совместную работу в группе, а также автоматизировать и упростить повторяющиеся задачи, такие как создание классов и методов. Визуализация создает кодоориентированные UML-диаграммы, являющиеся точным представлением исходного кода. Любые изменения, вносимые в диаграммы, мгновенно отражаются в исходном коде и наоборот. Иными словами, диаграммы являются кодом. Визуализация отличается от преобразований тем, что код, создаваемый преобразованиями, можно поддерживать отдельно от исходной модели. Пример визуализированного Java-класса показан на рисунке 4. Обратите внимание, что атрибуты и методы класса на диаграмме точно соответствуют Enterprise Explorer. Рисунок 4. Модель, созданная путем визуализации Java-кодаТематические диаграммы - это основанные на запросах нередактируемые диаграммы, которые используются для быстрого отображения связей между элементами. Например, можно выбрать Java-класс и создать тематическую диаграмму, которая покажет все Java-классы, связанные с выбранным классом. Пример тематической диаграммы показан на рисунке 5. Рисунок 5. Тематическая диаграммаСреда тестирования приложений WebSphereСреда тестирования WebSphere - это среда времени исполнения, интегрированная в рабочую среду тестирования приложений для WebSphere Application Server. Среда тестирования для WebSphere Application Server требует полной установки WebSphere Application Server (поставляется с Rational Application Developer) и работает на сервере среды исполнения с ресурсами в рамках настройки публикации. Если на вашей машине уже установлен сервер WebSphere Application Server, среду тестирования устанавливать не нужно. Существующий сервер можно использовать как для тестирования, так и в качестве внешнего сервера. Публикацию можно настроить как на тестовую среду, так и на внешний сервер. Более подробная информация о настройках публикации приведена в информационном центре WebSphere Application Server. Среда тестирования WebSphere предоставляет следующие преимущества:
Rational Application Developer V9 поддерживает WebSphere Application Server версий 7.x, 8.0.x и 8.5.x. Кроме того, поддерживается профиль Liberty сервера WebSphere Application Server 8.5. Профиль Liberty представляет собой облегченный сервер WebSphere Application Server с быстрым запуском и перезапуском, который предназначен в первую очередь для Web-приложений, не требующих полной среды Java EE. В среде Rational Application Developer можно установить несколько серверов WebSphere Application Server разных версий. Инструменты профилирования Java-приложенийRational Application Developer имеет несколько мощных инструментов для профилирования Java-приложений. Для анализа поведения приложения выполните его профилирование так, чтобы понять различные аспекты поведения приложения и улучшить приложение в конкретных областях. Rational Application Developer позволяет выполнять профилирование следующих областей:
С помощью Rational Application Developer можно выполнять профилирование на локальных и удаленных машинах, в том числе на локальных и удаленных серверах WebSphere Application Server. Для выполнения профилирования на удаленных машинах установите Agent Controller на удаленной машине. Профиль процессора может генерировать динамические диаграммы взаимодействия для классов и потоков. Пример диаграммы взаимодействия классов приведен на рисунке 6. Рисунок 6. Диаграмма взаимодействия классовС профилями связаны зонды (probe). Зонды - это фрагменты Java-кода, которые используются для сбора данных о приложении во время исполнения. Платформа Eclipse, которую использует Rational Application Developer, предоставляет комплект Probekit для создания и использования зондов. Probekit обычно используется для зондов, которые собирают данные, представляющие интерес для разработчиков (например, входную и выходную информацию методов). Решение Software Analyzer для раннего обнаружения проблемРешение Rational Software Architect Software Analyzer улучшает качество кода, помогая обнаружить проблемы на ранних этапах жизненного цикла разработки ПО. Оно позволяет настраивать различные виды статического анализа. Software Analyzer сканирует артефакты разработки, применяет выбранные конфигурации анализа и выводит результаты анализа по следующим категориям:
Функции проверки позволяют установить уровень серьезности несоответствия элементов критериям проверки. Данная настройка позволяет быстро определять выбросы (резко выделяющиеся значения), а также находить и устранять проблемные места. Пример отчета о проверке Java-кода показан на рисунке 7. Рисунок 7. Метрики ПО, собираемые Software AnalyzerRational Test Workbench для тестирования приложенийТестирование очень важно для улучшения качества кода. Тестирование подтверждает, что приложения надлежащим образом реализуют требования, и выявляет дефекты, не позволяющие достичь ожидаемого поведения приложений. Решение IBM® Rational® Test Workbench поддерживает и выполняет различные виды тестирования, в том числе функциональное тестирование, тестирование производительности и виртуализацию тестирования. Решение IBM® Rational® Quality Manager позволяет работать с планами тестирования, контрольными тестами и ресурсами лаборатории тестирования, обеспечивая управление тестами, создание отчетов и трассировку организованным и проверяемым способом. Rational Software Architect Design Manager помогает связать ПО, разработанное при помощи Rational Software Architect, с артефактами тестирования в Rational Quality Manager и с выполнением тестов и получением результатов в Rational Test Workbench. Rational Quality Manager и Rational Software Architect Design Manager построены на платформе IBM® Jazz™. Платформа Jazz не является отдельным продуктом. Это технология, которая обеспечивает тесную Web-интеграцию Jazz-продуктов, а также предоставляет общие механизмы для совместной работы (например, описания и комментарии). Jazz также обеспечивает OSLC-связывание, которое делает трассировку артефактов разработки простой для реализации и навигации. Rational Software Architect Design Manager обеспечивает возможность совместной работы в группе и управление информацией на протяжении всего жизненного цикла разработки приложений. Rational Software Architect Design Manager позволяет централизовано хранить, совместно использовать и обслуживать схемы и модели, обеспечивая тесное сотрудничество с заинтересованными сторонами для успешной реализации требований. Rational Software Architect Design Manager помогает улучшить качество, время и гибкость планирования, разработки и доставки ПО. К артефактам, созданным в Rational Software Architec, можно обращаться из Rational Software Architect Design Manager. Благодаря платформе Jazz эти артефакты можно связать с артефактами тестирования в Rational Quality Manager. С помощью Rational Software Architect Design Manager артефакты можно проследить от разработки в Rational Software Architect до тестирования в Rational Quality Manager. Результатом является более высокое качество кода, т.к. тестируется каждый продукт разработки. Благодаря интеграции Rational Quality Manager и Rational Test Workbench можно видеть, сколько тестов завершено и каковы их результаты. Кроме того, поскольку IBM® Rational® Requirements Composer основан на платформе Jazz, требования, созданные в Rational Requirements Composer, можно связать с артефактами разработки в Rational Software Architect Design Manager. Эта позволяет определить, все ли требования реализованы, и проверить артефакты разработки на соответствие требованиям. UML-диаграмма в Rational Software Architect Design Manager с разметкой и комментариями показана на рисунке 8. Рисунок 8. UML-диаграмма в Rational Software Architect Design Manager с разметкой и комментариямиRational Team Concert помогает в совместной работеИнтеграция Rational Application Developer с Rational Team Concert предоставляет дополнительные возможности по улучшению качества кода. Rational Team Concert обеспечивает отладку и тестовое покрытие кода в режиме совместной работы. Сеанс совместной отладки запускается на одной машине, а затем вместе с исходным кодом передается на машину другого члена группы разработки, который продолжает сеанс отладки. Разные члены группы являются экспертами по разным аспектам кода. Именно эксперт как наиболее осведомленное лицо может отладить фрагмент кода. Интеграцию покрытия кода с Rational Team Concert можно использовать для повышения качества кода различными способами:
Если покрытие кода включено, в Rational Application Developer Project Explorer отображается цветовая маркировка статистики охвата исполняемого кода. Цветовая маркировка результатов охвата отображается в редакторе кода для каждой строки, если файл кода открыт. Rational Application Developer также может создавать отчет о покрытии, отображающий выполненные элементы кода и их охват. Пример результатов покрытия кода и отчета Code Coverage Report показан на рисунке 9. Рисунок 9. Пример отчета Code Coverage ReportЗаключениеВ данной статье представлен краткий обзор функций интегрированной среды разработки Rational, способствующих повышению качества создаваемого кода. В Rational Software Architect и Rational Application Developer имеется множество инструментов. Иногда даже опытные пользователи Rational не используют все имеющиеся ресурсы. Каждое обновление Rational Software Architect и Rational Application Developer приносит новые технологии и усовершенствованные методики. Ссылки по теме
|
|