Whether documenting business processes or systems processes, use cases and process flows can both be valuable tools.
A use case description textually describes the main success scenarios of a process as well as the major alternate scenarios and exception scenarios. Process flows do the same thing, though in graphical form. A process flow documents the step by step activities of the main success scenario. Decision points (often shown as diamond shapes) show where the main scenario branches off into alternate scenarios.
Just as use cases can “include” other use cases (either to reduce complexity, or to show reuse of a smaller piece of functionality, process flows can show a similar decomposition by documenting sub-processes and showing the collapsed sub-process as a single activity within the process flow.
So why even bother creating a use case model?
For starters, the use case model identifies use cases by applying certain guidelines. One of these guidelines is that a use case should describe a process that delivers value to the business worker or system user. This places a clear focus on the business workers or user of a system.
In addition to the emphasis placed on the actors, a use case model creates a high level framework for the breakdown of use cases. Higher level use cases can be broken down into lower level use cases. Again, this is most often done to reduce complexity or to show reuse of certain processes. This decomposition can continue until it no longer adds value to break them down further.
Consider the analyst who starts identifying processes in whichever order the business mentions them with the goal of generating process flows. The size and scope of each process will certainly differ and there will be no clear organization as to how each process fits together. Determining where one process should end and another should begin becomes difficult. However, more importantly, this results in a bottom up approach which makes it much more difficult to detect commonalities across different processes.
To summarize, the use case model places the focus on the clients of the business or system while providing a structured view of all key processes and how the interrelate, much like a roadmap.
posted @ Sunday, July 10, 2011 2:52 PM by Chris Adams