本书是软件工程领域一本卓负盛名的经典著作,自问世以来取得了具大成功,被众多软件开发人员所推崇。本书的中文版在国内也很畅销,我们希望英文版的引入会让众多国内读者有机会直接面对这一权威巨著,深刻领会Rational统一过程的精妙之处。\r\n 本书简洁明快地介绍了Rational统一过程的概念、结构、内容和目的。Rational统一过程是一种支持Web的软件工程过程,它能提高软件开发团队的生产力,并为团队成员提供软件开发最佳实践。在让开发团队充分地认识UML(统一建模语言)、软件自动化和其他工业最佳实践的优势方面,Rational统一过程是独一无二的。\r\n Rational统一过程结合了无数项目和众多行业领导者的经验结晶,有机地统一了整个软件开发团队的工作,优化了团队中每一个成员的生产力。以本书作指导,在预期的时间和合理的预算内轻松完成高质量的软件不再是一种奢望。本书的作者是Rational统一过程产品的首席构架师,他在本书中与读者分享了他所拥有的过程知识,同时,在对掌握这种行之有效的软件开发方法所至关重要的部分,他作了重点讲解。
Preface\r\n\r\nGoals of This Book\r\nWho Should Read This Book?\r\nHow to Use This Book\r\nOrganization and Special Features\r\nFor More Information Second Edition\r\nSecond Edition\r\nAcknowledgments\r\n\r\nPart I The Process\r\n\r\n1 Software Development Best Practices\r\n\r\nThe Value of Software\r\nSymptoms and Root Causes of SoftwareDevelopment Problems\r\nSoftware Best Practices\r\nDevelop Software Iteratively\r\nManage Requirements\r\nUse Component-Based Architectures\r\nVisually Model Software\r\nContinuously Verify Software Quality\r\nControl Changes to Software\r\nThe Rational Unified Process\r\nSummary\r\n\r\n2 The Rational Unified Process\r\n\r\nWhat Is the Rational Unified Process?\r\nThe Rational Unified Process as a Product\r\nProcess Structure:Two Dimensions\r\nSoftware Best Practices in the Rational Unified Process\r\nOther Key Features of the Rational Unified Process\r\nA Brief History of the Rational Unified Process\r\nSummary\r\n\r\n3 Static Structure:Process Description\r\n\r\nA Model of the Rational Unified Process\r\nWorkers\r\nActivities\r\nArtifacts\r\nWorkflows\r\nAdditional Process Elements\r\nA Process Framework\r\nSummary\r\n\r\n4 Dynamic Structure:Iterative Development\r\n\r\nThe Sequential Process\r\nOvercoming Difficulties:Iterate!\r\nGaining Control:Phases and Milestones\r\nA Shifting Focus across the Cycle\r\nPhases Revisited\r\nBenefits of an Iterative Approach\r\nSummary\r\n\r\n5 An Architecture-centric Process\r\n\r\nThe Importance of Models\r\nArchitecture\r\nThe Importance of Architecture\r\nA Definition of Architecture\r\nA rchitecture Representation\r\nAn Architecture-centric Process\r\nThe Purpose of Architecture\r\nComponent-Based Development\r\nOther Architectural Concepts\r\nSummary\r\n\r\n6 A Use-Case-Driven Process\r\n\r\nDefinitions\r\nIdentifying Use Cases\r\nEvolving Use Cases\r\nOrganizing Use Cases\r\nUse Cases in the Process\r\nSummary\r\n\r\nPart II Process Workflows\r\n\r\n7 The Project Management Workflow\r\n\r\nPurpose\r\nPlanning an Iterative Project\r\nThe Concept of Risk\r\nThe Concept of Metrics\r\nWhat Is a Metric?\r\nWorkers and Artifacts\r\nWorkflow\r\nBuilding an Iteration Plan\r\nSummary\r\n\r\n8 The Business Modeling Workflow\r\n\r\nPurpose\r\nWhy Business Modeling?\r\nUsing Software Modeling Techniques for Business Modeling\r\nBusiness Modeling Scenarios\r\nWorkers and Artifacts\r\nWorkflow\r\nFrom the Business Models to the Systems\r\nModeling the Software Development Business\r\nTool Support\r\nSummary\r\n\r\n9 The Requirements Wordflow\r\n\r\nPurpose\r\nWhat Is a Requirement?\r\nTypes of Requirements\r\nCapturing and Managing Requirements\r\nDesigning a User-Centered Interface\r\nRequirements Workflow\r\nWorkers in Requirements\r\nArtifacts Used in Requirements\r\nTool Support\r\nSummary\r\n\r\n10 The Analysis and Design Workflow\r\n\r\nPurpose\r\nAnalysis versus Design\r\nHow Far Must Design Go?\r\nWorders and Artifacts\r\nThe Design Model\r\nThe Analysis Model\r\nThe Role of Interfaces\r\nArtifacts for Real-Time Systems\r\nComponent-Based Design\r\nWorkflow\r\nTool Support\r\nSummary\r\n\r\n11 The Implementation Workflow\r\n\r\nPurpose\r\nBuilds\r\nIntegration Prototypes\r\nPrototypes\r\nWorkers and Artifacts\r\nWorkflow\r\nTool Support\r\nSummary\r\n\r\n12 The Test Workflow\r\n\r\nPurpose\r\nQuality\r\nTesting in the Iterative Lifecycle\r\nDimensions of Testing\r\nThe Test Model\r\nWorkers and Artifacts\r\nWorkflow\r\nTool Support\r\nSummary\r\n\r\n13 The Configuration and Change Management Workflow\r\n\r\nPurpose\r\nThe CCM Cube\r\nWorkers and Artifacts\r\nWorkflow\r\nTool Support\r\nSummary\r\n\r\n14 The Environment Workflow\r\n\r\nPurpose\r\nWorkers and Artifacts\r\nWorkflow\r\nSummary\r\n\r\n15 The Deployment Workflow\r\n\r\nPurpose\r\nWorkers and Artifacts\r\nWorkflow\r\nSummary\r\n\r\n16 Typical Iteration Plans\r\n\r\nPurpose\r\nDefining the Product Vision and the Business Case\r\nBuilding an Architectural Prototype\r\nImplementing the System\r\nSummary\r\n\r\n17 Configuring and Implementing the Rational Unified Process\r\n\r\nIntroduction \r\nThe Effect of Implementing a Process\r\nImplementing the Rational Unified Process Step by Step\r\nConfiguring the Process\r\nImplementing a Process Is a Project Summary\r\n\r\nAppendix A:Summary of Workers\r\nAppendix B:Summary of Artifacts\r\nAcronyms\r\nGlossary\r\nBibliography \r\nIndex
THE RATIONAL UNIFIED PROCESS is a software engineering process developed and marketerd 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 tents, 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 con-text 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 hook 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 iterafive, 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 www. rational.com/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 2001. 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 frame works. 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 fol' writing Chapter 1.
Per KroII 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 re views and ideas of Dave Bernstein, Grady Booch, Geoff Clemm, Catherine Connor, Mike Devlin, Christian Ehrenborg (Dr. Usecase), Sam Guckenheimer, Bj6rn 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.