
Nothing (much) to add here, Paolo, that's a good High D!
One thing that is confusing to both UML neophytes and experts alike (or at least to me it is :-/ ) is the duality that you have raised.
Many many moons ago I read a little paperback book about using object modelling approaches at the business process level. It was fine read... wish I had the ref. But one mind-thing the author was adamant about was considering the entire system to be like a set of rooms separated by pigeon holes. When someone in one room needed something (a "service") that was provided by someone in another room, they stuck a request in a pigeon hole. Some person on the other side of the hole took the request and validated it and if appropriate "did it". Not exactly an original or deep view of object modelling ... but wait. His point was to
consider yourself (the modeller) in one room only.
That is, (ahem), Requirements reflect
only the view of the requesting actor. Similarly, responsibilities reflect
only the view of the service provider. So. Then. What is a use case? IMO(YA) only the view of the user.
It should clearly and succinctly express what "I" want the system to do, in order to achieve that age old "user goal". "I" dont want it to "provide a M$ListBox of all customers in the system", "I require" it to "provide a means to easily enter and store the details of a new
Proposition, including optionally a means to relate the proposition to known
customers.
Matthys, I'll leave this now, with one last set of double quotes...
So when "I" stick the request to create a new Proposition through the pigeon hole, what should I expect "the system" to "provide"? (One last clue, dont design the system inside a use case, it leaves it messy and smelly like last night's pizza box.)
hth
bruce