In the design of any complex computer system, a key task is the discovery of users and their requirements and responsibilities. Many designers like to use use-case diagrams to show these findings. Such a diagram shows actors—users—and use-cases—services or functionality. The use-case model is a high-level view of the structure of the system and, as such, should probably not be too detailed. 
 A description of use-case modelling and related techniques is quite beyond the scope of this book. A comprehensive treatment of use-case modelling and other UML techniques in J2EE application development may be found in Ahmed and Umrysh (2001)—see page 691 for full details.