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