Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Особенности Системного Анализа особо крупных проектов построенных на базе Business Rule Engine «Drools»

1,089 views

Published on

Доклад Юрия Русовича на конференции Analyst Days-4,
17-18 апреля 2015 г., Минск
www.analystdays.com

Published in: Education
  • Be the first to comment

Особенности Системного Анализа особо крупных проектов построенных на базе Business Rule Engine «Drools»

  1. 1. Особенности Системного Анализа особо крупных проектов построенных на базе Business Rule Engine «Drools» Юрий Русович www.DPI.Solutions; ISSoft Coherent Solutions
  2. 2. Немного о себе Юрий Русович Более 8 лет опыта в разработке ● Разработчик в ISSoft Coherent Solutions ● Консультант в DPI Solutions Активист www.COMAQA.BY ● Проекты в прошлом ○ ПО для аэропортов. ○ Системы связи для спец служб. ○ Система воспроизведения записанной речи для палаты представителей
  3. 3. Drools – основные понятия Процессор бизнес-правил (Business Rule Engine) - это программное обеспечение, которое выполняет одно или несколько конфигурируемых, настраиваемых бизнес-правил в ядре системы.
  4. 4. Мотивы использования Business Rule Engine: 1. Облегчить поддержку. 2. Упростить дальнейшее развитие приложения благодаря упрощению компонентов. 3. Изолировать часть логики от исходников. 4. Позволить настраивать систему не техническим специалистам. Drools – основные понятия
  5. 5. Drools – основные понятия Drools – это процессор правил с открытым кодом, написанный на Java. Благодаря Drools бизнес-правила приложения можно описывать декларативным образом, используя простой для изучения и понимания язык (DSL) Domain-Specific Language (DSL) это: ● Язык, предназначенный для решения конкретных задач в узкой области. ● Является весьма простым, что позволяет им пользоваться не техническим специалистам. ● Наиболее известные DSL: HTML, XML, SQL и т.д.
  6. 6. Drools – основные понятия
  7. 7. Синтаксис DSL Drools rule "name" attributes when LHS then RHS end
  8. 8. Сравнительный анализ общепринятых вариантов использования Drools ● DSL используется исключительно техническими специалистами. Создали самостоятельно систему, выделили правила, сами же ими и пользуются. ● Бизнес-аналитик формулирует правила и их использует. ● Бизнес-аналитик выдвигает требования, а технический специалист предлагает DSL. BA и технические специалисты работают в тандеме.
  9. 9. Agile и Waterfall проекты основанные на Drools, особенности работы бизнес- аналитика Waterfall ● Формализованный домен ● “Компетентный” заказчик ● Компетентные технические спецы ● «Компетентный» BA
  10. 10. Agile и Waterfall проекты основанные на Drools, особенности работы бизнес- аналитика Agile ● Неопределенный домен ● “Некомпетентный” заказчик ● Некомпетентные технические спецы ● «Некомпетентный» BA
  11. 11. Как Бизнес-Аналитику работать с Drools, tips & trics Советы: ● Работать итерационно ● Подключать бизнес как можно раньше
  12. 12. Варианты организации сбора и формализации системных требований при работе с Drools Можно сразу писать требования на DSL. Cбор и формализация системных требований происходит на этом DSL
  13. 13. Agile: ● Со временем грамматика фиксируется. ● Ядро стабилизируется. Бизнес аналитик занимается иcпользованием DSL и формирует Backlog item в терминах DSL. Бизнес аналитик выступает в роли тестировщика DSL. Эволюция бизнес-аналитика при использовании Drools
  14. 14. Waterfall: Бизнес аналитик на все этапах выступает в роли программиста, консультанта, тестировщика. Эволюция бизнес-аналитика при использовании Drools
  15. 15. Примеры Файл правил “rnd.drl”
  16. 16. Примеры Файл правил “rnd.drl”
  17. 17. Примеры Файл правил “rnd.drl”
  18. 18. Примеры
  19. 19. Примеры
  20. 20. Примеры Файл правил “sbm.drl”
  21. 21. Заключение Благодаря Drools: ● Получили проект удобный для сопровождения ● Получили проект удобный (быстрая и понятная настройка) для изменения поведения системы без перекомпиляции (runtime). ● Значительно удешевили процесс разработки ● Ускорили выпуск новых фич.
  22. 22. Заключение Что бы использовать Drools: ● Бизнес-аналитик должен быть дополнительно технически подкован. ● На самом-самом базовом уровне BA должен знать язык Java. ● Желательно BA иметь опыт в работе с DSL и понимании state machine.
  23. 23. Ссылки 1. http://docs.jboss.org/drools/release/5.2.0.Final/drools- expert-docs/html/index.html 2. http://www.mastertheboss.com/jboss-jbpm/drools/what-is- a-rule-engine 3. http://a4academics.com/tutorials/58-drools-tutorial-and- example/495-procedure-to-install-drools-plugin-in-eclipse 4. “Domain Specific Languages” Martin Fowler 5. “Pattern-Oriented Software Architecture Volume 1 - A System Of Patterns”
  24. 24. Спасибо! Вопросы? Русович Юрий rusovich@dpi.solutions ISSoftCoherent Solutions http://www.issoft.by DPI Solutions www.dpi.solutions Belarus QA Automation Community www.comaqa.by

×