Follow these steps to produce a use case: 09/22/1996 - Determine the "boundary" of the system; that is, define which objects are part of the system, which ones interact whith it, and which ones are disconnected from it. Develop the use case by considering the system itself as a single object, a black box. - Determine the actors that interface with the system. An actor is one role that outside objects play with respect to the system. Start by examining physical objects that interact with the sytem; in many cases each object plays multiple roles. For example, a given person might be a User, an Operator, and an Administrator of a computer operating system. Each role represents a different actor. - For each actor, determine the fundamentally different ways in which the actor uses the system. Each of these is a use case. You must be able to enumerate the use cases. If you have too many, approach things at a higher level. - Identify the initial event that starts each use case. - Determine the termination condition that concludes the use case. Often a use case can be approached at several different levels, so pick the level of detail that is compatible with other use cases in the system. - List a prototypical scenario that describes the transaction. - If there are variations, list additional prototypical scenarios or decribe these variations in words. Feel free to use ordinary language; a use case is not meant to be highly formalized. - Identify and describe all the exceptions that are logically associated with a given use case. When you are done, check that the set of use cases encompasses all the functionality of the system. Copyright 1995 Rational Software Corporation. Rational Rose - Application Notes p. 71