Use cases for requirements gathering- an ideal tutorial and a handy reference.
Step-by-step coverage- problem statements, risk analysis, prototyping, and iteration.
Managing requirements gathering- processes, teams, and classic mistakes to avoid.
Includes end-of-chapter quizzes, detailed glossary, and more. Software developers are increasingly recognizing the value of careful up-front requirements gathering in enhanced efficiency and reduced software defects. The best way to gather requirements accurately and precisely is with use cases and UML -- and this book walks you through the entire process, step-by-step. Both an excellent tutorial and a handy reference, Use Cases- Requirements in Context begins with a detailed overview of requirements gathering, its key challenges, and why traditional approaches often fail. Next, understand the key concepts underlying use cases; use case diagrams and scenarios; relationships and interactions; and the role of use cases in each major type of software development project. Review the four steps of the requirements gathering process, from problem statement through prototype; then walk through each iteration of the use case, step-by-step. The book includes insightful coverage of managing the requirements gathering process, building teams, and assuring quality -- plus a full chapter on the classic mistakes made in requirements gathering, and how to avoid them. For all systems analysts, project managers, and software engineers.
Daryl Kulak is the Director of the Object-Oriented Solutions Practice for Complete Business Solutions, Inc. (CBSI). During his 15-year career managing software development projects in the United States and Canada, he has focused on use cases, iterative/incremental development, and components.
Eamonn Guiney is a Technical Architect for CBSI and manages object-oriented software development projects.
Use Cases: Requirements in Context came about, as most books probably
do, as the result of a complaint. We felt that there weren't any good books
that addressed use cases for requirements gathering. It seemed that a lot of
people agreed that use cases were a perfectly good tool to solve the requirements
problem, but no one had put down on paper any detailed process to help people
understand how to use them this way. In fact, even as we write today, in late
1999, there is no book of this sort that we know of.
Requirements gathering has been a problem on almost every project we've been
involved with. The fuzzy nature of requirements makes working with them slippery
and unintuitive for most software analysts. Use cases are the first tool we've
seen that addresses the specification and communication concerns usually associated
with requirements gathering.
Although use cases in themselves are quite intuitive, the process around them
is often done poorly. The questions that people have--How many iterations do
I do? How fine-grained should a use case be?--are not answered or even addressed
in most texts. This is probably because they are hard questions and the answers
can vary greatly from one situation to another. However, they are important
questions, and we decided to describe our own best practices as a first volley
in what we hope will become a spirited industry dialog on how to generate requirements
that will address user needs.
Use Cases: Requirements in Context is a practical book for the everyday
practitioner. As consultants in the information technology industry, we employ
use cases to specify business systems as part of our daily lives. We think we
understand the issues facing people when they deliver software using tools such
as the Unified Modeling Language and use cases. Our main intent is not to describe
use case notation, although we do address that. Instead, we show a requirements
process that addresses requirements gathering in a way that produces quality
results.
While writing, we considered the factors that cause problems in requirements
gathering, and we developed a use case method for delivering a requirements-oriented
set of deliverables. The methodology breaks down the activity of producing requirements
into a series of steps, and it answers the questions that usually come up when
people employ use cases. This book relates directly to the real work of delivering
a specification, managing that effort with a team, and getting the most bang
for your buck.
The sample use cases and use case diagrams that appear throughout the book
are also presented in Appendixes B and C. These appendixes demonstrate the development
of the use cases and other requirements analysis artifacts through each phase
of their development. Appendix B documents a business system for real estate,
and Appendix C documents a business system for the garment industry.
We hope you enjoy this book. It was a labor of love for us. This is a process
that works well for us. If it works for you, too, that's great. If it doesn't,
perhaps you can adapt some of the tools, ideas, or suggestions to your own way
of addressing the requirements problem.
0201657678P04062001