community
directory
books
authors
images
encyclopedia

Email:
Password:
Register

Knowledgerush Search

 

Google
  Web knowledgerush


Search for images of Use cases


Message boards   Post comment

Use cases

In software engineering, a use case (pronounced yoos-case) is a technique for capturing the requirements of a new system or software change. Each Use Case provides one or more scenarios that convey how the system should interact with the end user or another system. Use Cases typically avoid technical jargon, preferring instead the language of the end user, or domain expert. Use Cases are often co-authored by software developers and end users.

Main Scenario

At a minimum, each use case should convey a primary scenario, or the typical course of events. The main scenario is often conveyed as a set of steps, for example:
  • The system prompts the user to logon.
  • The user enters his name and password.
  • The system verifies the logon information.
...and so on.

Alternate Scenarios

Use cases may contain secondary, or alternate scenarios which are variations on the main theme. Exceptions, or what happens when things go wrong, may also be described.

Scope of a Use Case

Each use case focuses on just one feature of the system. For most software projects this means that multiple, perhaps dozens, of use case are needed to fully specify the new system. The degree of formality of a particular software project may influence the level of detail required in each use case. It is generally accepted that each use case be short enough to implement by one software developer in one release.

Other Parts of a Use Case

There are various formats, or templates for use case documents. Often, use cases provide a summary section that can be written earlier in a software project to capture the essence of the scenario before the main body is complete. A preconditions section can be used to convey any starting conditions that are assumed before the scenario can begin. Likewise, a post-conditions section summarizes the state of affairs after the scenario is complete.

Use Cases diagrams

Many people are introduced to Use Cases via UML, which defines a graphical notation for representing Use Cases. See here for more detail. UML does not define standards for the written format to describe Use Cases, and thus many people have the misapprehension that the graphical notation defines the nature of a use case; however, the graphical notation can only give the simplest overview of a Use Case or set of Use Cases.

Benefits of Use Cases

Use cases are a newer, more agile format for capturing sofware requirements. They are often contrasted to large, monolithic documents that attempt but fail to completely convey all possible requirements before construction of a new system begins. Use cases can be easily added and removed from a software project as priorities change. Use cases can also serve as the basis for the estimating, scheduling, and validating effort. One reason Use Cases have become popular is that they have proved easily understandable by business users, and so have proved an excellent bridge between software developers and end users.

Problems with Use Cases

Use Cases are not without their difficulties. Use Cases are excellent for capturing the functional requirements of a system; but they are not so successful for capturing the non-functional requirements.

 

Compose Your Message

Your Email Address or Pen Name (optional):
Subject:
Your Message:
 

 

 

 

 

 

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Use cases".

 

Contact UsPrivacy Statement & Terms of Use

 
Copyright © 1999-2003 Knowledgerush.com. All rights reserved.