Technical Program
Educators' Symposium
Doctoral Symposium
Student Research

Student Volunteers
Special Events
Housing Information
Registration Information

Monday, 4 November – 8:30-12:00 Morning – Convention Ctr - Room 2B

9 The Art of Writing Use Cases

Rebecca Wirfs-Brock
Wirfs-Brock Associates, rebecca@wirfs-brock.com
John Schwartz
OHSU, schwajoh@ohsu.edu

Use Cases describe the behavior of a software system from an external usage perspective. There is an art to writing them clearly. Written carefully, use case models convey key usage specifications and can be tied to other requirements. Written poorly, use cases are confusing and ambiguous. This tutorial presents examples of good and bad use case descriptions, and practical techniques for writing three forms of descriptions: narratives, scenarios, and conversations. Narratives are high-level descriptions written from an external perspective. We show how to elaborate high-level descriptions, choosing either a scenario form, which emphasizes sequence, or a conversation, which highlights interactions between a user and the system. Tips for naming use cases, describing policies, errors and exceptions, attaching other important information, describing meaningful pre- and post-conditions, and creating informative glossary entries are also presented. This tutorial will also expose students to techniques for critically reading and revising use cases in various forms.

Attendee background

Attendees should be looking for practical ways to improve their use-case writing. They should be familiar with writing and reading software requirements and usage descriptions. Attendees could benefit from an introduction to object concepts. However, an object background is not a pre-requisite!


The tutorial will be presented in a lecture format with slides. Interspersed with each major section will be short, instructor-led exercises that will reinforce the material presented. Students' handouts will include a copy of the slides as well as numerous use case guidelines.


Rebecca Wirfs-Brock is president of Wirfs-Brock Associates, a firm specializing in the transfer of object analysis and design expertise to organizations and individuals through training, mentoring, and consulting. Rebecca has been involved with object technology since its infancy. She is the inventor of the set of development practices known as Responsibility-Driven Design. From development on the Tektronix implementation of Smalltalk in the early 1980's, through years of development and training experience, she is recognized as one of only a few knowledgeable and influential practitioners of object-oriented design. She spent 17 years as a Software Engineer at Tektronix, where among other accomplishments, she managed the first commercial Smalltalk effort and was the technical lead for the development of Color Smalltalk. She has written articles, lectured and presented tutorials on object analysis, design and management topics, and has been an innovator in object technology since 1984. Together, with Alan McKean she has co-authored a new design book, to be published in 2002 by Addison-Wesley. Recently, she has authored use cases for a telecommunications framework and an online banking system and has mentored teams designs in use case writing, design, architecture and managing incremental, iterative object-technology projects. She practices what she teaches!

John Schwartz is a widely known and respected authority on object analysis and design. John has over 15 years of experience developing and managing object-oriented projects in telecommunications, medical, and CAD. Prior to his current position, he was Vice President and Director of Software Architecture of a 120-person telecom information technology group. While with ParcPlace Systems, he influenced the development of the Object Behavior Analysis method pioneered by Adele Goldberg and Kenny Rubin. John was chairman of the OMG's original Object Model Task Force, and developed the model that CORBA is based on. He has contributed to the definition and practical application of Object Behavior Analysis, Responsibility-Driven Analysis and Design Methodologies. He consults on design and methodology to major object-oriented projects. He has conducted over 100 tutorials and classes on object analysis, design, and programming.