| ||||||||||||||||||
While many titles on software engineering get bogged down in software engineering theory, this book is a friendly and intelligent exception to the rule. The authors deliver a clearly presented tour of the basics of designing effective use cases organized around a single large case study for an order-processing system. The key steps in developing and refining use cases are illustrated with dialogues between hypothetical participants, framed by commentary. From defining a project scope to identifying risks and then creating basic and advanced use cases, guidelines and sample documents are provided to help you get started.
The material on integrating how-to document success and failure scenarios as actors work with software is particularly good. (The successful "basic path" is documented first, and then you learn about what can go wrong in alternative failure paths.) The authors are very clear about how use cases work together, even including or inheriting from one another. Managers will appreciate the presentation of a method (and formula) to calculate how long a given project will take based on the number and complexity of its use cases. This title makes judicious use of UML throughout (including activity diagrams) that can supplement written textual descriptions of use cases. Final chapters examine how to fit use cases into the entire project development lifecycle, from implementing to deploying a design.
Applying Use Cases proves that computer books don't have to be 1,000 pages long to provide real expertise on writing better applications. This is an extremely worthwhile choice for any developer or IT manager seeking to deliver higher quality software in less time. --Richard Dragan
Topics covered:
There have been many changes for us and for the UML since the first edition was released in September 1998. The book has changed to stay current. The material in the first edition is also in the second edition, but you may find it in a new location. We moved the engineering-oriented material to the end of the book, and the business-oriented material to the beginning. This should make it easier for different audiences to find the material that interests them.
We updated the book to UML 1.3. A lot of the changes are in Chapters 3 and 4 because that is where we described most of the notation. The uses relationship became two relationships in UML 1.3, include and generalization. The extends relationship became extend. In both cases the notation changed as well. The definition of scenarios changed a bit too. What we used to call scenarios are now called paths.
We have added some new material that we found useful and important. Chapter 6 is a new chapter on setting the level of detail in use cases. This includes information on business process-level use cases and maintaining traceability between use cases at different levels of detail. Chapter 7, Documenting Use Cases, includes some ideas on handling login and CRUD (create, read, update, delete) in use cases. Chapter 8, Reviews, has a new section on common mistakes we have seen and how to fix them. We have included more information on sequence diagrams in Chapters 5 and 9.
There have been changes for me and Jason as well. Jason left Octel and is now a staff engineer at Cadence Design Systems. I liked having my own business, but didn't like the bookkeeping, so I took a job running the OO division of Andrews Technology, Inc. We still have Wyyzzk and Jason does some weekend consulting for that business. Things even changed on the publishing side. Addison-Wesley is now part of Pearson Education, and we have a whole new team managing the Object Technology series. They have been wonderful to work with and made the transition as smooth as possible.
One question we get asked a lot is: What do the footprints and people talking icons mean? The footprints mark major steps in the process. The people talking appear next to the storyline.
Thank you for all the e-mail about the book. We don't always get a chance to reply, but we have read all your letters and hope we have answered most of your questions in this second edition. Geri Schneider Winters
Santa Clara, California 0201708531P04062001
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
35 of 37 people found the following review helpful:
5.0 out of 5 stars
Excellent and Practical,
By lloyd@kurth.com (Phoenix, Arizona, USA) - See all my reviews
This review is from: Applying Use Cases: A Practical Guide (Paperback)
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,
By Charles Ashbacher (Marion, Iowa United States) - See all my reviews (TOP 500 REVIEWER) (VINE VOICE) (HALL OF FAME REVIEWER)
This review is from: Applying Use Cases: A Practical Guide (Paperback)
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,
By A Customer
This review is from: Applying Use Cases: A Practical Guide (Paperback)
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.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|