Part I: The Unified Software Development Process Chapter 1: The Unified Process: Use-Case Driven, Architecture-Centric, Iterative, and Incremental 1.1 The Unified Process in a Nutshell 1.2 The Unified Process Is Use-Case Driven 1.3 The Unified Process Is Architecture-Centric 1.4 The Unified Process Is Iterative and Incremental 1.5 The Life of the Unified Process 1.6 An Integrated Process Chapter 2: The Four Ps: People, Project, Product, and Process in Software Development 2.1 People Are Crucial 2.2 Projects Make the Product 2.3 Product Is More Than Code 2.4 Process Directs Projects 2.5 Tools Are Integral to Process 2.6 References Chapter 3: A Use-Case-Driven Process 3.1 Use-Case-Driven Development in Brief 3.2 Why Use Cases? 3.3 Capturing the Use Cases 3.4 Analysis, Design, and Implementation to Realize the Use Cases 3.5 Testing the Use Cases 3.6 Smming Up 3.7 References Chapter 4: An Architecture-Centric Process 4.1 Architecture in Brief 4.2 Why We Need Architecture 4.3 Use Cases and Architecture 4.4 The Steps to an Architecture 4.5 Finally, an Architecture Description! 4.6 Three Interesting Concepts 4.7 References Chapter 5: An Iterative and Incremental Process 5.1 Iterative and Incremental in Brief 5.2 Why Iterative and Incremental Development? 5.3 The Iterative Approach is Risk-Driven 5.4 The Generic Iteration 5.5 The Result of an Iteration Is an Increment 5.6 Iterations over the Life Cycle 5.7 Models Evolve from Iterations 5.8 Iterations Challenge the Organization 5.9 References Part II: The Core Workflows Chapter 6: Requirements Capture: From Vision to Requirements 6.1 Why Requirements Capture Is Difficult 6.2 The Purpose of the Requirements Workflow 6.3 Overview of Requirements Capture 6.4 The Role of Requirements in the Software Life Cycle 6.5 Understanding the System Context Using a Domain Model 6.6 Understanding the System Context Using a Business Model 6.7 Supplementary Requirements 6.8 Summary 6.9 References Chapter 7: Capturing the Requirements as Use Cases 7.1 Introduction 7.2 Artifacts 7.3 Workers 7.4 Workflow 7.5 Summary of the Requirements Workflow 7.6 References Chapter 8:Analysis 8.1 Introduction 8.2 Analysis in Brief 8.3 The Role of Analysis in the Software Life Cycle 8.4 Artifacts 8.5 Workers 8.6 Wordflow 8.7 Summary of Analysis 8.8 References Chapter 9: Design 9.1 Introduction 9.2 The Role of Design in the Software Life Cycle 9.3 Artifacts 9.4 Workers 9.5 Wordflow 9.6 Summary of Design 9.7 References Chapter 10: Implementation 10.1 Introduction 10.2 The Role of Implementation in the Software Life Cycle 10.3 Artifacts 10.4 Workers 10.5 Workflow 10.6 Summary of Implementation 10.7 References Chapter 11:Test 11.1 Introduction 11.2 The Role of Testing in the Software Life Cycle 11.3 Artifacts 11.4 Workers 11.5 Workflow 11.6 Summary of Testing 11.7 References Part III: Iterative and Incremental Development Chapter 12: The Need for Balance 12.1 The Need for Balance 12.2 The Phases Are the First Division of Work 12.3 The Generic Iteration Revisited 12.4 Planning Precedes Doing 12.5 Risks Affect project Planning 12.6 Use-Case Prioritization 12.7 Resources Needed 12.8 Assess the Iterations and Phases Chapter 13: Inception Launches the Project 13.1 The Inception Phase in Brief 13.2 Early in the Inception Phase 13.3 The Archetypal Inception Iteration Workflow 13.4 Execute the Core Workflows, Requirements to Test 13.5 Make the Initial Business Case 13.6 Assess the Iteration(s)in the Inception Phase 13.7 Planning the Elaboration Phase 13.8 The Deliverables for the Inception Phase Chapter 14: the Elaboration Phase Makes the Architectural Baseline 14.1 The Elaboration Phase in Brief 14.2 Early in the Elaboration Phase 14.3 The Archetypal Elaboration Iteration Workflow 14.4 Execute the Core Workflows-Requirements to Test 14.5 Make the Business Case 14.6 Assess the Iterations in the Elaboration Phase 14.7 Planning the Construction Phase 14.8 The Key Deliverables Chapter 15: Construction Leads to Initial Operational Capability 15.1 The Construction Phase in Brief 15.2 Early in the Construction Phase 15.3 The Archetypal Construction Iteration Workflow 15.4 Execute the Core Workflows-Requirements to Testing 15.5 Controlling the Business Case 15.6 Assess the Iterations and the Construction Phase 15.7 Planning the Transition Phase 15.8 The Key Deliverables Chapter 16: Transition Completes Product Release 16.1 The Transition Phase in Brief 16.2 Early in the Transition Phase 16.3 The Core Workflows Play a Small Role in this Phase 16.4 What We Do in the Transition Phase 16.5 Completing the Business Case 16.6 Assess the Transition Phase 16.7 Planning the Next Release or Generation 16.8 The Key Deliverables Chapter 17: Making the Unified Process Work 17.1 The Unified Process Helps You Deal With Complexity 17.2 The Major Themes 17.3 Management Leads Conversion to Unified Process 17.4 Specializing the Unified Process 17.5 Relate to the Broader Community 17.6 Get the Benefits of the Unified Process 17.7 References Appendix A: Overview of the UML A.1 Introduction A.2 Graphical Notation A.3 Glossary of Terms A.4 References Appendix B: The Unified Process-Specific Extensions of the UML B.1 Introduction B.2 Stereotypes B.3 Tagged Values B.4 Graphical Notation B.5 References Appendix C: General Glossary C.1 Introduction C.2 Terms Index