| <?xml version="1.0" encoding="UTF-8"?> |
| <xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1"> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-Nbe8Rdqjq4lgoQ95Y0ot9g" name="discovery,_40DokXqkEd2o_5d3MWaNxQ" guid="-Nbe8Rdqjq4lgoQ95Y0ot9g"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-4RpjINOc4rCESRAYiXaR1w" name="analyze,_qx-1wX9WEd26h9j0X6pKmw" guid="-4RpjINOc4rCESRAYiXaR1w"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-GhJfLtRP5ADWO_NtIImqUw" name="discovery,_40DokXqkEd2o_5d3MWaNxQ" guid="-GhJfLtRP5ADWO_NtIImqUw"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-wWls41lEy2zA_NkxhOnoDg" name="analyze,_qx-1wX9WEd26h9j0X6pKmw" guid="-wWls41lEy2zA_NkxhOnoDg"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-Vy5EjgkTkzCMhrts0Aczlg" name="design,_4NT9AX9XEd26h9j0X6pKmw" guid="-Vy5EjgkTkzCMhrts0Aczlg"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-hpPbI7yoU4KI3IBgzkYMOw" name="authoring,_OQxnAX_CEd2YWI_0AZcMOA" guid="-hpPbI7yoU4KI3IBgzkYMOw"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-qptRZHxVnbhlR7Ycjbxb9A" name="architecture,_2_QBQX_BEd2YWI_0AZcMOA" guid="-qptRZHxVnbhlR7Ycjbxb9A"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-zxa-baDc1KSYzHLYLZLONQ" name="discovery,_40DokXqkEd2o_5d3MWaNxQ" guid="-zxa-baDc1KSYzHLYLZLONQ"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-I6NaNeD6vtJcfSCfyJ2e1Q" name="analyze,_qx-1wX9WEd26h9j0X6pKmw" guid="-I6NaNeD6vtJcfSCfyJ2e1Q"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-iDrjgGg0EofrciITbayiaA" name="design,_4NT9AX9XEd26h9j0X6pKmw" guid="-iDrjgGg0EofrciITbayiaA"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-8tHTcrgK1fmquEli5euXbQ" name="authoring,_OQxnAX_CEd2YWI_0AZcMOA" guid="-8tHTcrgK1fmquEli5euXbQ"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-4WeilgakCQbS1xQ7a54XEg" name="validation,_oh_7EY5HEd21UNSm_M0-kg" guid="-4WeilgakCQbS1xQ7a54XEg"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-CDhw1ZKfzw57sjOszDxNXQ" name="deployment,_d9Oe8X9YEd26h9j0X6pKmw" guid="-CDhw1ZKfzw57sjOszDxNXQ"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-TxDZIG3zJyyBuiVvCyxaNQ" name="discovery,_40DokXqkEd2o_5d3MWaNxQ" guid="-TxDZIG3zJyyBuiVvCyxaNQ"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-z_SeD1bFowOQJTPCHYGiHw" name="analyze,_qx-1wX9WEd26h9j0X6pKmw" guid="-z_SeD1bFowOQJTPCHYGiHw"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-MdbP5cTReRekciw_VZz3vQ" name="design,_4NT9AX9XEd26h9j0X6pKmw" guid="-MdbP5cTReRekciw_VZz3vQ"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-XW78i_C7h9zp23v7_4FynQ" name="authoring,_OQxnAX_CEd2YWI_0AZcMOA" guid="-XW78i_C7h9zp23v7_4FynQ"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-fxBunH2zP8bxL0NEj54ptA" name="validation,_oh_7EY5HEd21UNSm_M0-kg" guid="-fxBunH2zP8bxL0NEj54ptA"/> |
| <org.eclipse.epf.uma:ProcessDescription xmi:id="-UobSWGrKBmEhg8A39R5yLg" name="deployment,_d9Oe8X9YEd26h9j0X6pKmw" guid="-UobSWGrKBmEhg8A39R5yLg"/> |
| <org.eclipse.epf.uma:DeliveryProcessDescription xmi:id="-Ui61NyVqm4OfNM8QodL5rQ" name="abrd_process,_2EcLMXqlEd2o_5d3MWaNxQ" guid="-Ui61NyVqm4OfNM8QodL5rQ"> |
| <mainDescription>Agile Business Rule Development main process</mainDescription> |
| <purpose>Develop a business application&nbsp;using the business rules approach and agile iterative development.</purpose> |
| </org.eclipse.epf.uma:DeliveryProcessDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-hSvA_8i1JXnAg_ktO4yhVw" name="identify_decision_point,_QYBzMD3gEd-rQL4FfV6WbQ" guid="-hSvA_8i1JXnAg_ktO4yhVw"> |
| <refinedDescription><p> |
| A <a class="elementLink" href="./../../practice.tech.abrd.base/guidances/termdefinitions/decision_point_B1C5EFE2.html" |
| guid="_XUyFIEb1EdySHMdInS9eGA">Decision point</a>&nbsp;represents an activity in a business process where decisions are |
| done. When looking at a task description it is important to search for mental thinking verb, most of the time there is |
| a set of knowledge to apply to execute this task, which leads to decision. This could be human knowledge or business |
| logic implementation in a software component. The type of decision will most likely be a reject or accept of the |
| business event or flag it for future processing downstream in the business process. The decision may also include some |
| computational expressions to assign value to attribute of the business transaction. Therefore to find decision point in |
| a business process or use case description start by searching for mental, action verb like analyze, check, validate, |
| evaluate, verify, assess, ... |
| </p> |
| <p> |
| In a BPMN process diagram a business process analyst and/ or a rule analyst can annotate the process to highlight |
| decision point in the process. |
| </p> |
| <p> |
| <img height="363" alt="" src="resources/finddecisionpoint.bmp" width="1572" /> |
| </p> |
| <p> |
| The search for decision point, attached to a business process description (done with use case or with BPMN does not |
| matter), helps to drive the rule analysis, and helps the business to focus at the business rule&nbsp;enforcement. |
| If&nbsp;the business team misses where the rule should be enforced, he can spend months defining business rules which |
| IT does not understand where to deploy them. The decision point can help drive the discovery of the business policies |
| and rules, for an implementation point of view, as well as a way to organize the top down approach. A decision point |
| support multiple rules, and if implemented with a rule engine, the rules are packaged as rule set. |
| </p> |
| <p> |
| Also finding the decision points involves studying<br /> |
| • Which use cases/scenarios represent decisions - At what steps in the use case is a decision made?<br /> |
| • Which requirements constitute rich set of decisions?<br /> |
| • Which steps/cases/requirements represent significant complexity?<br /> |
| • Which steps/cases/requirements are most subject to change?<br /> |
| • Look for decision diamonds in the flow charts and activity diagrams, the gateway by itself route the data to the next |
| activity, but the activity before the gateway should be rich in decisions. |
| </p> |
| <p> |
| The documentation of the decision point can be done in table format. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-EyvRETbaInP9YwVRsjUmpg" name="review_decision_point_table,_nIvp2MVVEd2pfdXgw7I2qQ" guid="-EyvRETbaInP9YwVRsjUmpg"> |
| <refinedDescription><a id="XE_decision_point_table__review" name="XE_decision_point_table__review"></a>See the step description&nbsp;below.</refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-7Qhv3MVOtdt02aO-ujeUXQ" name="decision_point_table,_nIvp2cVVEd2pfdXgw7I2qQ" guid="-7Qhv3MVOtdt02aO-ujeUXQ"> |
| <refinedDescription><a id="XE_decision_point_table" name="XE_decision_point_table"></a> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Groups |
| together all potential rules that determine one decision.</span> <a id="XE_decision_point" name="XE_decision_point">It |
| can be found in a use case description or in a Business Process Map task description.</a>&nbsp;Presented in table |
| format the project team can use the following template: |
| </p><br /> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 496.15pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" width="662" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="95"> |
| <p class="MsoNormalCxSpFirst" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Decision Point<span style="mso-spacerun: yes">&nbsp;</span> |
| Name</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="198"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Description</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="142"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Source for Rule Discovery</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="126"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><font face="Times New Roman"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">Current</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">State</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE">of |
| Automation</span></i></b></font></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="100"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Rule Owner -</font></font></span></i></b> |
| </p> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">SME</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br /> |
| <p> |
| The name should be explicit and without any ambiguity. It helps to link back to the business process or use case step. |
| An example may be "claim data review", or "loan eligibility"... |
| </p> |
| <p> |
| The source for rule discovery describes the main sources of rule harvesting like human, code, database, book, policies, |
| legal&nbsp;manual... |
| </p> |
| <p> |
| The current state of automation is optional and just list&nbsp;if for this given decision point we can have tools which |
| can migrate the business rules&nbsp;from one format to another.&nbsp; |
| </p> |
| <p> |
| The last column can be useful to define who will be the owner of the rule set(s) supporting the decision point. He/She |
| will be an important actor of the rule discovery. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-wn8vCP9iknXfxQNa_Gt3Zg" name="business_process_map,_nIvp1sVVEd2pfdXgw7I2qQ" guid="-wn8vCP9iknXfxQNa_Gt3Zg"> |
| <refinedDescription><a id="XE_business_process_map" name="XE_business_process_map"></a> |
| <p> |
| A Business Process is a collection of interrelated tasks, which solve a particular business problem or process a |
| business event: a claim is received and needs to be processed within 15 days. |
| </p> |
| <p> |
| A business process can be decomposed into several sub-processes, which have their own attributes, but also contribute |
| to achieving the goal of the super-process. |
| </p> |
| <p> |
| The following process map is done using BPMN 1.2 (2..0 soon)&nbsp;and illustrates a loan underwriting process. The |
| entry point is a mail with the loan application received, then the process follow a set of activities to decide if the |
| loan is eligible and what kind of loan product we can offer to the borrower and at what financial condition. This |
| process as described here is not taking into account the actors of the process. Swim lanes can be added&nbsp;to group |
| tasks per actors. |
| </p> |
| <p> |
| <img height="600" alt="" src="resources/loanapplicationbpm.bmp" width="357" /><br /> |
| <br /> |
| &nbsp; |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-SZIhc8oXvpac5M1fKbXgTA" name="define_discovery_roadmap,_nIvp3MVVEd2pfdXgw7I2qQ" guid="-SZIhc8oXvpac5M1fKbXgTA"> |
| <refinedDescription><p> |
| There are two dimensions to consider when preparing the rule discovery activi-ties or roadmap: |
| </p> |
| <ul> |
| <li> |
| The type of source for rule harvesting |
| </li> |
| <li> |
| The type of analysis used by the project team: use case approach, busi-ness process modeling, mission policies |
| analysis |
| </li> |
| </ul> |
| <p> |
| Tony Morgan in his book "Business Rules and Information Systems: Aligning IT with Business Goals" proposes the |
| following discovery processed according to the different source above: |
| </p> |
| <ul> |
| <li> |
| The static analysis process uses reading and highlighting the rules within documentation. The elicitation is based |
| on reading session completed with Question / Answer workshop sessions |
| </li> |
| <li> |
| Interactive involves a Subject Matter Expert who has the knowledge of the business process and the decisions to |
| take to process a given business event.The process will be done by using elicitation workshop |
| </li> |
| <li> |
| Automated involve using a computer and special application to search for rule statement within procedure code, SQL |
| procedures, code listing... Code review should always be complemented by workshop sessions for Q&amp;A.<br /> |
| </li> |
| </ul> |
| <p> |
| So for each decision point within the DP table do the following steps&nbsp; |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-z6-Qx7OJfj-Yq25AioSjCg" name="rule_discovery_roadmap,_nIvp1MVVEd2pfdXgw7I2qQ" guid="-z6-Qx7OJfj-Yq25AioSjCg"> |
| <refinedDescription><a id="XE_rule_discovery__roadmap" name="XE_rule_discovery__roadmap"></a>For each decision point we can complete the |
| information about the discovery roadmap and plan. The following table format can be used as template.<br |
| class="ISISGuidance" style="MARGIN: 3pt 0cm 3pt 36pt" /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-FbRsIZayJhCaFmbyRB96Cg" name="organise_workshop,_nIvp4MVVEd2pfdXgw7I2qQ" guid="-FbRsIZayJhCaFmbyRB96Cg"> |
| <refinedDescription><a id="XE_workshop__organize" name="XE_workshop__organize"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| To make the better use of the development and business team's time it is important to plan in advance the workshop |
| sessions and to clearly state what is in the agenda. We recommend organizing the day in two parts: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Do morning discovery workshop using elicitation techniques with the project stakeholders and subject matter expert. |
| During the&nbsp;rule harvesting phase the analyst team may want to use the rule template document to enter the rule |
| description and use some simple diagramming techniques to define the business entities (A good tool is the UML |
| class diagram but without the details of the methods) |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Second part of the day is used by&nbsp;the analyst and development team to perform analysis activities and later on |
| to author the rules. |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| As explained in <a class="elementLink" |
| href="./../../practice.tech.abrd.base/guidances/concepts/cycle_approach_7FA44D8F.html" |
| guid="_ftAoIAjrEdyj5bYZ0eCR5g">Cycle Approach to Rules Development</a> the discovery workshops are in phase 1, 2, and |
| 3, but with different frequency of occurrence. Phase 1 and 2, the workshops can be set every morning, but starting on |
| phase 3 it could happen every two days or more (but never more than a week to keep the focus and efficiency in the |
| process).<br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| The team should verify to have access to a dedicated meeting room with white boards, pencils, paper; post it, and |
| potentially a UML tool to quickly develop diagrams.. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-G5nrokl8FZiZW26GR8U4Fg" name="discovery_workshop_itinerary,_nIvp48VVEd2pfdXgw7I2qQ" guid="-G5nrokl8FZiZW26GR8U4Fg"> |
| <refinedDescription><a id="XE_rule_discovery__workshop_itinerary" name="XE_rule_discovery__workshop_itinerary"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Goal:</b> <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">These |
| series of Rule discovery workshops</span> are very important for the &lt;&gt; application, it will help: |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To separate a rule as a manageable artifact |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To trace rules from the origin to deployment |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To link rules to business context |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To develop the rule description using business term and natural business |
| language. |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To involve business user in the future ownership of the rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare for for the logical data model |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare the for the rule set implementation |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Duration</b>: 2 hours per session |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Facilities</b>: white board, pencil, paper; post it, UML tool like Enterprise |
| Architect, ISIS rule templates |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Agenda</b>: |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To formalize the rules using templates and business term and language |
| understood by the business user |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare the tests for the rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To define the object model for the rule |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> Define the different types of rules, rule writing standards, structure rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> Address the rule management requirements around rule ownership, and rule |
| change requirements |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Output:</b> rule set definition, logical data model |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Invitees</b>: |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <tbody> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <strong><em><font face="Times New Roman" color="#005DA0" |
| size="3">Business</font></em></strong>&nbsp; |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0"><font size="3"><font face="Times New Roman">IT</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Business Analyst</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Rule analyst</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">SME</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Rule writer</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Lead developer</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| &nbsp; |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: auto auto auto 36pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Pre-requisites</b>: Decision point table, rule discovery roadmap, conceptual |
| data model |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-rQeo3KBsjTpEofLhWWoCHg" name="execute_rule_discovery_roadmap,_nIvp1cVVEd2pfdXgw7I2qQ" guid="-rQeo3KBsjTpEofLhWWoCHg"> |
| <refinedDescription><p> |
| Rule elicitation is an ongoing activity you perform throughout the project. Collaboration with your stakeholders is |
| critical. They will change their minds as the project proceeds and that's perfectly fine. |
| </p> |
| <p> |
| The documentation of the rule may be done using different language. The natural language is initially used during |
| business conversations to describe the rule, informally, without trying to impose any structure. SMEs express their |
| ideas using a language very close to them, but they usually are not able to formalize their concepts in a clear and |
| unambiguous way. Using this language we may have redundancy and inconstancy in the rule ex-pression, in the business |
| terms, and overall by it may not be relevant and precise enough to be able to implement the decision logic. |
| </p> |
| <p> |
| Conceptualization and representation play fundamental roles in thinking, communicating, and modeling. |
| </p> |
| <p> |
| A second evolution is still in natural language, and is still consumable by both analysts and developers, but, we have |
| imposed some structure, and we made sure that they are relevant and have the right form, but may not be correct |
| semantically. We use the rule description template to log the rule. |
| </p> |
| <p> |
| The last type of expressiveness of the language to document the rule is precise and there are no ambiguities: the rule |
| refers exactly to information system objects. This language is parse-able and non-ambiguous. Semantics of Business |
| Vocabulary and Business Rules or SBVR from Object Management Group can be used at this stage to specify formally |
| representations of concepts, definitions, instances, and rules&nbsp;in natural language. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-SVG8fBamP9jI0gLGSNQYPg" name="business_terms_glossary,_nIvp18VVEd2pfdXgw7I2qQ" guid="-SVG8fBamP9jI0gLGSNQYPg"> |
| <refinedDescription><a id="XE_business_terms_glossary" name="XE_business_terms_glossary"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">One of the positive feedbacks&nbsp;received from |
| the business and IT team&nbsp;is the&nbsp;business term glossary document. Some organization has already defined this |
| kind of glossary, and even it is possible to use some industry standard. But standard are always adapted by the |
| organization so it is important to work on such&nbsp;glossary during the early phase of the project.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following template can be used for logging |
| the business vocabulary. The acronyms are not mandatory. The ownership column describes when a term is under the |
| responsibility of&nbsp;a team.</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver; mso-table-layout-alt: fixed" |
| cellspacing="0" cellpadding="0" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="104"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Term</span></i></b></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="76"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE"><font |
| size="3">Acronym</font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="425"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Definition</span></i></b></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="76"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Owner</span></i></b></font> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Ol-Ismqi_vwu93DuUULISw" name="rule_description_doc,_nIvp58VVEd2pfdXgw7I2qQ" guid="-Ol-Ismqi_vwu93DuUULISw"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-xywJ9rs6yDU3S-RR7R6DHw" name="conceptual_data_model,_nIvp08VVEd2pfdXgw7I2qQ" guid="-xywJ9rs6yDU3S-RR7R6DHw"> |
| <refinedDescription><p> |
| A conceptual data model describes the things important for an organization as entity classes and characteristics of the |
| things as attributes, and using&nbsp;associations between things. By 'thing'&nbsp;we mean anything perceivable or |
| conceivable and used in a day to day conversation. |
| </p> |
| <p> |
| Conceptual data model is used to explore domain concepts&nbsp;as a communication vehicle&nbsp;between the analysts and |
| the business team members. |
| </p> |
| <p> |
| With&nbsp;an&nbsp;Agile approach CDMs are used to explore the high-level static business structures and concepts, and |
| are described during the initial requirements iterations. In our approach conceptual data model are the first version |
| of the logical data model. So we use different level of&nbsp;a class diagram to represent the CDM.&nbsp;&nbsp;The rule |
| elicitation phase is most of the time leveraging the diagrams of&nbsp;the CDMs, but once we progress into the |
| iterations the CDMs are replaced by the LDMs. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-nWwIrDx_rgbWN_dCjIPeGg" name="business_event_description,_uJON1FmSEeCcpdiAcH0w-w" guid="-nWwIrDx_rgbWN_dCjIPeGg"> |
| <refinedDescription><p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: HE">Trigger |
| for the execution of a business process.</span> The processing of a business event can be done manually or using |
| software products and applications. Some decisions need to be done on the event for example to accept/ reject it or to |
| initiate some business processes. Those decisions can be implemented using a rule engine technology. |
| </p> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: HE">The |
| following list gives some examples of business event:</span> |
| </p> |
| <ul> |
| <li> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Claim is received</span> |
| </li> |
| <li> |
| <div class="MsoNormal" style="MARGIN: 0in 0in 0pt"> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Tax |
| form is filled</span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" style="MARGIN: 0in 0in 0pt"> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Loan |
| application is received</span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" style="MARGIN: 0in 0in 0pt"> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Car |
| is out of the chain</span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" style="MARGIN: 0in 0in 0pt"> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Train |
| wheel goes in front of infrared sensor</span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" style="MARGIN: 0in 0in 0pt"> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">RFID |
| read</span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" style="MARGIN: 0in 0in 0pt"> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Wafer |
| is started within the Fab</span> |
| </div> |
| </li> |
| </ul></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Zgt8ljNbGXKcbU4gzUCQrg" name="extract_rule_meaning,_s37aOcVVEd2pfdXgw7I2qQ" guid="-Zgt8ljNbGXKcbU4gzUCQrg"> |
| <refinedDescription><p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA"><font |
| face="Arial">During the elicitation activity the raw description of the rule uses business terms as used in common |
| language used by the people. This presents what the business users think about the way things are done in the company. |
| They are linking words with statements with all the different semantic attached to them. The first activity focuses on |
| analyzing this rule description&nbsp;to extract&nbsp;the business entities and terms used in a formal non ambiguous |
| fashion.&nbsp;</font></span> |
| </p> |
| <p> |
| We are discussing about Business Term here, as reference to a business concept used in daily business operations.They |
| are often found in different departments or refer to the same business concept from a different perspective: they are |
| synonyms. A term may describe business concept which will be mapped to a Class, a characteristic of a business entity |
| which will be mapped to attribute of a class, and sometime a term may describe the way a business object behave, in |
| that last case it will be mapped within method of a final state machine. |
| </p> |
| <p> |
| The second concept presented in the analysis of rule is the Fact. Fact is a combination of terms that describes what |
| business people know about their business. It connects terms into sensible business relevant observations.<br |
| style="MARGIN-TOP: 4.32pt; MARGIN-BOTTOM: 0pt; VERTICAL-ALIGN: baseline; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left; language: en-US; mso-line-break-override: restrictions; punctuation-wrap: simple" /> |
| As stated by the SBVR specification meaning is built of concepts, questions and propositions. the concepts will build |
| our underlying data model used by the executable rules, and the proposition will structure the data model and can also |
| be mapped to rules.<br /> |
| </p> |
| <p |
| style="MARGIN-TOP: 4.32pt; MARGIN-BOTTOM: 0pt; VERTICAL-ALIGN: baseline; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left; language: en-US; mso-line-break-override: restrictions; punctuation-wrap: simple"> |
| All these informations&nbsp;help to build a&nbsp;first logical data model used to build the underlying object |
| model&nbsp;used by the rules. We can use UML tool to design a class diagram, generates java code and import such code |
| in the rule IDE.<br /> |
| &nbsp; |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-NjDm5kyrlZVxH1HwaGoVFA" name="rule_description_doc,_s37aOMVVEd2pfdXgw7I2qQ" guid="-NjDm5kyrlZVxH1HwaGoVFA"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-LZfO28SzpOMkRDb62aUppg" name="fact_model,_s3yQQcVVEd2pfdXgw7I2qQ" guid="-LZfO28SzpOMkRDb62aUppg"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">A Fact Model represents structured business vocabulary with true statement like: A |
| customer places an order. The fact model looks like the Object Role Model described by Halpin (2001). When the model |
| starts to grow the notation become quickly invisible and no more helpful, so we do not encourage to follow this |
| notation.</span> We prefer using UML class diagram showing just the entities, the associations and may be some |
| characteristic as attributes of class. |
| </p><br /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A Fact Model should always include elementary |
| (atomic) fact type:</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Noun:&nbsp; Customer, Order, Product</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Verb:&nbsp; places, briefs</span> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-cAqcd_rDIyDggEFNkpOafA" name="logical_data_model,_s37aMcVVEd2pfdXgw7I2qQ" guid="-cAqcd_rDIyDggEFNkpOafA"> |
| <refinedDescription><a id="XE_logical_data_model" name="XE_logical_data_model"></a> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A logical data model or LDM is a graphical |
| representation of some of the business requirements and especially the concepts manipulated by the business member. LDM |
| is independent of the technology of implementation, and is mostly used&nbsp;as a communication vehicle for the business |
| analyst and&nbsp;to prepare the implementation of data models.&nbsp;&nbsp;</span></span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">From the point of view of an object-oriented developer |
| data modeling is conceptually similar to class modeling. With data modeling you identify entity types whereas with |
| class modeling you identify classes.&nbsp; Data attributes are assigned to entity type just as you would assign |
| attributes and operations to classes. Traditional data modeling is different from class modeling because it focuses |
| solely on data – class models allow you to explore both the behavior and data aspects of your domain, with a data model |
| you can only explore data issues.</span></span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">We use UML simple class diagram to represent |
| a</span> <span style="mso-bidi-font-family: Arial">Logical Data Model</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">but&nbsp;by applying&nbsp;Agile's principle of multiple |
| models, it is possible to use other diagrams.</span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-family: Arial">Logical Data Models</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">are used to explore the domain concepts, and their |
| relationships, of&nbsp;the problem domain.&nbsp; This could be done for the scope of a single project or for&nbsp;the |
| entire enterprise.&nbsp; LDMs depict the logical entity types, typically referred to simply as entity types, the data |
| attributes describing those entities, and the relationships between the entities.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| &nbsp; |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| Defining a logical data model prepare for future reuse, and help to build common definition of terms. This is one of |
| major building block for enterprise data model. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-TMElbWb1oCm06CVVbtGziA" name="transform_rules,_s37aOsVVEd2pfdXgw7I2qQ" guid="-TMElbWb1oCm06CVVbtGziA"> |
| <keyConsiderations>This activity will also be done during the implementation of the rule set, but it is started during the analysis, so we are |
| detailing it in this context.</keyConsiderations> |
| <refinedDescription><p> |
| Rule Analyst has to study the rule discovered and try to transform it so that the implementation and the management of |
| the rule will be more easy. This includes transforming the rule in atomic element using a syntax without ambiguity, |
| remove redundant rules, conflicting rules, and finally try to redefine the scope of the rule by searching by |
| non-handled cases.&nbsp; |
| </p> |
| <p> |
| At this stage rule analyst can build some rule template which&nbsp;are built from rules that have the same set of |
| conditions with some little variations: adding new value in test condition, or new condition. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-cldFzj8jYSiyDtkZGFpjQQ" name="build_test_scenario,_s37aO8VVEd2pfdXgw7I2qQ" guid="-cldFzj8jYSiyDtkZGFpjQQ"> |
| <refinedDescription><p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA"><font |
| face="Arial">Developing without testing has no sense today (we hope!). Developing rules deployed in rule engine |
| helps&nbsp;us supporting efficiently a Test Driven Development approach. Rule set can be isolated&nbsp;early in the |
| development process and can be tested in a sandbox environment. Writing tests before the rule makes testing part of a |
| validation feedback loop.&nbsp;&nbsp;So during the harvesting phase the analysis team needs to develop test scenario |
| and data elements to support the rule writing and testing. Working on concrete scenario leads to clarify ambiguities, |
| find holes in the decision processing, and enhance rules decision coverage, and the overall quality.</font></span> |
| </p> |
| <p> |
| At this level the scenario description can be built as user story with persona involvement, and data point to |
| illustrate the scenario. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-JMP5iTEzmgde5KqHrptXyA" name="synchronize_data_model,_s37aNcVVEd2pfdXgw7I2qQ" guid="-JMP5iTEzmgde5KqHrptXyA"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The rule analyst needs to continuously verify that business terms used in rule statements are part of the logical data |
| model (classes/ attributes) and physical data model (PDM). The model exposed to the rule needs to get data from data |
| sources. If a concept is not in the data it has to be quickly handled and managed by the application architect. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The rule analyst should be in continuous communication with the data model developer, responsible to develop the XML |
| schema or java model (or .Net), and the physical mapping to database.<br /> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| Part of most of the business application are the list of code, enumerated date or domain values. It is important to |
| well design how those data are defined, accessed by the application, and the rule authoring environment. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| It can be helpful for some major business term to define a mapping to a class-attribute, and if the BRMS supports this |
| function it is recommended to detail the "verbalization" of the business term. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0in" /> |
| <br /> |
| <div align="center"> |
| <table class="MsoNormalTable" style="WIDTH: 351pt; BORDER-COLLAPSE: collapse; mso-padding-alt: 0in 0in 0in 0in" |
| cellspacing="0" cellpadding="0" width="468" border="0"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: gray 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">Business Term</span></i> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">OO mapping</span></i> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">Verbalization</span></i> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">LTV</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">LoanApplication.ltv</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">The loan to value ratio</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in left 3.0in" /> |
| <br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-f3XkJ0vY-f93Cugh2hUPag" name="decision_point_table,_z0dHecVVEd2pfdXgw7I2qQ" guid="-f3XkJ0vY-f93Cugh2hUPag"> |
| <refinedDescription><a id="XE_decision_point_table" name="XE_decision_point_table"></a> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Groups |
| together all potential rules that determine one decision.</span> <a id="XE_decision_point" name="XE_decision_point">It |
| can be found in a use case description or in a Business Process Map task description.</a>&nbsp;Presented in table |
| format the project team can use the following template: |
| </p><br /> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 496.15pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" width="662" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="95"> |
| <p class="MsoNormalCxSpFirst" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Decision Point<span style="mso-spacerun: yes">&nbsp;</span> |
| Name</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="198"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Description</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="142"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Source for Rule Discovery</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="126"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><font face="Times New Roman"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">Current</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">State</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE">of |
| Automation</span></i></b></font></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="100"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Rule Owner -</font></font></span></i></b> |
| </p> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">SME</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br /> |
| <p> |
| The name should be explicit and without any ambiguity. It helps to link back to the business process or use case step. |
| An example may be "claim data review", or "loan eligibility"... |
| </p> |
| <p> |
| The source for rule discovery describes the main sources of rule harvesting like human, code, database, book, policies, |
| legal&nbsp;manual... |
| </p> |
| <p> |
| The current state of automation is optional and just list&nbsp;if for this given decision point we can have tools which |
| can migrate the business rules&nbsp;from one format to another.&nbsp; |
| </p> |
| <p> |
| The last column can be useful to define who will be the owner of the rule set(s) supporting the decision point. He/She |
| will be an important actor of the rule discovery. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-XJgsI3tf1RyfJOE8nXKyfA" name="business_process_map,_z0dHdsVVEd2pfdXgw7I2qQ" guid="-XJgsI3tf1RyfJOE8nXKyfA"> |
| <refinedDescription><a id="XE_business_process_map" name="XE_business_process_map"></a> |
| <p> |
| A Business Process is a collection of interrelated tasks, which solve a particular business problem or process a |
| business event: a claim is received and needs to be processed within 15 days. |
| </p> |
| <p> |
| A business process can be decomposed into several sub-processes, which have their own attributes, but also contribute |
| to achieving the goal of the super-process. |
| </p> |
| <p> |
| The following process map is done using BPMN 1.2 (2..0 soon)&nbsp;and illustrates a loan underwriting process. The |
| entry point is a mail with the loan application received, then the process follow a set of activities to decide if the |
| loan is eligible and what kind of loan product we can offer to the borrower and at what financial condition. This |
| process as described here is not taking into account the actors of the process. Swim lanes can be added&nbsp;to group |
| tasks per actors. |
| </p> |
| <p> |
| <img height="600" alt="" src="resources/loanapplicationbpm.bmp" width="357" /><br /> |
| <br /> |
| &nbsp; |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-FYiTjOVLhDDFiks9REzbWw" name="discovery_workshop_itinerary,_z0dHg8VVEd2pfdXgw7I2qQ" guid="-FYiTjOVLhDDFiks9REzbWw"> |
| <refinedDescription><a id="XE_rule_discovery__workshop_itinerary" name="XE_rule_discovery__workshop_itinerary"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Goal:</b> <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">These |
| series of Rule discovery workshops</span> are very important for the &lt;&gt; application, it will help: |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To separate a rule as a manageable artifact |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To trace rules from the origin to deployment |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To link rules to business context |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To develop the rule description using business term and natural business |
| language. |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To involve business user in the future ownership of the rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare for for the logical data model |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare the for the rule set implementation |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Duration</b>: 2 hours per session |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Facilities</b>: white board, pencil, paper; post it, UML tool like Enterprise |
| Architect, ISIS rule templates |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Agenda</b>: |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To formalize the rules using templates and business term and language |
| understood by the business user |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare the tests for the rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To define the object model for the rule |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> Define the different types of rules, rule writing standards, structure rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> Address the rule management requirements around rule ownership, and rule |
| change requirements |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Output:</b> rule set definition, logical data model |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Invitees</b>: |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <tbody> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <strong><em><font face="Times New Roman" color="#005DA0" |
| size="3">Business</font></em></strong>&nbsp; |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0"><font size="3"><font face="Times New Roman">IT</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Business Analyst</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Rule analyst</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">SME</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Rule writer</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Lead developer</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| &nbsp; |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: auto auto auto 36pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Pre-requisites</b>: Decision point table, rule discovery roadmap, conceptual |
| data model |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-I69B91Gv39Hsf4q9QC8gdw" name="execute_rule_discovery_roadmap,_z0dHdcVVEd2pfdXgw7I2qQ" guid="-I69B91Gv39Hsf4q9QC8gdw"> |
| <refinedDescription><p> |
| Rule elicitation is an ongoing activity you perform throughout the project. Collaboration with your stakeholders is |
| critical. They will change their minds as the project proceeds and that's perfectly fine. |
| </p> |
| <p> |
| The documentation of the rule may be done using different language. The natural language is initially used during |
| business conversations to describe the rule, informally, without trying to impose any structure. SMEs express their |
| ideas using a language very close to them, but they usually are not able to formalize their concepts in a clear and |
| unambiguous way. Using this language we may have redundancy and inconstancy in the rule ex-pression, in the business |
| terms, and overall by it may not be relevant and precise enough to be able to implement the decision logic. |
| </p> |
| <p> |
| Conceptualization and representation play fundamental roles in thinking, communicating, and modeling. |
| </p> |
| <p> |
| A second evolution is still in natural language, and is still consumable by both analysts and developers, but, we have |
| imposed some structure, and we made sure that they are relevant and have the right form, but may not be correct |
| semantically. We use the rule description template to log the rule. |
| </p> |
| <p> |
| The last type of expressiveness of the language to document the rule is precise and there are no ambiguities: the rule |
| refers exactly to information system objects. This language is parse-able and non-ambiguous. Semantics of Business |
| Vocabulary and Business Rules or SBVR from Object Management Group can be used at this stage to specify formally |
| representations of concepts, definitions, instances, and rules&nbsp;in natural language. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="--xaKhVngfn0TG7AUCYDE2Q" name="business_terms_glossary,_z0dHd8VVEd2pfdXgw7I2qQ" guid="--xaKhVngfn0TG7AUCYDE2Q"> |
| <refinedDescription><a id="XE_business_terms_glossary" name="XE_business_terms_glossary"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">One of the positive feedbacks&nbsp;received from |
| the business and IT team&nbsp;is the&nbsp;business term glossary document. Some organization has already defined this |
| kind of glossary, and even it is possible to use some industry standard. But standard are always adapted by the |
| organization so it is important to work on such&nbsp;glossary during the early phase of the project.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following template can be used for logging |
| the business vocabulary. The acronyms are not mandatory. The ownership column describes when a term is under the |
| responsibility of&nbsp;a team.</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver; mso-table-layout-alt: fixed" |
| cellspacing="0" cellpadding="0" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="104"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Term</span></i></b></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="76"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE"><font |
| size="3">Acronym</font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="425"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Definition</span></i></b></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="76"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Owner</span></i></b></font> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-ZxuH1YXgB-PGC8KKf8SqMA" name="rule_description_doc,_z0dHh8VVEd2pfdXgw7I2qQ" guid="-ZxuH1YXgB-PGC8KKf8SqMA"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-cQYuDYNpIetEa-A0wc2rMA" name="conceptual_data_model,_z0dHc8VVEd2pfdXgw7I2qQ" guid="-cQYuDYNpIetEa-A0wc2rMA"> |
| <refinedDescription><p> |
| A conceptual data model describes the things important for an organization as entity classes and characteristics of the |
| things as attributes, and using&nbsp;associations between things. By 'thing'&nbsp;we mean anything perceivable or |
| conceivable and used in a day to day conversation. |
| </p> |
| <p> |
| Conceptual data model is used to explore domain concepts&nbsp;as a communication vehicle&nbsp;between the analysts and |
| the business team members. |
| </p> |
| <p> |
| With&nbsp;an&nbsp;Agile approach CDMs are used to explore the high-level static business structures and concepts, and |
| are described during the initial requirements iterations. In our approach conceptual data model are the first version |
| of the logical data model. So we use different level of&nbsp;a class diagram to represent the CDM.&nbsp;&nbsp;The rule |
| elicitation phase is most of the time leveraging the diagrams of&nbsp;the CDMs, but once we progress into the |
| iterations the CDMs are replaced by the LDMs. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-NBqg7ns9nlUev0xlKSBKVg" name="extract_rule_meaning,_9s4lK8VVEd2pfdXgw7I2qQ" guid="-NBqg7ns9nlUev0xlKSBKVg"> |
| <refinedDescription><p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA"><font |
| face="Arial">During the elicitation activity the raw description of the rule uses business terms as used in common |
| language used by the people. This presents what the business users think about the way things are done in the company. |
| They are linking words with statements with all the different semantic attached to them. The first activity focuses on |
| analyzing this rule description&nbsp;to extract&nbsp;the business entities and terms used in a formal non ambiguous |
| fashion.&nbsp;</font></span> |
| </p> |
| <p> |
| We are discussing about Business Term here, as reference to a business concept used in daily business operations.They |
| are often found in different departments or refer to the same business concept from a different perspective: they are |
| synonyms. A term may describe business concept which will be mapped to a Class, a characteristic of a business entity |
| which will be mapped to attribute of a class, and sometime a term may describe the way a business object behave, in |
| that last case it will be mapped within method of a final state machine. |
| </p> |
| <p> |
| The second concept presented in the analysis of rule is the Fact. Fact is a combination of terms that describes what |
| business people know about their business. It connects terms into sensible business relevant observations.<br |
| style="MARGIN-TOP: 4.32pt; MARGIN-BOTTOM: 0pt; VERTICAL-ALIGN: baseline; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left; language: en-US; mso-line-break-override: restrictions; punctuation-wrap: simple" /> |
| As stated by the SBVR specification meaning is built of concepts, questions and propositions. the concepts will build |
| our underlying data model used by the executable rules, and the proposition will structure the data model and can also |
| be mapped to rules.<br /> |
| </p> |
| <p |
| style="MARGIN-TOP: 4.32pt; MARGIN-BOTTOM: 0pt; VERTICAL-ALIGN: baseline; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left; language: en-US; mso-line-break-override: restrictions; punctuation-wrap: simple"> |
| All these informations&nbsp;help to build a&nbsp;first logical data model used to build the underlying object |
| model&nbsp;used by the rules. We can use UML tool to design a class diagram, generates java code and import such code |
| in the rule IDE.<br /> |
| &nbsp; |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-1EFb1j163vesKIPD-WKc_A" name="rule_description_doc,_9s4lKsVVEd2pfdXgw7I2qQ" guid="-1EFb1j163vesKIPD-WKc_A"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-30jW7XM9GTETWwegnerK-g" name="fact_model,_9s4lIcVVEd2pfdXgw7I2qQ" guid="-30jW7XM9GTETWwegnerK-g"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">A Fact Model represents structured business vocabulary with true statement like: A |
| customer places an order. The fact model looks like the Object Role Model described by Halpin (2001). When the model |
| starts to grow the notation become quickly invisible and no more helpful, so we do not encourage to follow this |
| notation.</span> We prefer using UML class diagram showing just the entities, the associations and may be some |
| characteristic as attributes of class. |
| </p><br /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A Fact Model should always include elementary |
| (atomic) fact type:</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Noun:&nbsp; Customer, Order, Product</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Verb:&nbsp; places, briefs</span> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-QosjoU1KKqxnanfXEHADUQ" name="logical_data_model,_9s4lI8VVEd2pfdXgw7I2qQ" guid="-QosjoU1KKqxnanfXEHADUQ"> |
| <refinedDescription><a id="XE_logical_data_model" name="XE_logical_data_model"></a> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A logical data model or LDM is a graphical |
| representation of some of the business requirements and especially the concepts manipulated by the business member. LDM |
| is independent of the technology of implementation, and is mostly used&nbsp;as a communication vehicle for the business |
| analyst and&nbsp;to prepare the implementation of data models.&nbsp;&nbsp;</span></span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">From the point of view of an object-oriented developer |
| data modeling is conceptually similar to class modeling. With data modeling you identify entity types whereas with |
| class modeling you identify classes.&nbsp; Data attributes are assigned to entity type just as you would assign |
| attributes and operations to classes. Traditional data modeling is different from class modeling because it focuses |
| solely on data – class models allow you to explore both the behavior and data aspects of your domain, with a data model |
| you can only explore data issues.</span></span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">We use UML simple class diagram to represent |
| a</span> <span style="mso-bidi-font-family: Arial">Logical Data Model</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">but&nbsp;by applying&nbsp;Agile's principle of multiple |
| models, it is possible to use other diagrams.</span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-family: Arial">Logical Data Models</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">are used to explore the domain concepts, and their |
| relationships, of&nbsp;the problem domain.&nbsp; This could be done for the scope of a single project or for&nbsp;the |
| entire enterprise.&nbsp; LDMs depict the logical entity types, typically referred to simply as entity types, the data |
| attributes describing those entities, and the relationships between the entities.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| &nbsp; |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| Defining a logical data model prepare for future reuse, and help to build common definition of terms. This is one of |
| major building block for enterprise data model. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Jkw-vxUJt3NMdOu_yUsNgw" name="transform_rules,_9s4lLMVVEd2pfdXgw7I2qQ" guid="-Jkw-vxUJt3NMdOu_yUsNgw"> |
| <keyConsiderations>This activity will also be done during the implementation of the rule set, but it is started during the analysis, so we are |
| detailing it in this context.</keyConsiderations> |
| <refinedDescription><p> |
| Rule Analyst has to study the rule discovered and try to transform it so that the implementation and the management of |
| the rule will be more easy. This includes transforming the rule in atomic element using a syntax without ambiguity, |
| remove redundant rules, conflicting rules, and finally try to redefine the scope of the rule by searching by |
| non-handled cases.&nbsp; |
| </p> |
| <p> |
| At this stage rule analyst can build some rule template which&nbsp;are built from rules that have the same set of |
| conditions with some little variations: adding new value in test condition, or new condition. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-jD0SjTGEVGjAXwk-96CnBw" name="build_test_scenario,_9s4lLcVVEd2pfdXgw7I2qQ" guid="-jD0SjTGEVGjAXwk-96CnBw"> |
| <refinedDescription><p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA"><font |
| face="Arial">Developing without testing has no sense today (we hope!). Developing rules deployed in rule engine |
| helps&nbsp;us supporting efficiently a Test Driven Development approach. Rule set can be isolated&nbsp;early in the |
| development process and can be tested in a sandbox environment. Writing tests before the rule makes testing part of a |
| validation feedback loop.&nbsp;&nbsp;So during the harvesting phase the analysis team needs to develop test scenario |
| and data elements to support the rule writing and testing. Working on concrete scenario leads to clarify ambiguities, |
| find holes in the decision processing, and enhance rules decision coverage, and the overall quality.</font></span> |
| </p> |
| <p> |
| At this level the scenario description can be built as user story with persona involvement, and data point to |
| illustrate the scenario. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-pxSSUK3yjMwpuFplEiArVA" name="synchronize_data_model,_9s4lJ8VVEd2pfdXgw7I2qQ" guid="-pxSSUK3yjMwpuFplEiArVA"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The rule analyst needs to continuously verify that business terms used in rule statements are part of the logical data |
| model (classes/ attributes) and physical data model (PDM). The model exposed to the rule needs to get data from data |
| sources. If a concept is not in the data it has to be quickly handled and managed by the application architect. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The rule analyst should be in continuous communication with the data model developer, responsible to develop the XML |
| schema or java model (or .Net), and the physical mapping to database.<br /> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| Part of most of the business application are the list of code, enumerated date or domain values. It is important to |
| well design how those data are defined, accessed by the application, and the rule authoring environment. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| It can be helpful for some major business term to define a mapping to a class-attribute, and if the BRMS supports this |
| function it is recommended to detail the "verbalization" of the business term. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0in" /> |
| <br /> |
| <div align="center"> |
| <table class="MsoNormalTable" style="WIDTH: 351pt; BORDER-COLLAPSE: collapse; mso-padding-alt: 0in 0in 0in 0in" |
| cellspacing="0" cellpadding="0" width="468" border="0"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: gray 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">Business Term</span></i> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">OO mapping</span></i> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">Verbalization</span></i> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">LTV</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">LoanApplication.ltv</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">The loan to value ratio</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in left 3.0in" /> |
| <br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-1hKEhTu7zfbuOyxxSBfTVA" name="determine_rule_implementation,_9s4lQMVVEd2pfdXgw7I2qQ" guid="-1hKEhTu7zfbuOyxxSBfTVA"> |
| <refinedDescription><a id="XE_rule__determine_implementation" name="XE_rule__determine_implementation"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Project teams involved in BRMS deployment are often asking the following type of questions: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| When should I use BRMS versus a&nbsp;BPM? |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| How do I decide what decisions should I put into a BRE? |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| When should I use BRMS versus code?&nbsp; |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| There are definitively multiple variables which could influence the decision on where to implement rules. We can start |
| by looking at the BRMS value propositions, it should help to get a first set of variables: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Adaptability – Measure the ability to change the business logic easily. The motivation can be due to short deadline |
| constraint, or frequent small changes or important change that may occur every month or quarter. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Transparency – Represents the need to clearly implement the business logic as what was agreed upon the business |
| unit and the IT team, in a way that every parties understand the logic. This is leading to express the logic in |
| natural or close to natural language. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Auditability – Represents the ability to trace from the business motivation to the execution of the policy to |
| better understand what was the logic behind a decision. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Reusability – Need to share business logic across processes or applications and stay . consistent across |
| applications/transactions |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Manageability- This variable addresses the life cycle management of the business logic. Who writes what, and when, |
| and all the questions related to maintenance and evolutions of the rule-based service. |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| The purpose here is not to say it is not possible to support those variables in standard software development |
| practices, but more to find some good patterns on how to decide on where to implement the business logic. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| When looking at a business rules statement software engineer can see different possible choices of implementation like: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Data model: designing an object oriented object model involves supporting a lot of business rules. A statement like |
| a mortgage application can have a primary and a secondary borrower, will be supported by two classes and a 1 to 2 |
| relationship. At the instantiation of those classes the control of the cardinality can be done in the application |
| logic, or the database, or the GUI structure. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Application code: implementing the logic in function, procedural code or methods in service layer or business |
| objects. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| BPM process flow, tasks or links: BPM tools are addressing business process efficiency issue specifically on "who |
| is involved", "when they should be involved". "what they need to do". BPM supports manual human and automated |
| actors. At a glance the business logic to implement in BPM is linked to people, task, and data to process within a |
| task. When supporting purely automated tasks BPM is orchestrating the application logic and services (BPEL engine). |
| BRMS complements BPM by adding the why to a BPM task, why it behaves a certain way, why this decision is done. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Rule engine: <span style="mso-spacerun: yes">&nbsp;</span>using predefined structure like if then else statement or |
| decision table, rule flow, decision tree, function, rule template or other high level language... |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Graphical user interface: <span style="mso-spacerun: yes">&nbsp;</span>using scripting language or server side code |
| in controller class it is possible to implement data validation type of business rules. |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| In the following paragraphs address each of different choices with their impact on the variables |
| </p><br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in Data Model</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Rule which is controlling the structure of the model and the reference integrity |
| should be in the physical data model, the O/R mapping layer or on the domain object model.</span> |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Rule setting constraint on relationship - |
| <span style="mso-spacerun: yes">&nbsp;</span>like a loan application could only have two borrowers</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Rule on the structure of the business |
| entities - like this attribute is part of this object</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following facts are based on a simple |
| user authentication problem, are well implemented in an object model and the supporting application code which |
| create the instance from the data (O/R mapping layer or DAO or service layer):</span> |
| </li> |
| </ul> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A Company has a list of users who can login to the application</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A Company has a list of groups of user</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A User is part of a group</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A group includes a list of Users</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A group has one user reference who is the creator of the group</span> |
| </p> |
| <p> |
| Terms and facts and derived attributes&nbsp;are the primary constituents of data models and are represented in a UML |
| class diagram, and logical data model (entities/relationship model), or a physical data model. |
| </p> |
| <p> |
| <span style="mso-bidi-language: HE">The following table lists the impact of this implementation on the previously |
| defined variables</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Very static implementation. A change in the constraints of the object model |
| impact, data persistence, logical data model, service and presentation layers. Change is managed on |
| a monthly or yearly basis</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Data model represented as UML classes diagram is doing a poor job to |
| communicate to business. Entities diagram represents a more high level representation of the domain |
| model, but forces the team to maintain the link between the implementation and the business |
| representation.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Configuration management tool, with a strict development process and |
| disciplines can help to trace back to the business motivation.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Domain Object model can be designed as reusable. But in the reality each |
| application needs a view of the core business object model, and so part of the implemented |
| application will be to build those view.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Configuration management tools and strict discipline can help maintain the |
| business logic.</font></span> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in application code</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Implementing business rule in application code is |
| currently the most common way the IT developer is doing it. The major justifications are performance and flexibility of |
| the coding language. Using hard coded if/then/else statements isn't too flexible, but in the hands of a top notch |
| programmer it can be very fast and arguably as fast as or faster than a rule engine. Assuming the programmer has |
| unlimited time to optimize the execution for a fixed set of rules. If the ruleset changes frequently and the system |
| can't tolerate a big drop in performance, than a rule engine is the solution.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following example of business rules may be |
| easily implemented in code:</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span class="ISISCodeParagraphChar"><font face="Courier">verify in each items the customer bought since he is customer |
| with us there is at least one article of type T so that we can propose the new product Y with X % of discount, except |
| if the customer is from the state of New York or New Jersey</font></span><span |
| style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">We can implement this in a method which loops on |
| the articles bought by a given customer and do the search. At a first analysis, navigating in a collection of objects |
| and testing multiples conditions on them is easy to implement using the power of programming language.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">One thing interesting will be the hard coding of |
| the value of New York, New Jersey... If this logic change we need to add if statements in the code.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Other type of rules are related to the control of |
| the execution of a set of "services" to support specific use case. Dispatching, orchestration, data manipulation, … are |
| better candidate to be implemented in application code. Those rules are more static, often more complex, and |
| definitively linked to context of execution. The context may be too complex to expose to a rule engine.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Orchestration are now very well supported by |
| BPM-BPEL engine because the developer needs to add flexibility on the service selection and invocation.<span |
| style="mso-spacerun: yes">&nbsp;</span></span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The evaluation of the important variables |
| is:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">the necessity to change code when a business rule changes is still |
| unpleasant: software build are more efficient and cost less than before but deployment may be |
| expensive depending of the complexity of the production environment. <span |
| style="mso-spacerun: yes">&nbsp;</span></font></span> |
| </p> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Changing code under time pressure usually leads to poor |
| quality</font></span> |
| </p><br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Poor. The logic as defined by the business is split in multiple parts of the |
| code, methods and procedures.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Poor. Only strict use of configuration management tools with a strict |
| development process may help.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">If the logic is implemented in a service layer with defined interface it may |
| be possible to reuse part of the methods.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Developer is |
| responsible to implement the change, and use configuration management tools and strict development |
| disciplines.</span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in process map</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Business process automation is the technology components substituting and/or |
| supplementing manual processes to manage information flow within an organization to lower costs, reduce risk, and |
| increase consistency. In this context Business rules describe the structure, operation, and strategy of an |
| organization's business process. The business process definition can be seen as a business rule. Typically a rule |
| involving routing of transactional data to a queue, a task, or a sub process will be most likely implemented in a |
| process map. Defined at the link level business rules are linked to the structure of the process flow. Once designed |
| and implemented there is few chance those rule will change. Changing a business process is most of the time risky: we |
| do not want to change thing working and involving a lot of parties and stakeholders. In fact</span> new policies, |
| regulations or business strategies may affect the rules without changing the core business processes. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">A rule like: "<i style="mso-bidi-font-style: normal">if there is an exception in |
| the claim processing we want a supervisor to study the claim and the accumulated reasons extracted by the process so |
| far"</i> will most likely finish as guard on a process map link:</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <img height="348" alt="" src="resources/brinbpm.bmp" width="313" /> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Task 1 will most of the time call a rule engine to take decision on the claim. One of the pattern is to accumulate all |
| the possible reasons in a list. If the list include an exception or high priority reason, the process map will route to |
| the "Process Exception" task. This task can queue the work item to a supervisor queues. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">There are a lot tasks in a business process that are decision rich, so with a lot |
| of business rule to execute before completing the task. Those rules can be executed by a rule engine. The integration |
| Rule Engine – BPM will bring the value to support those cases. But as good practice it is always possible to try to |
| re-arrange an activity diagram of a use case or a process map so that some activities are purely automatically executed |
| in a rule engine mapped as a rule flow.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">The variables evaluation:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Business rules hardly coded in using BPM notation is not efficient and lead |
| to complex map. The real design implementation is to mix BPM map and business rules-decision |
| delegated in a process task. In this type of implementation we can leverage the best of both |
| worlds, and the adaptability is excellent.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: when the integration of BPMS and BRMS is done perfectly, the |
| business and IT team have a clear understanding of the process execution and the decision done by a |
| task by studying the rules attached to the task.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: both tools has version control, and it is possible to link |
| process map version to rule set version.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Rules defined in a task should be expose to the other application as a |
| service. So reusability can be achieved. Rules in a BPM map are not really reusable.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Process logic will |
| have a more stable life cycle, and it is managed in the BPMS. <span |
| style="mso-spacerun: yes">&nbsp;</span></span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in a rule engine</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Any type of rule using a forward chaining approach will best fit in any RETE rule |
| engine. To avoid long explanation a rule engine will perform very efficiently the following rules which are more |
| complex to implement in code:</span> |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Set parameter = A / (B ^ 2)</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">If parameter is above 30 then the risk is<span |
| style="mso-spacerun: yes">&nbsp;</span> medium</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">If the risk is medium then alert the manager</span> |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE"><span style="mso-spacerun: yes">&nbsp;</span>If we enter a new value for A all the |
| depend rules will be fired. Rules can be entered in any order we want, it is less declarative than procedural |
| code.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Backward chaining rule pattern can also been supported by a rule engine. The rule |
| system works down the tree to find the data that it requires. It will ask question to be able to infer decisions. It is |
| possible to implement backward chaining with product using pure inference by&nbsp;using a goal object.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">As we already stated one of the key factor is flexibility. We already encounter the |
| following decision: "This rule will not change"... but in fact it will do in the future or some of related one" |
| .</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">We can for example take a simple example of a static rule defined as</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 1.9pt 0cm 0pt 18pt; TEXT-ALIGN: justify"> |
| <span class="ISISCodeParagraphChar"><font face="Courier">If the status of the customer is gold and the product is |
| &lt;&gt; then apply &lt;&gt; % discount</font></span><span style="mso-bidi-language: HE">.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">This rule can be implemented within application code using some tables in a |
| database that link the product, the category of possible status and the discount to apply. But when discussing with the |
| business user to understand what is a gold customer? We can get other conditions that definitively will change over |
| time: "A customer who spend more than &lt;&gt; the amount of money... during the last 6 months ...No !<span |
| style="mso-spacerun: yes">&nbsp;</span> during the last four month only for the product X because it was only available |
| for 4 months!, … Okay but customer in the states {,,,,} could not be part of the gold status... Ah I forgot, ... A |
| customer must have 18 years old, and by the way customer working for our company or subsidiaries could not be part of |
| the gold...</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">The variables evaluation:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Excellent, rule can change quickly and be deployed quickly too</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: by adding meta data to implemented rule we can clearly link rule |
| to business strategies and policies</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent and most of the rule engine has log mechanism to trace what were |
| the rules executed on a given transaction.</font></span> |
| </p> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Rule reports are important to the business as part of |
| documentation</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Very good if the BRMS use rule repository and the rule analyst designed a |
| rule sharing approach</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Excellent as rules |
| are externalized and managed as a standalone artifact. Rule configuration management is complex, |
| and integrity between rule life cycle and rule set versioning is not a simple |
| practice.</span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in a graphical user interface</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| We will base the integration on the Model-View-Controller (MVC) design pattern. The presentation tier handles the |
| client interaction by abstracting the low-level protocol details into an event-based mechanism. The view's main |
| requirement is synchronization with the model so that data displayed to the user is up to date. The controller is |
| responsible to prepare the data and manage the view flow and content. Delegating the creation of content to a rule |
| engine is possible but need to be done synchronously. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| The business rule will be related to control the list of widget the GUI will present. A typical pattern is around |
| product catalog application or dynamic questionnaire. The rule pattern to control the content looks like: |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm 3pt 36pt"> |
| <i style="mso-bidi-font-style: normal">If the selection on this page was &lt;&gt; then add this &lt;&gt; to the model |
| used in view &lt;&gt;</i> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| A rule to control the flow of page looks like |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm 3pt 36pt"> |
| <i style="mso-bidi-font-style: normal">If the user visited page &lt;&gt; (and | or page &lt;&gt;) then next page is |
| &lt;&gt;</i> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Both rules may be enriched with business type decision based on data of the model. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| In these pattern it is clear we need to keep the previous context of decision, and events the user created.<span |
| style="mso-spacerun: yes">&nbsp;</span> So most of the current applications are putting the business rule in the |
| controller class or in the java script of the view, but it is possible to design the controller to use a rule engine, |
| as soon as the decision needs to change. This is particularly true for e-commerce web site, where marketing campaign |
| can quickly be put in place by proposing product or product feature more dynamically.<span |
| style="mso-spacerun: yes">&nbsp;</span> |
| </p><br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-ujEcUPK8pFeN7wqLRcSB9A" name="define_ruleset,_9s4lO8VVEd2pfdXgw7I2qQ" guid="-ujEcUPK8pFeN7wqLRcSB9A"> |
| <refinedDescription><a id="XE_rule_set__define" name="XE_rule_set__define"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">When designing an application using one BRE and a simple rule set this activity |
| will be done quickly. The rule developer still needs to think about the parameters the exception management, <span |
| style="mso-spacerun: yes">&nbsp;</span>what are the rule part of the rule set, and how they are executed.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">So for a simple unique rule set the following information needs to be designed and |
| documented:</span> |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Input, output parameters</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Type of data model</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Rule execution flow using a rule flow. But it is still possible with modern BRE |
| to use re-entrant rule set, so executing a rule flow from a rule task or rule package.</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Exception management</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Inference objects like a result object which may be used to control the future |
| execution of the caller application or the BRE.</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">What are the rule part of the rule set</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">What is their execution order. It is recommended to avoid using a ordering |
| mechanism like the rule priority, but some time at a rule task level it is needed to use sorting mechanism</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">When does a rule is not candidate to enter in a rule set. This is linked to the |
| rule life cycle.</span> |
| </li> |
| </ul></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-GSA2k4CiOuK856zbdHf6bw" name="build_object_models,_9s4lSsVVEd2pfdXgw7I2qQ" guid="-GSA2k4CiOuK856zbdHf6bw"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| <span style="mso-bidi-language: HE">Depending of the technology used there is different approach to this task. The |
| domain object model at the enterprise level will represent a complex data model a rule architect does not want to |
| expose as-is to the rule engine and the rule authoring environment. Navigating a complex graph of objects will bring |
| unnecessary complexity for the rule writer. So we recommend to always try to use a view of the enterprise domain object |
| model. For example in Financial Industry the business domain&nbsp;data model defined in MISMO (<a |
| href="http://www.mismo.org/"><font color="#005DA0">www.mismo.org</font></a>), brings a lot of value for an enterprise |
| willing to define a common ontology for their data models. But exposing the MISMO model as it is within a BRMS rule |
| authoring IDE will put too much complexity. As the Architect is responsible to design decision service reusable cross |
| application, it may make sense to consider view of this object model in the context of the service.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| <span style="mso-bidi-language: HE">For the application the view can be defined in two entities:</span> |
| </p> |
| <ul style="MARGIN-TOP: 0in" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0in; mso-list: l0 level1 lfo1; tab-stops: list .5in"> |
| <span style="mso-bidi-language: HE">the Domain Object Model using java or xml schema as the underling |
| technology</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0in; mso-list: l0 level1 lfo1; tab-stops: list .5in"> |
| <span style="mso-bidi-language: HE">or out of the box object view, like ILOG-Business Object Model element. The BOM |
| is mandatory to write rule on, but it&nbsp;can be created from an existing java model or XSD or created |
| top-down.</span> |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| <span style="mso-bidi-language: HE">If the model does not exist in the application, or at the enterprise level we still |
| recommend to develop the domain model, using an UML designer and code generation tools.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0in" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| <span style="mso-bidi-font-weight: bold; mso-bidi-font-style: italic">It is also important to consider designing a java |
| model or XSD schema which is closed to the business concepts used by the rule but built as a view of the domain object |
| model (We called that the Rule Business Object Pattern or RBO): in the example of standard object model like MISMO or |
| ACORD, it makes sense to do not expose all the class definition, attributes and enumerated to avoid exposing a complex |
| rule language to the business user. This view will be instantiated by the application business logic in the context of |
| preparing the data for the rule services</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0in" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| When designing a Domain Object model one of the challenges is to determine what should be an entity and what should be |
| an attribute of the entity.<span style="mso-spacerun: yes">&nbsp;</span> This is why knowledge engineers like the |
| Enterprise Ontology as a start point for developing these concepts.<span style="mso-spacerun: yes">&nbsp;</span> The |
| Enterprise Ontology describes the major entities and concepts that apply to all enterprises and it provides a very good |
| starting point for the establishment of static object models and data models. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The difference between a class and an entity type is that classes have both data and behaviors whereas entity types |
| just have data. A normal entity depicts one concept. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| Use multiple different UML class diagram to represent entities and their relations. Then enhance them to have a |
| complete class diagram from which you should be able to generate java code or XSD. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0in" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| Capture Meta data about each entity: business name, business definition, super type or subtype, number of occurrences, |
| primary key, and alternate keys. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0in" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| <span style="mso-bidi-language: HE">It is possible to consider designing a Domain Model using Interface, and then apply |
| different type of implementation according to different execution pattern or platforms. For example we can design |
| a;</span> |
| </p> |
| <ul style="MARGIN-TOP: 0in" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0in; mso-list: l1 level1 lfo2; tab-stops: list .5in"> |
| <a id="1030902" name="1030902"><span style="mso-bidi-language: HE">Staged deployment with different execution |
| classes</span></a> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0in; mso-list: l1 level1 lfo2; tab-stops: list .5in"> |
| <a id="1030906" name="1030906"><span style="mso-bidi-language: HE">Dynamic model (XML based or dynamic classes) |
| versus static model</span></a> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0in; mso-list: l1 level1 lfo2; tab-stops: list .5in"> |
| <a id="1030907" name="1030907"><span style="mso-bidi-language: HE">Production/test models (active objects versus |
| mock objects)</span></a> |
| </li> |
| </ul><a id="XE_object_model__build" name="XE_object_model__build"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-A69eNZMgOD-TmrIh98RJsg" name="build_rule_project_structure,_9s4lPsVVEd2pfdXgw7I2qQ" guid="-A69eNZMgOD-TmrIh98RJsg"> |
| <refinedDescription><a id="XE_rule_project__build_structure" name="XE_rule_project__build_structure"></a><br class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; TEXT-ALIGN: justify; mso-list: l0 level1 lfo1; tab-stops: list .25in" /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE"><span style="mso-bidi-language: HE">This activity is linked to the tool used. There |
| is still some considerations when designing the project structure for the rules and application:</span></span> |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Apply good design practice of implementing the application using a n-tier |
| approach. The service layer includes the interfaces of the rule decision service entries.</span><br |
| class="MsoNormal" style="MARGIN: 3pt 0cm 3pt 18pt" /> |
| <br /> |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE"><img height="491" alt="" src="resources/projstruct.bmp" width="515" /></span> |
| </p> |
| <div style="MARGIN-TOP: 0cm; MARGIN-LEFT: 2em" type="disc"> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE"><span style="mso-bidi-language: HE">Organize rule project so that a few |
| person can concurrently work on&nbsp;rule artifact at the same time.</span></span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Organize rule project so that they are manageable in term of performance at |
| the execution and at the rule authoring level.</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"> |
| Separate representation of the domain object model in java project. |
| </li> |
| </ul> |
| </div></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-7KXY0dEtZ02k-zR2uSgrLw" name="prototype_rules,_9s4lQcVVEd2pfdXgw7I2qQ" guid="-7KXY0dEtZ02k-zR2uSgrLw"> |
| <refinedDescription><a id="XE_rule__prototyping" name="XE_rule__prototyping"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">The goal of the Rule Analysis activity is to prepare the rules for the |
| implementation. The rule analyst and the rule writer will analyze the rules discovered in a disjointed way into a |
| complete and coherent set. From the rule description, the glossary of business terms and may be from a first version of |
| the logical data model (LDM), the discovery team needs to transform the rules using the terms of the business to |
| elements that will be implemented by the rule writers. The rule analyst executes a set of iterative tasks to reach rule |
| implementation.</span> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-DLOZ9q9zKzqSH02qulirKQ" name="decision_point_table,_9s4lPMVVEd2pfdXgw7I2qQ" guid="-DLOZ9q9zKzqSH02qulirKQ"> |
| <refinedDescription><a id="XE_decision_point_table" name="XE_decision_point_table"></a> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Groups |
| together all potential rules that determine one decision.</span> <a id="XE_decision_point" name="XE_decision_point">It |
| can be found in a use case description or in a Business Process Map task description.</a>&nbsp;Presented in table |
| format the project team can use the following template: |
| </p><br /> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 496.15pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" width="662" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="95"> |
| <p class="MsoNormalCxSpFirst" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Decision Point<span style="mso-spacerun: yes">&nbsp;</span> |
| Name</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="198"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Description</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="142"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Source for Rule Discovery</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="126"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><font face="Times New Roman"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">Current</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">State</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE">of |
| Automation</span></i></b></font></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="100"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Rule Owner -</font></font></span></i></b> |
| </p> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">SME</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br /> |
| <p> |
| The name should be explicit and without any ambiguity. It helps to link back to the business process or use case step. |
| An example may be "claim data review", or "loan eligibility"... |
| </p> |
| <p> |
| The source for rule discovery describes the main sources of rule harvesting like human, code, database, book, policies, |
| legal&nbsp;manual... |
| </p> |
| <p> |
| The current state of automation is optional and just list&nbsp;if for this given decision point we can have tools which |
| can migrate the business rules&nbsp;from one format to another.&nbsp; |
| </p> |
| <p> |
| The last column can be useful to define who will be the owner of the rule set(s) supporting the decision point. He/She |
| will be an important actor of the rule discovery. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-WpMajOrHlIGWS4oIiTfIgQ" name="rule_description_doc,_9s4lRsVVEd2pfdXgw7I2qQ" guid="-WpMajOrHlIGWS4oIiTfIgQ"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-mw3UMRnpZKKJ1HXl4Tx2GA" name="ruleset,_9s4lP8VVEd2pfdXgw7I2qQ" guid="-mw3UMRnpZKKJ1HXl4Tx2GA"> |
| <refinedDescription><a id="XE_rule_set__work_product" name="XE_rule_set__work_product"></a> |
| <p> |
| For more detail see <a class="elementLink" href="./../../abrd/guidances/termdefinitions/rule_set_4D4C8DB1.html" |
| guid="_DdvcwBCQEdyJtJ3PbfdVDw">Rule Set</a>&nbsp;and <a class="elementLink" |
| href="./../../abrd/guidances/termdefinitions/rule_engine_A66B71B3.html" guid="_QQcSoEXXEdy14e5PT9v3HQ">rule engine</a> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-TzodlLaSF7x8Ox7OmJmUyg" name="define_ruleset_testing,_HSAXQGh8Ed-FVuzXjnvIWA" guid="-TzodlLaSF7x8Ox7OmJmUyg"> |
| <refinedDescription><p> |
| The recommended approach is to consider a rule-set as a unit piece of functionality that gets exposed to the rest of |
| the application as a decision service (SOA pattern). Therefore it should be tested using the same strategy as for any |
| other function in the system. One criterion of rule testing lies in the level of user friendliness that should be built |
| into the test harness. Indeed, empowering business analysts with the ability to change the rules also means they should |
| be tested with their changes. Typically developers code fixtures and do automated testing using JUnit. Business |
| analysts should not write code, but should be able to put together fixtures to be tested against the rules. |
| </p> |
| <p> |
| How much effort should be spent on the rule test harness really depends on the application, and also importantly on the |
| IT-level of business analyst. Sometimes capturing test data in XML and having business analysts edit them is enough and |
| very cost effective. Sometimes business analysts will feel more comfortable with Excel spreadsheets, or with a full GUI |
| which would need a larger development effort to be facilitated.<br /> |
| It is usually a good idea whenever possible to keep individual test case data in files that can be put under source |
| code management. This way the code base, the rules and the test cases can be kept in sync. This becomes important when |
| multiple versions of a business rule are being worked on at different stages such as active development stage, test |
| stage or production stage.<br /> |
| BRMS testing fits perfectly into this strategy due to its ability to produce the same sort of test fixtures as the |
| other environments. Utilizing a tool such as JUnit as the test controller, test fixtures are stored in a test fixture |
| repository for which the JUnit can access. |
| </p> |
| <h5> |
| Testing Levels<br /> |
| </h5> |
| <p> |
| The following levels of testing are usually applied during the application construction:<br /> |
| </p> |
| <ul> |
| <li> |
| Unit Test: applied to test classes and other application elements as developers build them. In the context of a |
| BRMS, the goal of unit testing is to make sure that a rule is actually fired when expected, against the expect |
| object instances and performs the expected working memory updates. |
| </li> |
| <li> |
| Component Test: applied to test a group of elements (e.g. classes) which together represent a significant |
| application component. In the context of a BRMS, a component is typically a rule service. |
| </li> |
| <li> |
| System Test: applied to test the system performs the right business functions correctly. |
| </li> |
| <li> |
| Acceptance Test: applied to ensure users are satisfied with the system. The last stages of acceptance testing are |
| the alpha testing (testing performed internally by the company) and beta testing (testing performed by a limited |
| audience outside of the company). |
| </li> |
| <li> |
| The scope of this section is limited to unit-test (usually performed by rule developers) and component test |
| (performed by both rule developers and rule authors), where components are understood as the rule services |
| implemented by a rule engine. |
| </li> |
| </ul> |
| <p> |
| Once the rule service components are tested, the next levels can follow the general application testing process |
| followed by the client's QA department, who are considering the rule services as black boxes.<br /> |
| </p> |
| <h5> |
| Testing Activities |
| </h5> |
| <p> |
| This section relates to why testing is performed, that is what we are trying to get out of it. The goal of testing the |
| decision service components is first and foremost to ensure the correctness of the decision rendered by the service |
| with respect to the requirements.<br /> |
| Key Performance Indicators (KPIs) are used to measure how close the actual test results are from the expectations. The |
| focus of KPIs vary depending on the type of testing performed: for performance testing, the KPIs will obviously be |
| interested in the time taken to execute the rules or tasks in the rule-set, for coverage, the focus will be on the set |
| of rule fired and the set of tasks executed, and for more business-oriented testing of correctness, the focus will be |
| on the accuracy of the response.<br /> |
| </p> |
| <h5> |
| Correctness<br /> |
| </h5> |
| <p> |
| For a decision-rich type of application, this is where most of the testing time and effort will be spent, using all |
| types of resources from developers, to business analysts, to business rule writers and subject matter experts.<br /> |
| The goal here is to ensure that for a given request configuration, the system renders a response that conforms to the |
| company business goals and policies, contractual obligations and possibly to compliance rules imposed by external |
| agencies (laws and regulations). The impact of an incorrect decision can be profound, from lawsuits for non-compliance |
| to risky financial commitments.<br /> |
| Testing the correctness of a business rules application necessarily involves the participation of SMEs, who will write |
| test cases and manually produce the expected response. This is a very time and resource consuming activity which should |
| be carefully taken into account when designing the test plan for an application.<br /> |
| Alternatively, some test cases can be extracted from a legacy system database. The benefit here is obvious: the |
| database provides the number and the variety of test cases needed, and also guarantees the validity of the test |
| cases.<br /> |
| </p> |
| <h5> |
| Regression<br /> |
| </h5> |
| <p> |
| The goal of regression testing is to uncover regression problems, that is, problems which were not present in the |
| previous version of the application but appeared in the new version after a change was introduced. Regression testing |
| for rules is used to make sure that after fixing, or updating a rule service, the functionalities which were working |
| before are still working as expected. For example, after implementing a business change request which lowers the rates |
| in the state of California, regression testing should be applied to ensure that rates remained unchanged in all other |
| states.<br /> |
| Besides verifying that correctness is conserved from one version to another, regression testing is also used to verify |
| that quality (for example, execution performance) is conserved.<br /> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-3TEm3EjK2B_3xvMAHjQHWw" name="develop_unit_tests,_9s4lNcVVEd2pfdXgw7I2qQ" guid="-3TEm3EjK2B_3xvMAHjQHWw"> |
| <refinedDescription><a id="XE_unit_tests__develop" name="XE_unit_tests__develop"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Rule Unit Testing is the process of testing a specific rule in the context of the rule set in which it is deployed. |
| Rule Unit Testing allows rule writers to: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Validate each rule in the context of its rule set |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Control the rule set quality |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Conduct some impact analysis when rules are in conflict |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Helps to have non-regression tests |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">There is a major difference between testing a code, and a rule. A rule engine per |
| design may not put a rule in the agenda if the conditions are not matched. This means that when the rule writer write a |
| new rule, even if the data are sent to trigger the execution of this new rule it is possible that a rule fired before |
| the new one, with change the condition of the data so that this new rule will never be eligible. Developing a complete |
| set of unit test is an efficient way to see this problem, and to improve the rule set design. Some powerful BRMS |
| platform has rules consistency checking which helps to do some static analysis of those potential conflict by analyzing |
| the conditions and the actions of the rules. For sure real test cases will complete the picture.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Using |
| a Test Driven Development approach rule writer can develop the test script preparing the data to trigger each rule, |
| depending of the BRMS platform used, the script generation can be done automatically or not. What is important is develop |
| reusable test case organized in test suite which include assertion statement to validate the expected results. This is |
| efficient tool to put in place automatic non regression tests.</span></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-wUfIZbnlisjRJ7z3OjFsUQ" name="develop_rules,_9s4lN8VVEd2pfdXgw7I2qQ" guid="-wUfIZbnlisjRJ7z3OjFsUQ"> |
| <refinedDescription><a id="XE_rule__develop" name="XE_rule__develop"></a> |
| <p> |
| Programming using rule approach enforces to know how a rule engine is working. This is not a complex skill, rue author |
| needs to understand&nbsp; the concepts of asserting, retracting object into working memory and modifying them. It is |
| recommended to read what a <a class="elementLink" |
| href="./../../practice.tech.abrd.base/guidances/termdefinitions/rule_engine_A66B71B3.html" |
| guid="_QQcSoEXXEdy14e5PT9v3HQ">Rule engine</a>&nbsp;is to get those concepts. |
| </p> |
| <p> |
| Rule development can follow a test driven development approach: the developer can develop the test cases to trigger the |
| rule execution and then write the rules. Once done the new rules are extracted with the other rules in the rule set, |
| deployed to the unit test environment and the test executes. When designing with interface the unit test uses the |
| facade to access the rule engine for&nbsp;the execution. |
| </p> |
| <p> |
| When rules are complex and include a lot of conditions it may make sense to add condition by steps. It may be easy to |
| make error by using a wrong boolean operator. When the rue language support navigating into collection the testing may |
| include test around the presence and not presence of element in the collection. |
| </p> |
| <p> |
| It is always interesting once the rule is developed to perform rule analysis if the BRMS product has this capability. |
| The analysis helps to see if the current rule is in conflict with existing rules.<br /> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-bLL0Fi0p_lu2XVXfO4Bmng" name="ruleset,_9s4lNMVVEd2pfdXgw7I2qQ" guid="-bLL0Fi0p_lu2XVXfO4Bmng"> |
| <refinedDescription><a id="XE_rule_set__work_product" name="XE_rule_set__work_product"></a> |
| <p> |
| For more detail see <a class="elementLink" href="./../../abrd/guidances/termdefinitions/rule_set_4D4C8DB1.html" |
| guid="_DdvcwBCQEdyJtJ3PbfdVDw">Rule Set</a>&nbsp;and <a class="elementLink" |
| href="./../../abrd/guidances/termdefinitions/rule_engine_A66B71B3.html" guid="_QQcSoEXXEdy14e5PT9v3HQ">rule engine</a> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-pk5as0BVClbnn3B7FhmN3A" name="enhance_object_models,_9s4lMMVVEd2pfdXgw7I2qQ" guid="-pk5as0BVClbnn3B7FhmN3A"> |
| <refinedDescription>Typically the developer adds helper methods in the data model to facilitate the rule writing. Develop utility classes. The |
| data elements should not have persistence logic in it. For example in Java do not put JDBC code in the Customer object. Let |
| try to stick to the Java bean specification for all the&nbsp;business objects, and leverage a service layer, with service |
| facades objects to help gathering and process data.&nbsp;</refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-9bcuy4Hs_gwTKjG8NyKAPw" name="execute_rule_set,_9s4lM8VVEd2pfdXgw7I2qQ" guid="-9bcuy4Hs_gwTKjG8NyKAPw"> |
| <refinedDescription><a id="XE_rule_set__execute" name="XE_rule_set__execute"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-oYF8elqKsD5hfhKlCij3xQ" name="log_issue,_9s4lMsVVEd2pfdXgw7I2qQ" guid="-oYF8elqKsD5hfhKlCij3xQ"> |
| <refinedDescription><ul> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Formally log any issues and decisions done during the rule |
| analysis and the rule authoring activities.</span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The issue |
| log is used to manage feedbacks, and to improve the rule set quality.</span></span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-weight: bold">As a social process, people will |
| change their mind, it is a good practice to log decision on a timely manner.</span> |
| </div> |
| </li> |
| </ul><br class="MsoNormal" style="MARGIN: 0in 0in 0pt" /> |
| <br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-OJ8H_2tSlsUq645zMbm48Q" name="develop_architecture,_9s4lTsVVEd2pfdXgw7I2qQ" guid="-OJ8H_2tSlsUq645zMbm48Q"> |
| <keyConsiderations><p class="MsoNormal" style="MARGIN: 0in 0in 10pt"> |
| <span style="mso-bidi-language: HE">Integrating the BRE into the business application involves Middleware, server |
| implementation and architecture background. Integrating BRMS into the business and IT organization involves process |
| definition, development practices and methodology skills.</span> |
| </p></keyConsiderations> |
| <refinedDescription><p> |
| The architect has to address as soon as possible in the project life cycle: |
| </p> |
| <ul> |
| <li> |
| Integrate the Rule Engine into the business application using a service oriented design to facilitate reuse and |
| scalability. If an embedded solution is the choice for accessing the BRE the design should address the engine |
| integration at the API level. |
| </li> |
| <li> |
| Deploy Business Rules Management System into the business and IT organizations. This includes the deployment of the |
| Rule Developer IDE and Rule Analyst web based component into the IT architecture. It also addresses the change |
| management processes to design on top of the tools.<br /> |
| </li> |
| </ul> |
| <p> |
| For a BRMS deployment architect needs to integrate the following components within the IT architecture: |
| </p> |
| <ul> |
| <li> |
| The Rule Engine as an executable class, callable using proprietary API or the JSR94 API. Rule Engine can be an |
| embedded component or deployed within a pool as reusable components. Java Connector Architecture can be a solution |
| to manage a pool of Rule Engines. JCA implementation offers a set of services which any deployed adapters can |
| leverage: such as security and transaction propagation.&nbsp;<br /> |
| </li> |
| <li> |
| The Rule Set(s): As script file, it needs to be managed and deployed dynamically and can follow a specific life |
| cycle. It can be also packaged as a jar and available after the system startup, or hot deployed using JMX.<br /> |
| </li> |
| <li> |
| The IDE, like a Rule Studio, used by the developers to implement the rules, the rule set structure and the |
| technical elements of the rule sets.<br /> |
| </li> |
| <li> |
| A Web based Rule management platform to let business users and analysts being able to maintain the rules.<br /> |
| </li> |
| <li> |
| A Rule testing framework to support functional testing of the rule set and non-regression tests. |
| </li> |
| </ul> |
| <p> |
| <img height="376" alt="" src="resources/brmscomponents.bmp" width="487" /> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-AG5WgBy68mLoQW6HqHTusQ" name="decision_service_architecture,_9s4lT8VVEd2pfdXgw7I2qQ" guid="-AG5WgBy68mLoQW6HqHTusQ"> |
| <refinedDescription><p> |
| <a class="elementLink" href="./../../practice.tech.abrd.base/guidances/termdefinitions/decision_service_6C51F997.html" |
| guid="_M0nWsAsYEdyPCr4G1Tb79A">Decision service</a> definition should map business decision point and not technical |
| service like a rule set signature. Decision service&nbsp;definition should not take into account the&nbsp;fact that we |
| are using a rule engine&nbsp;for the&nbsp;implementation, and should expose reusable interface and |
| operations&nbsp;that&nbsp;are linked together by a business meaning or semantic.&nbsp;This means a decision service is |
| part of the business services and not the technical services. &nbsp; |
| </p><br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-VLRdP6iYek0zEo_rHnIppw" name="design_reference_data_integration,_9s4lTcVVEd2pfdXgw7I2qQ" guid="-VLRdP6iYek0zEo_rHnIppw"> |
| <refinedDescription><p> |
| From the methodology point of view data management need to be looked into: data origination, data management, and data |
| consumption. The architect needs to understand how the master data are coming from and how they are updated. The life |
| cycle of such data can lead to version and management control, that may add complexity on top of the services |
| versioning. The data consumption has to be addressed for the execution environment and also in the case of BRMS |
| deployment for the rule authoring environment. |
| </p> |
| <p> |
| The following diagram highlights a high level architecture&nbsp;architect can leverage to design&nbsp;his own solution. |
| </p><br /> |
| <p> |
| <img height="499" alt="" src="resources/mdm.bmp" width="557" /><br /> |
| </p> |
| <p> |
| The master data are centralized in a repository, and technology as Master Data Management product can be&nbsp;used for |
| that. The different sources of data are synchronized with this repository on a regular basis, using different |
| implementation mechanism based on ETL, ESB, web services or custom layer. A mapping mechanism&nbsp;as to be applied to |
| persist the data in the repository. The Execution environment can fetch the last version or a given version of the data |
| from this repository and cache it. |
| </p> |
| <p> |
| The same applies for the rule authoring environment: The&nbsp;BRMS server can load the data and cache it in the web |
| server. With such simple architecture the rule writer can have access to a unique definition of the enumerated domains |
| or other business objects, like a Product definition. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-BBnqXNX3L83SEuYSuaMdxw" name="design_models_for_bre,_9s4lUMVVEd2pfdXgw7I2qQ" guid="-BBnqXNX3L83SEuYSuaMdxw"> |
| <refinedDescription><p> |
| This is an important activity as we do not expose an enterprise model or a physical model as&nbsp;is to a rule engine. |
| We need to create views of such complex models. The simplest mechanism uses XML Schema definition to define the model |
| exchanged between the caller and the rule service. Most of the server implementation are using a Java implementation, |
| so it may makes sense to leverage a Java to/ from XML binding as JAXB to easily test and implement the business |
| services and the models. |
| </p> |
| <p> |
| In any cases&nbsp;&nbsp;the architect and developer of the executable models need to take into account the existing |
| physical models and the outcomes of the rule discovery and analysis, to be sure that the rule can execute |
| efficiently.&nbsp; |
| </p> |
| <p> |
| Developing such models is done by iterations. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-ZBEhisTrkRvWYQ7SWQP4eg" name="integrate_bre,_9s4lUcVVEd2pfdXgw7I2qQ" guid="-ZBEhisTrkRvWYQ7SWQP4eg"> |
| <refinedDescription><p> |
| The Rule Engine as an executable class, callable using proprietary API or the JSR94 API. Rule Engine can be an embedded |
| component or deployed within a pool as reusable components. |
| </p> |
| <p> |
| When designing a SOA and the different decision services, the architect should focus and apply the same design pattern |
| as other business services. The rule engine technology choice is an implementation decision not a service design one. |
| The service design has to address: |
| </p> |
| <ul> |
| <li> |
| the service definition: one or more operations linked to the same data semantic |
| </li> |
| <li> |
| the operation call approach: synchronous/ asynchronous, stateless/stateful, header based or carrying payload, use |
| of faults or not |
| </li> |
| <li> |
| the exception reporting |
| </li> |
| </ul> |
| <p> |
| The service implementation using a rule engine has to look at: |
| </p> |
| <ul> |
| <li> |
| the transaction propagation |
| </li> |
| <li> |
| the reference data caching |
| </li> |
| <li> |
| the parsing of input message: the claim data |
| </li> |
| <li> |
| the loading of the related data: the policy related to the claim, or the insured person profile |
| </li> |
| <li> |
| the preparation of the output message: the result and may be some other technical data |
| </li> |
| </ul></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-rH1vUc8rldU1_AKYYx9dBA" name="logical_data_model,_vxYecVmSEeCcpdiAcH0w-w" guid="-rH1vUc8rldU1_AKYYx9dBA"> |
| <refinedDescription><a id="XE_logical_data_model" name="XE_logical_data_model"></a> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A logical data model or LDM is a graphical |
| representation of some of the business requirements and especially the concepts manipulated by the business member. LDM |
| is independent of the technology of implementation, and is mostly used&nbsp;as a communication vehicle for the business |
| analyst and&nbsp;to prepare the implementation of data models.&nbsp;&nbsp;</span></span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">From the point of view of an object-oriented developer |
| data modeling is conceptually similar to class modeling. With data modeling you identify entity types whereas with |
| class modeling you identify classes.&nbsp; Data attributes are assigned to entity type just as you would assign |
| attributes and operations to classes. Traditional data modeling is different from class modeling because it focuses |
| solely on data – class models allow you to explore both the behavior and data aspects of your domain, with a data model |
| you can only explore data issues.</span></span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">We use UML simple class diagram to represent |
| a</span> <span style="mso-bidi-font-family: Arial">Logical Data Model</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">but&nbsp;by applying&nbsp;Agile's principle of multiple |
| models, it is possible to use other diagrams.</span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-family: Arial">Logical Data Models</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">are used to explore the domain concepts, and their |
| relationships, of&nbsp;the problem domain.&nbsp; This could be done for the scope of a single project or for&nbsp;the |
| entire enterprise.&nbsp; LDMs depict the logical entity types, typically referred to simply as entity types, the data |
| attributes describing those entities, and the relationships between the entities.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| &nbsp; |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| Defining a logical data model prepare for future reuse, and help to build common definition of terms. This is one of |
| major building block for enterprise data model. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-bvUOgHIu3fluB7VANjXFJg" name="decision_point_table,_vxYedFmSEeCcpdiAcH0w-w" guid="-bvUOgHIu3fluB7VANjXFJg"> |
| <refinedDescription><a id="XE_decision_point_table" name="XE_decision_point_table"></a> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Groups |
| together all potential rules that determine one decision.</span> <a id="XE_decision_point" name="XE_decision_point">It |
| can be found in a use case description or in a Business Process Map task description.</a>&nbsp;Presented in table |
| format the project team can use the following template: |
| </p><br /> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 496.15pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" width="662" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="95"> |
| <p class="MsoNormalCxSpFirst" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Decision Point<span style="mso-spacerun: yes">&nbsp;</span> |
| Name</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="198"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Description</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="142"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Source for Rule Discovery</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="126"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><font face="Times New Roman"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">Current</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">State</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE">of |
| Automation</span></i></b></font></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="100"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Rule Owner -</font></font></span></i></b> |
| </p> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">SME</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br /> |
| <p> |
| The name should be explicit and without any ambiguity. It helps to link back to the business process or use case step. |
| An example may be "claim data review", or "loan eligibility"... |
| </p> |
| <p> |
| The source for rule discovery describes the main sources of rule harvesting like human, code, database, book, policies, |
| legal&nbsp;manual... |
| </p> |
| <p> |
| The current state of automation is optional and just list&nbsp;if for this given decision point we can have tools which |
| can migrate the business rules&nbsp;from one format to another.&nbsp; |
| </p> |
| <p> |
| The last column can be useful to define who will be the owner of the rule set(s) supporting the decision point. He/She |
| will be an important actor of the rule discovery. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-ewbo32yGFGXgBOLZ6El0qQ" name="fact_model,_vxYeelmSEeCcpdiAcH0w-w" guid="-ewbo32yGFGXgBOLZ6El0qQ"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">A Fact Model represents structured business vocabulary with true statement like: A |
| customer places an order. The fact model looks like the Object Role Model described by Halpin (2001). When the model |
| starts to grow the notation become quickly invisible and no more helpful, so we do not encourage to follow this |
| notation.</span> We prefer using UML class diagram showing just the entities, the associations and may be some |
| characteristic as attributes of class. |
| </p><br /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A Fact Model should always include elementary |
| (atomic) fact type:</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Noun:&nbsp; Customer, Order, Product</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Verb:&nbsp; places, briefs</span> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-c8q_v1s1n7aK-0miFaupPw" name="decision_point_table,_RkSNlMVWEd2pfdXgw7I2qQ" guid="-c8q_v1s1n7aK-0miFaupPw"> |
| <refinedDescription><a id="XE_decision_point_table" name="XE_decision_point_table"></a> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Groups |
| together all potential rules that determine one decision.</span> <a id="XE_decision_point" name="XE_decision_point">It |
| can be found in a use case description or in a Business Process Map task description.</a>&nbsp;Presented in table |
| format the project team can use the following template: |
| </p><br /> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 496.15pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" width="662" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="95"> |
| <p class="MsoNormalCxSpFirst" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Decision Point<span style="mso-spacerun: yes">&nbsp;</span> |
| Name</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="198"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Description</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="142"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Source for Rule Discovery</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="126"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><font face="Times New Roman"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">Current</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">State</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE">of |
| Automation</span></i></b></font></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="100"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Rule Owner -</font></font></span></i></b> |
| </p> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">SME</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br /> |
| <p> |
| The name should be explicit and without any ambiguity. It helps to link back to the business process or use case step. |
| An example may be "claim data review", or "loan eligibility"... |
| </p> |
| <p> |
| The source for rule discovery describes the main sources of rule harvesting like human, code, database, book, policies, |
| legal&nbsp;manual... |
| </p> |
| <p> |
| The current state of automation is optional and just list&nbsp;if for this given decision point we can have tools which |
| can migrate the business rules&nbsp;from one format to another.&nbsp; |
| </p> |
| <p> |
| The last column can be useful to define who will be the owner of the rule set(s) supporting the decision point. He/She |
| will be an important actor of the rule discovery. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-yaB5VmxyoNnFc5KAKx87uw" name="business_process_map,_RkSNkcVWEd2pfdXgw7I2qQ" guid="-yaB5VmxyoNnFc5KAKx87uw"> |
| <refinedDescription><a id="XE_business_process_map" name="XE_business_process_map"></a> |
| <p> |
| A Business Process is a collection of interrelated tasks, which solve a particular business problem or process a |
| business event: a claim is received and needs to be processed within 15 days. |
| </p> |
| <p> |
| A business process can be decomposed into several sub-processes, which have their own attributes, but also contribute |
| to achieving the goal of the super-process. |
| </p> |
| <p> |
| The following process map is done using BPMN 1.2 (2..0 soon)&nbsp;and illustrates a loan underwriting process. The |
| entry point is a mail with the loan application received, then the process follow a set of activities to decide if the |
| loan is eligible and what kind of loan product we can offer to the borrower and at what financial condition. This |
| process as described here is not taking into account the actors of the process. Swim lanes can be added&nbsp;to group |
| tasks per actors. |
| </p> |
| <p> |
| <img height="600" alt="" src="resources/loanapplicationbpm.bmp" width="357" /><br /> |
| <br /> |
| &nbsp; |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-jiPE4qjhy0-GvsHSu8k4hw" name="discovery_workshop_itinerary,_RkSNnsVWEd2pfdXgw7I2qQ" guid="-jiPE4qjhy0-GvsHSu8k4hw"> |
| <refinedDescription><a id="XE_rule_discovery__workshop_itinerary" name="XE_rule_discovery__workshop_itinerary"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Goal:</b> <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">These |
| series of Rule discovery workshops</span> are very important for the &lt;&gt; application, it will help: |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To separate a rule as a manageable artifact |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To trace rules from the origin to deployment |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To link rules to business context |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To develop the rule description using business term and natural business |
| language. |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To involve business user in the future ownership of the rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare for for the logical data model |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare the for the rule set implementation |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Duration</b>: 2 hours per session |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Facilities</b>: white board, pencil, paper; post it, UML tool like Enterprise |
| Architect, ISIS rule templates |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Agenda</b>: |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To formalize the rules using templates and business term and language |
| understood by the business user |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare the tests for the rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To define the object model for the rule |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> Define the different types of rules, rule writing standards, structure rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> Address the rule management requirements around rule ownership, and rule |
| change requirements |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Output:</b> rule set definition, logical data model |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Invitees</b>: |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <tbody> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <strong><em><font face="Times New Roman" color="#005DA0" |
| size="3">Business</font></em></strong>&nbsp; |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0"><font size="3"><font face="Times New Roman">IT</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Business Analyst</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Rule analyst</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">SME</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Rule writer</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Lead developer</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| &nbsp; |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: auto auto auto 36pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Pre-requisites</b>: Decision point table, rule discovery roadmap, conceptual |
| data model |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-N9JRT0YykF7mF_nPmGpEig" name="execute_rule_discovery_roadmap,_RkSNkMVWEd2pfdXgw7I2qQ" guid="-N9JRT0YykF7mF_nPmGpEig"> |
| <refinedDescription><p> |
| Rule elicitation is an ongoing activity you perform throughout the project. Collaboration with your stakeholders is |
| critical. They will change their minds as the project proceeds and that's perfectly fine. |
| </p> |
| <p> |
| The documentation of the rule may be done using different language. The natural language is initially used during |
| business conversations to describe the rule, informally, without trying to impose any structure. SMEs express their |
| ideas using a language very close to them, but they usually are not able to formalize their concepts in a clear and |
| unambiguous way. Using this language we may have redundancy and inconstancy in the rule ex-pression, in the business |
| terms, and overall by it may not be relevant and precise enough to be able to implement the decision logic. |
| </p> |
| <p> |
| Conceptualization and representation play fundamental roles in thinking, communicating, and modeling. |
| </p> |
| <p> |
| A second evolution is still in natural language, and is still consumable by both analysts and developers, but, we have |
| imposed some structure, and we made sure that they are relevant and have the right form, but may not be correct |
| semantically. We use the rule description template to log the rule. |
| </p> |
| <p> |
| The last type of expressiveness of the language to document the rule is precise and there are no ambiguities: the rule |
| refers exactly to information system objects. This language is parse-able and non-ambiguous. Semantics of Business |
| Vocabulary and Business Rules or SBVR from Object Management Group can be used at this stage to specify formally |
| representations of concepts, definitions, instances, and rules&nbsp;in natural language. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-wKyQQHGWKPhxgDMava9lMA" name="business_terms_glossary,_RkSNksVWEd2pfdXgw7I2qQ" guid="-wKyQQHGWKPhxgDMava9lMA"> |
| <refinedDescription><a id="XE_business_terms_glossary" name="XE_business_terms_glossary"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">One of the positive feedbacks&nbsp;received from |
| the business and IT team&nbsp;is the&nbsp;business term glossary document. Some organization has already defined this |
| kind of glossary, and even it is possible to use some industry standard. But standard are always adapted by the |
| organization so it is important to work on such&nbsp;glossary during the early phase of the project.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following template can be used for logging |
| the business vocabulary. The acronyms are not mandatory. The ownership column describes when a term is under the |
| responsibility of&nbsp;a team.</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver; mso-table-layout-alt: fixed" |
| cellspacing="0" cellpadding="0" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="104"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Term</span></i></b></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="76"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE"><font |
| size="3">Acronym</font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="425"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Definition</span></i></b></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="76"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Owner</span></i></b></font> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-bN3NfZ3WOIrkhDKHWDPKkA" name="rule_description_doc,_RkSNosVWEd2pfdXgw7I2qQ" guid="-bN3NfZ3WOIrkhDKHWDPKkA"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-l1seeyWf2ab1M7_-vwsRiQ" name="conceptual_data_model,_RkSNjsVWEd2pfdXgw7I2qQ" guid="-l1seeyWf2ab1M7_-vwsRiQ"> |
| <refinedDescription><p> |
| A conceptual data model describes the things important for an organization as entity classes and characteristics of the |
| things as attributes, and using&nbsp;associations between things. By 'thing'&nbsp;we mean anything perceivable or |
| conceivable and used in a day to day conversation. |
| </p> |
| <p> |
| Conceptual data model is used to explore domain concepts&nbsp;as a communication vehicle&nbsp;between the analysts and |
| the business team members. |
| </p> |
| <p> |
| With&nbsp;an&nbsp;Agile approach CDMs are used to explore the high-level static business structures and concepts, and |
| are described during the initial requirements iterations. In our approach conceptual data model are the first version |
| of the logical data model. So we use different level of&nbsp;a class diagram to represent the CDM.&nbsp;&nbsp;The rule |
| elicitation phase is most of the time leveraging the diagrams of&nbsp;the CDMs, but once we progress into the |
| iterations the CDMs are replaced by the LDMs. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-teqRVFQdfi3M0E_2hPt2OA" name="rule_description_doc,_RkSNasVWEd2pfdXgw7I2qQ" guid="-teqRVFQdfi3M0E_2hPt2OA"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-7obhtj52BKnAGY2bh-MvLw" name="fact_model,_RkSNYcVWEd2pfdXgw7I2qQ" guid="-7obhtj52BKnAGY2bh-MvLw"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">A Fact Model represents structured business vocabulary with true statement like: A |
| customer places an order. The fact model looks like the Object Role Model described by Halpin (2001). When the model |
| starts to grow the notation become quickly invisible and no more helpful, so we do not encourage to follow this |
| notation.</span> We prefer using UML class diagram showing just the entities, the associations and may be some |
| characteristic as attributes of class. |
| </p><br /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A Fact Model should always include elementary |
| (atomic) fact type:</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Noun:&nbsp; Customer, Order, Product</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Verb:&nbsp; places, briefs</span> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-KnXTyJRJlBDBK68DXO57Uw" name="logical_data_model,_RkSNY8VWEd2pfdXgw7I2qQ" guid="-KnXTyJRJlBDBK68DXO57Uw"> |
| <refinedDescription><a id="XE_logical_data_model" name="XE_logical_data_model"></a> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A logical data model or LDM is a graphical |
| representation of some of the business requirements and especially the concepts manipulated by the business member. LDM |
| is independent of the technology of implementation, and is mostly used&nbsp;as a communication vehicle for the business |
| analyst and&nbsp;to prepare the implementation of data models.&nbsp;&nbsp;</span></span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">From the point of view of an object-oriented developer |
| data modeling is conceptually similar to class modeling. With data modeling you identify entity types whereas with |
| class modeling you identify classes.&nbsp; Data attributes are assigned to entity type just as you would assign |
| attributes and operations to classes. Traditional data modeling is different from class modeling because it focuses |
| solely on data – class models allow you to explore both the behavior and data aspects of your domain, with a data model |
| you can only explore data issues.</span></span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">We use UML simple class diagram to represent |
| a</span> <span style="mso-bidi-font-family: Arial">Logical Data Model</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">but&nbsp;by applying&nbsp;Agile's principle of multiple |
| models, it is possible to use other diagrams.</span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-family: Arial">Logical Data Models</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">are used to explore the domain concepts, and their |
| relationships, of&nbsp;the problem domain.&nbsp; This could be done for the scope of a single project or for&nbsp;the |
| entire enterprise.&nbsp; LDMs depict the logical entity types, typically referred to simply as entity types, the data |
| attributes describing those entities, and the relationships between the entities.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| &nbsp; |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| Defining a logical data model prepare for future reuse, and help to build common definition of terms. This is one of |
| major building block for enterprise data model. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-sMysBcAYtIvVDmB57oo8sA" name="transform_rules,_RkSNbMVWEd2pfdXgw7I2qQ" guid="-sMysBcAYtIvVDmB57oo8sA"> |
| <keyConsiderations>This activity will also be done during the implementation of the rule set, but it is started during the analysis, so we are |
| detailing it in this context.</keyConsiderations> |
| <refinedDescription><p> |
| Rule Analyst has to study the rule discovered and try to transform it so that the implementation and the management of |
| the rule will be more easy. This includes transforming the rule in atomic element using a syntax without ambiguity, |
| remove redundant rules, conflicting rules, and finally try to redefine the scope of the rule by searching by |
| non-handled cases.&nbsp; |
| </p> |
| <p> |
| At this stage rule analyst can build some rule template which&nbsp;are built from rules that have the same set of |
| conditions with some little variations: adding new value in test condition, or new condition. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-bcOPKdssk4qvaJmaJ82Wdg" name="build_test_scenario,_RkSNbcVWEd2pfdXgw7I2qQ" guid="-bcOPKdssk4qvaJmaJ82Wdg"> |
| <refinedDescription><p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA"><font |
| face="Arial">Developing without testing has no sense today (we hope!). Developing rules deployed in rule engine |
| helps&nbsp;us supporting efficiently a Test Driven Development approach. Rule set can be isolated&nbsp;early in the |
| development process and can be tested in a sandbox environment. Writing tests before the rule makes testing part of a |
| validation feedback loop.&nbsp;&nbsp;So during the harvesting phase the analysis team needs to develop test scenario |
| and data elements to support the rule writing and testing. Working on concrete scenario leads to clarify ambiguities, |
| find holes in the decision processing, and enhance rules decision coverage, and the overall quality.</font></span> |
| </p> |
| <p> |
| At this level the scenario description can be built as user story with persona involvement, and data point to |
| illustrate the scenario. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-D86vI3p-CJqtaGHovLIH3A" name="synchronize_data_model,_RkSNZ8VWEd2pfdXgw7I2qQ" guid="-D86vI3p-CJqtaGHovLIH3A"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The rule analyst needs to continuously verify that business terms used in rule statements are part of the logical data |
| model (classes/ attributes) and physical data model (PDM). The model exposed to the rule needs to get data from data |
| sources. If a concept is not in the data it has to be quickly handled and managed by the application architect. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The rule analyst should be in continuous communication with the data model developer, responsible to develop the XML |
| schema or java model (or .Net), and the physical mapping to database.<br /> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| Part of most of the business application are the list of code, enumerated date or domain values. It is important to |
| well design how those data are defined, accessed by the application, and the rule authoring environment. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| It can be helpful for some major business term to define a mapping to a class-attribute, and if the BRMS supports this |
| function it is recommended to detail the "verbalization" of the business term. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0in" /> |
| <br /> |
| <div align="center"> |
| <table class="MsoNormalTable" style="WIDTH: 351pt; BORDER-COLLAPSE: collapse; mso-padding-alt: 0in 0in 0in 0in" |
| cellspacing="0" cellpadding="0" width="468" border="0"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: gray 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">Business Term</span></i> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">OO mapping</span></i> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">Verbalization</span></i> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">LTV</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">LoanApplication.ltv</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">The loan to value ratio</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in left 3.0in" /> |
| <br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Qy_wVwt9Qh9iVf4FyNvOag" name="determine_rule_implementation,_DbIE5MVXEd2pfdXgw7I2qQ" guid="-Qy_wVwt9Qh9iVf4FyNvOag"> |
| <refinedDescription><a id="XE_rule__determine_implementation" name="XE_rule__determine_implementation"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Project teams involved in BRMS deployment are often asking the following type of questions: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| When should I use BRMS versus a&nbsp;BPM? |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| How do I decide what decisions should I put into a BRE? |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| When should I use BRMS versus code?&nbsp; |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| There are definitively multiple variables which could influence the decision on where to implement rules. We can start |
| by looking at the BRMS value propositions, it should help to get a first set of variables: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Adaptability – Measure the ability to change the business logic easily. The motivation can be due to short deadline |
| constraint, or frequent small changes or important change that may occur every month or quarter. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Transparency – Represents the need to clearly implement the business logic as what was agreed upon the business |
| unit and the IT team, in a way that every parties understand the logic. This is leading to express the logic in |
| natural or close to natural language. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Auditability – Represents the ability to trace from the business motivation to the execution of the policy to |
| better understand what was the logic behind a decision. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Reusability – Need to share business logic across processes or applications and stay . consistent across |
| applications/transactions |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Manageability- This variable addresses the life cycle management of the business logic. Who writes what, and when, |
| and all the questions related to maintenance and evolutions of the rule-based service. |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| The purpose here is not to say it is not possible to support those variables in standard software development |
| practices, but more to find some good patterns on how to decide on where to implement the business logic. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| When looking at a business rules statement software engineer can see different possible choices of implementation like: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Data model: designing an object oriented object model involves supporting a lot of business rules. A statement like |
| a mortgage application can have a primary and a secondary borrower, will be supported by two classes and a 1 to 2 |
| relationship. At the instantiation of those classes the control of the cardinality can be done in the application |
| logic, or the database, or the GUI structure. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Application code: implementing the logic in function, procedural code or methods in service layer or business |
| objects. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| BPM process flow, tasks or links: BPM tools are addressing business process efficiency issue specifically on "who |
| is involved", "when they should be involved". "what they need to do". BPM supports manual human and automated |
| actors. At a glance the business logic to implement in BPM is linked to people, task, and data to process within a |
| task. When supporting purely automated tasks BPM is orchestrating the application logic and services (BPEL engine). |
| BRMS complements BPM by adding the why to a BPM task, why it behaves a certain way, why this decision is done. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Rule engine: <span style="mso-spacerun: yes">&nbsp;</span>using predefined structure like if then else statement or |
| decision table, rule flow, decision tree, function, rule template or other high level language... |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Graphical user interface: <span style="mso-spacerun: yes">&nbsp;</span>using scripting language or server side code |
| in controller class it is possible to implement data validation type of business rules. |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| In the following paragraphs address each of different choices with their impact on the variables |
| </p><br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in Data Model</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Rule which is controlling the structure of the model and the reference integrity |
| should be in the physical data model, the O/R mapping layer or on the domain object model.</span> |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Rule setting constraint on relationship - |
| <span style="mso-spacerun: yes">&nbsp;</span>like a loan application could only have two borrowers</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Rule on the structure of the business |
| entities - like this attribute is part of this object</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following facts are based on a simple |
| user authentication problem, are well implemented in an object model and the supporting application code which |
| create the instance from the data (O/R mapping layer or DAO or service layer):</span> |
| </li> |
| </ul> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A Company has a list of users who can login to the application</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A Company has a list of groups of user</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A User is part of a group</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A group includes a list of Users</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A group has one user reference who is the creator of the group</span> |
| </p> |
| <p> |
| Terms and facts and derived attributes&nbsp;are the primary constituents of data models and are represented in a UML |
| class diagram, and logical data model (entities/relationship model), or a physical data model. |
| </p> |
| <p> |
| <span style="mso-bidi-language: HE">The following table lists the impact of this implementation on the previously |
| defined variables</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Very static implementation. A change in the constraints of the object model |
| impact, data persistence, logical data model, service and presentation layers. Change is managed on |
| a monthly or yearly basis</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Data model represented as UML classes diagram is doing a poor job to |
| communicate to business. Entities diagram represents a more high level representation of the domain |
| model, but forces the team to maintain the link between the implementation and the business |
| representation.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Configuration management tool, with a strict development process and |
| disciplines can help to trace back to the business motivation.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Domain Object model can be designed as reusable. But in the reality each |
| application needs a view of the core business object model, and so part of the implemented |
| application will be to build those view.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Configuration management tools and strict discipline can help maintain the |
| business logic.</font></span> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in application code</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Implementing business rule in application code is |
| currently the most common way the IT developer is doing it. The major justifications are performance and flexibility of |
| the coding language. Using hard coded if/then/else statements isn't too flexible, but in the hands of a top notch |
| programmer it can be very fast and arguably as fast as or faster than a rule engine. Assuming the programmer has |
| unlimited time to optimize the execution for a fixed set of rules. If the ruleset changes frequently and the system |
| can't tolerate a big drop in performance, than a rule engine is the solution.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following example of business rules may be |
| easily implemented in code:</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span class="ISISCodeParagraphChar"><font face="Courier">verify in each items the customer bought since he is customer |
| with us there is at least one article of type T so that we can propose the new product Y with X % of discount, except |
| if the customer is from the state of New York or New Jersey</font></span><span |
| style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">We can implement this in a method which loops on |
| the articles bought by a given customer and do the search. At a first analysis, navigating in a collection of objects |
| and testing multiples conditions on them is easy to implement using the power of programming language.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">One thing interesting will be the hard coding of |
| the value of New York, New Jersey... If this logic change we need to add if statements in the code.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Other type of rules are related to the control of |
| the execution of a set of "services" to support specific use case. Dispatching, orchestration, data manipulation, … are |
| better candidate to be implemented in application code. Those rules are more static, often more complex, and |
| definitively linked to context of execution. The context may be too complex to expose to a rule engine.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Orchestration are now very well supported by |
| BPM-BPEL engine because the developer needs to add flexibility on the service selection and invocation.<span |
| style="mso-spacerun: yes">&nbsp;</span></span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The evaluation of the important variables |
| is:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">the necessity to change code when a business rule changes is still |
| unpleasant: software build are more efficient and cost less than before but deployment may be |
| expensive depending of the complexity of the production environment. <span |
| style="mso-spacerun: yes">&nbsp;</span></font></span> |
| </p> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Changing code under time pressure usually leads to poor |
| quality</font></span> |
| </p><br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Poor. The logic as defined by the business is split in multiple parts of the |
| code, methods and procedures.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Poor. Only strict use of configuration management tools with a strict |
| development process may help.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">If the logic is implemented in a service layer with defined interface it may |
| be possible to reuse part of the methods.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Developer is |
| responsible to implement the change, and use configuration management tools and strict development |
| disciplines.</span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in process map</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Business process automation is the technology components substituting and/or |
| supplementing manual processes to manage information flow within an organization to lower costs, reduce risk, and |
| increase consistency. In this context Business rules describe the structure, operation, and strategy of an |
| organization's business process. The business process definition can be seen as a business rule. Typically a rule |
| involving routing of transactional data to a queue, a task, or a sub process will be most likely implemented in a |
| process map. Defined at the link level business rules are linked to the structure of the process flow. Once designed |
| and implemented there is few chance those rule will change. Changing a business process is most of the time risky: we |
| do not want to change thing working and involving a lot of parties and stakeholders. In fact</span> new policies, |
| regulations or business strategies may affect the rules without changing the core business processes. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">A rule like: "<i style="mso-bidi-font-style: normal">if there is an exception in |
| the claim processing we want a supervisor to study the claim and the accumulated reasons extracted by the process so |
| far"</i> will most likely finish as guard on a process map link:</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <img height="348" alt="" src="resources/brinbpm.bmp" width="313" /> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Task 1 will most of the time call a rule engine to take decision on the claim. One of the pattern is to accumulate all |
| the possible reasons in a list. If the list include an exception or high priority reason, the process map will route to |
| the "Process Exception" task. This task can queue the work item to a supervisor queues. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">There are a lot tasks in a business process that are decision rich, so with a lot |
| of business rule to execute before completing the task. Those rules can be executed by a rule engine. The integration |
| Rule Engine – BPM will bring the value to support those cases. But as good practice it is always possible to try to |
| re-arrange an activity diagram of a use case or a process map so that some activities are purely automatically executed |
| in a rule engine mapped as a rule flow.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">The variables evaluation:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Business rules hardly coded in using BPM notation is not efficient and lead |
| to complex map. The real design implementation is to mix BPM map and business rules-decision |
| delegated in a process task. In this type of implementation we can leverage the best of both |
| worlds, and the adaptability is excellent.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: when the integration of BPMS and BRMS is done perfectly, the |
| business and IT team have a clear understanding of the process execution and the decision done by a |
| task by studying the rules attached to the task.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: both tools has version control, and it is possible to link |
| process map version to rule set version.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Rules defined in a task should be expose to the other application as a |
| service. So reusability can be achieved. Rules in a BPM map are not really reusable.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Process logic will |
| have a more stable life cycle, and it is managed in the BPMS. <span |
| style="mso-spacerun: yes">&nbsp;</span></span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in a rule engine</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Any type of rule using a forward chaining approach will best fit in any RETE rule |
| engine. To avoid long explanation a rule engine will perform very efficiently the following rules which are more |
| complex to implement in code:</span> |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Set parameter = A / (B ^ 2)</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">If parameter is above 30 then the risk is<span |
| style="mso-spacerun: yes">&nbsp;</span> medium</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">If the risk is medium then alert the manager</span> |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE"><span style="mso-spacerun: yes">&nbsp;</span>If we enter a new value for A all the |
| depend rules will be fired. Rules can be entered in any order we want, it is less declarative than procedural |
| code.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Backward chaining rule pattern can also been supported by a rule engine. The rule |
| system works down the tree to find the data that it requires. It will ask question to be able to infer decisions. It is |
| possible to implement backward chaining with product using pure inference by&nbsp;using a goal object.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">As we already stated one of the key factor is flexibility. We already encounter the |
| following decision: "This rule will not change"... but in fact it will do in the future or some of related one" |
| .</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">We can for example take a simple example of a static rule defined as</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 1.9pt 0cm 0pt 18pt; TEXT-ALIGN: justify"> |
| <span class="ISISCodeParagraphChar"><font face="Courier">If the status of the customer is gold and the product is |
| &lt;&gt; then apply &lt;&gt; % discount</font></span><span style="mso-bidi-language: HE">.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">This rule can be implemented within application code using some tables in a |
| database that link the product, the category of possible status and the discount to apply. But when discussing with the |
| business user to understand what is a gold customer? We can get other conditions that definitively will change over |
| time: "A customer who spend more than &lt;&gt; the amount of money... during the last 6 months ...No !<span |
| style="mso-spacerun: yes">&nbsp;</span> during the last four month only for the product X because it was only available |
| for 4 months!, … Okay but customer in the states {,,,,} could not be part of the gold status... Ah I forgot, ... A |
| customer must have 18 years old, and by the way customer working for our company or subsidiaries could not be part of |
| the gold...</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">The variables evaluation:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Excellent, rule can change quickly and be deployed quickly too</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: by adding meta data to implemented rule we can clearly link rule |
| to business strategies and policies</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent and most of the rule engine has log mechanism to trace what were |
| the rules executed on a given transaction.</font></span> |
| </p> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Rule reports are important to the business as part of |
| documentation</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Very good if the BRMS use rule repository and the rule analyst designed a |
| rule sharing approach</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Excellent as rules |
| are externalized and managed as a standalone artifact. Rule configuration management is complex, |
| and integrity between rule life cycle and rule set versioning is not a simple |
| practice.</span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in a graphical user interface</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| We will base the integration on the Model-View-Controller (MVC) design pattern. The presentation tier handles the |
| client interaction by abstracting the low-level protocol details into an event-based mechanism. The view's main |
| requirement is synchronization with the model so that data displayed to the user is up to date. The controller is |
| responsible to prepare the data and manage the view flow and content. Delegating the creation of content to a rule |
| engine is possible but need to be done synchronously. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| The business rule will be related to control the list of widget the GUI will present. A typical pattern is around |
| product catalog application or dynamic questionnaire. The rule pattern to control the content looks like: |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm 3pt 36pt"> |
| <i style="mso-bidi-font-style: normal">If the selection on this page was &lt;&gt; then add this &lt;&gt; to the model |
| used in view &lt;&gt;</i> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| A rule to control the flow of page looks like |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm 3pt 36pt"> |
| <i style="mso-bidi-font-style: normal">If the user visited page &lt;&gt; (and | or page &lt;&gt;) then next page is |
| &lt;&gt;</i> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Both rules may be enriched with business type decision based on data of the model. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| In these pattern it is clear we need to keep the previous context of decision, and events the user created.<span |
| style="mso-spacerun: yes">&nbsp;</span> So most of the current applications are putting the business rule in the |
| controller class or in the java script of the view, but it is possible to design the controller to use a rule engine, |
| as soon as the decision needs to change. This is particularly true for e-commerce web site, where marketing campaign |
| can quickly be put in place by proposing product or product feature more dynamically.<span |
| style="mso-spacerun: yes">&nbsp;</span> |
| </p><br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-7BTHzZPiw1v_S2Ts1aJNBA" name="decision_point_table,_DbIE58VXEd2pfdXgw7I2qQ" guid="-7BTHzZPiw1v_S2Ts1aJNBA"> |
| <refinedDescription><a id="XE_decision_point_table" name="XE_decision_point_table"></a> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Groups |
| together all potential rules that determine one decision.</span> <a id="XE_decision_point" name="XE_decision_point">It |
| can be found in a use case description or in a Business Process Map task description.</a>&nbsp;Presented in table |
| format the project team can use the following template: |
| </p><br /> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 496.15pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" width="662" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="95"> |
| <p class="MsoNormalCxSpFirst" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Decision Point<span style="mso-spacerun: yes">&nbsp;</span> |
| Name</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="198"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Description</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="142"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Source for Rule Discovery</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="126"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><font face="Times New Roman"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">Current</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">State</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE">of |
| Automation</span></i></b></font></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="100"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Rule Owner -</font></font></span></i></b> |
| </p> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">SME</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br /> |
| <p> |
| The name should be explicit and without any ambiguity. It helps to link back to the business process or use case step. |
| An example may be "claim data review", or "loan eligibility"... |
| </p> |
| <p> |
| The source for rule discovery describes the main sources of rule harvesting like human, code, database, book, policies, |
| legal&nbsp;manual... |
| </p> |
| <p> |
| The current state of automation is optional and just list&nbsp;if for this given decision point we can have tools which |
| can migrate the business rules&nbsp;from one format to another.&nbsp; |
| </p> |
| <p> |
| The last column can be useful to define who will be the owner of the rule set(s) supporting the decision point. He/She |
| will be an important actor of the rule discovery. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="--tH7_LHDMrDWKm6h9JBFsA" name="rule_description_doc,_DbIE4sVXEd2pfdXgw7I2qQ" guid="--tH7_LHDMrDWKm6h9JBFsA"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-yPcK13A7M5bOTTJG-OiLTQ" name="develop_unit_tests,_RkSNdcVWEd2pfdXgw7I2qQ" guid="-yPcK13A7M5bOTTJG-OiLTQ"> |
| <refinedDescription><a id="XE_unit_tests__develop" name="XE_unit_tests__develop"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Rule Unit Testing is the process of testing a specific rule in the context of the rule set in which it is deployed. |
| Rule Unit Testing allows rule writers to: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Validate each rule in the context of its rule set |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Control the rule set quality |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Conduct some impact analysis when rules are in conflict |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Helps to have non-regression tests |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">There is a major difference between testing a code, and a rule. A rule engine per |
| design may not put a rule in the agenda if the conditions are not matched. This means that when the rule writer write a |
| new rule, even if the data are sent to trigger the execution of this new rule it is possible that a rule fired before |
| the new one, with change the condition of the data so that this new rule will never be eligible. Developing a complete |
| set of unit test is an efficient way to see this problem, and to improve the rule set design. Some powerful BRMS |
| platform has rules consistency checking which helps to do some static analysis of those potential conflict by analyzing |
| the conditions and the actions of the rules. For sure real test cases will complete the picture.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Using |
| a Test Driven Development approach rule writer can develop the test script preparing the data to trigger each rule, |
| depending of the BRMS platform used, the script generation can be done automatically or not. What is important is develop |
| reusable test case organized in test suite which include assertion statement to validate the expected results. This is |
| efficient tool to put in place automatic non regression tests.</span></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-z_nnzuHQecgXrHgcz9F0qw" name="develop_rules,_RkSNd8VWEd2pfdXgw7I2qQ" guid="-z_nnzuHQecgXrHgcz9F0qw"> |
| <refinedDescription><a id="XE_rule__develop" name="XE_rule__develop"></a> |
| <p> |
| Programming using rule approach enforces to know how a rule engine is working. This is not a complex skill, rue author |
| needs to understand&nbsp; the concepts of asserting, retracting object into working memory and modifying them. It is |
| recommended to read what a <a class="elementLink" |
| href="./../../practice.tech.abrd.base/guidances/termdefinitions/rule_engine_A66B71B3.html" |
| guid="_QQcSoEXXEdy14e5PT9v3HQ">Rule engine</a>&nbsp;is to get those concepts. |
| </p> |
| <p> |
| Rule development can follow a test driven development approach: the developer can develop the test cases to trigger the |
| rule execution and then write the rules. Once done the new rules are extracted with the other rules in the rule set, |
| deployed to the unit test environment and the test executes. When designing with interface the unit test uses the |
| facade to access the rule engine for&nbsp;the execution. |
| </p> |
| <p> |
| When rules are complex and include a lot of conditions it may make sense to add condition by steps. It may be easy to |
| make error by using a wrong boolean operator. When the rue language support navigating into collection the testing may |
| include test around the presence and not presence of element in the collection. |
| </p> |
| <p> |
| It is always interesting once the rule is developed to perform rule analysis if the BRMS product has this capability. |
| The analysis helps to see if the current rule is in conflict with existing rules.<br /> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="--__8DYtnVs9eZArH2GikBg" name="ruleset,_RkSNdMVWEd2pfdXgw7I2qQ" guid="--__8DYtnVs9eZArH2GikBg"> |
| <refinedDescription><a id="XE_rule_set__work_product" name="XE_rule_set__work_product"></a> |
| <p> |
| For more detail see <a class="elementLink" href="./../../abrd/guidances/termdefinitions/rule_set_4D4C8DB1.html" |
| guid="_DdvcwBCQEdyJtJ3PbfdVDw">Rule Set</a>&nbsp;and <a class="elementLink" |
| href="./../../abrd/guidances/termdefinitions/rule_engine_A66B71B3.html" guid="_QQcSoEXXEdy14e5PT9v3HQ">rule engine</a> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-xrmI1p-ME165PzMiVzJ8Sw" name="enhance_object_models,_RkSNcMVWEd2pfdXgw7I2qQ" guid="-xrmI1p-ME165PzMiVzJ8Sw"> |
| <refinedDescription>Typically the developer adds helper methods in the data model to facilitate the rule writing. Develop utility classes. The |
| data elements should not have persistence logic in it. For example in Java do not put JDBC code in the Customer object. Let |
| try to stick to the Java bean specification for all the&nbsp;business objects, and leverage a service layer, with service |
| facades objects to help gathering and process data.&nbsp;</refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-uuWfS5EV0FimZ5_4aRVtjA" name="execute_rule_set,_RkSNc8VWEd2pfdXgw7I2qQ" guid="-uuWfS5EV0FimZ5_4aRVtjA"> |
| <refinedDescription><a id="XE_rule_set__execute" name="XE_rule_set__execute"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-zUb0cau__Hfq13SvkX5QLw" name="log_issue,_RkSNcsVWEd2pfdXgw7I2qQ" guid="-zUb0cau__Hfq13SvkX5QLw"> |
| <refinedDescription><ul> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Formally log any issues and decisions done during the rule |
| analysis and the rule authoring activities.</span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The issue |
| log is used to manage feedbacks, and to improve the rule set quality.</span></span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-weight: bold">As a social process, people will |
| change their mind, it is a good practice to log decision on a timely manner.</span> |
| </div> |
| </li> |
| </ul><br class="MsoNormal" style="MARGIN: 0in 0in 0pt" /> |
| <br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-xZmMlKJ2ELDM5ehTI5-ouA" name="define_ruleset_testing,_xxBFkGh8Ed-9y9wL8auvhA" guid="-xZmMlKJ2ELDM5ehTI5-ouA"> |
| <refinedDescription><p> |
| The recommended approach is to consider a rule-set as a unit piece of functionality that gets exposed to the rest of |
| the application as a decision service (SOA pattern). Therefore it should be tested using the same strategy as for any |
| other function in the system. One criterion of rule testing lies in the level of user friendliness that should be built |
| into the test harness. Indeed, empowering business analysts with the ability to change the rules also means they should |
| be tested with their changes. Typically developers code fixtures and do automated testing using JUnit. Business |
| analysts should not write code, but should be able to put together fixtures to be tested against the rules. |
| </p> |
| <p> |
| How much effort should be spent on the rule test harness really depends on the application, and also importantly on the |
| IT-level of business analyst. Sometimes capturing test data in XML and having business analysts edit them is enough and |
| very cost effective. Sometimes business analysts will feel more comfortable with Excel spreadsheets, or with a full GUI |
| which would need a larger development effort to be facilitated.<br /> |
| It is usually a good idea whenever possible to keep individual test case data in files that can be put under source |
| code management. This way the code base, the rules and the test cases can be kept in sync. This becomes important when |
| multiple versions of a business rule are being worked on at different stages such as active development stage, test |
| stage or production stage.<br /> |
| BRMS testing fits perfectly into this strategy due to its ability to produce the same sort of test fixtures as the |
| other environments. Utilizing a tool such as JUnit as the test controller, test fixtures are stored in a test fixture |
| repository for which the JUnit can access. |
| </p> |
| <h5> |
| Testing Levels<br /> |
| </h5> |
| <p> |
| The following levels of testing are usually applied during the application construction:<br /> |
| </p> |
| <ul> |
| <li> |
| Unit Test: applied to test classes and other application elements as developers build them. In the context of a |
| BRMS, the goal of unit testing is to make sure that a rule is actually fired when expected, against the expect |
| object instances and performs the expected working memory updates. |
| </li> |
| <li> |
| Component Test: applied to test a group of elements (e.g. classes) which together represent a significant |
| application component. In the context of a BRMS, a component is typically a rule service. |
| </li> |
| <li> |
| System Test: applied to test the system performs the right business functions correctly. |
| </li> |
| <li> |
| Acceptance Test: applied to ensure users are satisfied with the system. The last stages of acceptance testing are |
| the alpha testing (testing performed internally by the company) and beta testing (testing performed by a limited |
| audience outside of the company). |
| </li> |
| <li> |
| The scope of this section is limited to unit-test (usually performed by rule developers) and component test |
| (performed by both rule developers and rule authors), where components are understood as the rule services |
| implemented by a rule engine. |
| </li> |
| </ul> |
| <p> |
| Once the rule service components are tested, the next levels can follow the general application testing process |
| followed by the client's QA department, who are considering the rule services as black boxes.<br /> |
| </p> |
| <h5> |
| Testing Activities |
| </h5> |
| <p> |
| This section relates to why testing is performed, that is what we are trying to get out of it. The goal of testing the |
| decision service components is first and foremost to ensure the correctness of the decision rendered by the service |
| with respect to the requirements.<br /> |
| Key Performance Indicators (KPIs) are used to measure how close the actual test results are from the expectations. The |
| focus of KPIs vary depending on the type of testing performed: for performance testing, the KPIs will obviously be |
| interested in the time taken to execute the rules or tasks in the rule-set, for coverage, the focus will be on the set |
| of rule fired and the set of tasks executed, and for more business-oriented testing of correctness, the focus will be |
| on the accuracy of the response.<br /> |
| </p> |
| <h5> |
| Correctness<br /> |
| </h5> |
| <p> |
| For a decision-rich type of application, this is where most of the testing time and effort will be spent, using all |
| types of resources from developers, to business analysts, to business rule writers and subject matter experts.<br /> |
| The goal here is to ensure that for a given request configuration, the system renders a response that conforms to the |
| company business goals and policies, contractual obligations and possibly to compliance rules imposed by external |
| agencies (laws and regulations). The impact of an incorrect decision can be profound, from lawsuits for non-compliance |
| to risky financial commitments.<br /> |
| Testing the correctness of a business rules application necessarily involves the participation of SMEs, who will write |
| test cases and manually produce the expected response. This is a very time and resource consuming activity which should |
| be carefully taken into account when designing the test plan for an application.<br /> |
| Alternatively, some test cases can be extracted from a legacy system database. The benefit here is obvious: the |
| database provides the number and the variety of test cases needed, and also guarantees the validity of the test |
| cases.<br /> |
| </p> |
| <h5> |
| Regression<br /> |
| </h5> |
| <p> |
| The goal of regression testing is to uncover regression problems, that is, problems which were not present in the |
| previous version of the application but appeared in the new version after a change was introduced. Regression testing |
| for rules is used to make sure that after fixing, or updating a rule service, the functionalities which were working |
| before are still working as expected. For example, after implementing a business change request which lowers the rates |
| in the state of California, regression testing should be applied to ensure that rates remained unchanged in all other |
| states.<br /> |
| Besides verifying that correctness is conserved from one version to another, regression testing is also used to verify |
| that quality (for example, execution performance) is conserved.<br /> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-QGPmaN2xy-Wgo3ltSi79iA" name="define_data_scenario,_RkSNq8VWEd2pfdXgw7I2qQ" guid="-QGPmaN2xy-Wgo3ltSi79iA"> |
| <refinedDescription>This task is initiated during the rule harvesting phase, and completed over the development life cycle. Developing the data |
| model used by the rules enforces to adopt a test driven development approach which define the&nbsp;data with the project |
| model. Extracting the terms and the facts used by the rules helps to define the conceptual&nbsp;data model, this model can |
| be unit tested with framework like Junit. Data defined in these test cases&nbsp;should come&nbsp;from the rule discovery |
| session. Rule discovery is easily facilitate when concrete example is used to drive understanding of the |
| business&nbsp;intent for each rule. The concrete example is used to populate data for test.&nbsp;&nbsp;</refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-I90uzl3ItrvAQBeMg-l9pw" name="execute_ruleset_functional_test,_RkSNrsVWEd2pfdXgw7I2qQ" guid="-I90uzl3ItrvAQBeMg-l9pw"> |
| <refinedDescription><a id="XE_rule_set__execute_functional_tests" name="XE_rule_set__execute_functional_tests"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-h_Q4rpmMhckmEL3epy5j4Q" name="get_rule_set_reports,_RkSNqcVWEd2pfdXgw7I2qQ" guid="-h_Q4rpmMhckmEL3epy5j4Q"> |
| <refinedDescription><p> |
| There are multiple type of reports the rule team can analyze:<a id="XE_rule_set__get_reports" |
| name="XE_rule_set__get_reports"></a> |
| </p> |
| <ul> |
| <li> |
| The&nbsp;query report to list the rules part of the rule set, rule flow, package, activate or not. |
| </li> |
| <li> |
| Static analysis of conflict resolution |
| </li> |
| <li> |
| rules execution report |
| </li> |
| </ul> |
| <p> |
| S<a id="1028579" name="1028579">tatic rule analysis is a mechanism for checking whether the rules are semantically |
| consistent. Inconsistencies can be found either in a single rule or in a set of rules</a>. |
| </p> |
| <p> |
| For single rule the analysis will list the rule that never apply, when the conditions of the rule can never be met. |
| This could happen when there is mis-used of and/or operator in combined conditions, or if the values in the conditions |
| are not in the possible allowable values for a given attribute.<br /> |
| </p> |
| <p> |
| Evaluating rule inconsistency in a rule set leads to discover |
| </p> |
| <ul> |
| <li> |
| Equivalent rules&nbsp;rules with same conditions and&nbsp;actions. |
| </li> |
| </ul></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-JkOVgFn0THaQU3V_LciXbg" name="get_sme_feedback,_RkSNr8VWEd2pfdXgw7I2qQ" guid="-JkOVgFn0THaQU3V_LciXbg"> |
| <refinedDescription><a id="XE_SME__get_feedback" name="XE_SME__get_feedback"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-LGCZRD2iL1EzFH3_LqlAJg" name="test_analysis,_RkSNrcVWEd2pfdXgw7I2qQ" guid="-LGCZRD2iL1EzFH3_LqlAJg"> |
| <refinedDescription><a id="XE_test_analysis" name="XE_test_analysis"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-UbMVWUVbdTcZeO_raP_Zmg" name="ruleset,_RkSNp8VWEd2pfdXgw7I2qQ" guid="-UbMVWUVbdTcZeO_raP_Zmg"> |
| <refinedDescription><a id="XE_rule_set__work_product" name="XE_rule_set__work_product"></a> |
| <p> |
| For more detail see <a class="elementLink" href="./../../abrd/guidances/termdefinitions/rule_set_4D4C8DB1.html" |
| guid="_DdvcwBCQEdyJtJ3PbfdVDw">Rule Set</a>&nbsp;and <a class="elementLink" |
| href="./../../abrd/guidances/termdefinitions/rule_engine_A66B71B3.html" guid="_QQcSoEXXEdy14e5PT9v3HQ">rule engine</a> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-fwowC3JkpIga2H7YGyHA4Q" name="rule_report,_RkSNqMVWEd2pfdXgw7I2qQ" guid="-fwowC3JkpIga2H7YGyHA4Q"> |
| <refinedDescription><a id="XE_rule_report" name="XE_rule_report"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-G84F_WKYJbQh1mymVCWgxw" name="sme_recommendations,_RkSNqsVWEd2pfdXgw7I2qQ" guid="-G84F_WKYJbQh1mymVCWgxw"> |
| <refinedDescription><a id="XE_SME__recommendations" name="XE_SME__recommendations"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-1PQWVqDq_1c_uYCcAzXPjQ" name="rsm_report,_RkSNrMVWEd2pfdXgw7I2qQ" guid="-1PQWVqDq_1c_uYCcAzXPjQ"> |
| <refinedDescription><a id="XE_RSM_report" name="XE_RSM_report"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-tlugq7LmqmrzFCxoFyR-AQ" name="deploy_rules,_0xrvQsVWEd2pfdXgw7I2qQ" guid="-tlugq7LmqmrzFCxoFyR-AQ"> |
| <refinedDescription><a id="XE_rule__deploy" name="XE_rule__deploy"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-TpaFFyf36HQMpZFFFgj0Cg" name="ruleset,_0xrvQ8VWEd2pfdXgw7I2qQ" guid="-TpaFFyf36HQMpZFFFgj0Cg"> |
| <refinedDescription><a id="XE_rule_set__work_product" name="XE_rule_set__work_product"></a> |
| <p> |
| For more detail see <a class="elementLink" href="./../../abrd/guidances/termdefinitions/rule_set_4D4C8DB1.html" |
| guid="_DdvcwBCQEdyJtJ3PbfdVDw">Rule Set</a>&nbsp;and <a class="elementLink" |
| href="./../../abrd/guidances/termdefinitions/rule_engine_A66B71B3.html" guid="_QQcSoEXXEdy14e5PT9v3HQ">rule engine</a> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-f6gTOIuqcTE7Bo6RKZ0TqQ" name="synchronize_with_wrms,_0xrvQcVWEd2pfdXgw7I2qQ" guid="-f6gTOIuqcTE7Bo6RKZ0TqQ"> |
| <refinedDescription><a id="XE_web-based_brms__synchronize" name="XE_web-based_brms__synchronize"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-2plISeUo4TFYeepdm0sd9g" name="rule_repository_in_db,_0xrvRcVWEd2pfdXgw7I2qQ" guid="-2plISeUo4TFYeepdm0sd9g"> |
| <refinedDescription><a id="XE_rule_repository__in_db" name="XE_rule_repository__in_db"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-MfK3a42-JVFgfXFrlgKVCg" name="decision_point_table,_6r4dDMVWEd2pfdXgw7I2qQ" guid="-MfK3a42-JVFgfXFrlgKVCg"> |
| <refinedDescription><a id="XE_decision_point_table" name="XE_decision_point_table"></a> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Groups |
| together all potential rules that determine one decision.</span> <a id="XE_decision_point" name="XE_decision_point">It |
| can be found in a use case description or in a Business Process Map task description.</a>&nbsp;Presented in table |
| format the project team can use the following template: |
| </p><br /> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 496.15pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" width="662" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="95"> |
| <p class="MsoNormalCxSpFirst" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Decision Point<span style="mso-spacerun: yes">&nbsp;</span> |
| Name</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="198"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Description</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="142"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Source for Rule Discovery</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="126"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><font face="Times New Roman"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">Current</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">State</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE">of |
| Automation</span></i></b></font></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="100"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Rule Owner -</font></font></span></i></b> |
| </p> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">SME</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br /> |
| <p> |
| The name should be explicit and without any ambiguity. It helps to link back to the business process or use case step. |
| An example may be "claim data review", or "loan eligibility"... |
| </p> |
| <p> |
| The source for rule discovery describes the main sources of rule harvesting like human, code, database, book, policies, |
| legal&nbsp;manual... |
| </p> |
| <p> |
| The current state of automation is optional and just list&nbsp;if for this given decision point we can have tools which |
| can migrate the business rules&nbsp;from one format to another.&nbsp; |
| </p> |
| <p> |
| The last column can be useful to define who will be the owner of the rule set(s) supporting the decision point. He/She |
| will be an important actor of the rule discovery. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-eUCZh9-TGhKseTixKaMrHg" name="business_process_map,_6r4dCcVWEd2pfdXgw7I2qQ" guid="-eUCZh9-TGhKseTixKaMrHg"> |
| <refinedDescription><a id="XE_business_process_map" name="XE_business_process_map"></a> |
| <p> |
| A Business Process is a collection of interrelated tasks, which solve a particular business problem or process a |
| business event: a claim is received and needs to be processed within 15 days. |
| </p> |
| <p> |
| A business process can be decomposed into several sub-processes, which have their own attributes, but also contribute |
| to achieving the goal of the super-process. |
| </p> |
| <p> |
| The following process map is done using BPMN 1.2 (2..0 soon)&nbsp;and illustrates a loan underwriting process. The |
| entry point is a mail with the loan application received, then the process follow a set of activities to decide if the |
| loan is eligible and what kind of loan product we can offer to the borrower and at what financial condition. This |
| process as described here is not taking into account the actors of the process. Swim lanes can be added&nbsp;to group |
| tasks per actors. |
| </p> |
| <p> |
| <img height="600" alt="" src="resources/loanapplicationbpm.bmp" width="357" /><br /> |
| <br /> |
| &nbsp; |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-iQtEn6D9iqYBMMYBWuVKBw" name="discovery_workshop_itinerary,_6r4dFsVWEd2pfdXgw7I2qQ" guid="-iQtEn6D9iqYBMMYBWuVKBw"> |
| <refinedDescription><a id="XE_rule_discovery__workshop_itinerary" name="XE_rule_discovery__workshop_itinerary"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Goal:</b> <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">These |
| series of Rule discovery workshops</span> are very important for the &lt;&gt; application, it will help: |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To separate a rule as a manageable artifact |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To trace rules from the origin to deployment |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To link rules to business context |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To develop the rule description using business term and natural business |
| language. |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To involve business user in the future ownership of the rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare for for the logical data model |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt; mso-pagination: none; mso-layout-grid-align: none"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare the for the rule set implementation |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Duration</b>: 2 hours per session |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Facilities</b>: white board, pencil, paper; post it, UML tool like Enterprise |
| Architect, ISIS rule templates |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Agenda</b>: |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To formalize the rules using templates and business term and language |
| understood by the business user |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To prepare the tests for the rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> To define the object model for the rule |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> Define the different types of rules, rule writing standards, structure rules |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 0cm 0cm 0pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 47.35pt"> |
| <span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span |
| style="mso-list: Ignore">·</span></span> Address the rule management requirements around rule ownership, and rule |
| change requirements |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Output:</b> rule set definition, logical data model |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Invitees</b>: |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <tbody> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <strong><em><font face="Times New Roman" color="#005DA0" |
| size="3">Business</font></em></strong>&nbsp; |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0"><font size="3"><font face="Times New Roman">IT</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Business Analyst</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Rule analyst</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">SME</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Rule writer</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Lead developer</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <p> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| &nbsp; |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: auto auto auto 36pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 241.55pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="322"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <b style="mso-bidi-font-weight: normal">Pre-requisites</b>: Decision point table, rule discovery roadmap, conceptual |
| data model |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-lgSFuLT3lWbTwunMCMdGzA" name="execute_rule_discovery_roadmap,_6r4dCMVWEd2pfdXgw7I2qQ" guid="-lgSFuLT3lWbTwunMCMdGzA"> |
| <refinedDescription><p> |
| Rule elicitation is an ongoing activity you perform throughout the project. Collaboration with your stakeholders is |
| critical. They will change their minds as the project proceeds and that's perfectly fine. |
| </p> |
| <p> |
| The documentation of the rule may be done using different language. The natural language is initially used during |
| business conversations to describe the rule, informally, without trying to impose any structure. SMEs express their |
| ideas using a language very close to them, but they usually are not able to formalize their concepts in a clear and |
| unambiguous way. Using this language we may have redundancy and inconstancy in the rule ex-pression, in the business |
| terms, and overall by it may not be relevant and precise enough to be able to implement the decision logic. |
| </p> |
| <p> |
| Conceptualization and representation play fundamental roles in thinking, communicating, and modeling. |
| </p> |
| <p> |
| A second evolution is still in natural language, and is still consumable by both analysts and developers, but, we have |
| imposed some structure, and we made sure that they are relevant and have the right form, but may not be correct |
| semantically. We use the rule description template to log the rule. |
| </p> |
| <p> |
| The last type of expressiveness of the language to document the rule is precise and there are no ambiguities: the rule |
| refers exactly to information system objects. This language is parse-able and non-ambiguous. Semantics of Business |
| Vocabulary and Business Rules or SBVR from Object Management Group can be used at this stage to specify formally |
| representations of concepts, definitions, instances, and rules&nbsp;in natural language. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-jDcrhnRAGpNy9F3lmDQh9A" name="business_terms_glossary,_6r4dCsVWEd2pfdXgw7I2qQ" guid="-jDcrhnRAGpNy9F3lmDQh9A"> |
| <refinedDescription><a id="XE_business_terms_glossary" name="XE_business_terms_glossary"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">One of the positive feedbacks&nbsp;received from |
| the business and IT team&nbsp;is the&nbsp;business term glossary document. Some organization has already defined this |
| kind of glossary, and even it is possible to use some industry standard. But standard are always adapted by the |
| organization so it is important to work on such&nbsp;glossary during the early phase of the project.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following template can be used for logging |
| the business vocabulary. The acronyms are not mandatory. The ownership column describes when a term is under the |
| responsibility of&nbsp;a team.</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver; mso-table-layout-alt: fixed" |
| cellspacing="0" cellpadding="0" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="104"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Term</span></i></b></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="76"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE"><font |
| size="3">Acronym</font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="425"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Definition</span></i></b></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="76"> |
| <p class="MsoNormalCxSpMiddle" |
| style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-add-space: auto; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-language: HE">Owner</span></i></b></font> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 77.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="104"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 2cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 318.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="425"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 56.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="76"> |
| <br class="MsoNormalCxSpMiddle" style="MARGIN: 0cm 0cm 0pt; mso-add-space: auto" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Ya6ew2cXy0t86scG8NYWbA" name="rule_description_doc,_6r4dGsVWEd2pfdXgw7I2qQ" guid="-Ya6ew2cXy0t86scG8NYWbA"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-_HXi3XetHAIsFYblsTtTcg" name="conceptual_data_model,_6r4dBsVWEd2pfdXgw7I2qQ" guid="-_HXi3XetHAIsFYblsTtTcg"> |
| <refinedDescription><p> |
| A conceptual data model describes the things important for an organization as entity classes and characteristics of the |
| things as attributes, and using&nbsp;associations between things. By 'thing'&nbsp;we mean anything perceivable or |
| conceivable and used in a day to day conversation. |
| </p> |
| <p> |
| Conceptual data model is used to explore domain concepts&nbsp;as a communication vehicle&nbsp;between the analysts and |
| the business team members. |
| </p> |
| <p> |
| With&nbsp;an&nbsp;Agile approach CDMs are used to explore the high-level static business structures and concepts, and |
| are described during the initial requirements iterations. In our approach conceptual data model are the first version |
| of the logical data model. So we use different level of&nbsp;a class diagram to represent the CDM.&nbsp;&nbsp;The rule |
| elicitation phase is most of the time leveraging the diagrams of&nbsp;the CDMs, but once we progress into the |
| iterations the CDMs are replaced by the LDMs. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-HRHCQT3_ksQap5yLiPUDqg" name="extract_rule_meaning,_6r4c28VWEd2pfdXgw7I2qQ" guid="-HRHCQT3_ksQap5yLiPUDqg"> |
| <refinedDescription><p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA"><font |
| face="Arial">During the elicitation activity the raw description of the rule uses business terms as used in common |
| language used by the people. This presents what the business users think about the way things are done in the company. |
| They are linking words with statements with all the different semantic attached to them. The first activity focuses on |
| analyzing this rule description&nbsp;to extract&nbsp;the business entities and terms used in a formal non ambiguous |
| fashion.&nbsp;</font></span> |
| </p> |
| <p> |
| We are discussing about Business Term here, as reference to a business concept used in daily business operations.They |
| are often found in different departments or refer to the same business concept from a different perspective: they are |
| synonyms. A term may describe business concept which will be mapped to a Class, a characteristic of a business entity |
| which will be mapped to attribute of a class, and sometime a term may describe the way a business object behave, in |
| that last case it will be mapped within method of a final state machine. |
| </p> |
| <p> |
| The second concept presented in the analysis of rule is the Fact. Fact is a combination of terms that describes what |
| business people know about their business. It connects terms into sensible business relevant observations.<br |
| style="MARGIN-TOP: 4.32pt; MARGIN-BOTTOM: 0pt; VERTICAL-ALIGN: baseline; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left; language: en-US; mso-line-break-override: restrictions; punctuation-wrap: simple" /> |
| As stated by the SBVR specification meaning is built of concepts, questions and propositions. the concepts will build |
| our underlying data model used by the executable rules, and the proposition will structure the data model and can also |
| be mapped to rules.<br /> |
| </p> |
| <p |
| style="MARGIN-TOP: 4.32pt; MARGIN-BOTTOM: 0pt; VERTICAL-ALIGN: baseline; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left; language: en-US; mso-line-break-override: restrictions; punctuation-wrap: simple"> |
| All these informations&nbsp;help to build a&nbsp;first logical data model used to build the underlying object |
| model&nbsp;used by the rules. We can use UML tool to design a class diagram, generates java code and import such code |
| in the rule IDE.<br /> |
| &nbsp; |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Mp1iTCY_ZxvmhCU0pK1B4A" name="rule_description_doc,_6r4c2sVWEd2pfdXgw7I2qQ" guid="-Mp1iTCY_ZxvmhCU0pK1B4A"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Oycd-mszF0ZsLk-8ZeJWHg" name="fact_model,_6r4c0cVWEd2pfdXgw7I2qQ" guid="-Oycd-mszF0ZsLk-8ZeJWHg"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">A Fact Model represents structured business vocabulary with true statement like: A |
| customer places an order. The fact model looks like the Object Role Model described by Halpin (2001). When the model |
| starts to grow the notation become quickly invisible and no more helpful, so we do not encourage to follow this |
| notation.</span> We prefer using UML class diagram showing just the entities, the associations and may be some |
| characteristic as attributes of class. |
| </p><br /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A Fact Model should always include elementary |
| (atomic) fact type:</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Noun:&nbsp; Customer, Order, Product</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"> |
| <span style="FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt">•</span><span |
| style="FONT-SIZE: 7pt; FONT-FAMILY: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">Verb:&nbsp; places, briefs</span> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-CqnB4S0O3gkfIdcDYQrDPQ" name="logical_data_model,_6r4c08VWEd2pfdXgw7I2qQ" guid="-CqnB4S0O3gkfIdcDYQrDPQ"> |
| <refinedDescription><a id="XE_logical_data_model" name="XE_logical_data_model"></a> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">A logical data model or LDM is a graphical |
| representation of some of the business requirements and especially the concepts manipulated by the business member. LDM |
| is independent of the technology of implementation, and is mostly used&nbsp;as a communication vehicle for the business |
| analyst and&nbsp;to prepare the implementation of data models.&nbsp;&nbsp;</span></span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">From the point of view of an object-oriented developer |
| data modeling is conceptually similar to class modeling. With data modeling you identify entity types whereas with |
| class modeling you identify classes.&nbsp; Data attributes are assigned to entity type just as you would assign |
| attributes and operations to classes. Traditional data modeling is different from class modeling because it focuses |
| solely on data – class models allow you to explore both the behavior and data aspects of your domain, with a data model |
| you can only explore data issues.</span></span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">We use UML simple class diagram to represent |
| a</span> <span style="mso-bidi-font-family: Arial">Logical Data Model</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">but&nbsp;by applying&nbsp;Agile's principle of multiple |
| models, it is possible to use other diagrams.</span> |
| </p><br class="MsoNormal" style="MARGIN: 0cm 0cm 0pt" /> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| <span style="mso-bidi-font-family: Arial">Logical Data Models</span> <span |
| style="mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial">are used to explore the domain concepts, and their |
| relationships, of&nbsp;the problem domain.&nbsp; This could be done for the scope of a single project or for&nbsp;the |
| entire enterprise.&nbsp; LDMs depict the logical entity types, typically referred to simply as entity types, the data |
| attributes describing those entities, and the relationships between the entities.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| &nbsp; |
| </p> |
| <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> |
| Defining a logical data model prepare for future reuse, and help to build common definition of terms. This is one of |
| major building block for enterprise data model. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-i-o-ix2w6ehxgG6NXqzYnQ" name="transform_rules,_6r4c3MVWEd2pfdXgw7I2qQ" guid="-i-o-ix2w6ehxgG6NXqzYnQ"> |
| <keyConsiderations>This activity will also be done during the implementation of the rule set, but it is started during the analysis, so we are |
| detailing it in this context.</keyConsiderations> |
| <refinedDescription><p> |
| Rule Analyst has to study the rule discovered and try to transform it so that the implementation and the management of |
| the rule will be more easy. This includes transforming the rule in atomic element using a syntax without ambiguity, |
| remove redundant rules, conflicting rules, and finally try to redefine the scope of the rule by searching by |
| non-handled cases.&nbsp; |
| </p> |
| <p> |
| At this stage rule analyst can build some rule template which&nbsp;are built from rules that have the same set of |
| conditions with some little variations: adding new value in test condition, or new condition. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Vw7w7CdsiPTvpIJJdjf1NA" name="build_test_scenario,_6r4c3cVWEd2pfdXgw7I2qQ" guid="-Vw7w7CdsiPTvpIJJdjf1NA"> |
| <refinedDescription><p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA"><font |
| face="Arial">Developing without testing has no sense today (we hope!). Developing rules deployed in rule engine |
| helps&nbsp;us supporting efficiently a Test Driven Development approach. Rule set can be isolated&nbsp;early in the |
| development process and can be tested in a sandbox environment. Writing tests before the rule makes testing part of a |
| validation feedback loop.&nbsp;&nbsp;So during the harvesting phase the analysis team needs to develop test scenario |
| and data elements to support the rule writing and testing. Working on concrete scenario leads to clarify ambiguities, |
| find holes in the decision processing, and enhance rules decision coverage, and the overall quality.</font></span> |
| </p> |
| <p> |
| At this level the scenario description can be built as user story with persona involvement, and data point to |
| illustrate the scenario. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-lohL0MczQsZKJLN8EUe8IQ" name="synchronize_data_model,_6r4c18VWEd2pfdXgw7I2qQ" guid="-lohL0MczQsZKJLN8EUe8IQ"> |
| <refinedDescription><p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The rule analyst needs to continuously verify that business terms used in rule statements are part of the logical data |
| model (classes/ attributes) and physical data model (PDM). The model exposed to the rule needs to get data from data |
| sources. If a concept is not in the data it has to be quickly handled and managed by the application architect. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| The rule analyst should be in continuous communication with the data model developer, responsible to develop the XML |
| schema or java model (or .Net), and the physical mapping to database.<br /> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| Part of most of the business application are the list of code, enumerated date or domain values. It is important to |
| well design how those data are defined, accessed by the application, and the rule authoring environment. |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0in"> |
| It can be helpful for some major business term to define a mapping to a class-attribute, and if the BRMS supports this |
| function it is recommended to detail the "verbalization" of the business term. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0in" /> |
| <br /> |
| <div align="center"> |
| <table class="MsoNormalTable" style="WIDTH: 351pt; BORDER-COLLAPSE: collapse; mso-padding-alt: 0in 0in 0in 0in" |
| cellspacing="0" cellpadding="0" width="468" border="0"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: gray 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">Business Term</span></i> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">OO mapping</span></i> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <i><span style="COLOR: #005da0">Verbalization</span></i> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">LTV</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">LoanApplication.ltv</span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <p class="msonormalcxspmiddle" style="MARGIN: auto 0in"> |
| <span style="FONT-SIZE: 8pt">The loan to value ratio</span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 117pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent" |
| valign="top" width="156"> |
| <br class="msonormalcxspmiddle" style="MARGIN: auto 0in" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in left 3.0in" /> |
| <br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-NmUNzIfRKfaj1Arf585V3A" name="determine_rule_implementation,_6r4c-MVWEd2pfdXgw7I2qQ" guid="-NmUNzIfRKfaj1Arf585V3A"> |
| <refinedDescription><a id="XE_rule__determine_implementation" name="XE_rule__determine_implementation"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Project teams involved in BRMS deployment are often asking the following type of questions: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| When should I use BRMS versus a&nbsp;BPM? |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| How do I decide what decisions should I put into a BRE? |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt"> |
| When should I use BRMS versus code?&nbsp; |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| There are definitively multiple variables which could influence the decision on where to implement rules. We can start |
| by looking at the BRMS value propositions, it should help to get a first set of variables: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Adaptability – Measure the ability to change the business logic easily. The motivation can be due to short deadline |
| constraint, or frequent small changes or important change that may occur every month or quarter. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Transparency – Represents the need to clearly implement the business logic as what was agreed upon the business |
| unit and the IT team, in a way that every parties understand the logic. This is leading to express the logic in |
| natural or close to natural language. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Auditability – Represents the ability to trace from the business motivation to the execution of the policy to |
| better understand what was the logic behind a decision. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Reusability – Need to share business logic across processes or applications and stay . consistent across |
| applications/transactions |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt"> |
| Manageability- This variable addresses the life cycle management of the business logic. Who writes what, and when, |
| and all the questions related to maintenance and evolutions of the rule-based service. |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| The purpose here is not to say it is not possible to support those variables in standard software development |
| practices, but more to find some good patterns on how to decide on where to implement the business logic. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| When looking at a business rules statement software engineer can see different possible choices of implementation like: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Data model: designing an object oriented object model involves supporting a lot of business rules. A statement like |
| a mortgage application can have a primary and a secondary borrower, will be supported by two classes and a 1 to 2 |
| relationship. At the instantiation of those classes the control of the cardinality can be done in the application |
| logic, or the database, or the GUI structure. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Application code: implementing the logic in function, procedural code or methods in service layer or business |
| objects. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| BPM process flow, tasks or links: BPM tools are addressing business process efficiency issue specifically on "who |
| is involved", "when they should be involved". "what they need to do". BPM supports manual human and automated |
| actors. At a glance the business logic to implement in BPM is linked to people, task, and data to process within a |
| task. When supporting purely automated tasks BPM is orchestrating the application logic and services (BPEL engine). |
| BRMS complements BPM by adding the why to a BPM task, why it behaves a certain way, why this decision is done. |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Rule engine: <span style="mso-spacerun: yes">&nbsp;</span>using predefined structure like if then else statement or |
| decision table, rule flow, decision tree, function, rule template or other high level language... |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo7; tab-stops: list 36.0pt"> |
| Graphical user interface: <span style="mso-spacerun: yes">&nbsp;</span>using scripting language or server side code |
| in controller class it is possible to implement data validation type of business rules. |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| In the following paragraphs address each of different choices with their impact on the variables |
| </p><br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in Data Model</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Rule which is controlling the structure of the model and the reference integrity |
| should be in the physical data model, the O/R mapping layer or on the domain object model.</span> |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Rule setting constraint on relationship - |
| <span style="mso-spacerun: yes">&nbsp;</span>like a loan application could only have two borrowers</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Rule on the structure of the business |
| entities - like this attribute is part of this object</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l6 level1 lfo2; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following facts are based on a simple |
| user authentication problem, are well implemented in an object model and the supporting application code which |
| create the instance from the data (O/R mapping layer or DAO or service layer):</span> |
| </li> |
| </ul> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A Company has a list of users who can login to the application</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A Company has a list of groups of user</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A User is part of a group</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A group includes a list of Users</span> |
| </p> |
| <p class="MsoNormal" |
| style="MARGIN: 3pt 0cm 3pt 54pt; TEXT-INDENT: -18pt; mso-list: l5 level1 lfo3; tab-stops: list 54.0pt"> |
| <span |
| style="FONT-FAMILY: Symbol; mso-bidi-language: HE; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"><span |
| style="mso-list: Ignore">·<span |
| style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span> <span |
| style="mso-bidi-language: HE">A group has one user reference who is the creator of the group</span> |
| </p> |
| <p> |
| Terms and facts and derived attributes&nbsp;are the primary constituents of data models and are represented in a UML |
| class diagram, and logical data model (entities/relationship model), or a physical data model. |
| </p> |
| <p> |
| <span style="mso-bidi-language: HE">The following table lists the impact of this implementation on the previously |
| defined variables</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Very static implementation. A change in the constraints of the object model |
| impact, data persistence, logical data model, service and presentation layers. Change is managed on |
| a monthly or yearly basis</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Data model represented as UML classes diagram is doing a poor job to |
| communicate to business. Entities diagram represents a more high level representation of the domain |
| model, but forces the team to maintain the link between the implementation and the business |
| representation.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Configuration management tool, with a strict development process and |
| disciplines can help to trace back to the business motivation.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Domain Object model can be designed as reusable. But in the reality each |
| application needs a view of the core business object model, and so part of the implemented |
| application will be to build those view.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 221.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="295"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Configuration management tools and strict discipline can help maintain the |
| business logic.</font></span> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in application code</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Implementing business rule in application code is |
| currently the most common way the IT developer is doing it. The major justifications are performance and flexibility of |
| the coding language. Using hard coded if/then/else statements isn't too flexible, but in the hands of a top notch |
| programmer it can be very fast and arguably as fast as or faster than a rule engine. Assuming the programmer has |
| unlimited time to optimize the execution for a fixed set of rules. If the ruleset changes frequently and the system |
| can't tolerate a big drop in performance, than a rule engine is the solution.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The following example of business rules may be |
| easily implemented in code:</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span class="ISISCodeParagraphChar"><font face="Courier">verify in each items the customer bought since he is customer |
| with us there is at least one article of type T so that we can propose the new product Y with X % of discount, except |
| if the customer is from the state of New York or New Jersey</font></span><span |
| style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">We can implement this in a method which loops on |
| the articles bought by a given customer and do the search. At a first analysis, navigating in a collection of objects |
| and testing multiples conditions on them is easy to implement using the power of programming language.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">One thing interesting will be the hard coding of |
| the value of New York, New Jersey... If this logic change we need to add if statements in the code.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Other type of rules are related to the control of |
| the execution of a set of "services" to support specific use case. Dispatching, orchestration, data manipulation, … are |
| better candidate to be implemented in application code. Those rules are more static, often more complex, and |
| definitively linked to context of execution. The context may be too complex to expose to a rule engine.</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Orchestration are now very well supported by |
| BPM-BPEL engine because the developer needs to add flexibility on the service selection and invocation.<span |
| style="mso-spacerun: yes">&nbsp;</span></span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">The evaluation of the important variables |
| is:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">the necessity to change code when a business rule changes is still |
| unpleasant: software build are more efficient and cost less than before but deployment may be |
| expensive depending of the complexity of the production environment. <span |
| style="mso-spacerun: yes">&nbsp;</span></font></span> |
| </p> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Changing code under time pressure usually leads to poor |
| quality</font></span> |
| </p><br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Poor. The logic as defined by the business is split in multiple parts of the |
| code, methods and procedures.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Poor. Only strict use of configuration management tools with a strict |
| development process may help.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">If the logic is implemented in a service layer with defined interface it may |
| be possible to reuse part of the methods.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 334.25pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="446"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Developer is |
| responsible to implement the change, and use configuration management tools and strict development |
| disciplines.</span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in process map</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Business process automation is the technology components substituting and/or |
| supplementing manual processes to manage information flow within an organization to lower costs, reduce risk, and |
| increase consistency. In this context Business rules describe the structure, operation, and strategy of an |
| organization's business process. The business process definition can be seen as a business rule. Typically a rule |
| involving routing of transactional data to a queue, a task, or a sub process will be most likely implemented in a |
| process map. Defined at the link level business rules are linked to the structure of the process flow. Once designed |
| and implemented there is few chance those rule will change. Changing a business process is most of the time risky: we |
| do not want to change thing working and involving a lot of parties and stakeholders. In fact</span> new policies, |
| regulations or business strategies may affect the rules without changing the core business processes. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">A rule like: "<i style="mso-bidi-font-style: normal">if there is an exception in |
| the claim processing we want a supervisor to study the claim and the accumulated reasons extracted by the process so |
| far"</i> will most likely finish as guard on a process map link:</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <img height="348" alt="" src="resources/brinbpm.bmp" width="313" /> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Task 1 will most of the time call a rule engine to take decision on the claim. One of the pattern is to accumulate all |
| the possible reasons in a list. If the list include an exception or high priority reason, the process map will route to |
| the "Process Exception" task. This task can queue the work item to a supervisor queues. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">There are a lot tasks in a business process that are decision rich, so with a lot |
| of business rule to execute before completing the task. Those rules can be executed by a rule engine. The integration |
| Rule Engine – BPM will bring the value to support those cases. But as good practice it is always possible to try to |
| re-arrange an activity diagram of a use case or a process map so that some activities are purely automatically executed |
| in a rule engine mapped as a rule flow.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">The variables evaluation:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Business rules hardly coded in using BPM notation is not efficient and lead |
| to complex map. The real design implementation is to mix BPM map and business rules-decision |
| delegated in a process task. In this type of implementation we can leverage the best of both |
| worlds, and the adaptability is excellent.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: when the integration of BPMS and BRMS is done perfectly, the |
| business and IT team have a clear understanding of the process execution and the decision done by a |
| task by studying the rules attached to the task.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: both tools has version control, and it is possible to link |
| process map version to rule set version.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Rules defined in a task should be expose to the other application as a |
| service. So reusability can be achieved. Rules in a BPM map are not really reusable.</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Process logic will |
| have a more stable life cycle, and it is managed in the BPMS. <span |
| style="mso-spacerun: yes">&nbsp;</span></span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in a rule engine</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Any type of rule using a forward chaining approach will best fit in any RETE rule |
| engine. To avoid long explanation a rule engine will perform very efficiently the following rules which are more |
| complex to implement in code:</span> |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">Set parameter = A / (B ^ 2)</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">If parameter is above 30 then the risk is<span |
| style="mso-spacerun: yes">&nbsp;</span> medium</span> |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l2 level1 lfo4; tab-stops: list 36.0pt"> |
| <span style="mso-bidi-language: HE">If the risk is medium then alert the manager</span> |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE"><span style="mso-spacerun: yes">&nbsp;</span>If we enter a new value for A all the |
| depend rules will be fired. Rules can be entered in any order we want, it is less declarative than procedural |
| code.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">Backward chaining rule pattern can also been supported by a rule engine. The rule |
| system works down the tree to find the data that it requires. It will ask question to be able to infer decisions. It is |
| possible to implement backward chaining with product using pure inference by&nbsp;using a goal object.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">As we already stated one of the key factor is flexibility. We already encounter the |
| following decision: "This rule will not change"... but in fact it will do in the future or some of related one" |
| .</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">We can for example take a simple example of a static rule defined as</span> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 1.9pt 0cm 0pt 18pt; TEXT-ALIGN: justify"> |
| <span class="ISISCodeParagraphChar"><font face="Courier">If the status of the customer is gold and the product is |
| &lt;&gt; then apply &lt;&gt; % discount</font></span><span style="mso-bidi-language: HE">.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">This rule can be implemented within application code using some tables in a |
| database that link the product, the category of possible status and the discount to apply. But when discussing with the |
| business user to understand what is a gold customer? We can get other conditions that definitively will change over |
| time: "A customer who spend more than &lt;&gt; the amount of money... during the last 6 months ...No !<span |
| style="mso-spacerun: yes">&nbsp;</span> during the last four month only for the product X because it was only available |
| for 4 months!, … Okay but customer in the states {,,,,} could not be part of the gold status... Ah I forgot, ... A |
| customer must have 18 years old, and by the way customer working for our company or subsidiaries could not be part of |
| the gold...</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">The variables evaluation:</span> |
| </p> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" border="1"> |
| <thead> |
| <tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Variables</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b style="mso-bidi-font-weight: normal"><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE"><font size="3"><font |
| face="Times New Roman">Evaluation</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Adaptability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt"><font |
| face="Times New Roman">Excellent, rule can change quickly and be deployed quickly too</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Transparency</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent: by adding meta data to implemented rule we can clearly link rule |
| to business strategies and policies</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 2"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt">Auditability</span></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Excellent and most of the rule engine has log mechanism to trace what were |
| the rules executed on a given transaction.</font></span> |
| </p> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Rule reports are important to the business as part of |
| documentation</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 3"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Reusability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Very good if the BRMS use rule repository and the rule analyst designed a |
| rule sharing approach</font></span> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 4cm; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="151"> |
| <p class="MsoNormalCxSpMiddle"> |
| <span style="FONT-SIZE: 8pt; mso-bidi-font-size: 12.0pt"><font |
| face="Times New Roman">Manageability</font></span> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 344.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="460"> |
| <p class="MsoNormalCxSpMiddle"> |
| <font face="Times New Roman"><span |
| style="FONT-SIZE: 8pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.0pt">Excellent as rules |
| are externalized and managed as a standalone artifact. Rule configuration management is complex, |
| and integrity between rule life cycle and rule set versioning is not a simple |
| practice.</span></font> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <a><font color="#0066B2"><em><font size="3">Rule in a graphical user interface</font></em></font></a> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| We will base the integration on the Model-View-Controller (MVC) design pattern. The presentation tier handles the |
| client interaction by abstracting the low-level protocol details into an event-based mechanism. The view's main |
| requirement is synchronization with the model so that data displayed to the user is up to date. The controller is |
| responsible to prepare the data and manage the view flow and content. Delegating the creation of content to a rule |
| engine is possible but need to be done synchronously. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| The business rule will be related to control the list of widget the GUI will present. A typical pattern is around |
| product catalog application or dynamic questionnaire. The rule pattern to control the content looks like: |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm 3pt 36pt"> |
| <i style="mso-bidi-font-style: normal">If the selection on this page was &lt;&gt; then add this &lt;&gt; to the model |
| used in view &lt;&gt;</i> |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| A rule to control the flow of page looks like |
| </p> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm 3pt 36pt"> |
| <i style="mso-bidi-font-style: normal">If the user visited page &lt;&gt; (and | or page &lt;&gt;) then next page is |
| &lt;&gt;</i> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Both rules may be enriched with business type decision based on data of the model. |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| In these pattern it is clear we need to keep the previous context of decision, and events the user created.<span |
| style="mso-spacerun: yes">&nbsp;</span> So most of the current applications are putting the business rule in the |
| controller class or in the java script of the view, but it is possible to design the controller to use a rule engine, |
| as soon as the decision needs to change. This is particularly true for e-commerce web site, where marketing campaign |
| can quickly be put in place by proposing product or product feature more dynamically.<span |
| style="mso-spacerun: yes">&nbsp;</span> |
| </p><br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-XeTJfes8s01sk2ZVcZ8ORQ" name="decision_point_table,_6r4c9MVWEd2pfdXgw7I2qQ" guid="-XeTJfes8s01sk2ZVcZ8ORQ"> |
| <refinedDescription><a id="XE_decision_point_table" name="XE_decision_point_table"></a> |
| <p> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Groups |
| together all potential rules that determine one decision.</span> <a id="XE_decision_point" name="XE_decision_point">It |
| can be found in a use case description or in a Business Process Map task description.</a>&nbsp;Presented in table |
| format the project team can use the following template: |
| </p><br /> |
| <div align="center"> |
| <table class="ISISTable" |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 496.15pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver" |
| cellspacing="0" cellpadding="0" width="662" border="1"> |
| <tbody> |
| <tr style="HEIGHT: 15.75pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: gray 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt" |
| valign="top" width="95"> |
| <p class="MsoNormalCxSpFirst" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Decision Point<span style="mso-spacerun: yes">&nbsp;</span> |
| Name</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="198"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Description</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="142"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Source for Rule Discovery</font></font></span></i></b> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="126"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <font size="3"><font face="Times New Roman"><b><i style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">Current</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span |
| style="COLOR: #005da0; mso-bidi-language: HE">State</span></i></b> <b><i |
| style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE">of |
| Automation</span></i></b></font></font> |
| </p> |
| </td> |
| <td |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: gray 1pt solid; HEIGHT: 15.75pt; mso-border-left-alt: solid gray 1.0pt" |
| valign="top" width="100"> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">Rule Owner -</font></font></span></i></b> |
| </p> |
| <p class="MsoNormalCxSpMiddle" style="TEXT-ALIGN: center; mso-yfti-cnfc: 1" align="center"> |
| <b><i style="mso-bidi-font-style: normal"><span style="COLOR: #005da0; mso-bidi-language: HE"><font |
| size="3"><font face="Times New Roman">SME</font></font></span></i></b> |
| </p> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 0"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| <tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt solid; WIDTH: 70.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="95"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="198"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 106.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="142"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 94.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="126"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| <td |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt" |
| valign="top" width="100"> |
| <br class="MsoNormalCxSpMiddle" /> |
| <br /> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div><br /> |
| <p> |
| The name should be explicit and without any ambiguity. It helps to link back to the business process or use case step. |
| An example may be "claim data review", or "loan eligibility"... |
| </p> |
| <p> |
| The source for rule discovery describes the main sources of rule harvesting like human, code, database, book, policies, |
| legal&nbsp;manual... |
| </p> |
| <p> |
| The current state of automation is optional and just list&nbsp;if for this given decision point we can have tools which |
| can migrate the business rules&nbsp;from one format to another.&nbsp; |
| </p> |
| <p> |
| The last column can be useful to define who will be the owner of the rule set(s) supporting the decision point. He/She |
| will be an important actor of the rule discovery. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-vseCuvO6sao9pngM_Ax32Q" name="rule_description_doc,_6r4c_sVWEd2pfdXgw7I2qQ" guid="-vseCuvO6sao9pngM_Ax32Q"> |
| <refinedDescription><a id="XE_rule_description__document" name="XE_rule_description__document"></a> |
| <p> |
| The rule description document is used during the discovery phase, and during the first iterations for building a rule |
| set. It is not mandatory to complete it up front with all the rules in it. The complement is done during the Rule |
| Authoring phase. |
| </p> |
| <p> |
| It is also interesting to leverage SBVR to document the rule. |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-ppaJma4emmmK-5NP1JKfEA" name="develop_unit_tests,_6r4c5cVWEd2pfdXgw7I2qQ" guid="-ppaJma4emmmK-5NP1JKfEA"> |
| <refinedDescription><a id="XE_unit_tests__develop" name="XE_unit_tests__develop"></a> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| Rule Unit Testing is the process of testing a specific rule in the context of the rule set in which it is deployed. |
| Rule Unit Testing allows rule writers to: |
| </p> |
| <ul style="MARGIN-TOP: 0cm" type="disc"> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Validate each rule in the context of its rule set |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Control the rule set quality |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Conduct some impact analysis when rules are in conflict |
| </li> |
| <li class="MsoNormal" style="MARGIN: 3pt 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"> |
| Helps to have non-regression tests |
| </li> |
| </ul> |
| <p class="MsoNormal" style="MARGIN: 3pt 0cm"> |
| <span style="mso-bidi-language: HE">There is a major difference between testing a code, and a rule. A rule engine per |
| design may not put a rule in the agenda if the conditions are not matched. This means that when the rule writer write a |
| new rule, even if the data are sent to trigger the execution of this new rule it is possible that a rule fired before |
| the new one, with change the condition of the data so that this new rule will never be eligible. Developing a complete |
| set of unit test is an efficient way to see this problem, and to improve the rule set design. Some powerful BRMS |
| platform has rules consistency checking which helps to do some static analysis of those potential conflict by analyzing |
| the conditions and the actions of the rules. For sure real test cases will complete the picture.</span> |
| </p><br class="MsoNormal" style="MARGIN: 3pt 0cm" /> |
| <br /> |
| <span |
| style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-language: HE; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US">Using |
| a Test Driven Development approach rule writer can develop the test script preparing the data to trigger each rule, |
| depending of the BRMS platform used, the script generation can be done automatically or not. What is important is develop |
| reusable test case organized in test suite which include assertion statement to validate the expected results. This is |
| efficient tool to put in place automatic non regression tests.</span></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-VRP7bY43MhKouOQxpD791Q" name="develop_rules,_6r4c58VWEd2pfdXgw7I2qQ" guid="-VRP7bY43MhKouOQxpD791Q"> |
| <refinedDescription><a id="XE_rule__develop" name="XE_rule__develop"></a> |
| <p> |
| Programming using rule approach enforces to know how a rule engine is working. This is not a complex skill, rue author |
| needs to understand&nbsp; the concepts of asserting, retracting object into working memory and modifying them. It is |
| recommended to read what a <a class="elementLink" |
| href="./../../practice.tech.abrd.base/guidances/termdefinitions/rule_engine_A66B71B3.html" |
| guid="_QQcSoEXXEdy14e5PT9v3HQ">Rule engine</a>&nbsp;is to get those concepts. |
| </p> |
| <p> |
| Rule development can follow a test driven development approach: the developer can develop the test cases to trigger the |
| rule execution and then write the rules. Once done the new rules are extracted with the other rules in the rule set, |
| deployed to the unit test environment and the test executes. When designing with interface the unit test uses the |
| facade to access the rule engine for&nbsp;the execution. |
| </p> |
| <p> |
| When rules are complex and include a lot of conditions it may make sense to add condition by steps. It may be easy to |
| make error by using a wrong boolean operator. When the rue language support navigating into collection the testing may |
| include test around the presence and not presence of element in the collection. |
| </p> |
| <p> |
| It is always interesting once the rule is developed to perform rule analysis if the BRMS product has this capability. |
| The analysis helps to see if the current rule is in conflict with existing rules.<br /> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-mU2cfiy9SzQO2aBAKn6lEQ" name="ruleset,_6r4c5MVWEd2pfdXgw7I2qQ" guid="-mU2cfiy9SzQO2aBAKn6lEQ"> |
| <refinedDescription><a id="XE_rule_set__work_product" name="XE_rule_set__work_product"></a> |
| <p> |
| For more detail see <a class="elementLink" href="./../../abrd/guidances/termdefinitions/rule_set_4D4C8DB1.html" |
| guid="_DdvcwBCQEdyJtJ3PbfdVDw">Rule Set</a>&nbsp;and <a class="elementLink" |
| href="./../../abrd/guidances/termdefinitions/rule_engine_A66B71B3.html" guid="_QQcSoEXXEdy14e5PT9v3HQ">rule engine</a> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-Q0OitIPVg9I1Oq_g9_XCiw" name="enhance_object_models,_6r4c4MVWEd2pfdXgw7I2qQ" guid="-Q0OitIPVg9I1Oq_g9_XCiw"> |
| <refinedDescription>Typically the developer adds helper methods in the data model to facilitate the rule writing. Develop utility classes. The |
| data elements should not have persistence logic in it. For example in Java do not put JDBC code in the Customer object. Let |
| try to stick to the Java bean specification for all the&nbsp;business objects, and leverage a service layer, with service |
| facades objects to help gathering and process data.&nbsp;</refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-gmJa6dJF634bZnYGdnthtw" name="execute_rule_set,_6r4c48VWEd2pfdXgw7I2qQ" guid="-gmJa6dJF634bZnYGdnthtw"> |
| <refinedDescription><a id="XE_rule_set__execute" name="XE_rule_set__execute"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-TunYKZqNMaMlNqp73EpPgA" name="log_issue,_6r4c4sVWEd2pfdXgw7I2qQ" guid="-TunYKZqNMaMlNqp73EpPgA"> |
| <refinedDescription><ul> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Formally log any issues and decisions done during the rule |
| analysis and the rule authoring activities.</span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The issue |
| log is used to manage feedbacks, and to improve the rule set quality.</span></span> |
| </div> |
| </li> |
| <li> |
| <div class="MsoNormal" |
| style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .25in"> |
| <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-weight: bold">As a social process, people will |
| change their mind, it is a good practice to log decision on a timely manner.</span> |
| </div> |
| </li> |
| </ul><br class="MsoNormal" style="MARGIN: 0in 0in 0pt" /> |
| <br /></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-y4Aw5AGHiDwN62DoU72gvw" name="execute_ruleset_functional_test,_6r4dJsVWEd2pfdXgw7I2qQ" guid="-y4Aw5AGHiDwN62DoU72gvw"> |
| <refinedDescription><a id="XE_rule_set__execute_functional_tests" name="XE_rule_set__execute_functional_tests"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-5G8CfPgnZh36ji0ZlYzYXQ" name="get_rule_set_reports,_6r4dIcVWEd2pfdXgw7I2qQ" guid="-5G8CfPgnZh36ji0ZlYzYXQ"> |
| <refinedDescription><p> |
| There are multiple type of reports the rule team can analyze:<a id="XE_rule_set__get_reports" |
| name="XE_rule_set__get_reports"></a> |
| </p> |
| <ul> |
| <li> |
| The&nbsp;query report to list the rules part of the rule set, rule flow, package, activate or not. |
| </li> |
| <li> |
| Static analysis of conflict resolution |
| </li> |
| <li> |
| rules execution report |
| </li> |
| </ul> |
| <p> |
| S<a id="1028579" name="1028579">tatic rule analysis is a mechanism for checking whether the rules are semantically |
| consistent. Inconsistencies can be found either in a single rule or in a set of rules</a>. |
| </p> |
| <p> |
| For single rule the analysis will list the rule that never apply, when the conditions of the rule can never be met. |
| This could happen when there is mis-used of and/or operator in combined conditions, or if the values in the conditions |
| are not in the possible allowable values for a given attribute.<br /> |
| </p> |
| <p> |
| Evaluating rule inconsistency in a rule set leads to discover |
| </p> |
| <ul> |
| <li> |
| Equivalent rules&nbsp;rules with same conditions and&nbsp;actions. |
| </li> |
| </ul></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-aGsq4sRPoN9Rg2zOy4BOaQ" name="get_sme_feedback,_6r4dJ8VWEd2pfdXgw7I2qQ" guid="-aGsq4sRPoN9Rg2zOy4BOaQ"> |
| <refinedDescription><a id="XE_SME__get_feedback" name="XE_SME__get_feedback"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-ndrhF3xLLIGB3LyVVM1-Lg" name="test_analysis,_6r4dJcVWEd2pfdXgw7I2qQ" guid="-ndrhF3xLLIGB3LyVVM1-Lg"> |
| <refinedDescription><a id="XE_test_analysis" name="XE_test_analysis"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-1bBmUUB5_pPRA1-9EE-g7A" name="ruleset,_6r4dH8VWEd2pfdXgw7I2qQ" guid="-1bBmUUB5_pPRA1-9EE-g7A"> |
| <refinedDescription><a id="XE_rule_set__work_product" name="XE_rule_set__work_product"></a> |
| <p> |
| For more detail see <a class="elementLink" href="./../../abrd/guidances/termdefinitions/rule_set_4D4C8DB1.html" |
| guid="_DdvcwBCQEdyJtJ3PbfdVDw">Rule Set</a>&nbsp;and <a class="elementLink" |
| href="./../../abrd/guidances/termdefinitions/rule_engine_A66B71B3.html" guid="_QQcSoEXXEdy14e5PT9v3HQ">rule engine</a> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-z7C-L5MyFxgpQP2wmgkaCg" name="rule_report,_6r4dIMVWEd2pfdXgw7I2qQ" guid="-z7C-L5MyFxgpQP2wmgkaCg"> |
| <refinedDescription><a id="XE_rule_report" name="XE_rule_report"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-IM6GVp0gm8GpDQQHu1JTzA" name="sme_recommendations,_6r4dIsVWEd2pfdXgw7I2qQ" guid="-IM6GVp0gm8GpDQQHu1JTzA"> |
| <refinedDescription><a id="XE_SME__recommendations" name="XE_SME__recommendations"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-EuY3fQmZi-sssGgLCoGwqw" name="rsm_report,_6r4dJMVWEd2pfdXgw7I2qQ" guid="-EuY3fQmZi-sssGgLCoGwqw"> |
| <refinedDescription><a id="XE_RSM_report" name="XE_RSM_report"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-x18L5UZxvP6LBzZCJekP0g" name="deploy_rules,_6r4c68VWEd2pfdXgw7I2qQ" guid="-x18L5UZxvP6LBzZCJekP0g"> |
| <refinedDescription><a id="XE_rule__deploy" name="XE_rule__deploy"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-VIexLG3fR5IHNPWD53_k-w" name="ruleset,_6r4c7MVWEd2pfdXgw7I2qQ" guid="-VIexLG3fR5IHNPWD53_k-w"> |
| <refinedDescription><a id="XE_rule_set__work_product" name="XE_rule_set__work_product"></a> |
| <p> |
| For more detail see <a class="elementLink" href="./../../abrd/guidances/termdefinitions/rule_set_4D4C8DB1.html" |
| guid="_DdvcwBCQEdyJtJ3PbfdVDw">Rule Set</a>&nbsp;and <a class="elementLink" |
| href="./../../abrd/guidances/termdefinitions/rule_engine_A66B71B3.html" guid="_QQcSoEXXEdy14e5PT9v3HQ">rule engine</a> |
| </p></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-yhAuH0Pn0YnmJPGHNdA4nA" name="synchronize_with_wrms,_6r4c6sVWEd2pfdXgw7I2qQ" guid="-yhAuH0Pn0YnmJPGHNdA4nA"> |
| <refinedDescription><a id="XE_web-based_brms__synchronize" name="XE_web-based_brms__synchronize"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-92jwAW4UkB6tPCOwNbvKuw" name="rule_repository_in_db,_6r4c7sVWEd2pfdXgw7I2qQ" guid="-92jwAW4UkB6tPCOwNbvKuw"> |
| <refinedDescription><a id="XE_rule_repository__in_db" name="XE_rule_repository__in_db"></a></refinedDescription> |
| </org.eclipse.epf.uma:DescriptorDescription> |
| </xmi:XMI> |