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

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 8: Line 8:
There are numerous websites and resources on the topic of “Use cases”. We attempt to provide a guide to most useful ones…
There are numerous websites and resources on the topic of “Use cases”. We attempt to provide a guide to most useful ones…
== Introduction ==
== Introduction ==
• http://www.cragsystems.com/SFRWUC/index.htm
• http://www.cragsystems.com/SFRWUC/index.htm
This is a web-based tutorial that introduces beginners to use cases. It clearly illustrates with appropriate examples the concepts related to use cases. It further describes application of use cases in documenting functional requirements. It also has a short quiz, a test and an exercise at the end. Excellent navigation is a plus.
This is a web-based tutorial that introduces beginners to use cases. It clearly illustrates with appropriate examples the concepts related to use cases. It further describes application of use cases in documenting functional requirements. It also has a short  
quiz, a test and an exercise at the end. Excellent navigation is a plus.
 
• http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/use/
• http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/use/
This short tutorial discusses how use-cases fit into the framework of user-centered analysis. It gives a sample use case of ATM cash withdrawal. It also describes the role of use cases in design and testing phase.
This short tutorial discusses how use-cases fit into the framework of user-centered analysis. It gives a sample use case of ATM cash withdrawal. It also describes the role of use cases in design and testing phase.
• http://en.wikipedia.org/wiki/Use_case
• http://en.wikipedia.org/wiki/Use_case
This wiki provides an introduction to use case concepts in very simple terms, so seems to be a good starting point for early beginners.  
This wiki provides an introduction to use case concepts in very simple terms, so seems to be a good starting point for early beginners.  
• http://www.parlezuml.com/tutorials/usecases/usecases_intro.pdf
• http://www.parlezuml.com/tutorials/usecases/usecases_intro.pdf
• http://parlezuml.com/tutorials/usecases/usecases.pdf
• http://parlezuml.com/tutorials/usecases/usecases.pdf
These are very short and simple tutorials by Jason Gorman that explain the basics of use cases. Apart from use cases, the author covers the related concepts such as actors, system, scenarios. He also explains special use cases: <<extend>> and <<include>> and provides a brief explanation of how use cases can be part of agile development process.
These are very short and simple tutorials by Jason Gorman that explain the basics of use cases. Apart from use cases, the author covers the related concepts such as actors, system, scenarios. He also explains special use cases: <<extend>> and <<include>> and provides a brief explanation of how use cases can be part of agile development process.


• http://www.bredemeyer.com/use_cases.htm
• http://www.bredemeyer.com/use_cases.htm
This is a one-page document illustrating how use cases can be effective means to gather functional requirements. It provides valuable pointers to other use-case resources. Though short, it is quite informative for new learners.
This is a one-page document illustrating how use cases can be effective means to gather functional requirements. It provides valuable pointers to other use-case resources. Though short, it is quite informative for new learners.
• http://alistair.cockburn.us/index.php/Use_case_fundamentals
• http://alistair.cockburn.us/index.php/Use_case_fundamentals
This is a good website which deals with the scope of use cases..It provides a
This is a good website which deals with the scope of use cases..It provides a
brief description of use cases and actors along with analysis of use case reports.It  
brief description of use cases and actors along with analysis of use case reports.It  
Line 28: Line 39:
• http://alistair.cockburn.us/index.php/Structuring_use_cases_with_goals
• http://alistair.cockburn.us/index.php/Structuring_use_cases_with_goals
Here is a great guide to use cases by Alistair Cockburn, a renowned strategist and one of the leaders of agile movement. Though the article quite reader-friendly, it expects the reader to be familiar with at least the basic concepts. It offers brief descriptions of terms involved and analysis of use case reports.
Here is a great guide to use cases by Alistair Cockburn, a renowned strategist and one of the leaders of agile movement. Though the article quite reader-friendly, it expects the reader to be familiar with at least the basic concepts. It offers brief descriptions of terms involved and analysis of use case reports.
• http://courses.softlab.ntua.gr/softeng/Tutorials/UML-Use-Cases.pdf
• http://courses.softlab.ntua.gr/softeng/Tutorials/UML-Use-Cases.pdf
This presentation offers succinct definitions for various terms related to use cases, also provides notational guide for documenting use case diagrams. It explains how to build scenarios ( flow of events in a use case) .
This presentation offers succinct definitions for various terms related to use cases, also provides notational guide for documenting use case diagrams. It explains how to build scenarios ( flow of events in a use case) .
How to write use cases:
 
 
== How to write use cases ==
 
Writing use cases are not confined to drawing use case diagram. Rather, a written use case is a brief but complete text description of every identified use case (functionality) of the system identified.
Writing use cases are not confined to drawing use case diagram. Rather, a written use case is a brief but complete text description of every identified use case (functionality) of the system identified.
• http://www.informit.com/articles/article.aspx?p=30084&seqNum=8&rl=1
• http://www.informit.com/articles/article.aspx?p=30084&seqNum=8&rl=1
Here is an article that clearly distinguishes between a good use case and a bad use case. It gives an example of course registration for students and then explains writing the use case descriptions.  
Here is an article that clearly distinguishes between a good use case and a bad use case. It gives an example of course registration for students and then explains writing the use case descriptions.  
• http://www.answers.com/topic/use-case?cat=technology
• http://www.answers.com/topic/use-case?cat=technology
This is a comprehensive article that starts off with an overview of use cases and provides an excellent reference for how to write use cases. It also comments on various types of use-cases based on the functionality (business/system) or degree of detail (brief / casual / fully dressed).  It elaborates on various sections of use case description.   
This is a comprehensive article that starts off with an overview of use cases and provides an excellent reference for how to write use cases. It also comments on various types of use-cases based on the functionality (business/system) or degree of detail (brief / casual / fully dressed).  It elaborates on various sections of use case description.   
• http://infogenium.typepad.com/inside_infogenium/2007/07/getting-started.html
• http://infogenium.typepad.com/inside_infogenium/2007/07/getting-started.html
Here is a short tutorial for developers that are intimidated by the requirement documentation phase using the use cases. It explains the steps involved in capturing the requirements, introduces the concept of use-case brief. It illustrates the concepts with a file attachment example.
Here is a short tutorial for developers that are intimidated by the requirement documentation phase using the use cases. It explains the steps involved in capturing the requirements, introduces the concept of use-case brief. It illustrates the concepts with a file attachment example.


== How to write use cases ==
=== Writing effective use cases ===
=== Writing effective use cases ===
=== Good and bad use cases ===
 
• http://www.gatherspace.com/static/use_case_example.html
 
Explains the art of writing effective use cases by considering an example of writing use cases for a mock Ebay site. The practical nature of the example makes it an interesting exercise.
 
• http://alistair.cockburn.us/index.php/Sampler_of_good_%26_bad_use_cases
 
The above link provides some sample good and bad use cases
 
== Format/Template of use cases ==
== Format/Template of use cases ==
• http://alistair.cockburn.us/index.php/Basic_use_case_template
An excellent link which shows how to structure use cases.Provides different use case templates.
== Use case diagrams ==
== Use case diagrams ==
• http://en.wikipedia.org/wiki/Use_case_diagram
This wiki link contains representation of use case generalization along with the notations for use case relationships like extend include.
• http://www.agilemodeling.com/artifacts/useCaseDiagram.htm
http://www.andrew.cmu.edu/course/90-754/umlucdfaq.html#uses
The above links cover creation and understanding of Use Case Diagrams
== Examples==  
== Examples==  
• http://www.soi.wide.ad.jp/class/20040034/slides/07/9.html
This is an excellent presentation which takes up a real-life ‘elevator’ example and provides multiple use-case descriptions for use cases.
• http://www.cs.colorado.edu/~kena/classes/6448/s05/reference/usecases/examples.html
This is a one-page guide that illustrates the use case briefs, user-level and summary level use case given the actor-goal list and narrative of the system from the user.
• http://courses.softlab.ntua.gr/softeng/Tutorials/UML-Use-Cases.pdf
This is a very good example describing how to write use cases for different scenarios in a system.
• http://www.objectmentor.com/resources/articles/usecases.pdf
This provides a simple example and explains use cases with use case diagrams for some of the functionalities.
• http://www.w3.org/2002/06/ws-example
This documents attempts to put together a use case involving a set of Web services to serve as an useful example for understanding usecases for real life scenarios.
• http://www.agilemodeling.com/essays/useCaseReuse.htm
This is a narrative example which highlights reuse in Use-Case Models
• http://www.se.cuhk.edu.hk/~seg3430/2007/tutorial/tutorial04.pdf
Though quite long this link describes use cases for a credit card payment service
== Advanced Concepts ==
== Advanced Concepts ==
== Tools ==
== Tools ==
Rational Rose
There are certain available Sun Java Studio Enterprise
http://developers.sun.com/jsenterprise/learning/tutorials/jse8/uml_use_case.html
Visual case
== Quick reference ==
== Quick reference ==
Some quick references for studying use cases
• http://www.oreilly.com.cn/samplechap/uml20inanutshell/UML20-ch07.pdf
• http://www.cs.rit.edu/~jaa/CS4/Lectures/UseCase.PDF
• http://www.alagad.com/go/blog-entry/uml-use-case-diagrams
• http://www.cs.nmsu.edu/~jeffery/courses/371/lecture.html
== Good Tutorials ==
== Good Tutorials ==
• http://www.parlezuml.com/tutorials/usecases/usecases.pdf
• http://www.readysetpro.com/whitepapers/usecasetut.html
Two very easy and informative tutorials for beginners who are not familiar with use cases. Both the tutorials contain some very good and simple examples coupled with easily understandable pictures. The first tutorial focuses on use case driven development and UML diagrams while the second deals with writing effective use cases.
== Presentations Online ==
== Presentations Online ==
• https://users.cs.jmu.edu/bernstdh/web/common/lectures/slides_use-cases.php
This presentation describes writing use cases along with constructing use case diagrams
• http://www-rohan.sdsu.edu/faculty/rnorman/course/ids306/Lect_c4.ppt
• http://www.cragsystems.com/SFRWUC/index.htm
This web-based tutorial describes creating a Use Case Model of the functional requirements for a computer system.
== Books ==
== Books ==
Following are good books for learning use cases
[[http://www.amazon.com/Writing-Effective-Cases-Alistair-Cockburn/dp/0201702258 Writing Effective Use Cases by Alistair Cockburn ]]
[[http://www.amazon.com/Object-Oriented-Software-Engineering-Driven-Approach/dp/0201544350 Object-Oriented Software Engineering: A Use Case Driven Approach by Ivar Jacobson ]]
== References on the Web ==
== References on the Web ==
1. Jocabson, Ivar. Basic Use-Case modeling, Report on Object Analysis and Design, 1(2): 15-19, 1994
2. Jocabson, Ivar. Baisc Use-Case Modeling (Continued), Report on Object Analysis and Design, 1(3): 7-9, 1994
3. Rumbaugh, James. Journal of Object-Oriented Programming: 8-12, 23, Sept. 1994

Revision as of 21:19, 24 October 2007

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


What are use cases

A ‘use case’ can capture specific functionality of the system that user needs from the system. There are numerous websites and resources on the topic of “Use cases”. We attempt to provide a guide to most useful ones…

Introduction

http://www.cragsystems.com/SFRWUC/index.htm This is a web-based tutorial that introduces beginners to use cases. It clearly illustrates with appropriate examples the concepts related to use cases. It further describes application of use cases in documenting functional requirements. It also has a short quiz, a test and an exercise at the end. Excellent navigation is a plus.

http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/use/

This short tutorial discusses how use-cases fit into the framework of user-centered analysis. It gives a sample use case of ATM cash withdrawal. It also describes the role of use cases in design and testing phase.

http://en.wikipedia.org/wiki/Use_case

This wiki provides an introduction to use case concepts in very simple terms, so seems to be a good starting point for early beginners.

http://www.parlezuml.com/tutorials/usecases/usecases_intro.pdfhttp://parlezuml.com/tutorials/usecases/usecases.pdf

These are very short and simple tutorials by Jason Gorman that explain the basics of use cases. Apart from use cases, the author covers the related concepts such as actors, system, scenarios. He also explains special use cases: <<extend>> and <<include>> and provides a brief explanation of how use cases can be part of agile development process.

http://www.bredemeyer.com/use_cases.htm

This is a one-page document illustrating how use cases can be effective means to gather functional requirements. It provides valuable pointers to other use-case resources. Though short, it is quite informative for new learners.

http://alistair.cockburn.us/index.php/Use_case_fundamentals

This is a good website which deals with the scope of use cases..It provides a brief description of use cases and actors along with analysis of use case reports.It also describes steps involved in validation of use cases


http://alistair.cockburn.us/index.php/Structuring_use_cases_with_goals Here is a great guide to use cases by Alistair Cockburn, a renowned strategist and one of the leaders of agile movement. Though the article quite reader-friendly, it expects the reader to be familiar with at least the basic concepts. It offers brief descriptions of terms involved and analysis of use case reports.

http://courses.softlab.ntua.gr/softeng/Tutorials/UML-Use-Cases.pdf This presentation offers succinct definitions for various terms related to use cases, also provides notational guide for documenting use case diagrams. It explains how to build scenarios ( flow of events in a use case) .


How to write use cases

Writing use cases are not confined to drawing use case diagram. Rather, a written use case is a brief but complete text description of every identified use case (functionality) of the system identified.

http://www.informit.com/articles/article.aspx?p=30084&seqNum=8&rl=1

Here is an article that clearly distinguishes between a good use case and a bad use case. It gives an example of course registration for students and then explains writing the use case descriptions.

http://www.answers.com/topic/use-case?cat=technology

This is a comprehensive article that starts off with an overview of use cases and provides an excellent reference for how to write use cases. It also comments on various types of use-cases based on the functionality (business/system) or degree of detail (brief / casual / fully dressed). It elaborates on various sections of use case description.

http://infogenium.typepad.com/inside_infogenium/2007/07/getting-started.html

Here is a short tutorial for developers that are intimidated by the requirement documentation phase using the use cases. It explains the steps involved in capturing the requirements, introduces the concept of use-case brief. It illustrates the concepts with a file attachment example.

Writing effective use cases

http://www.gatherspace.com/static/use_case_example.html

Explains the art of writing effective use cases by considering an example of writing use cases for a mock Ebay site. The practical nature of the example makes it an interesting exercise.

http://alistair.cockburn.us/index.php/Sampler_of_good_%26_bad_use_cases

The above link provides some sample good and bad use cases

Format/Template of use cases

http://alistair.cockburn.us/index.php/Basic_use_case_template

An excellent link which shows how to structure use cases.Provides different use case templates.

Use case diagrams

http://en.wikipedia.org/wiki/Use_case_diagram

This wiki link contains representation of use case generalization along with the notations for use case relationships like extend include.

http://www.agilemodeling.com/artifacts/useCaseDiagram.htm http://www.andrew.cmu.edu/course/90-754/umlucdfaq.html#uses The above links cover creation and understanding of Use Case Diagrams

Examples

http://www.soi.wide.ad.jp/class/20040034/slides/07/9.html

This is an excellent presentation which takes up a real-life ‘elevator’ example and provides multiple use-case descriptions for use cases.

http://www.cs.colorado.edu/~kena/classes/6448/s05/reference/usecases/examples.html

This is a one-page guide that illustrates the use case briefs, user-level and summary level use case given the actor-goal list and narrative of the system from the user.

http://courses.softlab.ntua.gr/softeng/Tutorials/UML-Use-Cases.pdf

This is a very good example describing how to write use cases for different scenarios in a system.

http://www.objectmentor.com/resources/articles/usecases.pdf

This provides a simple example and explains use cases with use case diagrams for some of the functionalities.

http://www.w3.org/2002/06/ws-example

This documents attempts to put together a use case involving a set of Web services to serve as an useful example for understanding usecases for real life scenarios.

http://www.agilemodeling.com/essays/useCaseReuse.htm

This is a narrative example which highlights reuse in Use-Case Models

http://www.se.cuhk.edu.hk/~seg3430/2007/tutorial/tutorial04.pdf

Though quite long this link describes use cases for a credit card payment service

Advanced Concepts

Tools

Rational Rose There are certain available Sun Java Studio Enterprise http://developers.sun.com/jsenterprise/learning/tutorials/jse8/uml_use_case.html Visual case


Quick reference

Some quick references for studying use cases

http://www.oreilly.com.cn/samplechap/uml20inanutshell/UML20-ch07.pdf

http://www.cs.rit.edu/~jaa/CS4/Lectures/UseCase.PDF

http://www.alagad.com/go/blog-entry/uml-use-case-diagrams

http://www.cs.nmsu.edu/~jeffery/courses/371/lecture.html

Good Tutorials

http://www.parlezuml.com/tutorials/usecases/usecases.pdf

http://www.readysetpro.com/whitepapers/usecasetut.html

Two very easy and informative tutorials for beginners who are not familiar with use cases. Both the tutorials contain some very good and simple examples coupled with easily understandable pictures. The first tutorial focuses on use case driven development and UML diagrams while the second deals with writing effective use cases.

Presentations Online

https://users.cs.jmu.edu/bernstdh/web/common/lectures/slides_use-cases.php

This presentation describes writing use cases along with constructing use case diagrams

http://www-rohan.sdsu.edu/faculty/rnorman/course/ids306/Lect_c4.ppthttp://www.cragsystems.com/SFRWUC/index.htm

This web-based tutorial describes creating a Use Case Model of the functional requirements for a computer system.

Books

Following are good books for learning use cases

[Writing Effective Use Cases by Alistair Cockburn ]

[Object-Oriented Software Engineering: A Use Case Driven Approach by Ivar Jacobson ]

References on the Web

1. Jocabson, Ivar. Basic Use-Case modeling, Report on Object Analysis and Design, 1(2): 15-19, 1994 2. Jocabson, Ivar. Baisc Use-Case Modeling (Continued), Report on Object Analysis and Design, 1(3): 7-9, 1994 3. Rumbaugh, James. Journal of Object-Oriented Programming: 8-12, 23, Sept. 1994