Applying Use Cases: A Practical Guide Paperback – Aug 28 1998
There is a newer edition of this item:
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
With the emergence of the Unified Modeling Language (UML) over the last few years, developers new to the advantages of thorough software-engineering practices now have a better notational system for designing more effective software. To use UML effectively, you will want to create use cases, which help describe the requirements of a system. In their concise and very readable book, the authors of Applying Use Cases show how use cases can benefit all aspects of the software-design process and let you create better software in less time.
This guide provides a case study for a mail-order business (with some e-commerce as well) as its central example. Use cases define how actors (i.e., users) are defined for all the various components of a mail-order business, including inventory, accounting, and order fulfillment. The authors suggest that while use cases are particularly useful at the beginning of a project cycle--for assessing risks and setting project timetables, for instance--they are also useful for testing and deployment of systems (specifically, for creating documentation and help manuals). The sample use cases--and supporting design documents--are what's best in this text. --Richard Dragan
From the Inside Flap
You're about to start a new project. Sometimes it seems like colonizing the moon would be easier. But you assemble a stalwart team and prepare to set sail on the good ship Requirements hoping to reach the fabled land of Success. They say there are no failed projects in Success and the profit margin is so high, the streets are paved with gold.
There are many dangers between here and Success. Many a ship is sunk on the way some say as many as 80 percent never reach that fabled land. You query those who have tried before. Use a ship from the OO line, they say. Booch, OMT, OOSE, UML are all good models to choose from. You'll also need a chart showing risks along the way and an architecture of the major land masses. And finally you'll need to plot a course of use cases to reach your destination. Use Cases are included in the Unified Modeling Language and are used throughout the Rational Unified Process. They are gaining wide acceptance in many different businesses and industries. Most often, use cases are applied to software projects and enterprise-wide applications.
This book is for anyone interested in applying use cases to project development. While we can't guarantee you will always have successful projects when using use cases, we can give you another way of looking at the projects you are developing and some tools that will make success more likely. You will get more benefit out of the book if you have some basic knowledge of object-oriented concepts. We will use the Unified Modeling Language for the notation, explaining the notation as we use it. A good book to use for reference on the notation is UML Distilled by Fowler. This is an excellent book on the topic and easy to read.
This book is organized using the Rational Unified Process as a framework. Within the phases of the process, we talk about the activities in the phase, focusing on activities based on use cases. We touch lightly on activities that interact with use cases, such as software architecture, project management, and object-oriented analysis and design. These are very important activities, with whole books devoted to each topic. Therefore, in the resource list in Appendix A, you will find our favorite books on these topics.
We have used one example, an order-processing system for a mail order company, throughout the book. This allows us to maintain consistency and build up a reasonably complex example. Parts of the solution are given in the various chapters to illustrate the concepts.
This book is presented as a sequence of steps, though life is never that simple. Each part will contribute to the rest until the system is complete. So if a section says to create an architecture, do what you can at that time, using what you currently know. You will add to it and refine it based on knowledge gained while working through the process.
You don't have to read the whole book before starting with use cases. Chapters 1 through 5 give the basics of working with use cases. We recommend that everyone reads those chapters. Chapter 6 covers architecture and mapping use cases into the architecture. Chapter 7 covers documenting use cases. Chapter 8 covers project planning with use cases, and Chapter 9 covers reviewing the use case documents. Chapter 10 goes into moving from use cases to OOAD. Ultimately, use cases are about documenting your system. Plan on doing a lot of writing. Appendix A provides a list of books we reference throughout the text, as well as other books we have found useful when developing projects. Appendix B shows the document templates used. These provide an example and a starting point for your own project. Modify them as needed to work with your project.
In October of 1995, Rational Software Corporation merged with Objective Systems. Among other things, this merger brought with it Ivar Jacobson and his use cases. In February 1996, I wrote and delivered the first use case course for Rational, which combined use cases with the object-oriented methodologies of Grady Booch and Jim Rumbaugh. Since that time, I have taught and run workshops on use cases with many of Rational's customers, as well as customers of my consulting company, Wyyzzk Training and Consulting. As I have taught them, so they have taught me. This book came out of what I've learned through the workshops.
Acknowledgments Thanks to:
My parents, Phil and Joan Schneider. Their love and faith give me the confidence to reach for the stars and the persistence to succeed.
My professors at Southern Illinois University, Edwardsville, in particular Dr. Nadine Verderber, Dr. Greg Stephen, and Dr. Eric Sturley. The education I received has proved to be a firm foundation on which I could build knowledge and skills.
Dr. Ivar Jacobson for the original work on use cases. I've built on the foundations he defined. Thanks also for his comments on the book in its early stages. His comments got me past a stuck point at a critical time.
My colleagues at Rational Software Corporation for their encouragement and support, particularly the men and women in the North American Field Organization, the International Field Organization, and Technical Support. Each one is an outstanding engineer, always willing to share with the rest what he or she has learned. This free exchange of ideas has been invaluable for maturing the processes we all teach use cases, OOAD, and OOPM. In particular I want to thank my former team, Deborah Bell, Sue Mickel, and Jean-Pierre Schoch, for their support and encouragement.
Neal Reizer, Bill Fairfield, and Garth Andrews for their support and encouragement and my customers and students, who taught me much while I was mentoring them.
Karin Palmkvist who helped us tremendously by doing a final review of the manuscript.
Bob and Norma Hughes for mowing our lawn when we got too busy with the book to do it. And we didn't even ask!
Special thanks to Dr. James Rumbaugh. He has helped me through the publishing process, giving advice and encouragement along the way. His intercession led to Addison-Wesley reviewing and publishing this book. Many thanks to our distinguished reviewers. They worked as hard as we did to make this book happen.
Kurt Bittner -- Rational Software Corporation
Lois Delcambre -- Professor, Computer Science and Engineering Department, Oregon Graduate Institute
Kelli A. Houston -- Rational Software Corporation
John Sunda Hsia
Phil Price -- Qualcomm
Arthur J. Riel
Speaking of hard workers, we were most fortunate to be working with J. Carter Shanklin, Angela Buenning, Rachel Beavers, and Krysia Bebick at Addison Wesley Longman. Our most heartfelt thanks for all your support and encouragement. You guys did all the tough work to make this book a reality. Special thanks to Marilyn Rash, and her team of editing and typesetting experts, who made sure this book got through production.
Last, but not least, thank you to Jason Winters for his love, support, and encouragement. He is the storyteller who brought the book to life. His unique insights brought clarity to a sometimes difficult subject. Geri Schneider Winters
Santa Clara, California 0201309815P04062001
Top Customer Reviews
My favorite aspect of "Applying Use Cases" is how it follows a hypothetical project from Inception to Transition phases. The authors provide the reader with a clear idea of how Use Cases fit into the software development process as a whole, rather than just providing some templates for producing Use Case documents without instructions on their use.
The best, and worst, thing about books in the Object Technology Series (of which "Applying Use Cases" and "UML Distilled" both belong to) is their brevity. The concepts are conveyed very clearly and concisely, but it feels like I should be getting more substance ... .
Overall, this is a wonderful book and belongs on the shelf of any Software Engineer or Project Manager. It goes well with "Extreme Programming Explained" and "A Practical Guide to Extreme Programming", two of my favorites in this genre.
I chose this book because I know Geri Schneider-Winters as a professional (we worked together at UCSC Extension.) I was not disappointed.
The premise is that several people, with some experience in designing systems, but certainly not experts, decide to build an order processing system. Choosing a group of non-experts is a stroke of genius, since it allows the authors to use dialog based on the premise of learning as you go, which describes most of us. This approach makes it much easier to relate to their trials and tribulations as they plunge in over their head, only to be rescued by the proper applications of use cases.
Requirements are iteratively added as needed or discovered, demonstrating how iterative development is superior to others such as the waterfall. The developers are learning the background while constructing their system. Elaborating on their initial model is a slow and steady process, however it is not without the frequent step back. These glitches are presented in a realistic format with sections devoted to common mistakes made when using use cases.
A great deal of effort is also expended in describing how refined the use cases should be. One of the topics in the section on common mistakes is making the use cases too small. Like anything else, they can be split down to the point where they complicate rather than simplify. With no fixed rules to guide the process, you are forced to rely on more common sense notions. This is always hard, but some good, effective guidelines are given.Read more ›
The scenario is that a group of designers want to build a "simple" online ordering system. They begin with the proverbial conversation over coffee which contained the usual, "that system stinks and we could do better" phrase. From there, a general, but fairly complete process is presented. Every step in the sequence of requirements definitions is given. Many potential use cases are put forward, which is excellent, as this allows the authors to demonstrate the culling process, whereby some use cases are eliminated and others are combined.
The presentation is a combination of simulated dialog between the principals and more formal techniques of requirements capture such as actors and their diagrams. One thing that impressed me was the accuracy of the dialog. Anyone who has participated in the requirements capture process will experience a flashback. It is written with the beginner in mind, as very little programming background is needed to understand it. This is a thorough demonstration of how to create and apply use cases, without the depth that requires more formal notational techniques.
Use cases are sometimes very hard to teach, as is the case with most abstractions. In this book, the abstract is made concrete and if you read it you will learn a lot about use cases. However, you still may not be able to offer a precise definition.
Most recent customer reviews
An excellent book. Gustav Karner did a really good job, finding the solution of estimating resources for object oriented projects.Published on June 22 2004
Though small, thin, and expensive, this books packs a ton of useful information. It is well worth the price. Read morePublished on March 7 2002 by Philip Vardara
Back when, this was probably an OK book for the real novice - easy reading. Nowadays there are better ones, the Cockburn and Kulak ones contain real information. Read morePublished on Jan. 20 2001
This book will get you up to speed very quickly w/ the needed information to successfully write and use "use Cases". Read morePublished on Dec 29 2000 by Amazon Customer
I liked this text. I'm a programmer, and may have increased project management responsibilities in the future. Read morePublished on Sept. 20 2000 by D Battaile Fauber
After reading through the sixth chapter of this book the light bulb goes on and suddenly you start to understand how everything fits together using the UML and Unified Process... Read morePublished on Aug. 17 2000 by Linus W Freeman
Great book for a practical and concise introduction to use cases. Also dwells on the UML methodology as far as the basic process for developing the order entry system goes. Read morePublished on Aug. 17 2000 by Chetan Kotwal
" Applying Use Cases : A Practical Guide" is not bad, but when I browsed through several Use Case books at a local book store, I decided to buy "Use Cases:... Read morePublished on July 5 2000 by Andreas Pizsa
Look for similar items by category
- Books > Computers & Technology > Computer Science > Systems Analysis & Design
- Books > Computers & Technology > Networking & Cloud Computing
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Software
- Books > Professional & Technical > Professional Science > Mathematics
- Books > Textbooks > Computer Science & Information Systems > Object-Oriented Software Design
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering