Deliverable: Use Case Model for Your System

This deliverable is a use case model of your system.

Using all information you have gathered in the past about your system, and any good ideas that come to your minds, develop a list of proposed features for your system.

Describe each feature as a use case, i.e., give a simple imperative sentence as if when the user says the imperative sentence as a command, your system will obey and do the use case. From this list of features-as-use-cases, you should be able to identify use cases, as described in the slides for Scenarios & Use Cases. (Hint: the verbs from a one-page summmary or vision document from your client or from your your team's project abstract would be a good starting point for the entities that should be in the model. This summary, vision document, or abstract is generally written at the user level.)

You do not have to develop any scenarios yet. However, your imperative sentences must be complete enough that the customer can understand what the feature does. Thus, a phrase, such as ``Facial Recognition'', does not cut the mustard because it does not explain how the system is doing facial recognition or what it is using it for. The use case should be something like ``Recognize the face of the person facing the camera.'' or ``Use the name of the recognized face as the login name of the account to be opened.''

Build a use case diagram that shows the system boundary, all actors, all use cases and that associates each use case with each actor that may do it. Use the notation of the use case diagram on Page 22 of the slides for Classes & Concepts or on the diagram of Page 61 of the slides for Scenarios & Use Cases.

The basic model should not be more than a page or two, and if it is, you're probably describing too many implementation details.

You may include in this deliverable a list of any question that you have for your customer about your system. These should be clearly marked as questions.