| |
| |
List of Figures | |
| |
| |
Preface | |
| |
| |
Why This Book? | |
| |
| |
Organization of This Book | |
| |
| |
Acknowledgments | |
| |
| |
| |
Overview | |
| |
| |
Introduction | |
| |
| |
History | |
| |
| |
Use Case Driven | |
| |
| |
Architecture-Centric | |
| |
| |
Understanding the Big Picture | |
| |
| |
Organizing the Development Effort | |
| |
| |
Facilitating the Possibilities for Reuse | |
| |
| |
Evolving the System | |
| |
| |
Guiding the Use Cases | |
| |
| |
Iterative and Incremental | |
| |
| |
Logical Progress Toward a Robust Architecture | |
| |
| |
Dealing With Ongoing Changes in Requirements | |
| |
| |
Greater Flexibility to Change the Plan | |
| |
| |
Continuous Integration | |
| |
| |
Early Understanding | |
| |
| |
Ongoing Focus on Risk | |
| |
| |
The Four Phases | |
| |
| |
Inception | |
| |
| |
Elaboration | |
| |
| |
Construction | |
| |
| |
Transition | |
| |
| |
The Five Workflows | |
| |
| |
Requirements | |
| |
| |
Analysis | |
| |
| |
Design | |
| |
| |
Implementation | |
| |
| |
Test | |
| |
| |
Iterations and Increments | |
| |
| |
Artifacts, Workers, and Activities | |
| |
| |
Artifacts | |
| |
| |
Workers | |
| |
| |
Activities | |
| |
| |
| |
The Requirements Workflow | |
| |
| |
Introduction | |
| |
| |
Reach Agreement on the System Context | |
| |
| |
List Candidate Requirements | |
| |
| |
Identify and Negotiate Functional Requirements | |
| |
| |
Specify Nonfunctional Requirements | |
| |
| |
Artifacts | |
| |
| |
Domain Model | |
| |
| |
Business Model | |
| |
| |
Glossary | |
| |
| |
Actor | |
| |
| |
Use Case | |
| |
| |
User-Interface Prototype | |
| |
| |
Use Case Model | |
| |
| |
Architecture Description (View of the Use Case Model) | |
| |
| |
Supplementary Requirements | |
| |
| |
Workers | |
| |
| |
System Analyst | |
| |
| |
Use Case Specifier | |
| |
| |
User-Interface Designer | |
| |
| |
Architect | |
| |
| |
Activities | |
| |
| |
Build the Domain Model | |
| |
| |
Build the Business Model | |
| |
| |
Find Actors and Use Cases | |
| |
| |
Prototype the User Interface | |
| |
| |
Prioritize the Use Cases | |
| |
| |
Detail a Use Case | |
| |
| |
Structure the Use Case Model | |
| |
| |
| |
The Analysis Workflow | |
| |
| |
Introduction | |
| |
| |
Artifacts | |
| |
| |
Analysis Class | |
| |
| |
Use Case Realization--Analysis | |
| |
| |
Analysis Package | |
| |
| |
Analysis Model | |
| |
| |
Architecture Description (View of the Analysis Model) | |
| |
| |
Workers | |
| |
| |
Architect | |
| |
| |
Use Case Engineer | |
| |
| |
Component Engineer | |
| |
| |
Activities | |
| |
| |
Perform Architectural Analysis | |
| |
| |
Analyze a Use Case | |
| |
| |
Analyze a Class | |
| |
| |
Analyze a Package | |
| |
| |
| |
The Design Workflow | |
| |
| |
Introduction | |
| |
| |
Artifacts | |
| |
| |
Design Class | |
| |
| |
Use Case Realization--Design | |
| |
| |
Interface | |
| |
| |
Design Subsystem | |
| |
| |
Design Model | |
| |
| |
Architecture Description (View of the Design Model) | |
| |
| |
Deployment Model | |
| |
| |
Architecture Description (View of the Deployment Model) | |
| |
| |
Workers | |
| |
| |
Architect | |
| |
| |
Use Case Engineer | |
| |
| |
Component Engineer | |
| |
| |
Activities | |
| |
| |
Perform Architectural Design | |
| |
| |
Design a Use Case | |
| |
| |
Design a Class | |
| |
| |
Design a Subsystem | |
| |
| |
| |
The Implementation Workflow | |
| |
| |
Introduction | |
| |
| |
Artifacts | |
| |
| |
Component | |
| |
| |
Interface | |
| |
| |
Implementation Subsystem | |
| |
| |
Implementation Model | |
| |
| |
Architecture Description (View of the Implementation Model) | |
| |
| |
Integration Build Plan | |
| |
| |
Workers | |
| |
| |
Architect | |
| |
| |
Component Engineer | |
| |
| |
System Integrator | |
| |
| |
Activities | |
| |
| |
Perform Architectural Implementation | |
| |
| |
Implement a Class | |
| |
| |
Perform Unit Test | |
| |
| |
Implement a Subsystem | |
| |
| |
Integrate the System | |
| |
| |
| |
The Test Workflow | |
| |
| |
Introduction | |
| |
| |
Artifacts | |
| |
| |
Test Case | |
| |
| |
Test Procedure | |
| |
| |
Test Component | |
| |
| |
Test Model | |
| |
| |
Test Plan | |
| |
| |
Defect | |
| |
| |
Test Evaluation | |
| |
| |
Workers | |
| |
| |
Test Engineer | |
| |
| |
Component Engineer | |
| |
| |
Integration Tester | |
| |
| |
System Tester | |
| |
| |
Activities | |
| |
| |
Plan Test | |
| |
| |
Design Test | |
| |
| |
Implement Test | |
| |
| |
Perform Integration Test | |
| |
| |
Perform System Test | |
| |
| |
Evaluate Test | |
| |
| |
| |
The Inception Phase | |
| |
| |
Introduction | |
| |
| |
Getting Started | |
| |
| |
Plan the Inception Phase | |
| |
| |
Expand the System Vision | |
| |
| |
Establish the Evaluation Criteria | |
| |
| |
Requirements Activities | |
| |
| |
Build the Domain Model | |
| |
| |
Build the Business Model | |
| |
| |
Find Actors and Use Cases | |
| |
| |
Prioritize the Use Cases | |
| |
| |
Detail a Use Case | |
| |
| |
Analysis Activities | |
| |
| |
Perform Architectural Analysis | |
| |
| |
Analyze a Use Case | |
| |
| |
Design Activities | |
| |
| |
Perform Architectural Design | |
| |
| |
Taking Stock | |
| |
| |
Assess Each Iteration | |
| |
| |
Assess the Phase as a Whole | |
| |
| |
Looking Ahead | |
| |
| |
Make the Initial Business Case | |
| |
| |
Do Initial Planning for the Elaboration Phase | |
| |
| |
| |
The Elaboration Phase | |
| |
| |
Introduction | |
| |
| |
Getting Started | |
| |
| |
Plan the Elaboration Phase | |
| |
| |
Establish the Evaluation Criteria | |
| |
| |
Requirements Activities | |
| |
| |
Build the Domain Model | |
| |
| |
Build the Business Model | |
| |
| |
Find Actors and Use Cases | |
| |
| |
Prototype the User Interface | |
| |
| |
Prioritize the Use Cases | |
| |
| |
Detail a Use Case | |
| |
| |
Structure the Use Case Model | |
| |
| |
Analysis Activities | |
| |
| |
Perform Architectural Analysis | |
| |
| |
Analyze a Use Case | |
| |
| |
Analyze a Class | |
| |
| |
Analyze a Package | |
| |
| |
Design Activities | |
| |
| |
Perform Architectural Design | |
| |
| |
Design a Use Case | |
| |
| |
Design a Class | |
| |
| |
Design a Subsystem | |
| |
| |
Implementation Activities | |
| |
| |
Perform Architectural Implementation | |
| |
| |
Implement a Class | |
| |
| |
Perform Unit Test | |
| |
| |
Implement a Subsystem | |
| |
| |
Integrate the System | |
| |
| |
Test Activities | |
| |
| |
Plan Test | |
| |
| |
Design Test | |
| |
| |
Implement Test | |
| |
| |
Perform Integration Test | |
| |
| |
Perform System Test | |
| |
| |
Evaluate Test | |
| |
| |
Taking Stock | |
| |
| |
Assess Each Iteration | |
| |
| |
Assess the Phase as a Whole | |
| |
| |
Looking Ahead | |
| |
| |
Make the Full Business Case | |
| |
| |
Do Initial Planning for the Construction Phase | |
| |
| |
| |
The Construction Phase | |
| |
| |
Introduction | |
| |
| |
Getting Started | |
| |
| |
Plan the Construction Phase | |
| |
| |
Establish the Evaluation Criteria | |
| |
| |
Requirements Activities | |
| |
| |
Find Actors and Use Cases | |
| |
| |
Prototype the User Interface | |
| |
| |
Prioritize the Use Cases | |
| |
| |
Detail a Use Case | |
| |
| |
Structure the Use Case Model | |
| |
| |
Analysis Activities | |
| |
| |
Perform Architectural Analysis | |
| |
| |
Analyze a Use Case | |
| |
| |
Analyze a Class | |
| |
| |
Analyze a Package | |
| |
| |
Design Activities | |
| |
| |
Perform Architectural Design | |
| |
| |
Design a Use Case | |
| |
| |
Design a Class | |
| |
| |
Design a Subsystem | |
| |
| |
Implementation Activities | |
| |
| |
Implement a Class | |
| |
| |
Perform Unit Test | |
| |
| |
Implement a Subsystem | |
| |
| |
Integrate the System | |
| |
| |
Test Activities | |
| |
| |
Plan Test | |
| |
| |
Design Test | |
| |
| |
Implement Test | |
| |
| |
Perform Integration Test | |
| |
| |
Perform System Test | |
| |
| |
Evaluate Test | |
| |
| |
Taking Stock | |
| |
| |
Assess Each Iteration | |
| |
| |
Assess the Phase as a Whole | |
| |
| |
Looking Ahead | |
| |
| |
Do Initial Planning for the Transition Phase | |
| |
| |
| |
The Transition Phase | |
| |
| |
Introduction | |
| |
| |
Getting Started | |
| |
| |
Plan the Transition Phase | |
| |
| |
Establish the Evaluation Criteria | |
| |
| |
Activities | |
| |
| |
Get the Beta Release Out | |
| |
| |
Install the Beta Release | |
| |
| |
Respond to Test Results | |
| |
| |
Adapt the Product to Varied User Environments | |
| |
| |
Complete the Artifacts | |
| |
| |
Taking Stock | |
| |
| |
Assess Each Iteration | |
| |
| |
Assess the Phase as a Whole | |
| |
| |
Looking Ahead | |
| |
| |
Complete the Business Case | |
| |
| |
Do a Postmortem for the Project | |
| |
| |
Plan the Next Release or Generation | |
| |
| |
| |
The Rational Unified Process | |
| |
| |
Workflows | |
| |
| |
Project Management | |
| |
| |
Business Modeling | |
| |
| |
Requirements | |
| |
| |
Analysis and Design | |
| |
| |
Implementation | |
| |
| |
Test | |
| |
| |
Configuration and Change Management | |
| |
| |
Environment | |
| |
| |
Deployment | |
| |
| |
Artifact Sets | |
| |
| |
Workers | |
| |
| |
| |
Extreme Programming and the RUP | |
| |
| |
A High-Level View of XP | |
| |
| |
Values | |
| |
| |
Fundamental Principles | |
| |
| |
Development Practices | |
| |
| |
XP and the RUP: Common Ground | |
| |
| |
XP and the RUP: Key Differences | |
| |
| |
So, Is XP an Instance of the RUP Or Not? | |
| |
| |
| |
The Iconix Process | |
| |
| |
Bibliography | |
| |
| |
Glossary | |
| |
| |
Index | |