{"product_id":"software-paradigms-hardback-9780471483472","title":"Software Paradigms (Hardback) 9780471483472","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eSoftware Paradigms\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eStephen H. Kaisler (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9780471483472, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eHardback, published 8 April 2005\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e456 pages, Drawings: 145 B\u0026amp;W, 0 Color; Tables: 80 B\u0026amp;W, 0 Color\u003cbr\u003e24.2 x 16.3 x 2.5 cm, 0.744 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cem\u003e\u003cfont size=\"3\"\u003e\"...an excellent course reference for someone with significant but varied...software development ideas...a handy reference for identifying the similarities between...software development elements…\" (\u003ci\u003eIEEE Software Magazine\u003c\/i\u003e, January\/February 2006)  \u003cp\u003e\"…useful to some programmers.\" (\u003ci\u003eCHOICE\u003c\/i\u003e, October 2005)\u003c\/p\u003e \u003cp\u003e\"This is a good survey of the various topics…quite relevant to the CSQE body of knowledge architecture topic.\" (\u003ci\u003eSoftware Quality Professional\u003c\/i\u003e, September 2005)\u003c\/p\u003e \u003cp\u003e\"…a timely work that helps put recent advances in software architecture and framework development in context with earlier software design concepts.\" (\u003ci\u003eComputing Reviews.com\u003c\/i\u003e, July 29, 2005)\u003c\/p\u003e \u003cp\u003e\"…a welcome…addition to the literature on software development paradigm.\" (\u003ci\u003eComputing Reviews.com\u003c\/i\u003e, May 3, 2005)\u003c\/p\u003e\u003c\/font\u003e\u003c\/em\u003e\u003c\/p\u003e\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003eSoftware 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.\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eADVICE FOR THE INSTRUCTOR.  \u003cp\u003eACKNOWLEDGMENTS.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Introduction.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 The Meaning of Paradigm.\u003c\/p\u003e \u003cp\u003e1.2 Software Solves Problems.\u003c\/p\u003e \u003cp\u003e1.3 Designing and Developing Software.\u003c\/p\u003e \u003cp\u003e1.4 Understanding Problem Paradigms.\u003c\/p\u003e \u003cp\u003e1.5 Overview of Book.\u003c\/p\u003e \u003cp\u003e1.6 Conventions.\u003c\/p\u003e \u003cp\u003e1.7 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Paradigm Overview.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Problem Paradigms.\u003c\/p\u003e \u003cp\u003e2.2 A Functional Classification of Problems.\u003c\/p\u003e \u003cp\u003e2.3 Programming Languages.\u003c\/p\u003e \u003cp\u003e2.4 Design Patterns.\u003c\/p\u003e \u003cp\u003e2.5 Components.\u003c\/p\u003e \u003cp\u003e2.6 Software Architectures.\u003c\/p\u003e \u003cp\u003e2.7 Frameworks.\u003c\/p\u003e \u003cp\u003e2.8 Further Reading.\u003c\/p\u003e \u003cp\u003e2.9 Exercises.\u003c\/p\u003e \u003cp\u003eI DESIGN PATTERNS.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Overview of Design Patterns.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 A Brief History of Patterns.\u003c\/p\u003e \u003cp\u003e3.2 Why Patterns?\u003c\/p\u003e \u003cp\u003e3.3 Pattern Spaces.\u003c\/p\u003e \u003cp\u003e3.4 Types of Software Patterns.\u003c\/p\u003e \u003cp\u003e3.5 Describing Patterns.\u003c\/p\u003e \u003cp\u003e3.6 How Do We Discover Patterns?\u003c\/p\u003e \u003cp\u003e3.7 Using Patterns.\u003c\/p\u003e \u003cp\u003e3.8 Further Reading.\u003c\/p\u003e \u003cp\u003e3.9 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Software Patterns.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Singleton.\u003c\/p\u003e \u003cp\u003e4.2 The Wrapper Pattern.\u003c\/p\u003e \u003cp\u003e4.3 The Abstract Factory Pattern.\u003c\/p\u003e \u003cp\u003e4.4 Observer Pattern.\u003c\/p\u003e \u003cp\u003e4.5 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Human–Computer Interface Patterns.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 Style Guides.\u003c\/p\u003e \u003cp\u003e5.2 An HCI Pattern Language.\u003c\/p\u003e \u003cp\u003e5.3 Web Design Patterns.\u003c\/p\u003e \u003cp\u003e5.4 Further Reading.\u003c\/p\u003e \u003cp\u003e5.5 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Other Pattern Domains.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 Coplien’s Patterns.\u003c\/p\u003e \u003cp\u003e6.2 Object-Oriented Patterns.\u003c\/p\u003e \u003cp\u003e6.3 Antipatterns.\u003c\/p\u003e \u003cp\u003e6.4 Further Reading.\u003c\/p\u003e \u003cp\u003e6.5 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Pattern Design.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Design Pattern Issues.\u003c\/p\u003e \u003cp\u003e7.2 Some Simple Pattern Design Principles.\u003c\/p\u003e \u003cp\u003e7.3 Limitations of Design Patterns.\u003c\/p\u003e \u003cp\u003e7.4 Further Reading.\u003c\/p\u003e \u003cp\u003e7.5 Exercises.\u003c\/p\u003e \u003cp\u003eII COMPONENTS.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Component Concepts.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 What Are Software Components?\u003c\/p\u003e \u003cp\u003e8.2 Why Use Components?\u003c\/p\u003e \u003cp\u003e8.3 Component Models.\u003c\/p\u003e \u003cp\u003e8.4 Using Components.\u003c\/p\u003e \u003cp\u003e8.5 Component Reuse.\u003c\/p\u003e \u003cp\u003e8.6 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Types of Components.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 Event-Based Components.\u003c\/p\u003e \u003cp\u003e9.2 Java Events.\u003c\/p\u003e \u003cp\u003e9.3 Distributed Components.\u003c\/p\u003e \u003cp\u003e9.4 Transaction Processing.\u003c\/p\u003e \u003cp\u003e9.5 Further Reading.\u003c\/p\u003e \u003cp\u003e9.6 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Component Technologies.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 CORBA.\u003c\/p\u003e \u003cp\u003e10.2 System Object Model.\u003c\/p\u003e \u003cp\u003e10.3 Microsoft’s COM\/DCOM.\u003c\/p\u003e \u003cp\u003e10.4 JavaBeans.\u003c\/p\u003e \u003cp\u003e10.5 Further Reading.\u003c\/p\u003e \u003cp\u003e10.6 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Component-Based Software Engineering.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 Defining CBSE.\u003c\/p\u003e \u003cp\u003e11.2 Problems with CBSE.\u003c\/p\u003e \u003cp\u003e11.3 Problems in Using Components.\u003c\/p\u003e \u003cp\u003e11.4 Problems with Glue Code.\u003c\/p\u003e \u003cp\u003e11.5 Exercises.\u003c\/p\u003e \u003cp\u003eIII SOFTWARE ARCHITECTURES.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 Overview of Software Architectures.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e12.1 Software Architecture Elements and Description.\u003c\/p\u003e \u003cp\u003e12.2 Why Do We Need a Software Architecture?\u003c\/p\u003e \u003cp\u003e12.3 Software Architecting Versus Software Engineering.\u003c\/p\u003e \u003cp\u003e12.4 Domain-Specific Software Architectures.\u003c\/p\u003e \u003cp\u003e12.5 Roles and Benefits.\u003c\/p\u003e \u003cp\u003e12.6 Software Architecture Models.\u003c\/p\u003e \u003cp\u003e12.7 What To Look For.\u003c\/p\u003e \u003cp\u003e12.8 Further Reading.\u003c\/p\u003e \u003cp\u003e12.9 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e13 Data Flow Systems.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e13.1 The Data Flow Model.\u003c\/p\u003e \u003cp\u003e13.2 Batch Sequential Systems.\u003c\/p\u003e \u003cp\u003e13.3 Pipe and Filter Architecture.\u003c\/p\u003e \u003cp\u003e13.4 Further Reading.\u003c\/p\u003e \u003cp\u003e13.5 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e14 Call-and-Return Systems.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e14.1 Main Program and Subroutines.\u003c\/p\u003e \u003cp\u003e14.2 Client–Server Systems.\u003c\/p\u003e \u003cp\u003e14.3 Object-Oriented Systems.\u003c\/p\u003e \u003cp\u003e14.4 Hierarchically Layered Systems.\u003c\/p\u003e \u003cp\u003e14.5 Further Reading.\u003c\/p\u003e \u003cp\u003e14.6 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e15 Virtual Machines.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e15.1 Interpreters.\u003c\/p\u003e \u003cp\u003e15.2 Virtual Machine Examples.\u003c\/p\u003e \u003cp\u003e15.3 Rule-Based Systems.\u003c\/p\u003e \u003cp\u003e15.4 Advantages and Disadvantages.\u003c\/p\u003e \u003cp\u003e15.5 Further Reading.\u003c\/p\u003e \u003cp\u003e15.6 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e16 Independent Component Systems.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e16.1 Communicating Sequential Processes.\u003c\/p\u003e \u003cp\u003e16.2 Event-Based Systems.\u003c\/p\u003e \u003cp\u003e16.3 Event System Issues.\u003c\/p\u003e \u003cp\u003e16.4 Broker Systems.\u003c\/p\u003e \u003cp\u003e16.5 Further Reading.\u003c\/p\u003e \u003cp\u003e16.6 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e17 Data-Centric Systems.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e17.1 Database Systems.\u003c\/p\u003e \u003cp\u003e17.2 Blackboard Systems.\u003c\/p\u003e \u003cp\u003e17.3 The Linda Model and Language.\u003c\/p\u003e \u003cp\u003e17.4 Further Reading.\u003c\/p\u003e \u003cp\u003e17.5 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e18 Concurrent Software Architectures.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e18.1 Basic Concepts.\u003c\/p\u003e \u003cp\u003e18.2 Parallel Programming.\u003c\/p\u003e \u003cp\u003e18.3 Data Parallel Systems.\u003c\/p\u003e \u003cp\u003e18.4 Message Passing Systems.\u003c\/p\u003e \u003cp\u003e18.5 A Parallel Programming Methodology.\u003c\/p\u003e \u003cp\u003e18.6 Further Reading.\u003c\/p\u003e \u003cp\u003e18.7 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e19 Software Architecture Challenges.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e19.1 Software Architecture Description.\u003c\/p\u003e \u003cp\u003e19.2 Design Issues.\u003c\/p\u003e \u003cp\u003e19.3 Analysis of Software Architectures.\u003c\/p\u003e \u003cp\u003e19.4 Further Reading.\u003c\/p\u003e \u003cp\u003e19.5 Exercises.\u003c\/p\u003e \u003cp\u003eIV FRAMEWORKS.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e20 Framework Concepts.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e20.1 Types of Frameworks.\u003c\/p\u003e \u003cp\u003e20.2 Framework Elements.\u003c\/p\u003e \u003cp\u003e20.3 Using Frameworks.\u003c\/p\u003e \u003cp\u003e20.4 Documenting Frameworks.\u003c\/p\u003e \u003cp\u003e20.5 Designing Frameworks.\u003c\/p\u003e \u003cp\u003e20.6 Problems with Frameworks.\u003c\/p\u003e \u003cp\u003e20.7 Framework Domains.\u003c\/p\u003e \u003cp\u003e20.8 Further Reading.\u003c\/p\u003e \u003cp\u003e20.9 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e21 GUI Frameworks.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e21.1 Smalltalk-80 Programming Environment.\u003c\/p\u003e \u003cp\u003e21.2 MacApp Framework.\u003c\/p\u003e \u003cp\u003e21.3 The Taligent Framework.\u003c\/p\u003e \u003cp\u003e21.4 Other Frameworks.\u003c\/p\u003e \u003cp\u003e21.5 Further Reading.\u003c\/p\u003e \u003cp\u003e21.6 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e22 Development Frameworks.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e22.1 Java as a Framework.\u003c\/p\u003e \u003cp\u003e22.2 Microsoft’s .NET Framework.\u003c\/p\u003e \u003cp\u003e22.3 IBM’s San Francisco Project.\u003c\/p\u003e \u003cp\u003e22.4 POOMA.\u003c\/p\u003e \u003cp\u003e22.5 Further Reading.\u003c\/p\u003e \u003cp\u003e22.6 Exercises.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e23 Challenges in Frameworks.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e23.1 Developing Frameworks.\u003c\/p\u003e \u003cp\u003e23.2 Application Development Using a Framework.\u003c\/p\u003e \u003cp\u003e23.3 Testing Frameworks.\u003c\/p\u003e \u003cp\u003e23.4 Issues in Framework Usage.\u003c\/p\u003e \u003cp\u003e23.5 Exercises.\u003c\/p\u003e \u003cp\u003eBIBLIOGRAPHY.\u003c\/p\u003e \u003cp\u003eGLOSSARY.\u003c\/p\u003e \u003cp\u003eINDEX.\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Electronics \u0026amp; communications engineering [\u003ca title=\"See our other books on Electronics \u0026amp; communications engineering\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Electronics%20\u0026amp;%20communications%20engineering%20%5BTJ%5D%22\"\u003eTJ\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wiley-Interscience","offers":[{"title":"Brand New","offer_id":52293487001880,"sku":"9780471483472","price":102.29,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9780471483472.jpg?v=1781641859","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/software-paradigms-hardback-9780471483472","provider":"Freshly Printed Books","version":"1.0","type":"link"}