Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Book Review - Writing Effective Use Cases

Books  
HOME 
SEMINARS 
TALKS 
ARTICLES 

BOOKS

  OVERVIEW
  REVIEWS

  BIBLIOGRAPHY    
    J2SE
    J2EE
    CORE C++
    STL
    TEMPLATES
    IOSTREAMS
    CONCURRENCY
    I18N
    PATTERNS
    OOA/OOD
    TESTING
    MANAGEMENT
 

LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
Book Review - Writing Effective Use Cases
   
  Book Review of the week  
 
 
  Java Platform Performance: Strategies and Tactics 
  By Alistair Cockburn
  Reading,MA:Addison-Wesley
  ISBN 0201702258 
  304 pages 
 
  Price: $34.95 
(Reviewed 4/18/01) 
 
An Excellent Self-Study Guide on Writing Use Cases
Written for practitioners by a recognized expert

I n the late 1980s Ivar Jacobson introduced a novel concept called use cases to the world of object-oriented analysis and design. Today use cases are an integral part of the formal UML standard. Countless people use them to capture the behavior of systems they are working on. 

Use cases are typically used for the following reasons: 

  • To document business processes, either existing ones or new ones that are to be established.
  • To describe the required behavior of a software system under development so that the later users and the provider of the system get a common understanding of the future system. 
A use case is the description of a scenario in which the system responds to external requests. These requests come from a so-called actor , which initiates an interaction with the system to accomplish a goal. The entirety of all use cases describes the system behavior that can be experienced by all actors. 

This approach makes use cases a quite simple and straightforward concept. However, a number of typical questions arise when starting to write use cases: How exactly are you supposed to write a use case? What makes a good use case? When are you done with one use case, and with all use cases? And so on. 

Because Alistair Cockburn is a practitioner and a coach in the field of use cases, his Writing Effective Use Cases provides the answers to these and many more questions related to them. 

The introduction shows a concrete example of a use case. It briefly discusses what use cases are and covers the critical points that typically come up when use cases are written. 

Part I explains the major, relevant concepts to use cases. Chapters cover "The Use Case as a Contract for Behavior," "Scope," "Stakeholders and Actors," etc. Along the way Cockburn incrementally develops text templates that can be used to write a use case. 

Part II addresses topics that typically arise when we work with use cases: "When Are We Done?" and "The Missing Requirements" are representative chapters in this part. 

Part III contains a set of reminders for those of you who are generally familiar with the material in the earlier chapters but want to refresh the key ideas of use case writing. This part should be revisited immediately before you actually use use cases in a project. 

Writing Effective Use Cases closes with four appendixes. The first one explains the UML graphic notation for use cases and its relationship to the textual writing of the use cases discussed in the book. The second appendix contains solutions to some to the exercises in the introduction and Part I. The third appendix contains a glossary. The fourth appendix lists references to related books. 

We highly recommend this book. Not only does it discuss many relevant topics, but its self-study format is suitable for beginners and experts. 

In addition to the wealth of detailed information you'll find here, Writing Effective Use Cases contains some unique ideas?for example, stakeholders . These are a generalization of actors. While actors directly interact with the system, stakeholders do not necessarily do so. Cockburn points out that for certain systems, there are some roles that benefit from the system, even though they do not directly interact with it. Consequently, these roles and their requirements should be taken into account when a system is modeled. 

If you are interested in Alistair Cockburn's work related to use cases, you can visit his Web site at members.aol.com/acockburn/ . There you can find his templates for writing use cases. 

Angelika Langer develops and teaches classes on Java, C++, multithreading, and internationalization. She is an internationally recognized speaker and served on the ANSI/ISO C++ Committee from 1993 to 1998. Klaus Kreft is a software architect and senior consultant with 15+ years of experience in industrial software development. He currently works for Siemens Business Services in Germany. Langer and Kreft are authors of "Standard C++ IOStreams and Locales" (Addison-Wesley, 2000) and are columnists for the C/C++ Users Journal. 

 

 
© Copyright 1995-2003 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Articles/Reviews/UseCases/review.htm  last update: 29 Oct 2003