Craig Larman recently came out with the 3rd edition of his famous book: Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design and Iterative Development. The book is an introduction to object-oriented analysis and design as well as iterative development and not necessarily for advanced users. You can tell it is used as a textbook for students by the way the topics are presented with clear goals and objectives as well as summaries and checklists when introduced to new terms and concepts.
The book landed on my doorstep a couple days ago and I managed to read the first 50 pages (Part I) that covers the following topics:
- Object-Oriented Analysis and Design
- Iterative, Evolutionary, and Agile
- Case Studies
I have high hopes for this book as the content appears very practical, focusing mainly on object-oriented analysis and design. The focus on iterative development, UML, and design patterns is secondary but necessary to help the developer manage successful projects and build better business objects and assigning responsibility to those business objects. At least this is what I gather from the first 50 pages, which is only a drop in the bucket of this 700 page book.
Again, the book starts out very practical as it isn't trying to stuff UML notation, design patterns, and certain agile development methodologies down your throat. The book equally describes the positives and negatives of such tools and practices and grabs those practical pieces of each that can help the developer manage a successful project and create a flexible and successful design model.
At some point I will start a chapter by chapter summary of this book as it appears packed with a lot of good information. I also purchased Craig Larman's Agile and Iterative Development - A Manager's Guide, which I haven't started reading yet, but appears to focus mainly on iterative development and I figured would probably make a good companion to Applying UML and Patterns.
More on this later :)