Page 77 of OOAD, "Q: Then my system will have a use case for every goal it accomplishes?
A: Exactly! if your system just does one single thing, you'll probably only need one use case. If it does ten or fifteen things, then you're going to have a lot of use cases."
The idea is for every problem you are solving you should have a use case. If we design a game builder then the use case would be the client who needs to design their own games. If we need to create a new abstract class for this project we could be the external initator, but the idea of use cases are really to gather requirements for bigger projects. So I suppose the best way to use use cases is to use as many as you need to make sure you have as many requirements that you can gather and the clearest picture of what you are designing. In theory you could be able to create hundreds of use cases, but most problems are so small we handle them.