CSC/ECE 517 Fall 2007/wiki2 4 2q: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 14: Line 14:
An actor who can more generally be described as the user of the system, is the external entity and can be a person or another system itself. A use case can be best described as what happens when the actor is using the system to achieve some goal. This goal is nothing but the end result which follows the sequence of events as described in the use cases.  
An actor who can more generally be described as the user of the system, is the external entity and can be a person or another system itself. A use case can be best described as what happens when the actor is using the system to achieve some goal. This goal is nothing but the end result which follows the sequence of events as described in the use cases.  


Every use case gives a complete list of events which occur from the time the actor starts interacting with the system till the time the final goal is achieved.A use case also records all the possible scenarios that may occur while trying to reach the desired goal. We can think of it as existence of a main course of events that will occur in normal circumstances, to which the exceptional cases are added. Anything that is not relevant to the actor/user is not a part of the use case.
Every use case gives a complete list of events which occur from the time the actor starts interacting with the system till the time the final goal is achieved. A use case also records all the possible scenarios that may occur while trying to reach the desired goal. We can think of it as existence of a main course of events that will occur in normal circumstances, to which the exceptional cases are added. Anything that is not relevant to the actor/user is not a part of the use case.


Listed below are a few links to external websites which further illustrate this concept.
Listed below are a few links to external websites which further illustrate this concept.
Line 20: Line 20:
* [http://www.ibm.com/developerworks/webservices/library/co-design5.html OO design process: Use cases, an introduction]
* [http://www.ibm.com/developerworks/webservices/library/co-design5.html OO design process: Use cases, an introduction]
* [http://alistair.cockburn.us/index.php/Use_case_fundamentals Use Case Fundamentals]
* [http://alistair.cockburn.us/index.php/Use_case_fundamentals Use Case Fundamentals]
=Examples using Use Cases=


==How to write a typical Use case==
==How to write a typical Use case==
Line 37: Line 35:
*[http://www.developer.com/design/article.php/2109801 Elements of a Use Case Diagram]
*[http://www.developer.com/design/article.php/2109801 Elements of a Use Case Diagram]
*[http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/use_case.htm  Tutorial for Use Case Diagrams]
*[http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/use_case.htm  Tutorial for Use Case Diagrams]
=Examples using Use Cases=
In this section, a few instructive examples have been outlined along with their references which illustrate different ways in which use cases can be written. The first example is a basic use-case template.
===Basic use case template===
Described below are some the characteristics of a typical use case. The complete reference can be found at [http://alistair.cockburn.us/images/Uctempla.doc Basic Use Case Template]
  CHARACTERISTIC INFORMATION
  *Goal in Context:  Buyer issues request directly to our company, expects goods shipped and to be billed.
  *Scope:  Company
  *Preconditions:  We know Buyer, their address, etc.
  *Success End Condition:  Buyer has goods, we have money for the goods.
  *Failed End Condition:  We have not sent the goods, Buyer has not spent the money.
  *Primary Actor:  Buyer, any agent (or computer) acting for the customer
  *Trigger:  purchase request comes in.
 
  MAIN SUCCESS SCENARIO
  1. Buyer calls in with a purchase request.
  2. Company captures buyer’s name, address, requested goods, etc.
  3. Company gives buyer information on goods, prices, delivery dates, etc.
  4. Buyer signs for order.
  5. Company creates order, ships order to buyer.
  6. Company ships invoice to buyer.
  7. Buyers pays invoice.
 
  EXTENSIONS
  3a. Company is out of one of the ordered items:
      3a1. Renegotiate order.
  4a. Buyer pays directly with credit card:
      4a1. Take payment by credit card (use case 44)
  7a. Buyer returns goods:
      7a. Handle returned goods (use case 105)


===Self Service Machine===
===Self Service Machine===
This example provides the typical Use Cases in a self service machine. Some of the aspets of using a self service machine are: buying a product, re-stocking the machine, collecting the money etc. The following link expands on how to do this and also provides the UML diagrams which depict the interaction between the users and system through the use case
This example provides the typical Use Cases in a self service machine. Some of the aspects of using a self service machine are: buying a product, re-stocking the machine, collecting the money etc. The following link expands on how to do this and also provides the UML diagrams which depict the interaction between the users and system through the use case
    
    
[http://odl-skopje.etf.ukim.edu.mk/uml-help/html/02day12.html Self-Service Machine]
[http://odl-skopje.etf.ukim.edu.mk/uml-help/html/02day12.html Self-Service Machine]
Line 64: Line 93:
[http://www.protoolkits.com/Analysisandrequirements/Analysistechniques/usecases.html Shopping website order]
[http://www.protoolkits.com/Analysisandrequirements/Analysistechniques/usecases.html Shopping website order]


== Other Useful Links on the web==


=Advanced Concepts on Use Cases=
=Advanced Concepts on Use Cases=
Line 74: Line 102:
* [2] [http://en.wikipedia.org/wiki/Use_case Wikipidea Page] Basic definition of Use Case
* [2] [http://en.wikipedia.org/wiki/Use_case Wikipidea Page] Basic definition of Use Case
* [3] [http://www.developer.com/design/article.php/2109801 Use Case Diagrams]
* [3] [http://www.developer.com/design/article.php/2109801 Use Case Diagrams]
==External Links==
==External Links==
[http://en.wikipedia.org/wiki/Use_case Wikipidea Page] Basic definition of Use Case
[http://en.wikipedia.org/wiki/Use_case Wikipidea Page] Basic definition of Use Case

Revision as of 22:36, 19 October 2007

A Guide to Use Cases on the WEB

Topic :Use cases. There are even more pages on the Web on use cases than on MVC. If someone wants to learn about them, what should (s)he do? Look at the first few hits in Google? I expect we can do better than that. Write a review of the use-case sites on the Web. Which are best for learning about the concept? Which have the most instructive examples? Which teach advanced concepts that are not apparent in perusing most use-case sites? Read at least several dozen pages before deciding how to organize your overview.

Introduction

This page outlines a review of the use-case sites on the Web which can be useful to best understand the concept. Also a few instructive examples are covered paying attention to the basic use case as well as advanced concepts that are not apparent in perusing most use-case sites.

What is a Use Case?

Definition

A use case is a methodology used in software and systems engineering to understand and identify the functional requirements of a system. Use cases describe the interaction between a primary actor, the initiator of the interaction and the system itself, represented as a sequence of simple steps[1][2].

An actor who can more generally be described as the user of the system, is the external entity and can be a person or another system itself. A use case can be best described as what happens when the actor is using the system to achieve some goal. This goal is nothing but the end result which follows the sequence of events as described in the use cases.

Every use case gives a complete list of events which occur from the time the actor starts interacting with the system till the time the final goal is achieved. A use case also records all the possible scenarios that may occur while trying to reach the desired goal. We can think of it as existence of a main course of events that will occur in normal circumstances, to which the exceptional cases are added. Anything that is not relevant to the actor/user is not a part of the use case.

Listed below are a few links to external websites which further illustrate this concept.

How to write a typical Use case

UML Diagrams and Use cases

 "The Use case diagram is used to identify the primary elements and processes that form the system. The primary elements are termed
 as "actors" and the processes are called "use cases." The Use case diagram shows which actors interact with each use case."[3]
 

They are useful in providing a pictorial view of the interactions between the users (actors) and sets of events (use cases) associated with the system.They also evolve as the projects or system change with time. The standard elements of a use case diagram makes comprehension easy for anyone trying to understand the use case.


Listed below are useful links in understanding how to draw typical use case diagrams.

Examples using Use Cases

In this section, a few instructive examples have been outlined along with their references which illustrate different ways in which use cases can be written. The first example is a basic use-case template.

Basic use case template

Described below are some the characteristics of a typical use case. The complete reference can be found at Basic Use Case Template

 CHARACTERISTIC INFORMATION
 *Goal in Context:   Buyer issues request directly to our company, expects goods shipped and to be billed.
 *Scope:  Company
 *Preconditions:  We know Buyer, their address, etc.
 *Success End Condition:  Buyer has goods, we have money for the goods.
 *Failed End Condition:  We have not sent the goods, Buyer has not spent the money.
 *Primary Actor:  Buyer, any agent (or computer) acting for the customer
 *Trigger:  purchase request comes in.
 
 MAIN SUCCESS SCENARIO
 1. Buyer calls in with a purchase request.
 2. Company captures buyer’s name, address, requested goods, etc.
 3. Company gives buyer information on goods, prices, delivery dates, etc.
 4. Buyer signs for order.
 5. Company creates order, ships order to buyer.
 6. Company ships invoice to buyer.
 7. Buyers pays invoice.
 
 EXTENSIONS
 3a. Company is out of one of the ordered items: 
     3a1. Renegotiate order.
 4a. Buyer pays directly with credit card:
     4a1. Take payment by credit card (use case 44)
 7a. Buyer returns goods:
     7a. Handle returned goods (use case 105)

Self Service Machine

This example provides the typical Use Cases in a self service machine. Some of the aspects of using a self service machine are: buying a product, re-stocking the machine, collecting the money etc. The following link expands on how to do this and also provides the UML diagrams which depict the interaction between the users and system through the use case

Self-Service Machine

Club Information System

This example provides one use case but disctinlty provides a step by step analysis of the events that constitute a Use Case. It mentions the actors, pre-conditions, Exceptions and Alternative scenarios.

Club Information System

Purchase order

This example provides a typical use case specification by listing the Activity, Result, Constraints and Extensions involved with a purchase order from a Finance web page.

Purchase order System

ATM system

This example is a little more involved in that it provides a number of use cases associated with using an ATM system including cash withdrawal, transfers, deposits, balance enquiry, etc.

ATM System

A shopping website order Process

This is a very good example that describes the scenarios and extensions involved in writing a use case for a online shopping order. It also describes the UML diagram.

Shopping website order


Advanced Concepts on Use Cases

Links on the Web

References

  • [1] Ivar Jacobson (1992). Object-Oriented Software Engineering. Addison Wesley Professional. ISBN 0-201-54435.
  • [2] Wikipidea Page Basic definition of Use Case
  • [3] Use Case Diagrams

External Links

Wikipidea Page Basic definition of Use Case