+612 9045 4394
 
CHECKOUT
Software Paradigms - Stephen H. Kaisler

Hardcover

Published: 1st March 2005
Ships: 7 to 10 business days
7 to 10 business days
RRP $470.99
$326.25
31%
OFF
or 4 easy payments of $81.56 with Learn more

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.

"...an excellent course reference for someone with significant but varied...software development ideas...a handy reference for identifying the similarities between...software development elements..." (IEEE Software Magazine, January/February 2006) "...useful to some programmers." (CHOICE, October 2005) "This is a good survey of the various topics...quite relevant to the CSQE body of knowledge architecture topic." (Software Quality Professional, September 2005) "...a timely work that helps put recent advances in software architecture and framework development in context with earlier software design concepts." (Computing Reviews.com, July 29, 2005) "...a welcome...addition to the literature on software development paradigm." (Computing Reviews.com, May 3, 2005)

Advice for the Instructorp. xiii
Acknowledgmentsp. xv
Introductionp. 1
The Meaning of Paradigmp. 2
Software Solves Problemsp. 3
Designing and Developing Softwarep. 5
Understanding Problem Paradigmsp. 7
Overview of Bookp. 9
Conventionsp. 10
Exercisesp. 10
Paradigm Overviewp. 11
Problem Paradigmsp. 13
A Functional Classification of Problemsp. 17
Programming Languagesp. 21
Design Patternsp. 28
Componentsp. 30
Software Architecturesp. 33
Frameworksp. 34
Further Readingp. 37
Exercisesp. 38
Design Patternsp. 39
Overview of Design Patternsp. 41
A Brief History of Patternsp. 41
Why Patterns?p. 42
Pattern Spacesp. 42
Types of Software Patternsp. 44
Describing Patternsp. 44
How Do We Discover Patterns?p. 45
Using Patternsp. 46
Further Readingp. 48
Exercisesp. 48
Software Patternsp. 49
Singletonp. 49
The Wrapper Patternp. 54
The Abstract Factory Patternp. 61
Observer Patternp. 66
Exercisesp. 70
Human-Computer Interface Patternsp. 72
Style Guidesp. 72
An HCI Pattern Languagep. 73
Web Design Patternsp. 75
Further Readingp. 79
Exercisesp. 79
Other Pattern Domainsp. 80
Coplien's Patternsp. 80
Object-Oriented Patternsp. 83
Antipatternsp. 86
Further Readingp. 89
Exercisesp. 89
Pattern Designp. 90
Design Pattern Issuesp. 90
Some Simple Pattern Design Principlesp. 92
Limitations of Design Patternsp. 93
Further Readingp. 94
Exercisesp. 95
Componentsp. 97
Component Conceptsp. 99
What Are Software Components?p. 100
Why Use Components?p. 108
Component Modelp. 113
Using Componentsp. 120
Component Reusep. 123
Exercisesp. 127
Types of Componentsp. 129
Event-Based Componentsp. 129
Java Eventsp. 134
Distributed Componentsp. 138
Transaction Processingp. 144
Further Readingp. 145
Exercisesp. 145
Component Technologiesp. 146
CORBAp. 146
System Object Modelp. 151
Microsoft's COM/DCOMp. 162
JavaBeansp. 176
Further Readingp. 183
Exercisesp. 184
Component-Based Software Engineeringp. 185
Defining CBSEp. 186
Problems with CBSEp. 186
Problems in Using Componentsp. 190
Problems with Glue Codep. 194
Exercisesp. 196
Software Architecturesp. 197
Overview of Software Architecturesp. 199
Software Architecture Elements and Descriptionp. 200
Why Do We Need a Software Architecture?p. 204
Software Architecting Versus Software Engineeringp. 206
Domain-Specific Software Architecturesp. 208
Roles and Benefitsp. 214
Software Architecture Modelsp. 218
What To Look Forp. 218
Further Readingp. 220
Exercisesp. 220
Data Flow Systemsp. 221
The Data Flow Modelp. 221
Batch Sequential Systemsp. 227
Pipe and Filter Architecturep. 228
Further Readingp. 238
Exercisesp. 239
Call-and-Return Systemsp. 240
Main Program and Subroutinesp. 240
Client-Server Systemsp. 243
Object-Oriented Systemsp. 250
Hierarchically Layered Systemsp. 254
Further Readingp. 257
Exercisesp. 257
Virtual Machinesp. 258
Interpretersp. 258
Virtual Machine Examplesp. 259
Rule-Based Systemsp. 263
Advantages and Disadvantagesp. 268
Further Readingp. 268
Exercisesp. 269
Independent Component Systemsp. 270
Communicating Sequential Processesp. 270
Event-Based Systemsp. 272
Event System Issuesp. 280
Broker Systemsp. 282
Further Readingp. 284
Exercisesp. 285
Data-Centric Systemsp. 286
Database Systemsp. 287
Blackboard Systemsp. 293
The Linda Model and Languagep. 296
Further Readingp. 298
Exercisesp. 299
Concurrent Software Architecturesp. 300
Basic Conceptsp. 300
Parallel Programmingp. 306
Data Parallel Systemsp. 311
Message Passing Systemsp. 315
A Parallel Programming Methodologyp. 322
Further Readingp. 327
Exercisesp. 327
Software Architecture Challengesp. 328
Software Architecture Descriptionp. 328
Design Issuesp. 332
Analysis of Software Architecturesp. 336
Further Readingp. 341
Exercisesp. 342
Frameworksp. 343
Framework Conceptsp. 345
Types of Frameworksp. 347
Framework Elementsp. 350
Using Frameworksp. 354
Documenting Frameworksp. 358
Designing Frameworksp. 361
Problems with Frameworksp. 365
Framework Domainsp. 372
Further Readingp. 373
Exercisesp. 373
GUI Frameworksp. 374
Smalltalk-80 Programming Environmentp. 375
MacApp Frameworkp. 381
The Taligent Frameworkp. 384
Other Frameworksp. 385
Further Readingp. 389
Exercisesp. 389
Development Frameworksp. 390
Java as a Frameworkp. 390
Microsoft's .NET Frameworkp. 395
IBM's San Francisco Projectp. 398
POOMAp. 402
Further Readingp. 402
Exercisesp. 403
Challenges in Frameworksp. 404
Developing Frameworksp. 404
Application Development Using a Frameworkp. 405
Testing Frameworksp. 408
Issues in Framework Usagep. 409
Exercisesp. 411
Bibliographyp. 413
Glossaryp. 427
Indexp. 433
Table of Contents provided by Ingram. All Rights Reserved.

ISBN: 9780471483472
ISBN-10: 0471483478
Audience: Professional
Format: Hardcover
Language: English
Number Of Pages: 440
Published: 1st March 2005
Publisher: John Wiley and Sons Ltd
Country of Publication: US
Dimensions (cm): 23.9 x 16.4  x 3.0
Weight (kg): 0.87