rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780471248750

Building Application Frameworks : Object-Oriented Foundations of Framework Design

by ; ;
  • ISBN13:

    9780471248750

  • ISBN10:

    0471248754

  • Edition: 1st
  • Format: Hardcover
  • Copyright: 1999-09-01
  • Publisher: Wiley
  • Purchase Benefits
List Price: $75.00

Summary

Object Technology The first experience-based guide to building object-oriented frameworks Building Application Frameworks By providing reusable skeletons on which to build new applications, frameworks can save you countless hours and thousands (even millions) of dollars in development costs. Written and edited by some of the top names in the object-oriented programming world, this is the first complete study of building frameworks. Using examples drawn from successful implementations worldwide, it walks you through all the steps of a framework development project. Providing guidance on all key technical and business issues surrounding framework construction, it covers: * Techniques for developing, integrating, and adapting frameworks * Leveraging existing design and code * Selecting and utilizing frameworks * Tracking, controlling, and documenting framework development * Maintaining, measuring, and controlling framework quality * Training developers in the effective use of frameworks * Evaluating frameworks and framework investments

Author Biography

MOHAMED E. FAYAD, PhD is a professor of Computer Science and Engineering at the University of Nebraska, a columnist for Communications of the ACM, lead author of Wiley’s book Transition to Object-Oriented Software Development, a guest editor for six different theme issues, and a former editor-in-chief of IEEE Computer Society Press. He is a pioneer and expert in objectoriented software engineering. DOUGLAS C. SCHMIDT, PhD is a professor of Computer Science at Washington University and consults for Lucent Technologies. He is a pioneer in the field of telecommunications patterns and frameworks. RALPH E. JOHNSON, PhD is a member of the famed "Gang of Four" and a professor of Computer Science at the University of Illinois, Urbana-Champaign.

Table of Contents

Preface xv(6)
Acknowledgments xxi
Part One: Framework Overview 1(86)
Mohamed E. Fayad
Chapter 1 Application Frameworks
3(26)
Mohamed E. Fayad
Douglas C. Schmidt
Ralph E. Johnson
1.1 What Is an Application Framework?
4(4)
1.2 Benefits
8(1)
1.3 An Overview of Widely Used Frameworks
9(1)
1.4 Classifying Application Frameworks
9(2)
1.5 The Strengths and Weaknesses of Application Frameworks
11(2)
1.6 Reuse: Components versus Designs
13(2)
1.7 Application Frameworks versus Other Reuse Techniques
15(2)
1.8 How to Use Application Frameworks
17(1)
1.9 How to Learn Application Frameworks
18(1)
1.10 How to Evaluate Application Frameworks
19(2)
1.11 How to Develop Application Frameworks
21(1)
1.12 Organization of This Book
22(1)
1.13 Summary
23(1)
1.14 References
24(3)
1.15 Review Questions
27(2)
Chapter 2 Frameworks and Patterns: Architectural Abstractions
29(26)
Eyoun Eli Jacobson
Palle Nowack
2.1 Architectural Abstractions
31(2)
2.2 Frameworks
33(4)
2.3 Object-Oriented Patterns
37(9)
2.4 Frameworks and Patterns
46(4)
2.5 Summary
50(2)
2.6 References
52(1)
2.7 Review Questions
53(1)
2.8 Problem Set
54(1)
Chapter 3 Framework Problems and Experiences
55(28)
Jan Bosch
Peter Molin
Michael Mattsson
PerOlaf Bengtsson
Mohamed E. Fayad
3.1 Object-Oriented Frameworks
56(3)
3.2 Examples of Application Frameworks
59(3)
3.3 Problems and Experiences
62(16)
3.4 Summary
78(1)
3.5 References
79(3)
3.6 Review Questions
82(1)
Sidebar 1 Enterprise Frameworks
83(4)
David S. Hamu
Part Two: Framework Perspectives 87(80)
Mohamed E. Fayad
Chapter 4 Simula Frameworks: The Early Experience
89(54)
Jean G. Vaucher
Boris Magnusson
4.1 History of Simula
91(1)
4.2 Basic Concepts of Simula
92(6)
4.3 Standard Simula Frameworks
98(11)
4.4 Other Simulation Frameworks
109(10)
4.5 Simula and Real Time
119(11)
4.6 Other Early Simula Frameworks
130(1)
4.7 Discussion
131(5)
4.8 Summary
136(2)
4.9 References
138(2)
4.10 Review Questions
140(3)
Chapter 5 Visual Builders: Framework Design Issues
143(10)
Art Jolin
Dave Lavin
Susan Charpenter
5.1 Parts Can Address Both Sets of Needs
143(2)
5.2 Programmers Connect Part Features to Build Applications
145(1)
5.3 Making Classes into Parts
145(1)
5.4 Ready-to-Wear Parts versus Tailor-Made Classes
145(2)
5.5 Code Generation Changes the Equation
147(1)
5.6 Giving Up Some Freedom for Convenience
147(1)
5.7 Builders Give You Some Things for Free
148(1)
5.8 A Matter of Degree
149(1)
5.9 Summary
149(1)
5.10 References
150(1)
5.11 Review Questions
150(1)
5.12 Problem Set
150(2)
5.13 Projects
152(1)
Chapter 6 Usability and Framework Design
153(10)
Art Jolin
6.1 Usability Guidelines
153(7)
6.2 Summary
160(1)
6.3 Review Questions
160(2)
6.4 Problem Set
162(1)
6.5 Projects
162(1)
Sidebar 2 Viewpoints and Frameworks in Component-Based Software Design
163(4)
Paula S.C Alencar
Donald D. Cowan
Torsten Nelson
Marcus F. Fontoura
Carlos J.P. Lucena
Part Three: Frameworks and Domain Analysis 167(48)
Mohamed E. Fayad
Chapter 7 Deriving Frameworks from Domain Knowledge
169(30)
Mehmet Aksit
Bedir Tekinerdogan
Francesco Marcelloni
7.1 Description of the Pilot Projects
170(2)
7.2 Modeling Domain Knowledge
172(9)
7.3 Mapping Knowledge Graphs to Object-Oriented Frameworks
181(8)
7.4 Evaluation of the Approach and Summary
189(2)
7.5 References
191(3)
7.6 Review Questions
194(1)
7.7 Problem Set
194(5)
Chapter 8 Harvesting Design
199(12)
Joan Boone
8.1 The Harvesting Process
200(1)
8.2 Identifying Candidates
200(1)
8.3 Solution Domain Analysis
201(2)
8.4 Framework Implementation
203(6)
8.5 Application Development with the Framework
209(1)
8.6 Summary
209(1)
8.7 References
209(1)
8.8 Review Questions
210(1)
8.9 Problem Set
210(1)
Sidebar 3 Frameworks and Domain Models: Two Sides of the Same Coin
211(4)
Giancarlo Succi
Paolo Predonzani
Andrea Valerio
Tullio Vernazza
Part Four: Framework Development Concepts 215(134)
Mohamed E. Fayad
Chapter 9 Reusing Hooks
219(18)
Garry Froehlich
H. James Hoover
Ling Liu
Paul Sorenson
9.1 Background
220(2)
9.2 The Hooks Model: An Overview
222(3)
9.3 Hooking into SEAF
225(7)
9.4 Summary
232(1)
9.5 References
233(1)
9.6 Review Questions
233(1)
9.7 Problem Set
234(1)
9.8 Projects
234(1)
9.9 Appendix: Grammar for Hook Descriptions
235(2)
Chapter 10 A Framework Recipe
237(30)
Steven R. Jones
10.1 The Transition
237(4)
10.2 The Pattern System
241(24)
10.3 Summary
265(1)
10.4 References
265(1)
10.5 Review Questions
266(1)
10.6 Problem Set
266(1)
Chapter 11 Capturing Hypermedia Functionality
267(22)
Alejandra Garrido
Gustavo Rossi
11.1 An Example
268(1)
11.2 The OO-Navigator Architecture
269(2)
11.3 Using the Framework
271(4)
11.4 Describing the Architecture with Patterns
275(7)
11.5 Summary
282(1)
11.6 References
282(2)
11.7 Review Questions
284(1)
11.8 Problem Set
284(1)
11.9 Projects
284(1)
11.10 CASE Tool Appendix
285(4)
Chapter 12 Understanding Frameworks
289(20)
Neelam Soundarajan
12.1 A Simple Model of Frameworks
292(1)
12.2 Behavioral Refinement: From Frameworks to Applications
293(6)
12.3 Case Study: A Simple Diagram Editor Framework
299(6)
12.4 Summary
305(1)
12.5 References
306(1)
12.6 Review Questions
307(1)
12.7 Problem Set
308(1)
12.8 Projects
308(1)
Chapter 13 Capturing Framework Requirements
309(16)
Granville G. Miller
John McGregor
Melissa L. Major
13.1 Background
310(1)
13.2 Framework Requirements
311(7)
13.3 Related Work
318(2)
13.4 Summary
320(1)
13.5 References
321(1)
13.6 Review Questions
322(1)
13.7 Problem Set
322(3)
Chapter 14 Managing Class Dependencies
325(20)
Andreas Ruping
14.1 Case Study
327(5)
14.2 Classification
332(9)
14.3 Related Work
341(1)
14.4 Summary
342(1)
14.5 References
343(1)
14.6 Review Questions
344(1)
14.7 Problem Set
344(1)
Sidebar 4 Formal Design and Performance Evaluation
345(4)
Michael Goedicke
Torsten Meyer
Part Five: Framework Development Approaches 349(116)
Mohamed E. Fayad
Chapter 15 Framework Design by Systematic Generalization
353(26)
Hans Albrecht Schmid
15.1 Framework Design Activities
354(1)
15.2 Application Modeling Activity
355(1)
15.3 Hot Spots and Hot-Spot Specification
356(3)
15.4 Hot-Spot Analysis
359(3)
15.5 Hot-Spot Subsystem
362(3)
15.6 Hot-Spot Subsystem High-Level Design: Mapping Characteristics to the Subsystem Structure
365(2)
15.7 Generalization Transformation
367(2)
15.8 Transformations Generalizing the Editor
369(4)
15.9 Summary
373(4)
15.10 References
377(1)
15.11 Review Questions
377(1)
15.12 Problem Set
378(1)
Chapter 16 Hot-Spot-Driven Development
379(16)
Wolfgang Pree
16.1 Hot Spots in Whitebox and Blackbox Frameworks
379(2)
16.2 Hook Methods as Elementary Building Blocks of Hot Spots
381(3)
16.3 Hot-Spot-Driven Development Process
384(8)
16.4 Summary
392(1)
16.5 References
392(1)
16.6 Review Questions
393(1)
16.7 Problem Set
393(2)
Chapter 17 Structuring Large Application Frameworks
395(16)
Dirk Baumer
Guido Gryczan
Rolf Knoll
Carola Lilienthal
Dirk Riehle
Heinz Zullighoven
17.1 Framework Layering in Large Systems
396(7)
17.2 Framework Construction for Large Systems
403(5)
17.3 Related Work
408(1)
17.4 Summary
408(1)
17.5 References
409(1)
17.6 Review Questions
410(1)
17.7 Problem Set
410(1)
Sidebar 5 Framelets-Small Is Beautiful
411(4)
Wolfgang Pree
Kai Koskimies
Chapter 18 Understanding Macroscopic Behavior Patterns with Use-Case Maps
415(26)
R.J.A. Buhr
18.1 Understanding Macroscopic Behavior Patterns
415(5)
18.2 HotDraw
420(8)
18.3 ACE
428(5)
18.4 Discussion
433(4)
18.5 Summary
437(1)
18.6 References
437(2)
18.7 Review Questions
439(1)
18.8 Problem Set
439(1)
18.9 Projects
439(2)
Chapter 19 Composing Modeling Frameworks in Catalysis
441(19)
Desmond D'Souza
Alan Cameron Wills
19.1 Frameworks--Beyond OOP
441(9)
19.2 Frameworks Build on Types, Refinements, and Collaborations
450(5)
19.3 Frameworks with Placeholders
455(3)
19.4 Examples of Frameworks
458(1)
19.5 Summary
458(1)
19.6 References
459(1)
19.7 Review Questions
459(1)
19.8 Problem Set
459(1)
19.9 Projects
459(1)
Sidebar 6 Enduring Business Themes
460(5)
Marshall Cline
Mike Girou
Howard Young
Part Six: Framework Testing and Integration 465(28)
Mohamed E. Fayad
Chapter 20 Composition Problems, Causes, and Solutions
467(21)
Michael Mattsson
Jan Bosch
20.1 Object-Oriented Framework Examples
469(2)
20.2 Framework Composition Problems
471(5)
20.3 Underlying Causes
476(3)
20.4 From Problems to Causes to Solutions
479(5)
20.5 Summary
484(1)
20.6 References
485(2)
20.7 Review Questions
487(1)
Sidebar 7 Built-in Test Reuse
488(5)
Yingxu Wang
Graham King
Mohamed E. Fayad
Part Seven: Framework Documentation 493(72)
Mohamed E. Fayad
Chapter 21 Documenting Frameworks
495(10)
Greg Butler
Pierre Denommee
21.1 Kinds of Framework Reuse
496(1)
21.2 Types of Documentation
497(4)
21.3 Guidelines
501(1)
21.4 Summary
501(1)
21.5 References
502(1)
21.6 Review Questions
503(2)
Chapter 22 Empowering Framework Users
505(18)
Jutta Eckstein
22.1 The Aim of Empowerment
505(1)
22.2 Teaching Techniques
506(3)
22.3 Combining the Teaching Techniques
509(6)
22.4 Summary
515(5)
22.5 References
520(1)
22.6 Review Questions
521(1)
22.7 Problem Set
521(2)
Chapter 23 Describing and Using Frameworks
523(39)
Hafedh Mili
Houari Sahraoui
23.1 Requirements
524(3)
23.2 Model
527(12)
23.3 Implementation
539(6)
23.4 Framework Search and Realization
545(7)
23.5 Framework Packaging
552(3)
23.6 Related Work
555(2)
23.7 Summary
557(1)
23.8 References
558(2)
23.9 Review Questions
560(1)
23.10 Problem Set
560(2)
Sidebar 8 Documenting Frameworks: Solitaire Is Not Alone
562(3)
David C. Raines
James C. Mckim, Jr.
Part Eight: Framework Management and Economics 565(60)
Mohamed E. Fayad
Chapter 24 Strategic Analysis of Application Framework Investments
567(32)
John M. Favaro
Kenneth K. Favaro
24.1 Software Reuse Economics and Organizational Reuse Capability
568(1)
24.2 Strategy: A Value-Based Investment Framework
569(8)
24.3 Finance: Linking Strategy to Value
577(15)
24.4 Summary and Related Work
592(1)
24.5 References
593(2)
24.6 Review Questions
595(1)
24.7 Problem Set
595(1)
24.8 Projects
596(3)
Chapter 25 Evaluating Structural and Functional Stability
599(18)
Jadish Bansiya
25.1 Metrics and OOAF Characteristics Assessment
600(1)
25.2 Framework Stability
601(1)
25.3 Framework Architecture Assessment Method
602(9)
25.4 Summary
611(2)
25.5 References
613(1)
25.6 Review Questions
613(1)
25.7 Problem Set
614(1)
25.8 Projects
615(2)
Chapter 26 Future Trends
617(3)
Mohamed E. Fayad
26.1 Future Research Areas
617(2)
26.2 References
619(1)
26.3 Review Questions
619(1)
Sidebar 9 Framework Maintenance: Vendor Viewpoint
620(5)
Mauri Laitinen
Appendix A Glossary 625(10)
Appendix B Index of Authors 635(18)
Index 653

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program