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

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:


='''Introduction'''=
='''Introduction'''=
==What is a use case?==
===Definition===
===Definition===
''A use case is a methodology that helps identify the functional requirements of software. A use-case model describes actors, use cases, and relations among them. Actors represent entities that must exchange information with the system, including users. When an actor uses the system, the system performs a use case. A good use case is a sequence of transactions that yields a measurable result of value for an actor. The collection of use cases is the system's complete functionality.''
''A use case is a methodology that helps identify the functional requirements of software. A use-case model describes actors, use cases, and relations among them. Actors represent entities that must exchange information with the system, including users. When an actor uses the system, the system performs a use case. A good use case is a sequence of transactions that yields a measurable result of value for an actor. The collection of use cases is the system's complete functionality.''
Line 15: Line 14:
Use Case Writing Steps
Use Case Writing Steps


1: Identify Classes of Users
1: Identify Classes of Users<br>
<br>
2: Outline the Use Case Suite
2: Outline the Use Case Suite<br>
<br>
3: List Use Case Names
3: List Use Case Names<br>
<br>
4: Write Some Use Case Descriptions
4: Write Some Use Case Descriptions<br>
<br>
5: Write Steps for Selected Use Cases
5: Write Steps for Selected Use Cases<br>
<br>
6: Evaluate Use Cases
6: Evaluate Use Cases<br>
<br>
<br>
===Sample and Simple Example Link===
 
An excellent example which takes you through textual descriptions as well as Use case Diagrams can be found [http://www.dcs.bbk.ac.uk/~steve/lastisc1/sld001.htm here]<br>
===Simple Examples===
 
<b>Example use case diagram for the library administration machine.</b>
The example show primary actors on the left, goals in the middle, and the supporting
actors on the right. The primary actors are using the system to fulfill the goals. The
supporting actors are helping the system fulfill the goals of the primary actors. In the use
case diagram, the supporting actors that are not human beings are represented using a
different notation. Although, it is optional to do so, it improves the readability of the
diagram. The diagram also shows that more than one actor can fulfill a goal. For
example, both the patron and the librarian is able to check out, check in, and pay a fine.
The librarian can also fulfill additional goals such as adding a book, reporting a book as
stolen, adding a new patron, cancelling the membership of a patron. Showing the system
boundary is very important. In this case, if the system boundary was not shown the reader
of the use case diagram (often the customer) may confuse that the machine will come
with the book record and the patron record. The diagram clearly shows the portion of the
system that will be delivered and clarifies that confusion.
<br>
[[Image:ex1.jpg]]
 
<b>Example use case diagram for the patient monitoring machine</b>
The figure below shows the use case diagram for the patient monitoring example. Again
the primary actors are shown on the left, goals in the middle, and the supporting actors on
the right. In this example, the immediate primary actors are not human beings. However,
for clarification, I have shown the human actors (nurse, patient) that are interacting with
the system through the immediate primary actors (nurse station, and analog readers).
 
[[Image:ex2.jpg]]
<br>The above two examples have been borrowed from [http://www.cs.iastate.edu/~cs362/notes/use-case-diagram-examples.pdf here]<br>
 
<br>
<b>An excellent example which takes you through textual descriptions as well as Use case Diagrams can be found </b>[http://www.dcs.bbk.ac.uk/~steve/lastisc1/sld001.htm here]<br>
<br><br>


The remaining of the article discusses various websites that are useful for understanding Use Cases and Use Case Diagrams from multiple dimensions.
The remaining of the article discusses various websites that are useful for understanding Use Cases and Use Case Diagrams from multiple dimensions.
<br>
<br>
='''Best for learning about the concept'''=
='''Best for learning about the concept'''=
==[http://en.wikipedia.org/wiki/Use_case Use case Wikipedia]==
==[http://en.wikipedia.org/wiki/Use_case Use case Wikipedia]==
Line 137: Line 168:
•What does a use case describe? <br>
•What does a use case describe? <br>
•How do you write a use case?  
•How do you write a use case?  


==='''Drawbacks'''===
==='''Drawbacks'''===
-The concept is explained from the point of view of website usability.<br>
-The concept is explained from the point of view of website usability.<br>
-Only the concept is explained without example.
-Only the concept is explained without example.


==='''Review'''===
==='''Review'''===
Line 152: Line 181:
==='''Likes'''===
==='''Likes'''===
Can be considered as set of pages which will help you decide while you start developing use cases for your system. It will help you answer questions like “How Many use cases are required for my system?”
Can be considered as set of pages which will help you decide while you start developing use cases for your system. It will help you answer questions like “How Many use cases are required for my system?”


==='''Drawbacks'''===
==='''Drawbacks'''===

Latest revision as of 02:50, 30 October 2007

Assignment
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

Definition

A use case is a methodology that helps identify the functional requirements of software. A use-case model describes actors, use cases, and relations among them. Actors represent entities that must exchange information with the system, including users. When an actor uses the system, the system performs a use case. A good use case is a sequence of transactions that yields a measurable result of value for an actor. The collection of use cases is the system's complete functionality.
Use case gives us a list of events which occur from the time the actor begins interacting with the system till the time the final goal is achieved. Other details not relevant to the user are not a part of the use case.

OO design process: Use cases, an introduction

Simple Steps which lead to effective use cases

Use Case Writing Steps

1: Identify Classes of Users

2: Outline the Use Case Suite

3: List Use Case Names

4: Write Some Use Case Descriptions

5: Write Steps for Selected Use Cases

6: Evaluate Use Cases

Simple Examples

Example use case diagram for the library administration machine. The example show primary actors on the left, goals in the middle, and the supporting actors on the right. The primary actors are using the system to fulfill the goals. The supporting actors are helping the system fulfill the goals of the primary actors. In the use case diagram, the supporting actors that are not human beings are represented using a different notation. Although, it is optional to do so, it improves the readability of the diagram. The diagram also shows that more than one actor can fulfill a goal. For example, both the patron and the librarian is able to check out, check in, and pay a fine. The librarian can also fulfill additional goals such as adding a book, reporting a book as stolen, adding a new patron, cancelling the membership of a patron. Showing the system boundary is very important. In this case, if the system boundary was not shown the reader of the use case diagram (often the customer) may confuse that the machine will come with the book record and the patron record. The diagram clearly shows the portion of the system that will be delivered and clarifies that confusion.

Example use case diagram for the patient monitoring machine The figure below shows the use case diagram for the patient monitoring example. Again the primary actors are shown on the left, goals in the middle, and the supporting actors on the right. In this example, the immediate primary actors are not human beings. However, for clarification, I have shown the human actors (nurse, patient) that are interacting with the system through the immediate primary actors (nurse station, and analog readers).


The above two examples have been borrowed from here


An excellent example which takes you through textual descriptions as well as Use case Diagrams can be found here


The remaining of the article discusses various websites that are useful for understanding Use Cases and Use Case Diagrams from multiple dimensions.

Best for learning about the concept

Use case Wikipedia

Likes

Provides good basic understanding.
Also provides Use case templates.
Discusses benefits and limitations of use cases.
Provides good references and External links.

Drawbacks

Information maybe incorrect/ old.
No examples are provided to ease learning.

Review

Wikipedia, the most common information source, seems to carry lot of information on Use Cases and also goes into discussing their benefits and limitations. The page also provides references and external links.


Use Case Diagram Wikipedia

Likes

-Precise explanation of Use Case Diagrams and its notations.
-Also explains advanced concepts like different types of relationships.
-Illustrates the concept with an easy example making it easier for first time readers.


Drawbacks

-Does not provide a basic understanding of why use cases are required.
-The page uses technical language which might be deterrent for novices.
-Again since it is a wiki page the information could be tampered by anyone.


Review

-Though the page contains all elements which are instrumental in understanding use cases and use cases diagrams the semantics of use cases could have been better expressed if simple language was used.

Teaches advanced concepts

Structuring use cases with goals – AC

Likes

Written by Alistair Cockburn, the author of Jolt Productivity Award winning book Writing Effective Use Cases.
Provides a more detailed and practical view of Use Case usage.
Describes scenarios and howto control Scenario explosion.
Also talks about cases where goal-phrase structure can be used.
Identifies shortcomings of Use Case.

Drawbacks

Maybe too much information for some people.
Text is difficult to understand and read.
Text is not formatted, to make it visually appealing.

Review

A very good page written, by a well known person on Use cases. The page has been written in a very informal tone and contains more information than the space. However, the page is not properly formatted which desont make reading it very intresting.

Has the most instructive examples

Writing effective Use Case Examples

Likes

Gets right to point without any fluff.
Easy to understand, with diagrams and examples.

Drawbacks

Has lot of ads and the “Try it” (example) link takes you somewhere else.

Review

Simply loved the website, its just what someone like me looks for to gets things done. Explains howto write Use Cases alongwith an example.


Excellent walkthrough with understanding and example

Likes

-The page serves as an excellent resource for learning all facets of Use Cases and Use Case diagrams.
-The entire tutorial is divided in a logical manner starting from basic topics right through advanced stuff.
-The page uses very natural examples from the real world to explain each concept related to Use cases.


Drawbacks

-Very little has been said about the theory behind Use cases and its evolution i.e. why was a need felt to create an Object Oriented instrument like use cases.

Review

- An excellent page for people who wish to start off developing Use cases and use cases diagrams just by reading a single webpage.


Use Cases for Example ATM System

Likes

One of the best pages found, which explains an example in full length.

Drawbacks

Has no diagrams
Skips on basic explaining basic terms
Has no inline links to explain, some of the terms used.

Review

A very good page for anyone who’s looking for a Use Cases for Example ATM System or for an example Use case application for that matter.


Some Questions answered

Answers Basic Questions

Likes

-Answers basic questions like
•What is a use case?
•What does a use case describe?
•How do you write a use case?

Drawbacks

-The concept is explained from the point of view of website usability.
-Only the concept is explained without example.

Review

-A simple page for understanding the concept of use cases.


Questions on advanced topics

Likes

Can be considered as set of pages which will help you decide while you start developing use cases for your system. It will help you answer questions like “How Many use cases are required for my system?”

Drawbacks

-Only the concept is explained without example.

Review

-A simple page for answering certain questions which arise while development of use cases.


External Links

http://www.protoolkits.com/Analysisandrequirements/Analysistechniques/usecases.html
http://web.cecs.pdx.edu/~maier/386/usecase06.pdf
http://ootips.org/use-cases-done.html
http://alistair.cockburn.us/index.php/Use_case_fundamentals
http://alistair.cockburn.us/index.php/Resources_for_writing_use_cases
http://alistair.cockburn.us/index.php/Use_cases%2C_ten_years_later