Software Paradigms provides the first complete compilation of 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 approaches, and showing the relationships between the different models. Coverage includes paradigms in design patterns, software components, software architectures, and frameworks. Chapters within each of these sections include design issues related to building and using the paradigm as well as numerous real world applications. A practical overview of the hierarchy of development paradigms, Software Paradigms is an excellent teaching tool for undergraduates and graduates, and a comprehensive and reliable reference for software engineers.