Most Helpful Customer Reviews
|
|
34 of 36 people found the following review helpful:
5.0 out of 5 stars
Excellent and Practical, November 2, 1998
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.
|
|
|
34 of 37 people found the following review helpful:
5.0 out of 5 stars
Learing abstraction by example, January 18, 2000
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.
|
|
|
31 of 34 people found the following review helpful:
5.0 out of 5 stars
This is a great book and fun to read, October 8, 1999
By A Customer
This book will give you a great foundation for applying use cases and does so in a format that is to the point and user friendly. The book is only about 180 pages and does well with this amount of space. It doesn't attempt any great tangents of though or reason bit stays focussed on use cases and the relevant material that is associated with the subject. Two points that could be strengthened in the book are: 1) the level of abstraction that you are applying to the use case at a particular time and how this may evolve over time, 2) there could be a little more structure provided for traceability throughout the project lifecycle. Both points are mentioned but the authors never really provide a structured mechanism to handle these issues, which would be a complex requirement for all but he simplest projects. I thought the ongoing fictional case study approach was a great idea. It allowed the reader to catch their breath along the way and also provides for some contextual insight that can be missed in a strictly academic format. Although not directly related to this title, "Designing Object-Oriented Software" by Wirfs-Brock, et. al. is also right on the nose with using a responsibility driven approach and CRC cards. It's a good read by itself but especially in combination with Applying Use Cases.
|
|
|
Most Recent Customer Reviews
|