Let’s create the idea.
There is one person, our main actor. He is going to be this, really well-versed programmer/hacker. Like the one from the movies. Something like this:
He needs to hack the CIA computers. All of this, because our guy wants to infiltrate Area 51:
And finally, one FBI agent is trying to track our guy, with a weird machine.
So now we need a script, but before that, we need to find some investors and ask them money for our general hacker movie. They don’t have time to read this, neither for us to explain everything, so for this we need to show them some diagrams they understand in a minute or less:
It may be a little bit confusing at the beginning with the stick-men representing objects or places, but the essential things are the actions and the name of the stick-men.
After we convince, with our very illustrative diagram, the investors; we can use it as a reference throughout the development to don’t lose sight of what our movie is supposed to be about.
What is all this?
All of this, as simple as it looks, is a Use Case diagram and is part of the software development process. As you can see it is a straightforward way to describe the system, and everyone involved in the development can understand what is supposed to happen, even the non-tech related people (including the client and people outside the team).
This use case diagrams are not only informative but help us understand more the system and ask relevant questions that other system descriptions may no uncover clearly.