In RML, we categorize the models into Objectives, People, Systems, and Data (OPSD). This helps us ensure we are thinking about solutions from different perspectives and using models for each of those.
I just got a question from a reader of our Visual Models for Software Requirements book. He asked me which category of models (OPSD) business rules fell under. I thought it was a really good question that maybe we didn’t elaborate on sufficiently, so here is what we think.
Simply put, business rules, just like requirements, can fall under any and all of the OPSD categories, but most commonly I would see them derive from the People, Systems, and Data models.
- People: Business rules frequently are discovered and map to the people models – maybe you are creating Process Flows or Use Cases and discover some interesting logic that might translate into business rules.
- Systems: Business rules could be derived out of the system models, like Decision Trees or State Tables. In fact, Decision Trees are a great way to model complicated business rules.
- Data: You absolutely could have business rules that come out of the Data models. For example, Data Dictionaries might be used to discover and document them at the field level. Also, the Business Data Diagrams (BDDs) could be used discover them – sometimes the entity relationships are really business rules.
And, the same is true for individual requirement statements. They are potentially derived from all models.