We’ve done a bit of writing on the use of requirements models, but there is much less information out there about using requirements models together. Klaas Sikkel presented a paper on this topic, “Teaching consistency of UML specifications” at REET10 that inspired me to do some writing on the topic. Klaas’s paper was more focused on how to teach someone to do this consistency checking with UML models, while my thoughts today are more about how to use RML® models together for consistency and completeness.
First of all, it’s important to understand that models complement each other and rarely should be used alone. One model might provide information that is missing in another. And there are some natural complements of models that are often used together. The key thing to realize is that all models have limitations, so you should use several to get the full picture.
For example, Data Flow Diagrams (DFDs) and Swimlane Process Flow compliment each other. The DFD might show all of the data, data stores, and data consumers, but there is no indication of the order in which data flows or when all of this happens. The Swimlane Process Flow might show how (and the order in which) the data stores and consumers interact, but this would be a limited picture associated with a single process.
Models also can be used in combination to cross-check for completeness and consistency. Some examples:
1. System Context -> Process flows
Using a system context diagram, you can cross reference with your process flows to either identify missing steps in the process (identifying that an integrated system may prompt a step in the process).
2. Screen shots -> Business data diagram
Using the screenshots from an existing system, you can identify data objects that may be missing from your business data diagram.
3. Business data diagram -> Process flows
Using your business data diagram, you can determine if you are missing process flow diagrams. Data is only ever created, destroyed, edited, used, moved or copied. Looking at all the data elements this way can identify missing process flows.
4. Org charts + Process flows -> Process flows
Using org charts you can identify all the owners and stakeholders of every single step of your process flow to ensure that you talk to the key stakeholder for every step of the process.
5. Process flows -> Org charts
Using process flows you can potentially identify missing stakeholders that you should talk to. For example if the process flow includes tax implications you might need to be sure you talk to someone in a particular region about their tax issues.
This list is just a sampling of how models work together, but hopefully enough to give you the gist for now! Klaas’s discussion was about horizontal model consistency checking that is similar to what I’ve described here. For further information, his paper will be available at IEEE soon for further reading. I would add that vertical model checking is just as important – thinking about high-level models and low-level models.