Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Software build systems : principles and experience
Smith P., Addison-Wesley Professional, Upper Saddle River, NJ, 2011. 624 pp. Type: Book
Date Reviewed: Jul 15 2011

This well-written and insightful book contains everything you ever wanted to know (and then some) about how to put programs together to build a software product. Smith, a build guru, urges other gurus, managers, and developers to read his book. Maybe gurus will plow through it; I doubt others will. Still, there is much to be learned from reading only the first third of the book.

Software build technology is a sub-specialty of software configuration management, and some software shops use dedicated people in their system build operation. This function can be a bottleneck in product development. However, with administrative support for change control and for tracking problem reports, it becomes integral to the process of building software projects: an in-line job with all of the attention such functions deserve. Those that distract their application developers with backwater build tasks too often experience project crises from product build delays or the loss of configuration management.

I am disappointed that the book does not place the important build process within the overall software development process. The book is aimed at those charged with building a system from the many components that comprise industrial-strength software systems. I call this the software manufacturing process. The book is detailed; managers and application developers will benefit from the preface and build “basics” sections, but will find two-thirds of the book too detailed for their needs.

The book consists of 19 chapters, split into three parts. The first part of the book has 100 pages that explain the basics of the build system concept. Topics include: the generic architecture of the build system; the use of the makefile software utility; the runtime view of a program; file types; and compilation tools for C, C++, Java, and C#. All software professionals should study this part of the book.

The 200 pages in the second part of the book provide details of the build tools. Most people will not need this knowledge--the information is at a level of detail appropriate for build specialists who build tools for making the build.

The third part of the book contains advanced topics that will prepare a software shop for building effective software products. I especially recommend chapter 11, which covers dependencies. The remaining chapters are more appropriate for those who specialize in programming tools for future build systems. I liked chapter 17’s material for reducing build complexity. Chapter 19 goes beyond features to explain how to address the architectural issues of making builds faster.

The aim of this book is to explain and characterize the principles underlying the build system. Though it achieves this goal, it is not a handbook on how to build a software product. The book shows that our industry is maturing. It is well written, with many examples and clearly explained code snippets, and is appropriate for undergraduate and graduate courses covering the process and technology of building software systems.

The make tool was invented as part of the world-renowned Unix effort by Bell Labs. Even though Smith mentions Unix in three places, he does not point out that make and new make emerged from the Unix Bell Labs computer science culture that revolutionized software development in the 1980s.

I am concerned that few others will find the book as compelling as I did. My copy is a welcome addition to my personal library, but it may not be to yours.

Reviewer:  Larry Bernstein Review #: CR139244 (1202-0160)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Software Process (K.6.3 ... )
 
 
Software Configuration Management (D.2.9 ... )
 
 
Distribution, Maintenance, and Enhancement (D.2.7 )
 
Would you recommend this review?
yes
no
Other reviews under "Software Process": Date
Software process improvement
Zahran S., Addison-Wesley Longman Ltd., Essex, UK, 1998. Type: Book (9780201177824)
Jun 1 1998
Component-based development for enterprise systems
Allen P., Frost S., Cambridge University Press, New York, NY, 1998. Type: Book (9780521649995)
Dec 1 1998
Thinking objectively: software process improvement in the small
Ward R., Fayad M., Laitinen M. Communications of the ACM 44(4): 105-107, 2001. Type: Article
Aug 1 2001
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy