| <?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="-D3NR4UjCNAA8tz8ik9KxuA" name="analyze,_qx-1wX9WEd26h9j0X6pKmw" guid="-D3NR4UjCNAA8tz8ik9KxuA" version="7.5.1"/> |
| <org.eclipse.epf.uma:DescriptorDescription xmi:id="-N_CKAaJNHSW61yq8ZoC2jg" name="extract_rule_meaning,_tlXjYH9WEd26h9j0X6pKmw" guid="-N_CKAaJNHSW61yq8ZoC2jg"> |
| <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="-tcywvwJFy76naDhkV-kE1g" name="rule_description_doc,_tlzoQn9WEd26h9j0X6pKmw" guid="-tcywvwJFy76naDhkV-kE1g"> |
| <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="-WdZgViZU-KFgjnSALDjXiw" name="fact_model,_tlzoQ39WEd26h9j0X6pKmw" guid="-WdZgViZU-KFgjnSALDjXiw"> |
| <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="-Uesh6anvRV-n8YiCvPAkIg" name="logical_data_model,_tlzoRH9WEd26h9j0X6pKmw" guid="-Uesh6anvRV-n8YiCvPAkIg"> |
| <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="-KQ7Tq2GDC0gGvnqUTC7HpA" name="transform_rules,_t32agH9WEd26h9j0X6pKmw" guid="-KQ7Tq2GDC0gGvnqUTC7HpA"> |
| <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="-Lwx7QOcZjNCEknbhZVYHpA" name="build_test_scenario,_uMueUH9WEd26h9j0X6pKmw" guid="-Lwx7QOcZjNCEknbhZVYHpA"> |
| <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="-ZXqKURahjzSp8B1-MBY6Hw" name="synchronize_data_model,_ueoGoH9WEd26h9j0X6pKmw" guid="-ZXqKURahjzSp8B1-MBY6Hw"> |
| <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> |
| </xmi:XMI> |