Computing Students - Computer Science Degree Notes
Home Contact Shop Notes Questions Programming Links Dictionary Coursework FORUM Tutors
  Recommended Amazon Searches: Computer Science | Computing | Computer Systems | Database | Computing Revision  

Notes > Software Engineering > Use Case Models

Use Cases are used to model the requirements of a system. A Requirements Model specifies all the required functionality of the system. A Use Case specifies the necessary functionality from a particular perspective. The creation of Use Cases can lead to better communication between users and the software developer as the requirements are analyzed in a structured manner.

A Use Case is a descriptive textual document which describes a certain way of using the system. At a high level (or with a very simple system) the use case could describe the behavious of the system as a whole. It is important for Use Cases to be associated with at least one Actor.

Use Case Diagrams use the following symbols:

Actor:

UML Actor

Use Case:

UML Use Case

The actor is external to the system and interacts with the system in the way that the Use Case describes. An actor is not necessarily a specific user or even a human. It may be an external device or another system.

Use Case diagrams should have an associated Use Case Description. This description can consist of a simple one line description of what is to be done by the system or it can be more detailed. A detailed Use Case Description could consist of a set of potential actions which have system responses associated with them. Also, establishing the context of the Use Case and recording this in the Use Case Description shows that the Use Case and its functionality is necessary.

The contents of a typical Use Case Description are shown below:

    Title - clear and concise, typically consisting of a verb (action) and a noun (object)
    Actors
    Purpose
    Pre-conditions
    Flow of Events - a detailed description of each step involved in the overall process
    Post-conditions
    Interface description (optional)

Use Case Relationships

Relationships are also known as associations. Associations are typically represented using a connection line between the relevant classes or Use Cases. The following image shows an extension relationship between two Use Cases.

Extension

UML Use Case Extends

The Use Case on the right in the image above extends the Use Case on the left. This means that the Use Case which extends the other contains potential added functionality depending on whether a certain set of circumstances (conditions) are met.

Inclusion

Inclusion is represented in a similar way to Extension. The word "include" is used instead of "extend" between the guillemets ("<< >>" - French quotation marks). The important difference between Extension and Inclusion is that Inclusion involves the re-use of common functionality that will never stand alone.

Inheritance

Both actors and Use Cases can be involved in inheritance. The following diagram shows how two Use Cases can inherit from a single parent Use Case:

UML Use Case Inheritance

Search for "Use Case Models" on: Google | Kelkoo | Amazon | eBay (UK) | eBay (US)

Search for "Use Case Models" on the rest of Computing Students: Use Case Models






Home | Contact | Shop | Notes | Questions | Programming | Links | Dictionary | Coursework | Tutors Sponsored Links: Affiliate Program Articles | Computer Science Definitions | CS Degree Notes
Copyright © 2005-2009 ComputingStudents.com
This site is to be used in accordance with the ComputingStudents.com User Agreement
High Wycombe Web Design