Business Rule Model

Business Rule Model zachycuje pravidla a zásady, která jsou klíčová pro dané průmyslové odvětví či konkrétní podnikání. Popisuje jejich vztahy s okolím a vlastní fungování organizace nebo systému. Business pravidla definují nebo omezují určitý aspekt dané domény a vždy o nich můžeme říci, že jsou buď splněna nebo nesplněna. Popisují operace, definice a omezení týkající se dané organizace a mohou se týkat lidí, procesů i výpočetních systémů. Popisují strukturu podniku, řídí nebo ovlivňují jeho chování, vždy však pomáhají organizaci dosahovat jejich cílů. Business pravidla můžeme rozdělit do čtyř kategorií na definice termínů, faktické vztahy mezi termíny, omezení a odvozeniny. Kromě běžného jazyka mohou být business pravidla formulovány ve speciálních formálních jazycích jako je UML (Unified Modeling Language), BPEL (Business Process Execution Language), BPMN (Business Process Modeling Notation) nebo SBVR (Semantics of Business Vocabulary and Business Rules). Business Rule Model v EA Business Rule Model a modelování Business pravidel je v aplikaci Enterprise Architect dostupné v edicích Business, Software Engineering a Ultimate. Pro vytvoření Business Rule Modelu je třeba:

  1. Definovat Business pravidla v běžném jazyce.
  2. Vytvořit Doménový Business Model.
  3. Vytvořit RuleFlow modely pro příslušné Business objekty z doménového modelu.
  4. V RuleFlow modelu vytvořit elementy RuleTask a propojit tak pravidlo s konkrétním úkonem.
  5. Pomocí nástroje Rule Composer definovat u každého RuleTask elementu dané pravidlo.
  6. Zvalidovat vytvořená pravidla v nástroji Rule Composer.
  7. Vygenerovat výsledný zdrojový kód.
V EA je pro vytvoření Business Rule Modelu k dispozici šablona přístupná z okna Project Browser, kde je třeba buď kliknout na ikonu New Model From Pattern v toolbaru nebo vyvolat kontextové menu pravým kliknutím myši na kořenovém uzlu a vybrat Add a New Model using Wizard nebo vyvolat kontextové menu pravým kliknutím myši na vybraném balíčku a zvolit Add | Add a New Model using Wizard. Otevře se dialogové okno, kde je nutné otevřít vyskakovací menu Select From a zvolit možnost Business Rule Model, případně otevřít panel Technology a opět vybrat položku Business Rule Model. Dále je vhodné na panelu Name zaškrtnout checkbox hned vedle ikony Business Rule Model a potvrdit tlačítkem OK. Vytvoří se následující struktura Business Rule Modelu dostupná v okně Project Browser: Vytvoření doménového modelu Doménový Business Model představuje slovník pojmů a faktů, na kterých pak lze modelovat Business pravidla. V aplikaci Enterprise Architect lze tento model vytvořit jako konceptuální diagram tříd. Ukázkový doménový model pak může vypadat například takto: V tomto modelu nabízí třídy Rent, Customer, Application a Car spolu s jejich atributy a operacemi termíny do slovníku pojmů a třída Rental System zpracovává Business pravidla. K tomu je třeba přidat k této třídě Rule Flow Activity diagram jako její Behavior. Jakmile je vytvořen Rule Flow Behavior pod danou třídou, je možné začít modelovat pravidla jako akce Rule Tasks. Při generování kódu je pak Rule Flow Behavior vyrenderován jako metoda uvnitř příslušné třídy. Druhou možností tvorby Business pravidel je využití stávajících třídních operací. Při generování kódu dané třídy se pak logika Business pravidla vytvoří jako tělo metody příslušné operace. Pro správné vygenerování kódu je vhodné od počátku zvolit u každé třídy cílový programovací jazyk a vhodné datové typy u atributů a parametrů operací. V EA je k dispozici jazyk C++, C#, Java a VB.Net. Vytvoření Rule Flow modelu Aby mohla každá třída zpracovat svá Business pravidla potřebuje mít definován svůj Behavior ve formě Rule Flow aktivity. Pro přidání Rule Flow aktivity ke třídě je třeba vyvolat kontextové menu na dané třídě v Doménovém Business Modelu pomocí pravého tlačítka myši a zvolit položku Add | RuleFlow Activity. Vytvoří se nový Rule Flow diagram a Rule Flow aktivita a přiřadí se k vybrané třídě. Rule Flow diagram tady vlastně definuje sekvenci, ve které se mají úkony Rule Tasks vykonat. Při generování výsledného kódu pro Rule Flow model se každá Rule Flow aktivita vyrenderuje jako sada operací nebo metod. Vytvoření Rule Task elementů Rule Task element propojuje Business pravidlo s konkrétním úkonem. Jedná se o akci se stereotypem "RuleTask", která je v EA k dispozici v Toolboxu na stránce Rule Flow. Rule Flow diagram pak může vypadat například takto: Propojení elementu Rule Task s Business pravidlem lze realizovat pomocí diagramu Rule Model. Nejprve je třeba vytvořit diagram typu Rule Model a poté přetáhnout element Rule Task z balíčku Rule Flow Activity diagramu na diagram Rule Model. Poté je třeba přetáhnout na Rule Model všechna potřebná Business pravidla, a to buď z okna Project Browser, pokud již existují, nebo z Toolboxu a jeho stránky Rule Model, pokud zatím nebyla vytvořena. Zbývá jen propojit elementy Rule Task s Business pravidly pomocí vztahu Dependency z Toolboxu a jeho stránky Rule Model Relationships. Výsledek může vypadat například takto: Komponování Business pravidel Tvorba Business pravidel se provádí v nástroji Rule Composer, pomocí kterého lze textově definovaná pravidla v operacích tříd a Business Rule elementech převést do matematického zápisu. Vytvořená pravidla se zde ukládají do tabulky, kterou lze exportovat do CSV dokumentu a pracovat s ním v běžném tabulkovém procesoru jako je Microsoft Excel. Nástroj Rule Composer je přístupný z kontextového menu elementu Rule Task, kde stačí zvolit položku Rule Composer. Tento nástroj se pak otevře uprostřed pracovní plochy ve své vlastní záložce. Rule Composer obsahuje tři části:
  • seznam Rule Statements,
  • tabulku Decision Table a
  • tabulku Computation Rule Table.
Všechny tři části jsou vzájemně propojené tak, že když uživatel vybere jednu položku v seznamu Rule Statements, zvýrazní se související řádek či sloupec v tabulkách Decision Table a Computation Rule Table a naopak. Tabulka Rule Statements obsahuje seznam pravidel souvisejících s vybraným elementem Rule Task. Přidávání nových pravidel do této tabulky se provádí jednoduše přetažením existujícího elementu Business Rule z okna Project Browser na prázdný řádek v seznamu Rule Statements. Samotné vytvoření nového pravidla uvnitř tabulky bez propojení s existujícím elementem Business Rule není možné. Tabulka Business Table umožňuje vytvářet tzv. podmínková pravidla typu: Každý účet musí mít alespoň jednoho majitele. Obsahuje tři sekce: Rule Conditions pro modelování podmínek, Rule Actions pro modelování akcí a Rule Bindings pro jejich propojování. Tabulka Computation Rule Table pak umožňuje modelovat pravidla obsahující výpočty. Práce s nástrojem Rule Composer Rule Composer slouží k vytváření Business pravidel a jejich propojení s elementy Rule Task. Pro vytvoření prvního pravidla je třeba vybrat text uvnitř Business Rule elementu a přetáhnout jej na prázdný řádek v tabulce. Pro přidání dalšího pravidla stačí kliknout na sloupce No a z kontextového menu vybrat Add Row. Do tabulky Rule Statements se přidá další prázdný řádek, na který lze přetáhnout další Business Rule element z okna Project Browser. Pokud není tento Business Rule element ještě umístěn v diagramu, automaticky se tam přidá a vytvoří se vztah typu Dependency mezi pravidlem Business Rule a elementem Rule Task. Pro odstranění pravidla z nástroje Rule Composer stačí vyvolat kontextové menu pravým kliknutím myši na pole No a zde vybrat příkaz Remove Rule. Ten odstraní vybrané pravidlo z Rule Composeru, smaže propojení s Rule Task elementem, ale neodstraní Business Rule element z diagramu ani z Project Browseru. Modelování podmínek Modelování podmínek Business pravidel se provádí v sekci Rule Conditions v tabulce Business Table nástroje Rule Composer. Doménový Business Model definuje business termíny a jejich atributy. Pro vytvoření podmínky v Business pravidlu je třeba vybrat požadovaný podmínkový atribut nebo operaci z Class elementu v Project Browseru a přetáhnout jej na sloupec Rule Conditions. Poté je třeba určit rozsah možných hodnot výčtem, číselnými intervaly nebo booleovskými hodnotami true a false. To se provádí pravým kliknutím na sloupci Allowable Values a výběrem Edit Allowable Values. Objeví se dialogové okno, kde lze zadávat možné hodnoty v poli Value a ukládat je tlačítkem Save. Po uzavření dialogu tlačítkem Ok se pro daný atribut vytvoří nové omezení AllowableValues. To lze zkontrolovat v dialogu Properties daného atributu na záložce Constraints. Pokud není s podmínkou Business pravidla spojen atribut ale operace, lze u ní jako povolené hodnoty nastavit parametry. To se provádí opět z kontextového menu pole Allowable Values, kde je třeba vybrat Edit Parameters. Tady se pracuje s parametry obdobně jako s hodnotami v případě atributů. Pro odstranění vytvořené podmínky z tabulky stačí vyvolat kontextové menu na poli No příslušného řádku a zvolit Delete Row. Poté se smaže vybraná podmínka, původní atribut však zůstává zachován. Modelování akcí Modelování akcí se provádí v sekci Rule Actions v tabulce Business Table. Modelování akcí znamená vytvoření akce z atributu nebo operace, která je volána po splnění podmínky Rule Condition. To se provádí přetažením požadovaného atributu nebo operace Class elementu z Project Browseru na pole Rule Actions. Poté je třeba dvojklikem na poli Allowable Values/Parameters vyvolat dialog Edit Allowable Values. Tady je nutné nastavit rozsah povolených hodnot, uložit je tlačítkem Save, uzavřít dialog a vybrat vhodnou odpověď ve sloupci Result. Poté je vhodné vše uložit tlačítkem Save v toolbaru celého nástroje Rule Composer. Přidávání a mazání akcí je obdobné jako v případě podmínek. Spojování pravidel s akcemi a export do CSV Spojování pravidel s akcemi se provádí v sekci Rule Bindings, kde je třeba vybrat číslo pravidla v poli Rule Bindings a k tomu příslušné podmínky a akce v tabulkách Rule Actions a Rule Conditions. Takto vytvořená pravidla a obsah celého nástroje Rule Composer lze exportovat do CSV souboru pomocí ikony Export to CSV v toolbaru Rule Composeru. Objeví se dialog, kde stačí zadat umístění souboru a jeho název. Validace pravidel a generování kódu Před vygenerováním kódu pro Rule Task elementy je vhodné provést validaci pravidel pro zjištění případných chyb či nedostatků. Validace se provádí v nástroji Rule Composer, kde stačí kliknout na ikonu Validation v toolbaru. Business pravidla budou zkontrolována a chyby či varování zobrazeny v záložce Rule Composer Validation v textovém výstupu Output Screen. Prozkoumat jednotlivé problémy a varování lze dvojklikem na každé z nich. Po odstranění všech chyb a nedostatků a úspěšné validaci lze vygenerovat samotný kód příkazem Generate Code z kontextového menu dané třídy. Před tím je však třeba nastavit návratovou hodnotu u Rule Flow diagramu. To lze provést otevřením dialogu Properties posledního Rule Task elementu před koncovým uzlem Rule Flow diagramu. Tady je třeba otevřít záložku Effect a v poli Effect nastavit návratovou hodnotu. Poté stačí jen dialog uložit a zavřít a vygenerovat výsledný kód. Závěr Business Rule Model je ideální pro zachycení pravidel dané domény a jejich popis pomocí termínů, faktických vztahů a omezení. Zapisuje se pomocí jazyka UML a zahrnuje vytvoření Business doménového modelu, vytvoření Rule Flow diagramu, Rule Task elementů a zkomponování samotných Business pravidel. Výsledkem je pak vygenerování business logiky ve zvoleném jazyce. Zaujaly vás možnosti Business Rule Modelu? Chcete jej využít ve své praxi? Rádi byste se dozvěděli více? Využijte služeb certifikovaných školitelů společnosti Dataprojekt s.r.o. Nabízíme obecná školení o aplikaci Enterprise Architect i osobní konzultace nad konkrétními problémy z praxe. Nevíte si s něčím rady? Kontaktujte nás, rádi vám poradíme.

Leave a comment

Filtered HTML

  • Webové a e-mailové adresy jsou automaticky převedeny na odkazy.
  • Povolené HTML značky: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Řádky a odstavce se zalomí automaticky.

Plain text

  • Nejsou povoleny HTML značky.
  • Webové a e-mailové adresy jsou automaticky převedeny na odkazy.
  • Řádky a odstavce se zalomí automaticky.
Image CAPTCHA
Enter the characters shown in the image.