This book provides the first fully integrated approach to software paradigms commonly used to develop large software applications, with coverage ranging from discrete problems to full-scale applications. The book focuses on providing a structure for understanding a hierarchy of software development paradigms and showing the relationships between the different paradigms." "Software Paradigms presents a practical overview of the hierarchy of paradigms, with emphasis on how they build upon each other. It is an excellent teaching tool for undergraduates and graduates, and a comprehensive and reliable reference for software engineers. Challenging questions at the end of each chapter pose research problems that will lead to more detailed investigations of the topics discussed within the chapter