Applying Use Cases: A Practical Guide

Use case analysis is a methodology for defining the outward features of a software system from the user's point of view. Applying Use Cases, Second Edition, offers a clear and practical introduction to this cutting-edge software development technique. Using numerous realistic examples and a detailed case study, you are guided through the application of use case analysis in the development of software systems.

This new edition has been updated and expanded to reflect the Unified Modeling Language (UML) version 1.3. It also includes more complex and precise examples, descriptions of the pros and cons of various use case documentation techniques, and discussions on how other modeling approaches relate to use cases.

Applying Use Cases, Second Edition, walks you through the software development process, demonstrating how use cases apply to project inception, requirements and risk analysis, system architecture, scheduling, review and testing, and documentation. Key topics include:

  • Identifying use cases and describing actors
  • Writing the flow of events, including basic and alternative paths
  • Reviewing use cases for completeness and correctness
  • Diagramming use cases with activity diagrams and sequence diagrams
  • Incorporating user interface description and data description documents
  • Testing architectural patterns and designs with use cases
  • Applying use cases to project planning, prototyping, and estimating
  • Identifying and diagramming analysis classes from use cases
  • Applying use cases to user guides, test cases, and training material

An entire section of the book is devoted to identifying common mistakes and describing their solutions. Also featured is a handy collection of documentation templates and an abbreviated guide to UML notation.

You will come away from this book with a solid understanding of use cases, along with the skills you need to put use case analysis to work.

"1100891493"
Applying Use Cases: A Practical Guide

Use case analysis is a methodology for defining the outward features of a software system from the user's point of view. Applying Use Cases, Second Edition, offers a clear and practical introduction to this cutting-edge software development technique. Using numerous realistic examples and a detailed case study, you are guided through the application of use case analysis in the development of software systems.

This new edition has been updated and expanded to reflect the Unified Modeling Language (UML) version 1.3. It also includes more complex and precise examples, descriptions of the pros and cons of various use case documentation techniques, and discussions on how other modeling approaches relate to use cases.

Applying Use Cases, Second Edition, walks you through the software development process, demonstrating how use cases apply to project inception, requirements and risk analysis, system architecture, scheduling, review and testing, and documentation. Key topics include:

  • Identifying use cases and describing actors
  • Writing the flow of events, including basic and alternative paths
  • Reviewing use cases for completeness and correctness
  • Diagramming use cases with activity diagrams and sequence diagrams
  • Incorporating user interface description and data description documents
  • Testing architectural patterns and designs with use cases
  • Applying use cases to project planning, prototyping, and estimating
  • Identifying and diagramming analysis classes from use cases
  • Applying use cases to user guides, test cases, and training material

An entire section of the book is devoted to identifying common mistakes and describing their solutions. Also featured is a handy collection of documentation templates and an abbreviated guide to UML notation.

You will come away from this book with a solid understanding of use cases, along with the skills you need to put use case analysis to work.

35.99 In Stock
Applying Use Cases: A Practical Guide

Applying Use Cases: A Practical Guide

Applying Use Cases: A Practical Guide

Applying Use Cases: A Practical Guide

eBook

$35.99  $47.99 Save 25% Current price is $35.99, Original price is $47.99. You Save 25%.

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

Use case analysis is a methodology for defining the outward features of a software system from the user's point of view. Applying Use Cases, Second Edition, offers a clear and practical introduction to this cutting-edge software development technique. Using numerous realistic examples and a detailed case study, you are guided through the application of use case analysis in the development of software systems.

This new edition has been updated and expanded to reflect the Unified Modeling Language (UML) version 1.3. It also includes more complex and precise examples, descriptions of the pros and cons of various use case documentation techniques, and discussions on how other modeling approaches relate to use cases.

Applying Use Cases, Second Edition, walks you through the software development process, demonstrating how use cases apply to project inception, requirements and risk analysis, system architecture, scheduling, review and testing, and documentation. Key topics include:

  • Identifying use cases and describing actors
  • Writing the flow of events, including basic and alternative paths
  • Reviewing use cases for completeness and correctness
  • Diagramming use cases with activity diagrams and sequence diagrams
  • Incorporating user interface description and data description documents
  • Testing architectural patterns and designs with use cases
  • Applying use cases to project planning, prototyping, and estimating
  • Identifying and diagramming analysis classes from use cases
  • Applying use cases to user guides, test cases, and training material

An entire section of the book is devoted to identifying common mistakes and describing their solutions. Also featured is a handy collection of documentation templates and an abbreviated guide to UML notation.

You will come away from this book with a solid understanding of use cases, along with the skills you need to put use case analysis to work.


Product Details

ISBN-13: 9780789745453
Publisher: Pearson Education
Publication date: 03/31/2001
Series: Addison-Wesley Object Technology Series
Sold by: Barnes & Noble
Format: eBook
Pages: 272
File size: 10 MB
Age Range: 18 Years

About the Author

Geri Schneider is a senior consultant and trainer at Andrews Technology, Inc., in the areas of iterative development, software project management, object-oriented analysis and design, software architecture, design patterns, and use cases. In addition, she teaches in the software engineering management certificate program for the University of California Santa Cruz Extension. She previously worked for Rational Software Corporation mentoring customers in the areas of iterative development, object technologies, and use case analysis.

Jason P. Winters is a staff design engineer for Cadence Design Systems, Inc. He was previously with Lucent Technologies as a staff engineer. At Lucent, he designed and built specialized tools, promoted the use of modern software development practices and tools throughout the company, and mentored projects on object-oriented analysis and design, UML, and use cases.

Read an Excerpt

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

Table of Contents



Foreword.


Preface to Second Edition.


Preface.


1. Getting Started.

An Iterative Software Process.

An Example Project.

The Project Description.

Starting Risk Analysis.

Chapter Review.



2. Identifying System Boundaries.

Identifying Actors.

Identifying Use Cases.

Describing Actors and Use Cases.

Handling Time.

Potential Boundary Problems.

Scoping the Project.

Chapter Review.



3. Documenting Use Cases.

The Basic Use Case.

Pre- and Postconditions.

Flow of Events.

Guidelines for Correctness and Completeness.

Presentation Styles.

Other Requirements.

Handling Complex Use Cases.

The Basic Path.

Alternative Paths.

Detailing Significant Behavior.

Documenting Alternatives.

Scenarios.

Adding Direction to the Communicates Association.

Chapter Review.



4. Advanced Use Case Documentation Techniques.

Include.

Extend.

Inheritance.

Interfaces.

Chapter Review.



5. Diagramming Use Cases.

Activity Diagrams.

Simple Sequence Diagrams.

Diagramming the User Interface.

Chapter Review.



6. Level of Detail.

Determining the Level of Detail.

Traceability between Use Cases.

Use Cases for Business Processes.

Chapter Review.



7. Documenting Use Cases.

Documentation Templates.

Other Documents.

Tool Support for Documents.

Documenting Login.

Documenting CRUD.

Chapter Review.



8. Reviews.

Review for Completeness.

Review for Potential Problems.

Review with End Users.

Review with Customers.

Review with Development.

Reviewers.

Adding Flexibility to Your System.

Common Mistakes.

Work Flow on a Use Case Diagram.

Use Cases Too Small.

Screens as Use Cases.

Using Vague Terms.

Business versus Technical Requirements.

Chapter Review.



9. Dividing Large Systems.

Architectural Patterns.

Three-Tier Architectural Pattern.

Pipe and Filter Architectural Pattern.

Object-Oriented Architectural Pattern.

Order-Processing Architecture Example.

Testing the Architecture with Use Cases.

Sequence Diagrams.

Defining Interfaces between Subsystems.

Subordinate Use Cases.

Creating Subsystem Documentation.

Subordinate versus Alternative versus Include.

Chapter Review.



10. Use Cases and the Project Plan.

Planning the Project.

Build versus Buy Decisions.

Prototyping.

Estimating Work with Use Cases.

Weighting Actors.

Weighting Use Cases.

Weighting Technical Factors.

Use Case Points.

Project Estimate.

Chapter Review.



11. Constructing and Delivering a System.

Key Abstractions of the Domain.

Identifying Key Abstractions in Use Cases.

Diagramming Scenarios with Key Abstractions.

Diagramming Key Abstractions.

Use Case versus Subsystem View.

The Iteration Schedule.

Delivery and Beyond.

User Guides and Training.

Sales Kits and Marketing Literature.

Use Cases After Delivery.

Chapter Review.

Final Wrap-Up.



Appendix A: Resources.


Appendix B: Documentation Templates.

System or Subsystem Documents.

Use Case Document.



Appendix C: UML Notation.


Appendix D: Sending Results of the Use Case Estimator.


Appendix E: Order-Processing System.

Order-Processing System.

Risk Factors.

System-Level Use Cases.

Architecture.



Index.

Preface

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 Dean Larsen Phil Price -- Qualcomm Arthur J. Riel Somboon Supakkul

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

From the B&N Reads Blog

Customer Reviews