Use cases are not the only analysis tool available to software developers. Use cases work best as a means to document business processes with the aid of customers. They are an effective communication tool with customers because they describe the business process that the system must support. They are effective because they are textual in nature and free from technical jargon. They do not try a customer s patience with any more precision than is necessary to completely and accurately describe the business process.
Use cases are least effective when used to describe interactions at a low level of detail.
Other tools such as collaboration diagrams should be used to accomplish this task. Having said that, use cases should not be precluded from use with detailed interactions entirely. They are sometimes useful tools as a quick, rough, first pass look at system interactions when the purpose is to simply establish the initial scope and context under which the system to system interaction should take place. The importance of writing use cases at the correct level of detail cannot be emphasized enough. If the use case seems trivial to a customer then it may be at too low a level of detail.