Component-Based Software Engineering Review

Review by Billy Barron, Tek-Tools

"Component-Based Software Engineering" (Addison-Wesley; ISBN 0-201-70485-4) edited by Heineman and Councill is a hardback set of paper on the topic covered in the title.

I need to start out my review with a disclaimer that I am very skeptical of the whole component movement. I have two major issues. One is that I have yet to have anybody give me a decent explanation of what a component is. Every one I have seen is vague. The second is that though I see a lot of discussion, it reminds me of the discussion about reuse. Reuse has largely been a failure in the industry and I feel that component are not going to live up to the hype either. Off my soapbox.

The book is divided 9 parts. The first part is called "Component Definition". I thought maybe it would address my first issue. While it is a pretty decent introduction to the world of components, the definitions themselves (see page 7) were lacking IMHO. If I understand their definition, it seems to me that a component is the same as an API library. If so, why are we inventing new terms?

The second part moves to making a case for components. In this section, the COTS Myths paper by Will Tracz is excellent. It attempts to deflate a lot of the hype of component movement.

The new part is "Software Engineering Practices". This section is pretty interesting. Paul Clements in chapter 11 comments that there is components have been around forever and are not really a new thing.

The book continues through design, infrastructures, management, technologies, and legal issues. As might be expected, many of the papers are extremely well written and insightful whereas others are not so good.

If you are interested in all the various issues that surround the world of components, this book will give you a full overview.