CSC/ECE 517 Fall 2010/ch4 4a I

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction

A use case is set of interactions between the external actors and the system under consideration with an objective of achieving specific goals as defined by the users of the system. A use case is used to capture the functional requirements of a particular system which in turn are used to capture the intended behavior of the system. The notion of an actor can be used to represent the external users, or the roles of the users, in fact even the systems other than the one under consideration are considered to be and actor.2

Overview

In general use cases are used to capture the who i.e the actors, the what i.e interactions and system reactions, and the purpose i.e the goal of a particular system without having to worry too much about the internal workings of the system. Use cases originated in the Object oriented community but their applicability is not limited to object oriented systems.

Use cases in detail

Purpose of Use cases

Use cases are used in different stages on the development life cycle. In the planning stage, the process of defining important use cases helps to clarify the most important goals of the system. Use cases helps to narrow the scope of the project. They can surface often unspoken assumptions about the desired behavior of the system. In the execution stage of the development life cycle, use cases provide developers key parts of the specification. Some systems are built entirely with only use case descriptions from sponsors

Use case templates

  • Use case

Each use case should have a unique name describing in a manner which describes its purpose. The name usually is a active phrase, in a verb-noun format. Use cases can also have a reference number associated with them, this is to indicate how they relate to other use cases. Also the use case name should maintain creation and modification history of the template, this information should be preceded by the keyword history.

  • Description

In the description field of the use case template we maintain the goals of the use case. The description should list the source for the functional requirement, this information should be preceded by the keyword sources.

  • Actors

Use cases identify the intent satisfying the role assumed by external actors interacting with the “system under discussion/test”. The actors can be classified into primary actor or secondary actor. A primary actor is one having a goal requiring the assistance of the system. A secondary actor is one from which the system needs assistance to satisfy a goal.8

  • Assumptions

Assumptions made in order to achieve the goals defined should be stated in a declarative manner. The assumptions should be evaluated to a true or false and in case if the assumption is false then it is unspecified as to what the use case will do. Behavior in case of an assumption failure can accounted for using use-case extensions.

  • Steps

The sequence of interactions necessary to successfully meet the goal. The interactions between the system and actors are structured into one or more steps which are expressed in natural language. A step completes when all its component interactions have completed. A step has the form <sequence number><interaction>. If there are multiple steps then each step should have a sequence number showing its position in the list of interactions. The execution of one or more steps can be made conditional by using programming-like IF-then-ELSE constructs.3

  • Variations

Variations represent any variation in the steps of the use case. The format of the variation is <step reference> < list of variations separated by or>.

  • Non functional requirements

Non functional requirements related to fault tolerance,performance,etc are listed as <keyword> : < requirement>. Here again the non functional requirements are list in a natural and understandable format.

  • Issues

This section lists the issues which are awaiting the resolution.

Use case template example

Types of Use cases

  • System use cases: System use case describes the service which the system provides for the actor. The system use case describes what the system would do in response to the actor's actions. An actor in the system use cases can be wither a human user or another system interacting with the system under consideration.
  • Business use cases: Business use cases are used to define the processes which will be used by the external actors. The business use cases treat the system under consideration as a black box in which the actors are given a description as to what the process does by specifying a value. 5

Use case extension

In order to deal with the case of assumption failure, a variant of the use cases can defined using the use case extension.

Use case extension template

  • Use case extension 3

The extension name includes a unique identifier for the extension and a reference to the use case to which the extension applies

  • Changed field

This field documents the field of the use case template which are going to be changed.

  • Steps

This field mentions the steps field of the use case which require change, the changes are expressed in terms of new or altered steps which require change that apply to a use case at extension point, if some condition is true.

Use case extension example

Continuing the example of the online shopping portal system use case previously explained, on extending the use case we get the following use case extension template.

Use cases in UML

UML represents the use cases in a diagrams called as the use case diagrams. Lines in a UML use case between an actor and the system represent a more abstract concept of relationship of communication, acquaintance, or inheritance. A use case circle can be more than a user invoking an on-demand service that passively waits until called upon. A Use case circle can be event-driven, which proactively notifies one or more subscribers when specific events occur. Services that run on their own without formal invocation may be better represented as an (automated) actor rather than as a use case circle. The general representation of the use case environment in Unified Modeling Language(UML)is represented in the figure below

Example: Consider a scenario in which a customer is visiting a online shopping portal system. In this scenario as we see the customer as the actor interacting with the online shopping portal system. The use case diagram covers the basic operations which the customer would normally perform while ordering an item from the shopping portal. This use case diagram can be extended to include extra scenarios such as the multiple item order, order cancellation and so on.

See Also

References