Writing Effective Business Rules.
- 1 online resource (361 pages)
Front Cover -- Writing Effective Business Rules: A Practical Method -- Copyright -- Dedication -- Contents -- Acknowledgments -- Introduction -- Is this book for you? -- What this book is about -- How this book is organized -- How to use this book -- Some typographical conventions -- Chapter 1: The world of rules -- 1.1. What is a business rule? -- 1.1.1. Laws of physics -- 1.1.2. Legislation, regulations, external standards, and best practices -- 1.1.3. Rule or business rule? -- 1.1.4. System rule or business rule? -- 1.2. Why rules are important -- 1.3. Best practice rule management -- 1.4. The nature of the problem -- 1.5. The solutions -- 1.5.1. Constrained natural language -- 1.5.1.1. The benefits of expressing rules in natural language -- 1.5.1.2. The benefits of standardized vocabulary -- 1.5.1.3. The benefits of standardized syntax -- 1.5.2. The benefits of a rule repository -- 1.5.3. The benefits of rule metadata -- 1.6. Summary -- Chapter 2: How rules work -- 2.1. Operative rules -- 2.2. Definitional (structural) rules -- 2.3. Normative, prescriptive, and descriptive rules -- 2.4. Business processes -- 2.4.1. Characteristics of a business process -- 2.4.2. How rules govern business processes -- 2.5. Rules in user interfaces -- 2.6. Rules governing electronic messages -- 2.7. Rules ensuring database integrity -- 2.8. Human activities other than business processes -- 2.9. Summary -- Chapter 3: A brief history of rules -- 3.1. Implementing rules -- 3.1.1. Rules in program code -- 3.1.2. Decision tables -- 3.1.3. Rule sets in data -- 3.1.4. Database constraints -- 3.1.5. Graphical user interface building tools -- 3.1.6. Constraints in XML schemas -- 3.1.7. Rules engines -- 3.2. Documenting rules -- 3.2.1. Rules in data models -- 3.2.1.1. Entity-relationship models -- 3.2.1.2. Object-role modeling -- 3.2.1.3. UML. 3.2.2. Rules in business process models -- 3.3. Recent developments -- 3.3.1. Ross's rule taxonomy and diagramming notation -- 3.3.2. Expressing rules in natural language -- 3.3.2.1. Verbalization of ORM models -- 3.3.2.2. My 1999 paper -- 3.3.2.3. RuleSpeak -- 3.3.2.4. Morgan's rule patterns -- 3.3.2.5. Assertions -- 3.3.3. The Business Rules Approach -- 3.3.4. The Business Rules Manifesto -- 3.3.5. The SBVR -- 3.3.6. Rules and rule statements -- 3.3.7. Rule statements and advice statements -- 3.3.8. Types of rule statements -- 3.3.8.1. Procedural and declarative rule statements -- 3.3.8.2. Structural assertions, action assertions, and derivations -- 3.3.8.3. Operative rule statements -- 3.3.8.4. Definitional (structural) rule statements -- 3.3.9. Types of advice statements -- 3.3.9.1. Statements of advice of permission -- 3.3.9.2. Statements of advice of possibility -- 3.4. Summary -- Chapter 4: Types of rules -- 4.1. Rules governing the physical world -- 4.1.1. Mandatory and optional attributes and relationships -- 4.1.2. Single-valued and multi-valued attributes and relationships -- 4.1.3. Variant and invariant attributes and relationships -- 4.1.4. Constraints between attributes -- 4.1.5. The impact of the physical world on an organization's rule book -- 4.2. Legislation and regulations -- 4.3. Organizational constructs -- 4.4. Rules governing the collection and recording of data -- 4.4.1. Data cardinality rules -- 4.4.2. Data content rules -- 4.4.3. Dynamic data constraints -- 4.5. Taking account of the physical world in data rules -- 4.5.1. Distinguishing the physical world and data about it -- 4.5.1.1. Missing data -- 4.5.2. Ensuring that data does not describe an impossible situation -- 4.5.2.1. Data specifying impossible values -- 4.5.2.2. Data specifying impossible transitions -- 4.5.2.3. Data specifying impossible placement. 4.5.2.4. Data specifying impossible sequences -- 4.5.2.5. Data specifying impossible structures for complex concepts -- 4.5.3. Do we even need definitional rules? -- 4.5.4. Do we need so many operative rules? -- 4.5.5. Data specifying an illegal or unsafe situation -- 4.5.6. The impact of the physical world on rule expression -- 4.5.6.1. Mandatory and optional attributes and relationships -- 4.5.6.2. Single-valued and multi-valued attributes and relationships -- 4.5.6.3. Variant and invariant attributes and relationships -- 4.6. Rules governing other business processes -- 4.7. Rules governing which parties can perform business processes -- 4.8. Rules governing human activities other than business processes -- 4.9. A complete taxonomy of rules -- 4.9.1. Definitional rules -- 4.9.1.1. Formal term definitions -- 4.9.1.1.1. Formal intensional definitions -- 4.9.1.1.2. Formal extensional definitions -- 4.9.1.1.3. Symbolic literal definitions -- 4.9.1.2. Categorization scheme enumerations -- 4.9.1.3. Category transition constraints -- 4.9.1.4. Complex concept structure rules -- 4.9.1.4.1. Complex concept cardinality rules -- 4.9.1.4.2. Complex concept equivalence rules -- 4.9.1.4.3. Complex concept set constraints -- 4.9.1.5. Valid value definitions -- 4.9.1.6. Data calculation rules -- 4.9.1.6.1. Data calculation algorithms -- 4.9.1.6.2. Conversion factor definitions -- 4.9.1.7. Standard format definitions -- 4.9.2. Data rules -- 4.9.2.1. Data cardinality rules -- 4.9.2.1.1. Mandatory data rules -- 4.9.2.1.2. Prohibited data rules -- 4.9.2.1.3. Maximum cardinality rules -- 4.9.2.1.4. Multiple data rules -- 4.9.2.1.5. Dependent cardinality rules -- 4.9.2.2. Data content rules -- 4.9.2.2.1. Value set rules -- 4.9.2.2.2. Range rules -- 4.9.2.2.3. Equality rules -- 4.9.2.2.4. Uniqueness constraints -- 4.9.2.2.5. Data consistency rules. 4.9.2.2.6. Temporal data constraints -- 4.9.2.2.7. Spatial data constraints -- 4.9.2.2.8. Data item format rules -- 4.9.2.3. Data update rules -- 4.9.2.3.1. Data update prohibition rules -- 4.9.2.3.2. State transition constraints -- 4.9.2.3.3. Monotonic transition constraints -- 4.9.3. Activity rules -- 4.9.3.1. Activity restriction rules -- 4.9.3.1.1. Activity time limit rules -- 4.9.3.1.2. Activity exclusion period rules -- 4.9.3.1.3. Activity pre-condition rules -- 4.9.3.1.4. Activity prohibition rules -- 4.9.3.1.5. Activity conflict rules -- 4.9.3.1.6. Information retention rules -- 4.9.3.2. Activity obligation rules -- 4.9.3.3. Process decision rules -- 4.9.4. Party rules -- 4.9.4.1. Party restriction rules -- 4.9.4.2. Role separation rules -- 4.9.4.3. Role binding rules -- 4.9.4.4. Information access rules -- 4.9.4.5. Responsibility rules -- 4.10. Summary -- Chapter 5: The building blocks of natural language rule statements -- 5.1. Nouns -- 5.1.1. Countable and non-countable nouns -- 5.1.2. Simple and compound nouns -- 5.1.3. Use of nouns in rule statements and fact types -- 5.2. Proper names -- 5.3. Verbs -- 5.3.1. Transitive, intransitive, and intensive verbs -- 5.3.2. Forms of verbs -- 5.3.2.1. Tense -- 5.3.2.2. Aspect -- 5.3.2.3. Mood -- 5.3.2.4. Person and number -- 5.3.2.5. The infinitive -- 5.3.2.6. Voice -- 5.3.2.7. Negation -- 5.3.3. Compound verbs -- 5.3.3.1. Prepositional and phrasal verbs -- 5.3.3.2. Verbs involving 'to' -- 5.3.4. Auxiliary verbs -- 5.3.5. Verbs involving 'that', 'if', or 'whether' -- 5.4. Determiners -- 5.4.1. Articles -- 5.4.2. Specific determiners -- 5.4.2.1. Ordinal numbers -- 5.4.3. General determiners -- 5.4.3.1. Cardinal numbers -- 5.4.4. Determiners before countable and non-countable nouns -- 5.5. Adjectives -- 5.6. Prepositions -- 5.7. Conjunctions -- 5.8. Pronouns -- 5.9. Literals. 5.10. The three uses of 'that' -- 5.11. Summary -- Chapter 6: Fact models -- 6.1. Fact models: an overview -- 6.1.1. Typographical conventions -- 6.1.2. Why build a fact model? -- 6.1.2.1. Support for standardizing rule statement vocabulary -- 6.1.2.2. Finding the right term -- 6.1.2.3. Other uses of a fact model -- 6.1.3. Other models of the organization -- 6.1.4. What is a fact model? -- 6.1.5. What does a fact model consist of? -- 6.1.6. Concepts -- 6.1.7. Terms and definitions -- 6.1.8. Facts and fact types -- 6.1.9. Identification -- 6.1.10. Attribute fact types -- 6.1.11. Categorization schemes and categories -- 6.1.12. Higher-order facts -- 6.2. Terms and names -- 6.2.1. Choice of words in a term -- 6.2.1.1. Homonyms -- 6.2.1.2. Synonyms -- 6.2.1.3. Compound nouns as terms -- 6.2.2. Definitions -- 6.2.3. The taxonomy of terms and proper names -- 6.2.3.1. Examples of taxonomies -- 6.2.3.2. Attributes and data items -- 6.2.3.2.1. Identifier attributes -- 6.2.3.2.2. Category attributes -- 6.2.3.2.3. Quantitative attributes -- 6.3. Fact types -- 6.3.1. Associative fact types -- 6.3.1.1. Named relationship fact types -- 6.3.1.1.1. Binary named relationship fact types -- 6.3.1.1.2. Higher order fact types -- 6.3.1.1.3. Using role terms in named relationship fact types -- 6.3.1.2. Partitive fact types -- 6.3.1.3. Fact types dealing with attributes -- 6.3.1.3.1. Unary fact types -- 6.3.1.3.2. Attribute fact types -- 6.3.1.3.3. Identification fact types -- 6.3.1.3.4. Standard fact types for comparison of quantitative attributes -- 6.3.1.3.5. Alternative forms of verb phrases involving attributes -- 6.3.2. Taxonomic fact types -- 6.3.2.1. Categorization fact types -- 6.3.2.2. Assortment fact types -- 6.3.2.3. Features of taxonomic fact types -- 6.3.3. Derived fact types -- 6.3.4. Object/identifier equivalence -- 6.4. Building a fact model. 6.4.1. Bottom up.
Writing Effective Business Rules moves beyond the fundamental dilemma of system design: defining business rules either in natural language, intelligible but often ambiguous, or program code (or rule engine instructions), unambiguous but unintelligible to stakeholders. Designed to meet the needs of business analysts, this book provides an exhaustive analysis of rule types and a set of syntactic templates from which unambiguous natural language rule statements of each type can be generated. A user guide to the SBVR specification, it explains how to develop an appropriate business vocabulary and generate quality rule statements using the appropriate templates and terms from the vocabulary. The resulting rule statements can be reviewed by business stakeholders for relevance and correctness, providing for a high level of confidence in their successful implementation. A complete set of standard templates for rule statements and their component syntactic elements A rigorous approach to rule statement construction to avoid ambiguity and ensure consistency A clear explanation of the way in which a fact model provides and constrains the rule statement vocabulary A practical reader-friendly user guide to the those parts of the SBVR specification that are relevant to rule authoring.