Software Paradigms

Stephen H. Kaisler

  • 出版商: Wiley
  • 出版日期: 2005-03-01
  • 售價: $6,240
  • 貴賓價: 9.5$5,928
  • 語言: 英文
  • 頁數: 440
  • 裝訂: Hardcover
  • ISBN: 0471483478
  • ISBN-13: 9780471483472
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Description:

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.

 

 

Table of Contents:

Advice for the Instructor.

Acknowledgments.

1. Introduction.

1.1 The Meaning of Paradigm.

1.2 Software Solves Problems.

1.3 Designing and Developing Software.

1.4 Understanding Problem Paradigms.

1.5 Overview of Book.

1.6 Conventions.

1.7 Exercises.

2. Paradigm Overview.

2.1 Problem Paradigms.

2.2 A Functional Classification of Problems.

2.3 Programming Languages.

2.4 Design Patterns.

2.5 Components.

2.6 Software Architectures.

2.7 Frameworks.

2.8 Further Readiing.

PART I: DESIGN PATTERNS.

3. Overview of Design Patterns.

3.1 A Brief History of Patterns.

3.2 Why Patterns?

3.3 Pattern Spaces.

3.4 Types of Software Patterns.

3.5 Describing Patterns.

3.6 How Do We Discover Patterns?

3.7 Using Patterns.

3.8 Further Reading.

3.9 Exercises.

4. Software Patterns.

4.1 Singleton.

4.2 The Wrapper Pattern.

4.3. The Abstract Factory Pattern.

4.4 Observer Pattern.

4.5 Exercises.

5. Human-Computer Interface Patterns.

5.1 Style Guides.

5.2 An HCI Pattern Language.

5.3 Web Design Patterns.

5.4 Further Reading.

5.5 Exercises.

6. Other Pattern Domains.

6.1 Coplien's Patterns.

6.2 Object-Oriented Patterns.

6.3 Antipatterns.

6.4 Further Reading.

6.5 Exercises.

7. Pattern Design.

7.1 Design Pattern Issues.

7.2 Some Simple Pattern Design Principles.

7.3 Limitations of Design Patterns.

7.4 Further Exploration.

7.5 Exercises.

PART II: COMPONENTS.

8. Component Concepts.

8.1 What are Software Components?

8.2 Why Use Components?

8.3 Component Models.

8.4 Using Components.

8.5 Component Reuse.

8.6 Exercises.

9. Types of Components.

9.1 Event-Based Components.

9.2 Java Events.

9.3 Distributed Components.

9.4 Transaction Processing.

9.5 Exercises.

10. Component Technologies.

10.1 CORBA.

10.2 System Object Model.

10.3 Microsoft's COM/DCOM.

10.4 JavaBeans.

10.4.7 Further Reading.

10.5 Exercises.

11. Component-Based Software Engineering.

11.1 Defining CBSE.

11.2 Problems with CBSE.

11.3 Problems in using Components.

11.4 Problems with Glue Code.

11.5 Exercises.

PART III: SOFTWARE ARCHITECTURES.

12. Overview of Software Architectures.

12.1 Software Architecture Elements and Description.

12.2 Why Do We Need a Software Architecture? .

12.3 Software Architecting versus Software Engineering.

12.4 Domain-Specific Software Architectures.

12.5 Roles and Benefits.

12.6 Software Architecture Models.

12.7 What To Look For.

12.8 Exercises.

13. Data Flow Systems.

13.1 The Data Flow Model.

13.2 Batch Sequential Systems.

13.3 Pipes and Filters.

13.4 Further Reading.

13.5 Exercises.

14. Call-and-Return Systems.

14.1 Main Program and Subroutines.

14.2 Client-Server Systems.

14.3 Object-Oriented Systems.

14.4 Hierarchically Layered Systems.

14.5 Further Reading.

14.6 Exercises.

15. Virtual Machines.

15.1 Interpreters.

15.2 Virtual Machine Examples.

15.3 Rule-Based Systems.

15.4 Advantages and Disadvantages.

15.5 Further Reading.

15.6 Exercises.

16. Independent Component Systems.

16.1 Communicating Sequential Processes.

16.2 Event-Based Systems.

16.3 Event System Issues.

16.4 Broker Systems.

16.5 Further Reading.

16.6 Exercises.

17. Data-Centric Systems.

17.1 Database Systems.

17.2 Blackboard Systems.

17.3 The Linda Model and Language.

17.4 Further Reading.

17.5 Exercises.

18. Concurrent Software Architectures.

18.1 Basic Concepts.

18.2 Parallel Programming.

18.3 Data Parallel Systems.

18.4 Message Passing Systems.

18.5 A Parallel Programming Methodology.

18.6 Evaluating the Models.

18.7 Exercises.

19. Software Architecture Challenges.

19.1 Software Architecture Description.

19.2 Design Issues.

19.3 Analysis of Software Architectures.

19.4 Further Readings.

19.5 Exercises.

PART IV: FRAMEWORKS.

20. Framework Concepts.

20.1 Types of Frameworks.

20.2 Framework Elements.

20.3 Using Frameworks.

20.4 Documenting Frameworks.

20.5 Designing Frameworks.

20.6 Problems With Frameworks.

20.7 Framework Domains.

20.8 Further Reading.

20.9 Exercises.

21. GUI Frameworks.

21.1 Smalltalk-80 Programming Environment.

21.2 MacApp Framework.

21.3 The Taligent Framework.

21.4 Other Frameworks.

21.5 Exercises.

22. Development Frameworks.

22.1 Java as a Framework.

22.2 Microsoft's .NET Framework.

22.3 IBM's San Francisco Project.

22.4 POOMA.

22.5 Further Reading.

22.6 Exercises.

23. Challenges in Frameworks.

23.1 Developing Frameworks.

23.2 Application Development Using a Framework.

23.3 Testing Frameworks.

23.4 Issues in Framework Usage.

23.6 Exercises.

Bibliography.

Glossary.

Index.

商品描述(中文翻譯)

描述:



軟體範式提供了第一個完整的軟體範式編譯,這些範式通常用於開發大型軟體應用程式,涵蓋範圍從離散問題到大型應用程式。本書的重點在於提供一個結構,以便理解軟體開發方法的層次結構,並展示不同模型之間的關係。內容包括設計模式、軟體元件、軟體架構和框架中的範式。每個範式的章節都包括與構建和使用範式相關的設計問題,以及許多實際應用。作為開發範式層次結構的實用概述,《軟體範式》是本科生和研究生的優秀教學工具,也是軟體工程師的全面可靠參考資料。


 


 



目錄:



教師建議。


致謝。


1. 簡介。


1.1 範式的意義。


1.2 軟體解決問題。


1.3 設計和開發軟體。


1.4 理解問題範式。


1.5 本書概述。


1.6 慣例。


1.7 練習。


2. 範式概述。


2.1 問題範式。


2.2 問題的功能分類。


2.3 程式語言。


2.4 設計模式。


2.5 元件。


2.6 軟體架構。


2.7 框架。


2.8 進一步閱讀。


第一部分:設計模式。


3. 設計模式概述。


3.1 模式的簡史。


3.2 為什麼使用模式?


3.3 模式空間。


3.4 軟體模式的類型。


3.5 描述模式。


3.6 如何發現模式?


3.7 使用模式。


3.8 進一步閱讀。


3.9 練習。


4. 軟體模式。


4.1 單例模式。


4.2 封裝模式。


4.3 抽象工廠模式。


4.4 觀察者模式。


4.5 練習。


5. 人機介面模式。


5.1 樣式指南。


5.2 人機介面模式語言。