Особенности Системного Анализа особо крупных...

24
Особенности Системного Анализа особо крупных проектов построенных на базе Business Rule Engine «Drools» Юрий Русович www.DPI.Solutions; ISSoft \ Coherent Solutions

Transcript of Особенности Системного Анализа особо крупных...

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

Особенности Системного

Анализа особо крупных

проектов построенных на

базе Business Rule Engine

«Drools»

Юрий Русовичwww.DPI.Solutions; ISSoft \ Coherent Solutions

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

Немного о себе

Юрий Русович

Более 8 лет опыта в разработке

● Разработчик в ISSoft \ Coherent Solutions

● Консультант в DPI Solutions \ Активист

www.COMAQA.BY

● Проекты в прошлом

○ ПО для аэропортов.

○ Системы связи для спец служб.

○ Система воспроизведения записанной речи для

палаты представителей

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

Drools – основные понятия

Процессор бизнес-правил

(Business Rule Engine) - это

программное обеспечение,

которое выполняет одно или

несколько конфигурируемых,

настраиваемых бизнес-правил

в ядре системы.

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

Мотивы использования Business Rule Engine:

1. Облегчить поддержку.

2. Упростить дальнейшее развитие приложения

благодаря упрощению компонентов.

3. Изолировать часть логики от исходников.

4. Позволить настраивать систему не техническим

специалистам.

Drools – основные понятия

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

Drools – основные понятия

Drools – это процессор правил с открытым кодом,

написанный на Java.

Благодаря Drools бизнес-правила приложения можно

описывать декларативным образом, используя простой

для изучения и понимания язык (DSL)

Domain-Specific Language (DSL) это:

● Язык, предназначенный для решения конкретных

задач в узкой области.

● Является весьма простым, что позволяет им

пользоваться не техническим специалистам.

● Наиболее известные DSL: HTML, XML, SQL и т.д.

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

Drools – основные понятия

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

Синтаксис DSL Drools

rule "name"

attributes

when

LHS

then

RHS

end

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

Сравнительный анализ

общепринятых вариантов

использования Drools

● DSL используется исключительно техническими

специалистами. Создали самостоятельно систему,

выделили правила, сами же ими и пользуются.

● Бизнес-аналитик формулирует правила и их

использует.

● Бизнес-аналитик выдвигает требования, а

технический специалист предлагает DSL. BA и

технические специалисты работают в тандеме.

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

Agile и Waterfall проекты

основанные на Drools,

особенности работы бизнес-

аналитика

Waterfall

● Формализованный домен

● “Компетентный” заказчик

● Компетентные технические спецы

● «Компетентный» BA

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

Agile и Waterfall проекты

основанные на Drools,

особенности работы бизнес-

аналитика

Agile

● Неопределенный домен

● “Некомпетентный” заказчик

● Некомпетентные технические спецы

● «Некомпетентный» BA

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

Как Бизнес-Аналитику работать с

Drools, tips & trics

Советы:

● Работать итерационно

● Подключать бизнес как можно раньше

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

Варианты организации сбора и

формализации системных

требований при работе с Drools

Можно сразу писать требования на DSL.

Cбор и формализация системных требований

происходит на этом DSL

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

Agile:

● Со временем грамматика фиксируется.

● Ядро стабилизируется.

Бизнес аналитик занимается иcпользованием DSL и

формирует Backlog item в терминах DSL.

Бизнес аналитик выступает в роли тестировщика

DSL.

Эволюция бизнес-аналитика при

использовании Drools

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

Waterfall:

Бизнес аналитик на все этапах выступает в роли

программиста, консультанта, тестировщика.

Эволюция бизнес-аналитика при

использовании Drools

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

Примеры

Файл правил “rnd.drl”

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

Примеры

Файл правил “rnd.drl”

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

Примеры

Файл правил “rnd.drl”

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

Примеры

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

Примеры

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

Примеры

Файл правил “sbm.drl”

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

Заключение

Благодаря Drools:

● Получили проект удобный для сопровождения

● Получили проект удобный (быстрая и понятная

настройка) для изменения поведения системы без

перекомпиляции (runtime).

● Значительно удешевили процесс разработки

● Ускорили выпуск новых фич.

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

Заключение

Что бы использовать Drools:

● Бизнес-аналитик должен быть дополнительно

технически подкован.

● На самом-самом базовом уровне BA должен знать

язык Java.

● Желательно BA иметь опыт в работе с DSL и

понимании state machine.

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

Ссылки

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”

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

Спасибо! Вопросы?

Русович Юрий[email protected]

ISSoft\Coherent Solutionshttp://www.issoft.by

DPI Solutions

www.dpi.solutions

Belarus QA Automation Community

www.comaqa.by