Особенности Системного Анализа особо крупных...
TRANSCRIPT
Особенности Системного
Анализа особо крупных
проектов построенных на
базе Business Rule Engine
«Drools»
Юрий Русовичwww.DPI.Solutions; ISSoft \ Coherent Solutions
Немного о себе
Юрий Русович
Более 8 лет опыта в разработке
● Разработчик в ISSoft \ Coherent Solutions
● Консультант в DPI Solutions \ Активист
www.COMAQA.BY
● Проекты в прошлом
○ ПО для аэропортов.
○ Системы связи для спец служб.
○ Система воспроизведения записанной речи для
палаты представителей
Drools – основные понятия
Процессор бизнес-правил
(Business Rule Engine) - это
программное обеспечение,
которое выполняет одно или
несколько конфигурируемых,
настраиваемых бизнес-правил
в ядре системы.
Мотивы использования Business Rule Engine:
1. Облегчить поддержку.
2. Упростить дальнейшее развитие приложения
благодаря упрощению компонентов.
3. Изолировать часть логики от исходников.
4. Позволить настраивать систему не техническим
специалистам.
Drools – основные понятия
Drools – основные понятия
Drools – это процессор правил с открытым кодом,
написанный на Java.
Благодаря Drools бизнес-правила приложения можно
описывать декларативным образом, используя простой
для изучения и понимания язык (DSL)
Domain-Specific Language (DSL) это:
● Язык, предназначенный для решения конкретных
задач в узкой области.
● Является весьма простым, что позволяет им
пользоваться не техническим специалистам.
● Наиболее известные DSL: HTML, XML, SQL и т.д.
Drools – основные понятия
Синтаксис DSL Drools
rule "name"
attributes
when
LHS
then
RHS
end
Сравнительный анализ
общепринятых вариантов
использования Drools
● DSL используется исключительно техническими
специалистами. Создали самостоятельно систему,
выделили правила, сами же ими и пользуются.
● Бизнес-аналитик формулирует правила и их
использует.
● Бизнес-аналитик выдвигает требования, а
технический специалист предлагает DSL. BA и
технические специалисты работают в тандеме.
Agile и Waterfall проекты
основанные на Drools,
особенности работы бизнес-
аналитика
Waterfall
● Формализованный домен
● “Компетентный” заказчик
● Компетентные технические спецы
● «Компетентный» BA
Agile и Waterfall проекты
основанные на Drools,
особенности работы бизнес-
аналитика
Agile
● Неопределенный домен
● “Некомпетентный” заказчик
● Некомпетентные технические спецы
● «Некомпетентный» BA
Как Бизнес-Аналитику работать с
Drools, tips & trics
Советы:
● Работать итерационно
● Подключать бизнес как можно раньше
Варианты организации сбора и
формализации системных
требований при работе с Drools
Можно сразу писать требования на DSL.
Cбор и формализация системных требований
происходит на этом DSL
Agile:
● Со временем грамматика фиксируется.
● Ядро стабилизируется.
Бизнес аналитик занимается иcпользованием DSL и
формирует Backlog item в терминах DSL.
Бизнес аналитик выступает в роли тестировщика
DSL.
Эволюция бизнес-аналитика при
использовании Drools
Waterfall:
Бизнес аналитик на все этапах выступает в роли
программиста, консультанта, тестировщика.
Эволюция бизнес-аналитика при
использовании Drools
Примеры
Файл правил “rnd.drl”
Примеры
Файл правил “rnd.drl”
Примеры
Файл правил “rnd.drl”
Примеры
Примеры
Примеры
Файл правил “sbm.drl”
Заключение
Благодаря Drools:
● Получили проект удобный для сопровождения
● Получили проект удобный (быстрая и понятная
настройка) для изменения поведения системы без
перекомпиляции (runtime).
● Значительно удешевили процесс разработки
● Ускорили выпуск новых фич.
Заключение
Что бы использовать Drools:
● Бизнес-аналитик должен быть дополнительно
технически подкован.
● На самом-самом базовом уровне BA должен знать
язык Java.
● Желательно BA иметь опыт в работе с DSL и
понимании state machine.
Ссылки
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”
Спасибо! Вопросы?
Русович Юрий[email protected]
ISSoft\Coherent Solutionshttp://www.issoft.by
DPI Solutions
www.dpi.solutions
Belarus QA Automation Community
www.comaqa.by