Amazon.com Customer Reviews
Useful as a refresher - Review written on November 13, 2002
Rating: 5 out of 5
1 customer found this review helpful.
As someone who has followed the development of UML and Use Cases for the past several years and who is now confronted with a project needing definition, I find the Scheider-Winters book very helpful -- not only in applying Use Cases, but also in defining the project itself.
I chose this book because I know Geri Schneider-Winters as a professional (we worked together at UCSC Extension.) I was not disappointed.
From the perspective of the experienced beginner - Review written on May 17, 2001
Rating: 4 out of 5
9 customers found this review helpful.
Given the proper instruction, working with use cases is not as hard as it may appear. Demonstrating them requires a large, detailed example to illustrate how complex structures can be reduced to understandable chunks. Therefore, the most critical part of any book on how to apply use cases is the choice of the system to model. That feature is what makes this book stand out.
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.
I found this book to be a superb introduction to the power of use cases, being easy to follow. Everyone from beginners to veterans can relate to the principals as they struggle to turn their good idea into an implemented one. You find yourself rooting for them as they move ever closer to their brass ring of success. In that respect, it is less like a technical book and more like a novel.
Thumbs Up - Review written on September 21, 2000
Rating: 4 out of 5
2 customers found this review helpful.
I liked this text. I'm a programmer, and may have increased project management responsibilities in the future. This book described an intuitive methodology that I feel confident about using.
Basically, they use the Rational Unified Process, and explain where use cases can be used at each juncture. They also get into some tricky situations, like denoting your error trapping in your use case, showing conditionals, etc.
I agree with the prior reviewer that said the dialogs of the fictitious project team got to be a little much. They were really painful to read.
There's a good, more practical alternative - Review written on July 06, 2000
Rating: 3 out of 5
14 customers found this review helpful.
" 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: Requirements in Context", which - to me - seems to be a far more practical book than this one.
Check out "Use Cases: Requirements in Context" before you buy any book on this topic.
Learing abstraction by example - Review written on January 18, 2000
Rating: 5 out of 5
34 customers found this review helpful, 3 did not.
For every abstraction used in the development of software, there is a definition and a set of rules concerning how to use it. Unfortunately, being an abstraction, the definition is often open to interpretation and the rules are nebulous guidelines. The concept of use cases is one such abstraction. Therefore, the best way to explain them is to use them in an understandable context. That is the approach taken in this book.
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.
Excellent and Practical - Review written on November 03, 1998
Rating: 5 out of 5
34 customers found this review helpful, 2 did not.
This book provides an excellent introduction to practical application of use cases. Most UML-related books hardly devote a chapter to use cases and use examples which are so elementary they provide little practical value. Applying Use Cases is devoted entirely to the subject of use cases (analysis, rather than design). It touches on design at the boundary between analysis and design and discusses this transitition point. It discusses use case development as an iterative cycle which doesn't end when design begins. Design may uncover more use cases when then need to be anaylzed and the developer(s) must iterate through use cases again.
The book uses an online ordering system as an example for building use cases. It presents this fictitious project from inception through to the point of design. This project is large enough that it works well with the topic. It provides enough detail to understand how important use cases are and how much effort should be devoted to them. However, it is not so complex that a UML beginner would have difficulty following it. It is fairly easy reading for a technical book and can be completed in a day. Reading it twice was helpful for me.
The little dialogs between the make-believe project team is perhaps a little overdone, but I think it works well in the context of the subject. This presentation style presents the "roots" of use cases fairly well. These types of dialogs are almost always part of the process even though they go undocumented.
As with all methodologies, UML included, the analysis of requirements is the most important step. Doing a poor job on use cases will lead to a poorly implemented software system. This book is the best I've seen covering use cases, the UML analysis method. I highly recommend it. I would like to see a follow-on book with a much more complex example which delves into more detail on use cases.