Software Paradigms - Stephen H. Kaisler

Software Paradigms

Buch | Hardcover
440 Seiten
2005
Wiley-Interscience (Verlag)
978-0-471-48347-2 (ISBN)
171,15 inkl. MwSt
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.

STEPHEN H. KAISLER, DSc, is currently a Senior Associate with SET Associates supporting the DARPA Information Exploitation Office. He was formerly the information technology advisor to the CIO in the Office of the Sergeant at Arms, United States Senate. Dr. Kaisler is also Adjunct Professor of Engineering in the Department of Computer Science at The George Washington University. He has published three books and numerous technical papers.

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 Reading.

2.9 Exercises.

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 Reading.

7.5 Exercises.

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 Further Reading.

9.6 Exercises.

10 Component Technologies.

10.1 CORBA.

10.2 System Object Model.

10.3 Microsoft’s COM/DCOM.

10.4 JavaBeans.

10.5 Further Reading.

10.6 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.

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 Further Reading.

12.9 Exercises.

13 Data Flow Systems.

13.1 The Data Flow Model.

13.2 Batch Sequential Systems.

13.3 Pipe and Filter Architecture.

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 Further Reading.

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 Reading.

19.5 Exercises.

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 Further Reading.

21.6 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.5 Exercises.

BIBLIOGRAPHY.

GLOSSARY.

INDEX.

Erscheint lt. Verlag 8.4.2005
Zusatzinfo Drawings: 145 B&W, 0 Color; Tables: 80 B&W, 0 Color
Sprache englisch
Maße 163 x 242 mm
Gewicht 744 g
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Theorie / Studium
Technik Elektrotechnik / Energietechnik
ISBN-10 0-471-48347-8 / 0471483478
ISBN-13 978-0-471-48347-2 / 9780471483472
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen – Anwendungen – Perspektiven

von Matthias Homeister

Buch | Softcover (2022)
Springer Vieweg (Verlag)
34,99
was jeder über Informatik wissen sollte

von Timm Eichstädt; Stefan Spieker

Buch | Softcover (2024)
Springer Vieweg (Verlag)
37,99
Eine Einführung in die Systemtheorie

von Margot Berghaus

Buch | Softcover (2022)
UTB (Verlag)
25,00