AAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGGGGGHHHHHH!!!

Use case : Apply postage to envelope.
===========================
Is this a use case?
a) Does it achieve an outcome of value to the actor? I dont think so.
b) Is it complete? I dont think so. Would you sit around on a Saturday afternoon and stick stamps on envelopes?
Use case: Mail letter to Grandma
=======================
Is this a use case?
a) Is it generalised and repeatable? Only if you only ever correspond with Grandma.
Use case: Write and send a letter
========================
Much better - of value and complete.
Basic path: write, fold, insert, address envelope, apply postage, goto mailbox, post
Alternate path: write, fold, insert, address envelope, goto postoffice, buy stamp, apply postage, goto mailbox, post.
Alternate path: write, fold,insert, address envelope, borrow stamp off Mary, apply postage, goto mailbox, post.
N.B. All these paths have a single outcome - letter mailed.
From the above paths we can get 2 scenarios "have a stamp" and "dont have a stamp". Since we are writing use cases and not designing the system yet both alternate paths can be collapsed. IOW, I dont care (at this point) how we get the stamp - just that there exists a path that involves getting a stamp somehow. Maybe "get a stamp" an extension use case, maybe not - I'll worry about that later.
Actors involved: writer, mailbox and stamp-supplier.
Justfy!
Writer - obvious, primary actor, initiates use case.
Mailbox - not obvious, does not actively participate, BUT, the use case cannot complete without it.
Stamp-supplier - optional, until we realise that the writer can also act as the stamp supplier.
Pen, paper, envelop, etc etc - possible but not significant.
Finally, are there any "failure" scenarios of interest? Since we have defined an outcome - letter mailed - is there any significant ways thet the letter cannot be mailed. Note well the use of "significant", the event "Venusians kidnap writer" is probably not significant.
Off the top of my head, "cant get a stamp" is probably the only significant failure.
In summary:
1) create a use case name.
2) ask yourself whether it has a unique outcome of value to the primary actor. (if not try again)
3) walk through some obvious success paths - rationalise them.
4) review the actors
5) look for failure (or alternate) outcomes.
bruce