The Rational Unified Process is a software engineering process developed and marketed by Rational Software. It is a disciplined approach to assigning and managing tasks and responsibilities in a development organization. The goal of this process is to produce, within a predictable schedule and budget, high-quality software that meets the needs of its end users.
The Rational Unified Process captures many of the best practices in modern software development and presents them in a tailorable form that is suitable for a wide range of projects and organizations. The Rational Unified Process delivers these best practices to the project team online in a detailed, practical form.
This book provides an introduction to the concepts, structure, contents, and motivation of the Rational Unified Process. Goals of This Book
In this book, you will learn what the Rational Unified Process is and what it is not; master the vocabulary of the Rational Unified Process and understand its structure; develop an appreciation for the best practices that we have synthesized in this process; and understand how the Rational Unified Process can give you the guidance you need for your specific responsibility in a project.
This book is an integral part of the Rational Unified Process, but it is not the complete Rational Unified Process. Rather, it is a small subset. In the full Rational Unified Process you will find the detailed guidance needed to carry out your work. The full Rational Unified Process product--the online knowledge base--can be obtained from Rational Software.
This book makes numerous references to the Unified Modeling Language (UML), but it is not an introduction to the UML. That is the focus of two other books: The Unified Modeling Language User Guide and The Unified Modeling Language Reference Manual.
This introductory book speaks about modeling and object-oriented techniques, but it is not a design method, and it does not teach you how to model. Detailed steps and guidance on the various techniques that are embedded in the Rational Unified Process can be found only in the process product.
Several chapters of this book discuss project management issues. They describe aspects of planning an iterative development, managing risks, and so on. This book, however, is by no means a complete manual on project management and software economics. For more information, we refer you to the book Software Project Management: A Unified Framework.
The Rational Unified Process is a specific and detailed instance of a more generic process described in the textbook The Unified Software Development Process. Who Should Read This Book?
The Rational Unified Process, An Introduction, Second Edition is written for a wide range of people involved in software development: project managers, developers, quality engineers, process engineers, method specialists, system engineers, and analysts.
This book is relevant especially to members of an organization that has adopted the Rational Unified Process or is about to adopt it. It is likely that an organization will tailor the Rational Unified Process to suit its needs, but the core process described in this book should remain the common denominator across all instances of the Rational Unified Process.
This book will be a useful companion to students taking one of the many professional education courses delivered by Rational Software and its partners in industry and academia. It provides a general context for the specific topics covered by the course.
This book assumes that you have a basic understanding of software development. It does not require specific knowledge of a programming language, of an object-oriented method, or of the Unified Modeling Language. How to Use This Book
Software professionals who are working in an organization that has adopted the Rational Unified Process, in whole or part, should read the book linearly. The chapters have been organized in a natural progression.
Project managers can limit their reading to Chapters 1, 2, 4, and 7, which provide an introduction to the implications of an iterative, risk-driven development process.
Process engineers or methodologists may have to tailor and install the Rational Unified Process in their organizations. They should carefully study Chapters 3 and 17, which describe the process structure and the overall approach to implementing the Rational Unified Process. Organization and Special Features
The book has two parts: Part I describes the process, its context, its history, its structure, and its software development lifecycle. It describes some of the key features that differentiate the Rational Unified Process from other software development processes: Chapter 1: Software Development Best Practices Chapter 2: The Rational Unified Process Chapter 3: Static Structure: Process Description Chapter 4: Dynamic Structure: Iterative Development Chapter 5: An Architecture-centric Process Chapter 6: A Use-Case-Driven Process
Part II gives an overview of the various process components, or workflows. There is one chapter for each core process workflow. Chapter 7: The Project Management Workflow Chapter 8: The Business Modeling Workflow Chapter 9: The Requirements Workflow Chapter 10: The Analysis and Design Workflow Chapter 11: The Implementation Workflow Chapter 12: The Test Workflow Chapter 13: The Configuration and Change Management Workflow Chapter 14: The Environment Workflow Chapter 15: The Deployment Workflow Chapter 16: Typical Iteration Plans Chapter 17: Configuring and Implementing the Rational Unified Process
Most workflow chapters are organized into six sections: Purpose of the workflow Definitions and key concepts Workers and artifacts A typical workflow: an overview of the activities Tool support Summary
Two appendixes summarize all the workers (the roles of the process) and artifacts (the work products of the process) that are introduced in Chapters 7 through 15. A list of acronyms and glossary of common terms are provided, as is a short annotated bibliography. For More Information
Information about the Rational Unified Process, such as a data sheet and a downloadable demo version, can be obtained from Rational Software via the Internet at rational/rup_info/.
If you are already using the Rational Unified Process, additional information is available from the Rational Unified Process Resource Center, which has extra goodies, updates, and links to partners. The hyperlink to the Resource Center is in the online version.
Academic institutions can contact Rational Software for information on a special program for including the Rational Unified Process in the curriculum. Second Edition
This second edition of The Rational Unified Process: An Introduction makes the book current with the Rational Unified Process 2000. With this latest release, the Rational Unified Process has improved in both breadth and depth. In breadth, new content has been added to cover business engineering, management of nonfunctional requirements, and development and deployment of multitier distributed applications. Existing content has been refined as well, including improved coverage of application interface design (especially applied to developing effective Web applications) and designing systems using patterns and frameworks. Coverage for developing real-time and reactive systems has also been added. Testing has been expanded to cover the entire lifecycle, from validation of architectural prototypes to verification of the delivered product. Finally, process roadmaps have been added that provide overviews of how to apply the process to different kinds of projects and technologies. In addition, content depth has been added, including expanded checklists and guidelines for process artifacts, activities, and phases. Acknowledgments
The Rational Unified Process reflects the wisdom of a great many software professionals from Rational Software and elsewhere. The history of the process can be found in Chapter 2. But putting together a book, even as small and modest as this one, required the dedicated effort of a slate of people, whom I would like to recognize here.
The members of the Rational Process Development Group assembled the Rational Unified Process and contributed to this introduction. You will see some of their names associated with specific chapters. Kurt Bittner contributed to the analysis and design chapter, contributed to project management and test, and developed the data engineering aspects. Maria Ericsson developed the business engineering and requirements management aspect and was a keeper of the process architecture. Leslee Probasco contributed to the requirements management workflow. Stefan Bylund contributed to the analysis and design chapter and integrated the user-interface design aspects. Håkan Dyrhage contributed many ideas to the organization and structure of the process and to its implementation and configuration and also coordinated the development of the online version. John Smith expanded the project management aspects for RUP 2000. Jas Madhur contributed the ideas on configuration management, change management, and deployment. Bruce Katz contributed the testing aspects of the process. Margaret Chan was responsible for the product integration and for the assembly of most of the artwork in this book. Debbie Gray is the devoted administrative assistant of a team spread across nine time zones.
We are very grateful to Grady Booch for writing Chapter 1.
Per Kroll is the marketing manager for the Rational Unified Process, and Paer Jansson is its product manager, joined recently by Matt Herdon. Christina Gisselberg and Eric Turesson designed and developed the online version. Stefan Ahlqvist developed the ideas on user-interface design. Chinh Vo helped assemble the book.
The Rational Unified Process and this book benefited from the reviews and ideas of Dave Bernstein, Grady Booch, Geoff Clemm, Catherine Connor, Mike Devlin, Christian Ehrenborg (Dr. Usecase), Sam Guckenheimer, Björn Gustafsson, Ivar Jacobson, Ron Krubek, Dean Leffingwell, Andrew Lyons, Bruce Malasky, Roger Oberg, Gary Pollice, Leslee Probasco, Terri Quatrani, Walker Royce, Jim Rumbaugh, John Smith, and Brian White.
We would also like to thank our partners--Scott Ambler, Ensemble Systems, IBM Global Services, and Content Integration--for their contributions.
Special thanks go to the Rational field, and especially our British friends, who have always had some special interest in the Rational process: Ian Gavin, Ian Spence, and Mike Tudball.
The Frenglish and the Swenglish were ironed out by Joy Hemphill and Pamela Clarke.
And finally many thanks to our editor, J. Carter Shanklin, as well as Kristin Erickson, Marilyn Rash and her team, and all the staff at Addison Wesley Longman for getting this book out as quickly as they did. Philippe Kruchten
Vancouver, B.C., Canada 0201707101P04062001