Use cases have proven to be an important and useful model for capturing requirements. Recent work has evolved use cases from an often vague requirement deliverable into something specific, focused and usable. Alistar Cockburn has directed attention to the goals of use cases, and Larry Constantine and Lucy Lockwood have developed essential use cases for usage-centered design. However, use case narratives the flow of events, as the UML people would say are all too often missing the very essence of the use case, because behind every use case are business rules at work. Failing to capture and verify the business rules which underlie the use-case models can lead to the delivery of a software product which fails to meet the business needs.
Business rules come in many forms.
I think of them as terms, facts, factor clauses and action clauses, but there is no agreement on a standard taxonomy or set of categories for business rules nor should there be. The taxonomy should fit the problem. This requires the selection or tailoring of a taxonomy and an accompanying business-rule template for any given business problem. The template provides a standard syntax for writing business rules in natural language. Such tailoring is beneficial since it requires us to understand the problem in greater depth by working directly with our business customers to perform this tailoring and to derive an appropriate business rule template.