Эффективная разработка ПО на платформе Java. Применение непрерывной интеграции (continuous integration) и обеспечение качества  кода. [  The uses of continuous integrations ( CI ) and quality of assurances (QoA) for effective software development on Java platform  ]   S hamim Ahmed   Anton Pilipenko   ФОРС – Центр разработки
ФОРС – Центр разработки Ряд проблемы возникающий в ходе разработки ПО It works on my machine    ; На последней сборке, ушедшей в тестирование, используется устаревшая версия библиотеки (superlib) Я не могу работать, потому что проект не собирается Я не знаю, когда все сломалось Из какой версии исходных кодов она была собрана? Какие ключи компиляции и настройки среды окружения применялись? Не были ли внесены в код изменения, не отраженные в системе контроля версий? Были ли использованы правильные версии внешних библиотек при сборке?
ФОРС – Центр разработки Что такое непрерывная интеграция (НИ)? Это практика разработки программного  обеспечения , которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.
ФОРС – Центр разработки Популярный подход при решении проблемы интеграции проконтролировать каждого разработчика   выделить сотрудника с особой ролью «Инженер по сборке» ( build engineer ). использовать определенные регламенты, которые контролируют программное окружение и процедуру сборки. Такие регламенты сложно выполнять и еще сложнее поддерживать.
ФОРС – Центр разработки Основная задача непрерывной интеграции Получение исходного кода из хранилища Сборка проекта (по расписанию) Выполнение тестов Выполнения инспекции кода Развертывания готового проекта Отправка отчетов
ФОРС – Центр разработки
ФОРС – Центр разработки
ФОРС – Центр разработки Хранилище кода с контролем версий Программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости, возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение и многое другое. Является основным компонентом системы НИ. Список ПО для управления хранилищем: SubVersion Git Bazzar Mercurial CVS  и прочее ПО
ФОРС – Центр разработки Лучшие практики для максимальной   производительности при использовании Subversion Передача ( commit ) набор  логических  изменений Добавление комментариев при каждой передаче Построение связка между изменение с системами отслеживания ошибок (issue tracker, например  J ira   посредством плагина) Эффективное использования branches и tags t runk всегда должен содержать только работоспособный код Не передавать изменения в tags Использование перехватов при передаче кода в хранилище (hook) для контроля Использование merge (чтобы trunk был стабильный)
ФОРС – Центр разработки Автоматизация сборка проекта как основной инструмент для разработки ПО  ( на примере  maven) Гибкий механизм управления с зависимости между библиотеками Использует собственные определения для упрощения и облегчения создания проектов Является полностью гибкой платформой для продвинутых пользователей Встроенные модели могут быть переопределены и декларативно адаптированы (посредством конфигурации, модификации метаданных или созданием пользовательских плагинов) для особых программных сценариев Большое количество различного вида плагинов для выполнения типовых задач Альтернативам можно назвать  Ant  и  Ivy .
ФОРС – Центр разработки Сервера непрерывной интеграции Hudson/Jenkinson Apache Continuum Cruise control Коммерческий продукт: Cascade Team city Automated Build Studio
ФОРС – Центр разработки
ФОРС – Центр разработки
ФОРС – Центр разработки
ФОРС – Центр разработки Автоматический контроль качества кода Под качеством кода понимается набор субъективных оценок восприятия кода другим человеком. Можно формализовать задачу оценки качества кода : Компилирование всего кода Работоспособность всего кода  Соответствие стилю написания кода, используемого в проекте  Наличие документации для каждого участка кода Удобочитаемость кода на уровне отдельных строк, функций, файлов  Возможность быстрого внесения изменений в код, затрагивая минимальный существующий функционал
ФОРС – Центр разработки Инструмент статического анализа кода  : Checkstyle  PMD FindBugs StyleCop Cobertura CodeCity
ФОРС – Центр разработки Sonar –  платформа для управления качества кода Основные возможности: Проверка дублирования кода  Запуск тестов Поиск потенциальные ошибки Проверка правила кодирования Архитектура и проектирование ПО Проверка зависимости между модулями Генерация отчетов Поддержка создания пользовательских плагинов
ФОРС – Центр разработки
ФОРС – Центр разработки
ФОРС – Центр разработки
ФОРС – Центр разработки Преимущества НИ Избавление от рутины Простота и повторяемость  –  любой участник проекта (аналитик, тестировщик) может запустит сборку Разработчики обнаруживают и исправляют проблемы интеграции непрерывно, что позволяет избежать срывов сроков Раннее предупреждения о некорректном коде Раннего предупреждения о конфликте изменений Немедленное тестирование для всех изменений Обратная связь с инженерами по качеству и функциональности
ФОРС – Центр разработки Недостатки НИ Необходимость выделения отдельной машины Требуется пересмотр регламента разработки Необходимо преодолеть первоначальное отторжение со стороны разработчиков
Контакты “ ФОРС – Центр разработки ” Россия , 129272 , Москва, Трифоновский тупик, 3 Тел .:  +7 495 787-7040  Факс :  +7 495 787-7047 e-mail: develop@fors.ru http://www.fors.ru

More Related Content

PDF
Технологии разработки ПО
PDF
Тестирование ПО, основанного на сторонних компонентах, на примере дистрибут...
PDF
PPTX
Обзор средств сопровождения процесса разработки и тестирования (HP QC, Jira).
PPTX
Contineous Integration by Надежда Кныш
PPTX
Промышленная разработка ПО. Лекция 2. Инструменты
PPT
Continuous integration with TeamCity
PPTX
метод организации репозитория исходного кода
Технологии разработки ПО
Тестирование ПО, основанного на сторонних компонентах, на примере дистрибут...
Обзор средств сопровождения процесса разработки и тестирования (HP QC, Jira).
Contineous Integration by Надежда Кныш
Промышленная разработка ПО. Лекция 2. Инструменты
Continuous integration with TeamCity
метод организации репозитория исходного кода

What's hot (19)

PPTX
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
PPTX
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
PDF
Continuous integration
PPT
Сергей Ревко
PDF
презентация по дисциплине технология разработки программного обеспечения
PPTX
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
PPT
ClubQA #2. Unit testing and TDD
PPT
Trpo 2 создание по
PDF
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
PPTX
2014 ALM Summit - ALM and 1C
PPTX
Юнит тестирование
PPTX
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
PPTX
Тестирование (QA) в 1С:Предприятии 8
PDF
Тестирование весна 2013 лекция 5
PPTX
Тестирование ПО
PPT
зуева татьяна - опыт автоматизации тестирования в Agile проекте
PPTX
Особенности тестирования веб приложение
PPTX
тестирование снецифических областей
PPT
Unit tests ru
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Continuous integration
Сергей Ревко
презентация по дисциплине технология разработки программного обеспечения
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
ClubQA #2. Unit testing and TDD
Trpo 2 создание по
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
2014 ALM Summit - ALM and 1C
Юнит тестирование
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Тестирование (QA) в 1С:Предприятии 8
Тестирование весна 2013 лекция 5
Тестирование ПО
зуева татьяна - опыт автоматизации тестирования в Agile проекте
Особенности тестирования веб приложение
тестирование снецифических областей
Unit tests ru
Ad

Similar to Java one presentation (20)

PDF
Project under control
PDF
Azure DevOps Управление проектом и версионный контроль
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PDF
Тестирование осень 2013 лекция 5
PPT
Sonar quality
PDF
Dev collaboration
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PPTX
Automated tests ci
PPT
Training Labs (www.cmcons.com)
PPTX
Шаги мануальщика к автоматизации на крупном проекте
PPTX
Лучшие практики на практике
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PPTX
Mva stf module 1 - rus
PPTX
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
PPT
Проблемы и пути их решения при командной разработке проектов
PPT
презентация.1
PDF
Непрерывная интеграция при разработке баз данных. (Show version)
PDF
нек спо
PDF
Презентация по дисциплине технология разработки программного обеспечения
Project under control
Azure DevOps Управление проектом и версионный контроль
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Тестирование осень 2013 лекция 5
Sonar quality
Dev collaboration
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Automated tests ci
Training Labs (www.cmcons.com)
Шаги мануальщика к автоматизации на крупном проекте
Лучшие практики на практике
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Mva stf module 1 - rus
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Проблемы и пути их решения при командной разработке проектов
презентация.1
Непрерывная интеграция при разработке баз данных. (Show version)
нек спо
Презентация по дисциплине технология разработки программного обеспечения
Ad

More from Shamim bhuiyan (6)

PDF
Highload++ 2015
PPTX
NoSQL - World IT Planet, Saint Petersburg 2015
PPTX
Tuning HighLoad J2EE web application
PPTX
Oracle Service Bus
PPTX
3rd Moscow cassandra meetup (Fast In-memory Analytics Over Cassandra Data )
PPTX
Big data moscow meetup
Highload++ 2015
NoSQL - World IT Planet, Saint Petersburg 2015
Tuning HighLoad J2EE web application
Oracle Service Bus
3rd Moscow cassandra meetup (Fast In-memory Analytics Over Cassandra Data )
Big data moscow meetup

Java one presentation

  • 1. Эффективная разработка ПО на платформе Java. Применение непрерывной интеграции (continuous integration) и обеспечение качества  кода. [ The uses of continuous integrations ( CI ) and quality of assurances (QoA) for effective software development on Java platform ] S hamim Ahmed Anton Pilipenko ФОРС – Центр разработки
  • 2. ФОРС – Центр разработки Ряд проблемы возникающий в ходе разработки ПО It works on my machine  ; На последней сборке, ушедшей в тестирование, используется устаревшая версия библиотеки (superlib) Я не могу работать, потому что проект не собирается Я не знаю, когда все сломалось Из какой версии исходных кодов она была собрана? Какие ключи компиляции и настройки среды окружения применялись? Не были ли внесены в код изменения, не отраженные в системе контроля версий? Были ли использованы правильные версии внешних библиотек при сборке?
  • 3. ФОРС – Центр разработки Что такое непрерывная интеграция (НИ)? Это практика разработки программного обеспечения , которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.
  • 4. ФОРС – Центр разработки Популярный подход при решении проблемы интеграции проконтролировать каждого разработчика  выделить сотрудника с особой ролью «Инженер по сборке» ( build engineer ). использовать определенные регламенты, которые контролируют программное окружение и процедуру сборки. Такие регламенты сложно выполнять и еще сложнее поддерживать.
  • 5. ФОРС – Центр разработки Основная задача непрерывной интеграции Получение исходного кода из хранилища Сборка проекта (по расписанию) Выполнение тестов Выполнения инспекции кода Развертывания готового проекта Отправка отчетов
  • 6. ФОРС – Центр разработки
  • 7. ФОРС – Центр разработки
  • 8. ФОРС – Центр разработки Хранилище кода с контролем версий Программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости, возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение и многое другое. Является основным компонентом системы НИ. Список ПО для управления хранилищем: SubVersion Git Bazzar Mercurial CVS и прочее ПО
  • 9. ФОРС – Центр разработки Лучшие практики для максимальной производительности при использовании Subversion Передача ( commit ) набор логических изменений Добавление комментариев при каждой передаче Построение связка между изменение с системами отслеживания ошибок (issue tracker, например J ira посредством плагина) Эффективное использования branches и tags t runk всегда должен содержать только работоспособный код Не передавать изменения в tags Использование перехватов при передаче кода в хранилище (hook) для контроля Использование merge (чтобы trunk был стабильный)
  • 10. ФОРС – Центр разработки Автоматизация сборка проекта как основной инструмент для разработки ПО ( на примере maven) Гибкий механизм управления с зависимости между библиотеками Использует собственные определения для упрощения и облегчения создания проектов Является полностью гибкой платформой для продвинутых пользователей Встроенные модели могут быть переопределены и декларативно адаптированы (посредством конфигурации, модификации метаданных или созданием пользовательских плагинов) для особых программных сценариев Большое количество различного вида плагинов для выполнения типовых задач Альтернативам можно назвать Ant и Ivy .
  • 11. ФОРС – Центр разработки Сервера непрерывной интеграции Hudson/Jenkinson Apache Continuum Cruise control Коммерческий продукт: Cascade Team city Automated Build Studio
  • 12. ФОРС – Центр разработки
  • 13. ФОРС – Центр разработки
  • 14. ФОРС – Центр разработки
  • 15. ФОРС – Центр разработки Автоматический контроль качества кода Под качеством кода понимается набор субъективных оценок восприятия кода другим человеком. Можно формализовать задачу оценки качества кода : Компилирование всего кода Работоспособность всего кода Соответствие стилю написания кода, используемого в проекте Наличие документации для каждого участка кода Удобочитаемость кода на уровне отдельных строк, функций, файлов Возможность быстрого внесения изменений в код, затрагивая минимальный существующий функционал
  • 16. ФОРС – Центр разработки Инструмент статического анализа кода : Checkstyle PMD FindBugs StyleCop Cobertura CodeCity
  • 17. ФОРС – Центр разработки Sonar – платформа для управления качества кода Основные возможности: Проверка дублирования кода Запуск тестов Поиск потенциальные ошибки Проверка правила кодирования Архитектура и проектирование ПО Проверка зависимости между модулями Генерация отчетов Поддержка создания пользовательских плагинов
  • 18. ФОРС – Центр разработки
  • 19. ФОРС – Центр разработки
  • 20. ФОРС – Центр разработки
  • 21. ФОРС – Центр разработки Преимущества НИ Избавление от рутины Простота и повторяемость – любой участник проекта (аналитик, тестировщик) может запустит сборку Разработчики обнаруживают и исправляют проблемы интеграции непрерывно, что позволяет избежать срывов сроков Раннее предупреждения о некорректном коде Раннего предупреждения о конфликте изменений Немедленное тестирование для всех изменений Обратная связь с инженерами по качеству и функциональности
  • 22. ФОРС – Центр разработки Недостатки НИ Необходимость выделения отдельной машины Требуется пересмотр регламента разработки Необходимо преодолеть первоначальное отторжение со стороны разработчиков
  • 23. Контакты “ ФОРС – Центр разработки ” Россия , 129272 , Москва, Трифоновский тупик, 3 Тел .: +7 495 787-7040 Факс : +7 495 787-7047 e-mail: [email protected] http://www.fors.ru