Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
8 CHAPTER 1 The world of rules 1.5 THE SOLUTIONS There are solutions to each of the rule management problems discussed in the previous section. While this book's principal focus is on a solution to the first of these problems, an effective solution to the other two problems is also described and forms part of the methodology described in Chapter 8. 1.5.1 Constrained natural language The solution to the first rule management problem I described in Section 1.4 (rule statements not in a standard format and/or not using business terminology) is a constrained natural language (also known as a controlled natural language), namely a language exhibiting the following characteristics: 1. the vocabulary is constrained, to minimize the number of alternative ways of expressing the same rule; 2. the syntax (sentence structure) is constrained, for two reasons: a. to further minimize the number of alternative ways of expressing the same rule, and b. to remove at least some of the sources of ambiguity. 1.5.1.1 The benefits of expressing rules in natural language The process of developing any application system component, whether it be a set of database tables, a program module, a set of business rules, or a reusable service, requires the following steps, once the overall system requirements have been established and documented: 1. 2. 3. 4. 5. 6. 7. 8. 9. establish the requirements that the component is to meet; document the design of the component in a manner that can be understood by business stakeholders; allow those business stakeholders to review the design, leading to an agreed final design; implement the component according to that final design; unit test; integrate; system test; allow users to test the component against the established requirements; and deploy. This not only allows developers to implement the required components correctly but also allows busi- ness stakeholders to play an informed role in determining the function of the components to be implemented. A set of business rules will be far better understood by business stakeholders if each rule is documented using a natural language statement rather than a programming language or pseudo-code statement. 1.5.1.2 The benefits of standardized vocabulary It goes without saying that business stakeholders will understand rule statements better if those state- ments use business terminology rather than (for example) database table or column names or program module names. For this reason, I recommend organizations only use business terminology in rule statements.