Abstract and Concrete Use Cases Encyclopedia Article

Abstract and Concrete Use Cases

The following sections of this BookRags Literature Study Guide is offprint from Gale's For Students Series: Presenting Analysis, Context, and Criticism on Commonly Studied Works: Introduction, Author Biography, Plot Summary, Characters, Themes, Style, Historical Context, Critical Overview, Criticism and Critical Essays, Media Adaptations, Topics for Further Study, Compare & Contrast, What Do I Read Next?, For Further Study, and Sources.

(c)1998-2002; (c)2002 by Gale. Gale is an imprint of The Gale Group, Inc., a division of Thomson Learning, Inc. Gale and Design and Thomson Learning are trademarks used herein under license.

The following sections, if they exist, are offprint from Beacham's Encyclopedia of Popular Fiction: "Social Concerns", "Thematic Overview", "Techniques", "Literary Precedents", "Key Questions", "Related Titles", "Adaptations", "Related Web Sites". (c)1994-2005, by Walton Beacham.

The following sections, if they exist, are offprint from Beacham's Guide to Literature for Young Adults: "About the Author", "Overview", "Setting", "Literary Qualities", "Social Sensitivity", "Topics for Discussion", "Ideas for Reports and Papers". (c)1994-2005, by Walton Beacham.

All other sections in this Literature Study Guide are owned and copyrighted by BookRags, Inc.

Abstract and Concrete Use Cases

A concrete use case is a particular type of use case that is directly invoked by an actor and achieves a specific goal. It is self-contained and illustrates a complete flow of events. A concrete use case is a specific instance of using a common set of steps referred to as an abstract use case.

An abstract use case is a particular type of use case that is not directly invoked by an actor but is called by another use case. When two or more use cases have a sequence of the same steps, these steps are extracted and put into a common use case. This common, or abstract, use case is then available to be included in any other use case within the system. Abstract use cases eliminate redundancy and promote reuse, a goal of object-oriented systems design.

Because an abstract use case contains only a subset of the steps in a flow of events, it may not make sense as a standalone use case. An abstract use case is included as part of one or more concrete use cases in order to represent a complete flow of events.