A brand new edition of the world's most admired,introduction to object-oriented analysis and design with UMLFully updated for UML 2 and the latest iterative/agile practicesIncludes an all-new case study illustrating many of the book's key points
"Applying UML and Patterns is the world's #1 business and college introduction to "thinking in objects"--and using that insight in real-world object-oriented analysis and design. Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.
Developers and students will learn object-orientedanalysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies. These case studies incrementally introduce key skills, essential OO principles and patterns, UML notation, and best practices. You wo
"This edition contains Larman's usual accurate and thoughtful writing. It is a very good book made even better."
--Alistair Cockburn, author, "Writing Effective Use Cases and "Surviving OO Projects"
Too few people have a knack for explaining things. Fewer still have a handle on software analysis and design. Craig Larman has both."
--John Vlissides, author, "Design Patterns and "Pattern Hatching"
People often ask me which is the best book to introduce them to the world of OO design. Ever since I came across it Applying UML and Patterns has been my unreserved choice."
--Martin Fowler, author, "UML Distilled and "Refactoring"
This book makes learning UML enjoyable and pragmatic by incrementally introducing it as an intuitive language for specifying the artifacts of object analysis and design. It is a well written introduction to UML and object methods by an expert practitioner."
--Cris Kobryn, Chair of the UML Revision Task Force and UML 2.0 Working Group
Foreword
Preface
I. INTRODUCTION
1. Object-Oriented Analysis and Design. What Will You Learn? Is it Useful?The Most Important Learning Goal?What is Analysis and Design?What is Object-Oriented Analysis and Design?A Short Example. What is the UML?Visual Modeling is a Good Thing. History. Recommended Resources.
2. Iterative, Evolutionary, and Agile. What is the UP? Are Other Methods Complementary?What is Iterative and Evolutionary Development?What About the Waterfall Lifecycle?How to do Iterative and Evolutionary Analysis and Design?What is Risk-Driven and Client-Driven Iterative Planning?What are Agile Methods and Attitudes?What is Agile Modeling?What is an Agile UP?Are There Other Critical UP Practices?What are the UP Phases?What are the UP Disciplines?How to Customize the Process? The UP Development Case. You Know You Didn't Understand Iterative Development or the UP When. History. Recommended Resources.
3. Case Studies. What is and isn't Covered in the Case Studies?Case Study Strategy: Iterative Development + Iterative Learning. Case One: The NextGen POS System. Case Two: The Monopoly Game System.
II. INCEPTION.
4. Inception is Not the Requirements Phase. What is Inception?How Long is Inception?What Artifacts May Start in Inception?You Know You Didn't Understand Inception When. How Much UML During Inception?5. Evolutionary Requirements. Definition: Requirements. Evolutionary vs. Waterfall Requirements. What are Skillful Means to Find Requirements?What are the Types and Categories of Requirements?How are Requirements Organized in UP Artifacts?Does the Book Contain Examples of These Artifacts?Recommended Resources.
6. Use Cases. Example. Definition: What are Actors, Scenarios, and Use Cases?Use Cases and the Use-Case Model. Motivation: Why Use Cases?Definition: Are Use Cases Functional Requirements?Definition: What are Three Kinds of Actors?Notation: What are Three Common Use Case Formats?Example: Process Sale, Fully Dressed Style. What do the Sections Mean?Notation: Are There Other Formats? A Two-Column Variation. Guideline: Write in an Essential UI-Free Style. Guideline: Write Terse Use Cases. Guideline: Write Black-Box Use Cases. Guideline: Take an Actor and Actor-Goal Perspective. Guideline: How to Find Use Cases. Guideline: What Tests Can Help Find Useful Use Cases?Applying UML: Use Case Diagrams. Applying UML: Activity Diagrams. Motivation: Other Benefits of Use Cases? Requirements in Context. Example: Monopoly Game. Process: How to Work With Use Cases in Iterative Methods?History. Recommended Resources.
7. Other Requirements. How Complete are these Examples?Guideline: Should We Analyze These Thoroughly During Inception?Guideline: Should These Artifacts be at the Project Website?NextGen Example: (Partial) Supplementary Specification. Commentary: Supplementary Specification. NextGen Example: (Partial) Vision. Commentary: Vision. NextGen Example: A (Partial)
Glossary. Commentary:
Glossary (Data Dictionary). NextGen Example: Business Rules (Domain Rules). Commentary: Domain Rules. Process: Evolutionary Requirements in Iterative Methods. Recommended Resources.
III. ELABORATION ITERATION 1-BASICS.
8. Iteration 1-Basics. Iteration 1 Requirements and Emphasis: Core OOA/D Skills. Process: In