RML™ Requirements Model 5 - The Data Flow Diagram (DFD)
Sometimes I have what I think of as an "equation" in my head. In vague terms, I may be thinking “Customer Data + Product Data + Input from Sales Rep + Taxes = Order”. But that's not really right, nor is the equation a good representation of the information.
- How is customer data populated initially?
- Does the order fulfillment system update the order store with information about the fulfillment of the orders?
- Where does the product data come from?
- Are all of the tax rules manually entered, or is there also an electronic source for them?
- And, maybe, “No, that’s wrong, updating customer data isn’t a separate process. Customer updates need to automatically flow out of changes made when creating the order.”
One note: it doesn’t have to be technically perfect to be useful. I often provide “conceptual” DFDs, in that I intentionally provide conceptual, but not technical information. For example, conceptually, there is a “products” data store. Technically, there may be multiple stores: product list, product descriptions, etc. The important thing is that they work together to provide product data. Developers and architects are very receptive to this; they understand I’m illustrating the behaviors of the system without defining the implementation (which, after all, is their job). Oh, and how does the audience know it is conceptual? I put the word “conceptual” in the title!
You may notice I didn’t number my processes. That’s because I rarely decompose them and many people tend to take the numbering as ordering. So, for my usage, numbering adds confusion rather than clarity.
Labels: agile requirements, data flow diagram, DFD, requirement models, requirements modeling, RML, software requirements, visualization


0 Comments:
Post a Comment
<< Home