Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
This book introduces the most frequently used UML diagramming notation, while emphasizing that OOA/D is much more than knowing UML notation. The book is now compliant with UML 2.0.
All case study iterations and skills are presented in the context of an "Agile" version of the Unified Process—a popular, modern iterative approach to software development.
The author maintains a website, www.craiglarman.com, which provides complete instructor resources as well as additional information for the reader.
Review By: Harry Kirkpatrick
06/23/2010"Applying UML and Patterns" helps newcomers learn a systematic method to do Object-Oriented Analysis and Design (OOA/D) from a great teacher. The book is organized to show an iterative development strategy. OOA/D was applied to the case studies in multiple iterations, the first being for some core functions. Later iterations expand the functionality. In conjunction with iterative development, the presentation of analysis and design topics, UML notation, and patterns is introduced iteratively and incrementally. In the first iteration, a core set of analysis and design topics and notation is presented. The second iteration expands into new ideas, UML notation, and patterns. The author includes recommended resources, if you need more information.
This book will help you to:
- Design well since mastery of OOA/D is critical to your success in the software world.
- Learn a process roadmap. The book presents a well-defined iterative roadmap, so you can move in step-by-step process from requirements to code.
- Learn UML for modeling, since the Unified Modeling Language (UML) has emerged as the standard notation for modeling.
- Learn design patterns. You will learn to apply design patterns, including “gang-of-four” patterns and the GRASP patterns.
- Learn from experience. The structure and emphasis in this book are based on years of experience in education and mentoring thousands of people in the art of OOA/D.
- Learn from a realistic study. Larman examines two case studies, to realistically illustrate the entire OOA/D process, and goes deeply into thorny detail of the problem.
- Design to code. Test-driven development and re-factoring will be introduced.
- Design a layered architecture. The book explains how to design a layered architecture and relate the UI layer to domain and technical services layers.
- Design frameworks. The book instructs you in designing an OO framework and applies this to the creation of a framework for persistent storage in a database.
Mr. Larman is very concise and well organized, following that of a development project. He presents the topics in a fashion designed for learning and comprehension. I like the book’s presentation of opening quotes and clear objectives in each chapter. The book is packed with figures, examples, and guidelines that aid in the learning process. Forty chapters are broken into six parts:
- Introduction
- Inception—The inception phase determines basic feasibility, risk and scope, to decide if the project is worth more serious investigation.
- Elaboration Iteration 1—Basics
- Elaboration Iteration 2—More Patterns
- Elaboration Iteration 3—Intermediate Topics—The elaboration phase is the initial series of iterations during which the team does serious investigation, implements (programs and tests) the core architecture, clarifies most requirements, and tackles the high-risk issues.
- Special Topics
"Applying UML and Patterns" helps newcomers learn a systematic method to do Object-Oriented Analysis and Design (OOA/D) from a great teacher. The book’s audience includes: developers and students who have some experience in OO programming, but who are new to OOA/D; those with some familiarity in OOA/D who want to learn the UML notation, apply patterns; or those who want to deepen their analysis and design skills.