Bookshelf
Book Reviews
May/June 2009
Just Enough Web Programming with XHTML, PHP, and MySQL
by Guy W. Lecky-Thompson, reviewed by Todd Schultz
Using Aspect-Oriented Programming for Trustworthy Software Development
by Vladimir O. Safonov,
reviewed by Scott Brookhart Effective Java 2nd ed. by Joshua Bloch,
reviewed by John R. Dance
March/April 2009
Designing and Engineering Time: The Psychology of Time Perception in Software
by Steve Seow, reviewed by Paul Freedman
Emergent Design: The Evolutionary Nature of Professional Software Development
by Scott L. Bain, reviewed by Ben Linders
Oracle PL/SQL: Expert Techniques for Developers and Database Administrators
by Lakshman Bulusu, reviewed by Caroline Pepa
Software Maintenance Management: Evaluation and Continuous Improvement
by Alain April and Alain Abran, reviewed by Sandesh Tattitali
January/February 2009
The Art of Multiprocessor Programming
by Maurice Herlihy and Nir Shavit, reviewed by Scott Brookhart
Software Testing and Quality Assurance: Theory and Practice
by Sagar Naik and Piyu Tripathy, reviewed by Vahid Garousi
Measuring the User Experience: Collecting, Analyzing, and Presenting Usability Metrics
by Tom Tullis and Bill Albert, reviewed by Jitendra Mudhol
Adrenaline Junkies and Template Zombies: Understanding Patterns of Project Behavior
by Tom DeMarco, Peter Hrushcka, Tim Lister, Suzanne Robertson, James Robertson, and Steve McMenamin, reviewed by Ben Linders
November/December 2008
Introducing Ubuntu: Desktop Linux
by Brian Proffitt, reviewed by Soumitra Bhattacharyya
A Prototype Example for Understanding Software Factories
by Gunther Lenz and Christoph Wienands, reviewed by Stefan Turalski
CMMI and Six Sigma
by Jeanine M. Siviy, M. Lynn Penn, and Robert W. Stoddard, reviewed by Scott Brookhart
September/October 2008
Handbook of Software Quality Assurance, 4th ed.
G. Gordon Schulmeyer, ed., reviewed by Todd Schultz
Advanced Ajax: Architecture and Best Practices
by Shawn M. Lauriat, reviewed by John R. Dance
Reaching the Goal: How Managers Improve a Services Business Using Goldratt's Theory of Constraints
by John Arthur Ricketts, reviewed by Caroline Pepa
July/August 2008
A Quick Understanding of C Programming, 2nd ed.,
by Michael A. Vine, reviewed by Naseem Mariam
The Craft of System Security
by Sean Smith and John Marchesini, reviewed by Fernando Berzal
May/June 2008
Implementation Patterns
by Kent Beck, reviewed by Scott Brookhart
Interaction Design: Beyond the Human-Computer Interaction
by Helen Sharp, Yvonne Rogers, and Jenny Preece, reviewed by Fernando Berzal
Manage It! Your Guide to Modern, Pragmatic Project Management
by Johanna Rothman, reviewed by Caroline Pepa
March/April 2008
xUnit Test Patterns: Refactoring Test Code
by Gerard Meszaros, reviewed by Scott Brookhart
Object-Oriented Analysis and Design with Applications
by Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Connallen, and Kelli A. Houston, reviewed by David Arthur Eatough
The New Language of Business: SOA & Web 2.0
by Sandy Carter, reviewed by Vahid Garousi
Practical Software Estimation: Function Point Methods for Insourced and Outsourced Projects
by M.A. Parthasarathy, reviewed by Naseem Mariam
January/February 2008
Designing with Blends: Conceptual Foundations of Human-Computer Interaction and Software Engineering
by Manuel Imaz and David Benyon, reviewed by Sandesh Tattatali
Adaptive Learning of Polynomial Networks: Genetic Programming, Backpropagation and Bayesian Methods
by Nikolay Y. Nikolaev and Hotoshi Iba, reviewed by Art Sedighi
Aesthetic Computing
Paul Fishwick, ed., reviewed by Todd Schultz
November/December 2007 (
pdf) Probability and Random Processes for Electrical and Computer Engineers
by John A. Gubner, reviewed by Scott Brookhart
I Am a Strange Loop
by Douglas Hofstadter, reviewed by Todd Schultz
Coolhunting: Chasing Down the Next Big Thing
by Peter A. Gloor and Scott M. Cooper, reviewed by Paul Freedman
The C++ Standard Library Extensions: A Tutorial and Reference
by Pete Becker, reviewed by Art Sedighi
September/October 2007 (pdf)
Managing Iterative Software Development Projects
by Ian Spence and Kurt Bittner, reviewed by Vahid Garousi
Introduction to Network Security
by Neal Krawetz, reviewed by Art Sedighi
July/August 2007 (pdf)
Code Craft: The Practice of Writing Excellent Code
by Pete Goodliffe, reviewed by Diomidis Spinellis
Software Specification and Design: An Engineering Approach
by John C. Munson, reviewed by Naseem Mariam
CMMI for Outsourcing: Guidelines for Software, Systems, and IT Acquisition
by Hubert F. Hofmann, Deborah K. Yedlin, John W. Mishler, and Susan Kushner, reviewed by Caroline Pepa
May/June 2007 (pdf)
CMMI: Guidelines for Process Integration and Product Improvement, 2nd edition
by Mary Beth Chrissis, Mike Konrad, and Sandy Shrum, reviewed by Christof Ebert
Software without Borders: A Step-By-Step Guide to Outsourcing Your Software Development
by Steve Mezak, reviewed by Anthony Akins
March/April 2007 (pdf)
More About Software Requirements: Thorny Issues and Practical Advice
by Karl E. Wiegers, reviewed by Caroline Pepa
Catastrophe Disentanglement: Getting Software Projects Back on Track
by E.M. Bennatan, reviewed by Naseem Mariam
Offshoring Information Technology: Sourcing and Outsourcing to a Global Workforce
by Erran Carmel and Paul Tjia, reviewed by Kevin C. Desouza
January/February 2007 (pdf)
Software Estimation: Demystifying the Black Art
by Steve McConnell, reviewed by Scott Brookhart
Virtual Machines: Versatile Platforms for Systems and Processes
by James E. Smith and Ravi Nair, reviewed by Cristiano di Flora
Perspectives on Free and Open Source Software
by Joseph Feller, Brian Fitzgerald, Scott A. Hissam, and Karim R. Lakhani, eds., reviewed by Carlos Denner dos Santos Jr.
November/December 2006 (pdf)
Great Software Debates
by Alan M. Davis, reviewed by Anthony Akins
The Software Vulnerability Guide
by Herbert H. Thompson and Scott G. Chase, reviewed by Radu State
Only available online:
Strategic Software Engineering: An Interdisciplinary Approach
by Fadi P. Deek, James A.M. McHugh, and Osama M. Elijabiri, reviewed by Paolo Donzelli
Ending Spam: Bayesian Content Filtering and the Art of Statistical Language Classification
by Jonathan A. Zdziarski, reviewed by Radu State
September/October 2006 (pdf)
The Best Software Writing I
by Joel Spolsky, ed., reviewed by Anthony Akins
Return on Software: Maximizing the Return on Your Software Investment
by Steve Tockey, reviewed by Ajit Appari
Only available online:
Just Enough Requirements Management: Where Software Development Meets Marketing
by Alan M. Davis, reviewed by Caroline Pepa
Grid Computing in Life Science: First International Workshop on Life Science Grid
by Akihiko Konagaya and Kenji Satou, eds., reviewed by Art Sedighi
July/August 2006 (pdf)
Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives
by Nick Rozanski and Eoin Woods, reviewed by Fernando Berzal
Competitive Engineering
by Tom Gilb, reviewed by Stuart James Woodward
Server Architectures
by René J. Chevance, reviewed by Art Sedighi
Only available online:
The Product Marketing Handbook for Software, 4th edition
by Merrill R. Chapman, reviewed by Paul Freedman
Java Puzzlers: Traps, Pitfalls, and Corner Cases
by Joshua Bloch and Neal Gafter, reviewed by Art Sedighi
May/June 2006 (pdf)
Fit for Software Development: Framework for Integrated Tests
by Rick Mugridge and Ward Cunningham, reviewed by Anthony Akins
Cryptography in the Database: The Last Line of Defense
by Kevin Kenan, reviewed by Radu State
Service-Oriented Software System Engineering: Challenges and Practices
by Zoran Stojanovic and Ajantha Dahanayake, reviewed by Art Sedighi
Only available online:
The Art of Project Management
by Scott Berkun, reviewed by Jerry Conklin
Dissemination of Information in Communication Networks: Broadcasting, Gossiping, Leader Election, and Fault-Tolerance
by Juraj Hromkovic, Ralf Klasing, Andrzej Pelc, Peter Ruzicka, and Walter Unger, reviewed by Art Sedighi
March/April 2006 (pdf)
Estimating Software-Intensive Systems
by Richard D. Stutzke, reviewed by Todd Schultz
The Elements of UML 2.0 Style
by Scott W. Ambler, reviewed by Scott Brookhart
Service-Oriented Architecture: Concepts, Technology and Design
by Thomas Erl, reviewed by Art Sedighi
Only available online:
Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3rd Edition
by John R. Dance, reviewed by Paul Freedman
Linux Quick Fix Notebook
by Peter Harrison, reviewed by Art Sedighi
January/February 2006 (pdf)
Software Paradigms
by Stephen H. Kaisler, reviewed by Todd Schultz
The Database Hacker's Handbook
by David Litchfield, Chris Anley, John Heasman, and Bill Grindlay, reviewed by Radu State
Enterprise Knowledge Infrastructures
by Ronald Maier, Thomas Hädrich, and René Peinlet, reviewed by Art Sedighi
Only available online:
Professional Software Development
by Steve McConnell, reviewed by Paul Freedman
UML by Example
by Ghinwa Jalloul, reviewed by Todd Schultz
Advanced Programming in the UNIX Environment, 2nd ed.
by Richard Stevens and Stephen Rago, reviewed by Art Sedighi
November/December 2005 (pdf)
User Stories Applied: For Agile Software Development
by Mike Cohn, reviewed by Moshood Omolade Saliu
The Grid 2: Blueprint for a New Computing Infrastructure
by Ian Foster and Carl Kesselman, reviewed by Shubhashis Sengupta
Software Engineering Handbook
by Jessica Keyes, reviewed by Fernando Berzal
The Software Project Manager's Handbook: Principles That Work at Work
by Dwayne Phillips, reviewed by Fernando Berzal
Only available online:
Absolute Java
by Walter Savitch, reviewed by Art Sedighi
Working Effectively with Legacy Code
by Michael C. Feathers, reviewed by Adam Geras, Michael Smith, and James Miller
September/October 2005 (pdf)
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services
by Thomas Erl, reviewed by Art Sedighi
Software Development Failures
by Kweku Ewusi-Mensah, reviewed by Martyn Thomas
Successful IT Project Delivery: Learning the Lessons of Project Failure
by David Yardley, reviewed by Martyn Thomas
Interaction Design for Complex Problem Solving: Developing Useful and Usable Software
by Barbara Mirel, reviewed by Paula M. Bach and Mark A. Cohen
Only available online:
Essential .NET Volume 1: The Common Language Runtime
by Don Box with Chris Sells, reviewed by Chris Mylonas
XML Topic Maps: Creating and Using Topic Maps for the Web
edited by Jack Park, reviewed by Art Sedighi
July/August 2005 (pdf)
Open Source Software Law
by Rod Dixon, reviewed by Joel West
Understanding Open Source and Free Software Licensing
by Andrew M. St. Laurent, reviewed by Joel West
Open Source Licensing: Software Freedom and Intellectual Property Law
by Lawrence Rosen, reviewed by Joel West
Code Reading: The Open Source Perspective
by Diomidis Spinellis, reviewed by Angela Jury
Grid Computing
by Joshy Joseph and Craig Fellenstein, reviewed by Shubhashis Sengupta
The Art of UNIX Programming
by Eric S. Raymond, reviewed by Stratton Penberthy
Only available online:
Pragmatic Version Control Using CVS
by David Thomas and Andrew Hunt, reviewed by Lorin Hochstein
J2EE Web Services: The Ultimate Guide
by Richard Monson-Haefel, reviewed by Art Sedighi
May/June 2005 (pdf)
UML Distilled: A Brief Guide to the Standard Object Modeling Language
by Martin Fowler, reviewed by Stephen Mellor
Testing Computer Software, 2nd ed.
by Cem Kaner, Jack Falk, and Hung Quoc Nguyen, reviewed by Fernando Berzal
Test-Driven Development: By Example
by Kent Beck, reviewed by Fernando Berzal
Lessons Learned in Software Testing
by Cem Kaner, James Bach & Bret Pettichord, reviewed by Fernando Berzal
Five Core Metrics: The Intelligence behind Successful Software Management
by Lawrence H. Putnam and Ware Myers, reviewed by Christof Ebert
Only available online:
C++ Without Fear: A Beginner’s Guide That Makes You Feel Smart
by Brian Overland, reviewed by Art Sedighi
Real Web Project Management: Case Studies and Best Practices from the Trenches
by Thomas J. Shelford and Gregory A. Remillard, reviewed by Mariá Bieliková
March/April 2005 (pdf)
Test Driven Development: A Practical Guide
by David Astels, reviewed by Alex Abacus
Agile & Iterative Development: A Manager’s Guide
by Craig Larman, reviewed by Mike Barker
Software by Numbers: Low-Risk, High-Return Development
by Mark Denne and Jane Cleland-Huang, reviewed by Paul Freedman
Only available online:
Introduction to Parallel Computing: Design and Analysis of Algorithms, 2nd Ed.
by Ananth Grama et. al, reviewed by Art Sedighi
Software Metrics: A Guide to Planning, Analysis, and Application
by C. Ravindranath Pandian, reviewed by Harekrishna Misra
January/February 2005 (pdf)
Numerical Recipes in C++: The Art of Scientific Computing, 2nd edition
by William H. Press et al., reviewed by Diomidis Spinellis
Programming in the .NET Environment
by Damien Watkins, Mark Hammond, and Brad Abrams, reviewed by John R. Dance
A Practical Guide to Extreme Programming
by David Astels, Granville Miller, and Miroslav Novak, reviewed by David Arthur Eatough
IT Project Estimation: A Practical Guide to the Costing of Software
by Paul Coombs, reviewed by Kevin C. Desouza, Yukika Awazu
Only available online:
The Laws of Software Process: A New Model for the Production and Management of Software
by Philip G. Armour, reviewed by Paul Freedman
UML Bible
by Tom Pender, reviewed by Wilson Pardi Jr.
November/December 2004 (pdf)
Test-Driven Development: By Example
by Kent Beck, reviewed by Philipp K. Janert
Pair Programming Illuminated
by Laurie Williams and Robert Kessler, reviewed by Stan Rifkin
Only available online:
Developing Microsoft Office Solutions: Answers for Office 2003, Office XP, Office 2000, and Office 97
by Ken Blutman, reviewed by Jennifer Hogdon
Observing The User Experience: A Practitioner’s Guide to User Research
by Mike Kuniavsky, reviewed by Harekrishna Misra
Inside the Security Mind: Making the Tough Decisions
by Kevin Day, reviewed by Paul E. Sevinç
September/October 2004 (pdf)
Succeeding with Open Source
by Bernard Golden, reviewed by Terry Bollinger
Quality Software Management, Volume 4: Anticipating Change
by Gerald M. Weinberg, reviewed by Mike Barker
Waltzing with Bears: Managing Risk on Software Projects
by Tom DeMarco and Timothy Lister, reviewed by Philipp K. Janert
Only available online:
Peer Reviews in Software: A Practical Guide
by Karl E. Wiegers, reviewed by Karol Frühauf
The Essential Guide to Wireless Communications Applications: From Cellular to Wi-Fi
by Andy Dornan, reviewed by Harekrishna Misra
July/August 2004 (pdf)
CMMI Distilled: A Practical Introduction to Integrated Process Improvement, 2nd edition
by Dennis M. Ahern reviewed by Christof Ebert
CMMI Guidelines for Process Integration and Product Improvement
by Mary Beth Chrissis, Mike Konrad, and Sandy Shrum, reviewed by Christof Ebert
Agile Software Development Ecosystems
by Jim Highsmith, reviewed by Stephen Mellor
Only available online:
Visual Basic .NET at Work
by Tony Martin and Dominic Selly, reviewed by Fernando Berzal
The Business of Software
by Michael A. Cusumano, reviewed by Yukika Awazu and Kevin C. Desouza
May/June 2004 (pdf)
Design Methods for Reactive Systems
by Roel J. Wieringa, reviewed by Fernando Berzal
More Secrets of Consulting: The Consultant's Tool Kit
by Gerald M. Weinberg, reviewed by Diomidis Spinellis
Only available online:
C++ Templates: The Complete guide
by David Vandevoorde and Nicolai M. Josuttis, reviewed by Ed Harcourt
IT Measurement: Practical Advice from Experts
by International Function Point Users Group, reviewed by Harekrishna Misra
March/April 2004 (pdf)
A Handbook of Software and Systems Engineering: Empirical Observations, Laws, and Theories
by Albert Endres and Dieter Rombach, reviewed by Deependra Moitra
Use Case Modeling
by Kurt Bittner and Ian Spence, reviewed by Martin Fogarty
Only available online:
The Essential Guide to Application Service Providers
by Jon William Toigo, reviewed by Shantha Mohan
A Guide to Forensic Testimony: The Art and Practice of Presenting Testimony as an Expert Technical Witness
by Fred Chris Smith and Rebecca Gurley Bace, reviewed by Robert C. Larrabee
January/February 2004 (pdf)
Software Configuration Management Patterns
by Stephen P. Berczuk and Brad Appleton, reviewed by Philipp K. Janert
How to Run Successful Projects III: The Silver Bullet
by Fergus O'Connell, reviewed by Shantha Mohan
Beyond Software Architecture: Creating and Sustaining Winning Solutions
by Luke Hohmann, reviewed by Robert C. Larrabee
Only available online:
A Practical Approach to Software Quality
by Gerard O'Regan, reviewed by Robert C. Larrabee
Improving Software Organizations: From Principles to Practice
by Lars Mathiassen, Jans Pries-Heje, and Ojelanki Ngwenyama, reviewed by Shantha Mohan
November/December 2003 (pdf)
Software Craftsmanship
by Pete McBreen, reviewed by Philipp K. Janert
Bell Labs: Life in the Crown Jewel
by Narain Gehani, reviewed by Robert C. Larrabee
Debugging
by David Agans, reviewed by Melissa Stange
Only available online:
Metadata Solutions: Using Metamodels, Repositories, XML, and Enterprise Portals to Generate Information on Demand
by Adrienne Tannenbaum, reviewed by Fernando Berzal and Nicolas Marin
Making Process Improvement Work: A Concise Action Guide for Software Managers and Practitioners
by Neil S. Potter and Mary E. Sakry, reviewed by Robert C. Larrabee
September/October 2003 (pdf)
Quality Software Project Management
by Robert Futrell, Donald Shafer, and Linda Shafer, reviewed by Robert C. Larrabee
Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software
by Connie U. Smith and Lloyd G. Williams, reviewed by Shantha Mohan
Only available online:
Game Programming Gems 2
by Mark DeLoura, ed., reviewed by Rob Gougher
Enterprise Content Services
by Greg Laugero and Alden Globe, reviewed by Fernando Berzal and Nicolas Marin
July/August 2003 (pdf)
Building Systems from Commercial Components
by Kurt C. Wallnau, Scott A. Hissam, and Robert C. Seacord, reviewed by Shantha Mohan
Practical Software Measurement: Objective Information for Decision Makers
by John McGarry et al., reviewed by Robert C. Larrabee
Software Radio: A Modern Approach to Radio Engineering
by Jeffrey H. Reed, reviewed by Dharmendra Lingaiah
Only available online:
Herding Cats: A Primer for Programmers Who Lead Programmers
by J. Hank Rainwater, reviewed by David L Gorsline
The Manager Pool: Patterns for Radical Leadership
by Don Sherwood Olson and Carol L. Stimmel, reviewed by Anthony Akins
May/June 2003 (pdf)
Extreme Programming Applied: Playing to Win
by Ken Auer and Roy Miller, reviewed by John Dance
Extreme Programming Explored
by William C. Wake, reviewed by John Dance
Extreme Programming in Practice
by James Newkirk and Robert C. Martin, reviewed by John Dance
Making the Software Business Case: Improvement by Numbers
by Donald Reifer, reviewed by David H. Shumaker
Business Rules and Information Systems: Aligning IT with Business Goals
by Tony Morgan, reviewed by Robert C. Larrabee
Only available online:
Evaluating Software Architectures, Methods and Case Studies
by Paul Clements, Rick Kazman, and Mark Klein, reviewed by Shantha Mohan
Software Pioneers: Contributions to Software Engineering
by Manfred Broy and Ernst Denert, reviewed by Paul E. Sevinc
March/April 2003 (pdf)
A New Kind of Science
by Stephen Wolfram, reviewed by Terry Bollinger
Prey: A Novel
by Michael Crichton, reviewed by Terry Bollinger
The Unified Process Explained
by Kendall Scott, reviewed by John Abbott
Effective Work Breakdown Structures
by Gregory T. Haugan, reviewed by Robert C. Larrabee
Applied Java Patterns
by Stephen Stelting and Olav Maassen, reviewed by Carl Vieregger
Only available online:
Component-Based Software Engineering: Putting the Pieces Together
by George T. Heineman and William T. Councill, reviewed by Zhihui (Jeff) Xue
Applied Statistics for Software Managers
by Katrina D. Maxwell, reviewed by Robert C. Larrabee
January/February 2003 (pdf)
Slack: Getting Past Busywork, Burnout, and the Myth of Total Efficiency
by Tom DeMarco, reviewed by Carol A. Long
Agile Software Development
by Alistair Cockburn, reviewed by Anthony Akins
Applied Software Architecture
by Christine Hofmeister, Robert Nord, and Dilip Soni, reviewed by Deependra Moitra
Only available online:
Technology Acquisition, Buying the Future of Your Business
by Allen Eskelin, reviewed by Robert C. Larrabee
CMMI Distilled: A Practical Introduction to Integrated Process Improvement
by Dennis M. Ahern, Aaron Clouse, and Richard Turner, SEI Series in Software Engineering, reviewed by Carol A. Long