Rating:  Summary: A good book Review: The main objective of the book is to present software components and their importance in software engineering mainly for reuse purpose. To a large extent, this objective has been achieved. The book is a fairly good and complete coverage of many technical (foundations, approaches, implementation, standards, etc.) and non-technical aspects (markets, billing, professions, etc.) of software components. The presentation of the three major approaches for software components, i.e., OMG CORBA, Sun Java and Microsoft COM, and their comparison are very valuable especially when one has to choose one of this approach in building component-based systems. The discussion of non- technical aspects, especially, the market issue is a plus in such types of books.In this book, systematic reuse is viewed as how to build reusable asset consisting primarily of software components. Reuse is mostly viewed through implementation inheritance and object composition with forwarding or delegation in the object-oriented sense. In that respect, the book goes into many details related to objects. While objects are tightly related to software components from the author's point of view, it is sometimes not clear how the presented discussion is useful for actually building reusable components. Also, sometimes the reader may lost the relationship and differences between objects and components. On the other hand, the author should have discussed in more details the importance of software components in the general area of software reuse. In particular, will software components based on objects be the only way to build reusable components. There are also a number of software engineering issues that should receive more attention regarding the reuse of components. These concern library or catalog of components and quality measurement of components. The book is well organized, but I think that short chapters should be grouped together. This is especially the case for the last part. Also, one of the problem that I had while reading the book is that in some instances the link between successive sections is not well done. Finally, in my opinion, many of the chapters in part two, three and four should be read in two passes, a first quick pass and a second more deep reading. This will enable the reader to get a maximum benefit from them.
Rating:  Summary: A good book Review: The main objective of the book is to present software components and their importance in software engineering mainly for reuse purpose. To a large extent, this objective has been achieved. The book is a fairly good and complete coverage of many technical (foundations, approaches, implementation, standards, etc.) and non-technical aspects (markets, billing, professions, etc.) of software components. The presentation of the three major approaches for software components, i.e., OMG CORBA, Sun Java and Microsoft COM, and their comparison are very valuable especially when one has to choose one of this approach in building component-based systems. The discussion of non- technical aspects, especially, the market issue is a plus in such types of books. In this book, systematic reuse is viewed as how to build reusable asset consisting primarily of software components. Reuse is mostly viewed through implementation inheritance and object composition with forwarding or delegation in the object-oriented sense. In that respect, the book goes into many details related to objects. While objects are tightly related to software components from the author's point of view, it is sometimes not clear how the presented discussion is useful for actually building reusable components. Also, sometimes the reader may lost the relationship and differences between objects and components. On the other hand, the author should have discussed in more details the importance of software components in the general area of software reuse. In particular, will software components based on objects be the only way to build reusable components. There are also a number of software engineering issues that should receive more attention regarding the reuse of components. These concern library or catalog of components and quality measurement of components. The book is well organized, but I think that short chapters should be grouped together. This is especially the case for the last part. Also, one of the problem that I had while reading the book is that in some instances the link between successive sections is not well done. Finally, in my opinion, many of the chapters in part two, three and four should be read in two passes, a first quick pass and a second more deep reading. This will enable the reader to get a maximum benefit from them.
Rating:  Summary: Genius - at last. Review: The man is a genius. Anyone who didn't give this a five star rating simply didn't get it. This book is a must read, put it on your book shelf between Design Patterns and The Miracle Man Month.
Rating:  Summary: Highly recommended SW Components book Review: When I started SW Engineering the SW functional decomposition methods were in fashion. People became relatively quickly familiar with them, and we developed our SW on Intel's 8086 based chip sets, with a few Ks of memory. The programming practices were reinforced by our peers and the Management. Then came the buzz-word SW Object Orientation. I first heard it in the mid 80s. To be frank about it, it had taken me about three years to get to the bottom of it. In my experience about 95% of the people who talked about it were either clueless or those who only wanted to jump on the fast track wagon. In my view, the OO in its pure form is a little bit complex concept. Lets face it, when you start with a mean set of customer requirements and you have your boss breathing down your neck in some cases for no good reason, you are not going to be in the best frame of mind to look for SW objects in a bubble pool of analysis. OOD requires all kind of disciplines. Even the best OO design may not be supported by your target language and it may not be the best approach to your problem, what I'm mean that is like trying to dig your garden with a eating fork which may look like a garden fork ! Here comes the SW component part. Why not group the requirements into a set of likely entities ? Once the requirements are grouped in such fashion the SW Analysis elements are easily mapped onto what is called 'SW Components' which are well described in this book. The author is very descriptive about the idea and he is able to convey it in a simple manner. This book is not only about SW components it also covers other serious technologies such as SW Standards, differences in Components and Objects, SW design architecture, parallel and concurrency. My comments here are related to SW System Developments, NOT System programming which requires different set of rules and support. This book is for those who wish to learn about new technologies, the SW Components. It may not necessarily solve your current problems. At the end of the day there is never an optimal SW Technology which has all the best solutions for all the SW cases.
|