Kimbo:
Great questioning! Consideration of the non-sequential nature of systems, especially at highe levels of abstraction, is critical to conducting proper business analysis - despite the fact that the BABOK 2.0 does not discuss such (except in discussing how it in itself was constructed.).
Flow of data has no relationship to flow of control. For a simple example, look at a Context Diagram. In order for the system (represented by the Context Diagram's single process circle) to be invoked, one or more of the input data flows need to occur. But, which ones they are typically varies depending upon circumstances. There can (when you look deep into the systems processing logic) be circumstances where ANY SINGLE ONE of the potential input data flows invokes the system - but none of the other data flows occurs. There can be circumstances where ALL of the input data flows need to occur before the system is invoked, and there can be circumstances where ANY COMBINATION of the potential input data flows needs to occur before the system is invoked.
Where is flow of control (i.e, sequence) represented on a Context Diagram? One can not tell by looking at the Context Diagram.
Now, a data flow diagram can be viewed as a number of interwined mini Context Diagrams, with data flows potentially between any single such mini Context Diagram and any or all other ones. And the same rules apply to invoking the DFD's individual processes as with the Context Diagram. The lack of flow of control is more evident here.
Does the above help?
Tony
Hi Tony,
Yes, I see what you mean now. Had forgotten that rule about DFDs.
Incidentally BPMN has a similar rule in that an activity commences when the first input into it fires. Using gates its possible to wait for one or two or five to finish before commencing the activity. Similar idea but not based on data flow as you say.... unless you use message flows instead of flow of control. But then that would be using BPMN to draw a DFD - told you it was flexible :-)
Kimbo
Do you have a feel for how often BPMN users create DFD like diagrams (i.e., message flows instead of data flow plus no flow of control on these diagrams)?
Anyways, the main point - which seems to be some sort of dirty secret that is unmentionable, or too pie-in-the sky for everyone is: DFD's are needed for the bigger picture, especially for complex systems, where the system's processes have no defined sequence, and then, at the lower level, sequence based diagrams to capture decision flow of control.
Tony,
Of course your question is rhetorical but I'll answer anyway. Probably never.
DFD's work, I used to use them - for much longer than I've been using UML. I prefer UML though. Expect we'll never agree on that point.
Good luck for 2012.
brought to you by enabling practitioners & organizations to achieve their goals using: