Introduces the fundamental theory and methodology for component-based software development. This book emphasizes component-oriented programming techniques in various component architectures, and is useful for graduate and undergraduate courses in computer science, software engineering, or information technology.