This book is aimed at professionals and students who would like to benefit from the best practices on software components. It also provides some insights into software reuse, current issues in software engineering and its applications. Its aim is to provide concise and good practice design guidelines on software components which will benefit practitioners, researchers, learners, and educators. It provides a summary of approaches, practices and authors own experiences on developing components for reuse, developing components for an application domain (domain analysis), and how to test them. The book is aimed at more illustrative examples with exercises, and a web site for instructor's course manual. Steven Covey (2006) says we now live in a Wisdom of Knowledge Age where people use the experiences gained from previous era. This is exactly true in software components where there are a number of books on CBSE and components based development with Java, C#, C++, and Ada. This edition collects all of the best practices that people can use in everyday life.