Rating: Summary: Learing abstraction by example Review: 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.
Rating: Summary: From the perspective of the experienced beginner Review: 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.
Rating: Summary: Excellent read! Review: 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. I had read other books on UML and use cases, but found them to be verbose and theoretical. This book can get you up and running in no time.
Rating: Summary: EXCELLENT - SIMPLY THE BEST Review: I AM CURRENTLY STUDYING A SYSTEMS ANALYSIS COURSE, THAT HEAVILY INVOLVES USE CASES. DURING MY LAST COURSEWORK I COULD NOT FIND A MORE ACCURATE AND INFORMATIVE BOOK THAN "APPLYING USE CASES:A PRACTICAL GUIDE". I FOUND THE TEXT A VERY WELL WRITTEN AND STRUCTURED BOOK. I FEEL WITH OUT THE BOOK I WOULD NOT HAVE RECEIVED SUCH A HIGH MARK. WELL WORTH THE MONEY. JUST SIMPLY THE BEST!
Rating: Summary: UCP Explanation worth the price of admission Review: I have been a technology developer/manager for 20 years. In most organizations, there is little understanding of the value of structured requirements (there may be an acceptance philosophically, but in practice it done in pockets at best). This book not only helps communicate that value, it provides an excellent explanation of the Use Case Points estimation method. Managers who get their business partners to adhere to these practices and get their project managers to estimate in this fashion will begin to achieve far more predictable results.
Rating: Summary: ehhh ... so-so Review: 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.
Rating: Summary: Thumbs Up Review: 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.
Rating: Summary: Invaluable guide to understanding use cases Review: I was very, very happy I'd read this book. It describes a simple and intuitive process for analyzing requirements with use cases, and where to go with use cases - to activities, sequences, and packages. I actually enjoyed the fictional dialog; I think it helped me mentally prepare for similar things my users may say.
Rating: Summary: Is it a practical guide? Review: If you assume that a use case scenario should contain a detailed written description of a user behavior then, perhaps, the book is for you. In my mind it is impractical and most of the time impossible. I disagree with an idea that primary scenario of an event should contain such a detailed description: "1. The use case starts when the customer selects Place Order. 2. The customer enters his or her name and address..... 7. Customer will select Submit... 9. When payment is confirmed, the order is marked as confirmed. an order Id is returned to the customer. and the use case ends."
Rating: Summary: A Very Practical Book Review: It is an easy to read and practical book. You can easily customize and apply its methods in your project.
|