Hi, I have a system that I built in PHP and now I want to draw a use case. I can manage customers, companies and their products, leads and reports by adding, editing and deleting them all. A lead needs to be created from the customer and products information which can then be put into a report. A screen shot of the use case is here:
I would say "What value does this diagram produce?"
Hi:
It may be an excellent use case, but the problem is that it is a use case. Use cases are poor man's data flow diagrams. Take your use case "Manage Customers' for example. What are the inputs to accomplishing this? What are the outputs? This is essential information that is missing. Many say that such can be discussed in supporting text. No way! The BA needs to model such if there is to be rigor.
Of course the real problem with use cases is that they result in a forced, artificial partitioning, but I will not go into that here.
Tony
Hi Tony,
Think I need to put you right about one thing. The diagram shown is a use case diagram which essentially lists the functionality of the system and the actors involved in the system. There is no concept of "flow" in a use case diagram. In UML speak that is an activity diagram.
Kimbo
Kimbo:
Activity Diagrams capture flow of control and flow of sequence. Data flow diagrams capture flow of data (or materials, or tooling, or etc). At the big picture level, processes can occur in any order, therefore, there is no sequence, which means that one can not use activity diagrams.
Also, a process is defined by its inputs and outputs. Therefore, such need to be captured, which Activity Diagrams do not.
Of course the real downfall with Activity Diagrams is that they result in a forced, artificial partitioning of the system. A logical, natural partitioning is necessary for effective decomposition. And effective decomposition is necessary to handle complexity.
brought to you by enabling practitioners & organizations to achieve their goals using: