Heinz Züllighoven9781558606876, 1558606874, 3898642542
Table of contents :
Object-Oriented Construction Handbook……Page 1
CONTENTS……Page 6
Preface……Page 18
1.1.1 Motivation……Page 26
1.1.2 Structure of This Book……Page 28
1.2.1 The T&M Approach in a Nutshell……Page 29
1.2.2 T&M As a Method……Page 33
1.3 PROJECTS BEHIND THIS BOOK……Page 34
1.3.1 The Scope of the T&M Projects……Page 35
1.4 THE EQUIPMENT MANAGEMENT SYSTEM EXAMPLE……Page 39
1.5 REFERENCES……Page 40
2.1.1 Introduction……Page 42
2.1.3 Context: What抯 the Purpose of an Object Metamodel?……Page 43
2.1.4 Context: A Classi.cation of Programming Languages……Page 44
2.1.6 De.nition: Objects……Page 45
2.1.7 Discussion: Object Identity……Page 49
2.1.9 De.nition: Classes……Page 50
2.1.11 T&M Design: Generic Operations……Page 52
2.1.12 Discussion: The Object Life Cycle……Page 53
2.1.13 T&M Design: The Object Life Cycle……Page 54
2.1.15 Discussion: Inheritance……Page 55
2.1.16 T&M Design: Inheritance……Page 56
2.1.18 De.nition: Use Relationships……Page 57
2.1.20 De.nition: Polymorphism……Page 58
2.1.21 De.nition: Abstract Classes……Page 59
2.1.23 De.nition: Loose Coupling……Page 60
2.2.2 Context: Modules and Object Orientation……Page 61
2.2.3 De.nition: Principles of Object-Oriented Modularization……Page 62
2.3.2 De.nition: Contract Model……Page 63
2.3.4 Context: The Contract Model and Abstract Data Types……Page 64
2.4.1 Introduction……Page 65
2.4.3 Context: The Theoretical Concept of Types……Page 66
2.4.4 Discussion: Types……Page 67
2.5.3 Differences between Types and Classes……Page 68
2.5.5 Background: Programming Languages and Types……Page 69
2.6.1 Introduction……Page 70
2.6.2 Characteristics of Values and Objects……Page 71
2.6.3 Using Values……Page 72
2.6.4 Context: Values and Objects in Programming Languages……Page 73
2.6.7 Implementing Domain Values……Page 74
2.7.1 Introduction……Page 75
2.7.4 Representing Your Application Model……Page 76
2.7.5 Representing Your Runtime System……Page 78
2.8 REFERENCES……Page 80
3.2 DESIGNING APPLICATION SOFTWARE……Page 82
3.2.2 Background: Methodology Books versus Design Guidelines……Page 83
3.3 GUIDING METAPHORS FOR APPLICATION SOFTWARE……Page 84
3.3.2 The 揙bject Worlds?Guiding Metaphor……Page 85
3.3.4 Discussion: Guiding Metaphor of Direct Manipulation……Page 86
3.3.6 Discussion: The Factory Guiding Metaphor……Page 87
3.4.1 De.nition: Metaphors……Page 88
3.5.1 A T&M Guiding Metaphor: The Expert Workplace……Page 89
3.5.2 Background: The Supportive View……Page 90
3.5.3 Discussion: Metaphors and Patterns……Page 91
3.5.6 T&M Design: Software Tools……Page 92
3.5.9 T&M Design: Software Materials……Page 93
3.5.11 The Work Environment as a Design Metaphor……Page 94
3.5.14 The Automaton as a Design Metaphor……Page 95
3.5.16 De.nition: The Container……Page 96
3.5.18 T&M Design: Containers……Page 97
3.6 WORKPLACE TYPES……Page 98
3.6.3 T&M Design: The Functional Workplace Type……Page 99
3.6.4 T&M Design: The Back-Of.ce Workplace Type……Page 100
3.6.5 T&M Design: The Electronic Commerce Frontend Workplace Type……Page 101
3.7 REFERENCES……Page 102
4.1 INTRODUCTION……Page 104
4.3.1 De.nition: Patterns……Page 105
4.3.2 The Characteristics of a Pattern……Page 106
4.3.4 Conceptual Patterns……Page 108
4.3.5 Design Patterns……Page 109
4.3.6 Programming Patterns……Page 110
4.3.8 T&M Design: Models, Metaphors, and Patterns……Page 111
4.3.10 T&M Design: Pattern Form……Page 113
4.3.11 Pattern Collections……Page 114
4.4.1 Background: Class Libraries……Page 115
4.4.3 Application Frameworks……Page 116
4.4.4 Black-Box and White-Box Frameworks……Page 117
4.4.5 Connectors between Frameworks……Page 119
4.4.6 JWAM Framework: Layered Framework Architecture……Page 120
4.5.1 Background: Software Components……Page 121
4.5.2 De.nition: Components……Page 122
4.5.4 Components and Frameworks……Page 123
4.6 REFERENCES……Page 124
5.2 APPLICATION-ORIENTED SOFTWARE……Page 126
5.2.2 De.nition: Application Orientation……Page 127
5.2.3 Background: Application Orientation……Page 128
5.2.5 T&M Design: Structural Similarity……Page 129
5.3.2 The Application-Oriented Development Process……Page 130
5.3.3 Discussion: The Development Process……Page 131
5.3.5 Discussion: The Author-Critic Cycle……Page 132
5.3.7 Documentation in Software Development……Page 133
5.3.9 Application-Oriented Development Documents……Page 134
5.3.10 Discussion: Application-Oriented Document Types……Page 135
5.3.11 T&M Design: Application-Oriented Document Types……Page 136
5.3.13 Project Documents……Page 138
5.3.14 Documentation Guidelines……Page 139
5.4 REFERENCES……Page 140
6.2 A SIMPLIFIED SOFTWARE DEVELOPMENT MODEL……Page 142
6.2.1 Discussion: A Descriptive Software Development Model……Page 143
6.3.2 Discussion: Analyzing the Application Domain……Page 144
6.4.1 Modeling Your Application Domain……Page 145
6.5.1 Context: The Application System Model……Page 147
6.5.2 De.nition: Application System Model……Page 148
6.6 THE APPLICATION SYSTEM……Page 150
6.6.1 De.nition: The Application System……Page 151
6.7.2 The Application Domain Context……Page 152
6.7.4 Applied Technique……Page 153
6.7.5 Handling and Presentation……Page 154
6.8.1 Discussion: How Contexts In.uence Your Software Architecture……Page 155
6.9 REFERENCES……Page 157
7.1 CONCEPTUAL PATTERNS……Page 160
7.1.2 The T&M Conceptual Patterns……Page 161
7.2 A GUIDED TOUR OF THE T&M CONCEPTUAL PATTERNS……Page 162
7.3 THE INTERRELATION OF TOOLS AND MATERIALS PATTERN……Page 164
7.4 THE MATERIAL DESIGN PATTERN……Page 167
7.5 THE TOOL DESIGN PATTERN……Page 171
7.6 THE WORK ENVIRONMENT PATTERN……Page 177
7.7 THE CONTAINER PATTERN……Page 184
7.8 THE FORM PATTERN……Page 189
7.9 THE AUTOMATON PATTERN……Page 192
7.10 THE DOMAIN SERVICE PROVIDER PATTERN……Page 196
7.11 THE TECHNICAL AUTOMATON PATTERN……Page 201
7.12 THE PROBE PATTERN……Page 204
7.13 THE ADJUSTING TOOL PATTERN……Page 206
8.1 INTRODUCTION……Page 210
8.2 A GUIDED TOUR OF THE T&M DESIGN PATTERNS……Page 212
8.3 THE ASPECT PATTERN……Page 215
8.3.1 Construction Part: Using Inheritance or Interfaces to Implement Aspects……Page 220
8.3.2 Construction Part: Using Object Adapters to Implement Aspects……Page 223
8.3.3 Construction Part: Using Development Tools to Realize Aspects……Page 225
8.3.4 Construction Part: Alternatives to Using Aspects……Page 226
8.4 THE SEPARATING FUNCTION AND INTERACTION PATTERN……Page 227
8.5 THE TOOLS COMPOSITION PATTERN……Page 229
8.5.1 Construction Part: Using Components to Build Tools……Page 233
8.5.2 Construction Part: Using Components to Build Combination Tools……Page 234
8.5.3 Construction Part: Identifying Tool Boundaries……Page 235
8.6 THE FEEDBACK BETWEEN TOOL PARTS PATTERN……Page 237
8.6.1 Construction Part: Event Pattern……Page 239
8.6.2 Construction Part: Event Objects……Page 240
8.6.3 Construction Part: Chain of Responsibility……Page 242
8.6.4 Construction Part: Tool Component with Reaction Mechanisms……Page 244
8.7 THE SEPARATING FP AND IP PATTERN……Page 246
8.7.1 Construction Part: Interactive Part (IP)……Page 250
8.7.2 Construction Part: FP……Page 251
8.8 THE SEPARATING HANDLING AND PRESENTATION PATTERN……Page 252
8.9 THE FEEDBACK BETWEEN INTERACTION FORMS AND IP PATTERN……Page 257
8.10 THE DOMAIN VALUES PATTERN……Page 261
8.10.1 Construction Part: Domain Value Classes……Page 263
8.10.2 Construction Part: Immutable Domain Value Objects……Page 265
8.10.3 Construction Part: Mutable Domain Value Objects……Page 267
8.10.5 Construction Part: Domain Value Types by Con.guration……Page 268
8.11 THE DOMAIN CONTAINER PATTERN……Page 269
8.11.1 Construction Part: Using Technical Containers to Implement Domain Containers……Page 271
8.11.2 Construction Part: Loading Materials……Page 272
8.11.3 Construction Part: Tables of Contents for Containers……Page 273
8.11.5 Construction Part: Implementing Tables of Contents as Domain Values……Page 274
8.11.6 Construction Part: Coping with Changes to Containers……Page 275
8.12 THE FORM SYSTEM PATTERN……Page 277
8.13 THE AUTOMATONS IN TECHNICALLY EMBEDDED SYSTEMS PATTERN……Page 283
8.14 THE DOMAIN SERVICES PATTERN……Page 289
8.15 THE ENVIRONMENT PATTERN……Page 293
8.16.1 Materials Construction……Page 296
8.16.2 Tools Construction……Page 297
8.16.3 Domain Values……Page 299
8.16.5 Forms……Page 303
8.17 REFERENCES……Page 304
9.1 THE T&M MODEL ARCHITECTURE……Page 306
9.2 THE DOMAIN CORE OF A SOFTWARE ARCHITECTURE……Page 308
9.2.1 The Use Context……Page 310
9.2.2 The Product Domain……Page 312
9.2.3 The Business Domain……Page 314
9.2.4 How Different Domains Relate……Page 318
9.3 CONCEPTS AND ELEMENTS OF A T&M MODEL ARCHITECTURE……Page 320
9.3.2 Elementary Rules for Combining Elements of a Software Architecture……Page 321
9.3.3 Protocol-Based Layer Architectures……Page 322
9.3.4 Object-Oriented Layer Architectures……Page 324
9.3.5 The Layer Concept of the T&M Model Architecture……Page 328
9.3.6 The Three-Tier Architecture……Page 330
9.3.7 The T&M Model Architecture……Page 332
9.4 DESIGN PATTERNS FOR THE T&M MODEL ARCHITECTURE……Page 339
9.4.1 The Role Pattern……Page 340
9.4.2 The Product Trader Pattern……Page 352
9.5 REFERENCES……Page 364
10.1.1 CSCW……Page 366
10.1.2 Technical and Domain Transparency……Page 369
10.2 IMPLICIT COOPERATION……Page 370
10.3.1 Cooperation Medium: Mailboxes……Page 371
10.3.2 Cooperation Medium: Mailing System……Page 374
10.4 EXPLICIT COOPERATION MODEL: TRANSACTION PROCESSING SUPPORT……Page 375
10.4.1 The Concept of Process Patterns……Page 378
10.4.2 Cooperation Medium: Routing Slips……Page 379
10.5 REFERENCES……Page 381
11.1 BACKGROUND: INTERACTIVE APPLICATION SYSTEMS……Page 382
11.2.1 Software Registry……Page 383
11.2.2 The Basic Concept of a Software Registry……Page 385
11.2.3 Cooperation Model for a Registry……Page 386
11.2.4 Usage Model for a Registry……Page 389
11.2.5 JWAM: Architecture for a Software Registry……Page 390
11.2.6 The Generic Persistence Service……Page 394
11.3 DESIGN CRITERIA TO IMPLEMENT PERSISTENCE……Page 398
11.3.1 Client-Server Architecture……Page 399
11.3.2 Identi.ers……Page 400
11.3.3 Technical Data Modeling and Structural Mapping……Page 401
11.3.4 Querying and Data Warehousing……Page 403
11.3.5 Load-on-Demand……Page 404
11.3.6 Transactions and Locking……Page 406
11.3.8 Legacy Databases……Page 407
11.4.1 JWAM Projects……Page 408
11.4.2 MedIS and SyLab……Page 411
12.1 BACKGROUND: EVOLUTIONARY AND TRADITIONAL PROCESS MODELS……Page 418
12.1.2 The Process Model抯 Application Orientation……Page 419
12.1.3 The Classic Waterfall Model……Page 420
12.1.4 The Spiral Model……Page 422
12.1.5 An Idealized Evolutionary Process Model……Page 423
12.2.1 Sequence of Development Activities……Page 425
12.2.2 Objectifying the Development Process……Page 426
12.2.3 Lehman抯 Software Classi.cation……Page 427
12.2.4 The Cooperative Development Process……Page 430
12.2.5 Organizational and Domain Integration……Page 431
12.2.6 Developing an IT Organization……Page 434
12.3.1 Direct User Integration……Page 438
12.3.3 Reviews……Page 439
12.3.4 Pair Programming……Page 441
12.3.5 Refactoring……Page 443
12.4.1 Characteristics of OO Testing……Page 444
12.4.2 Testing OO Programs……Page 446
12.5.1 Fundamental Activities of the Management Process……Page 450
12.5.2 The Contexts of the Management Process……Page 452
12.6.1 Project Calibration……Page 453
12.6.2 Project Goals……Page 455
12.6.3 Decision Principles……Page 456
12.7.1 Core System and Special-Purpose Systems……Page 457
12.7.2 Core System and Extension Levels……Page 459
12.8.1 General Rules for Time Estimates……Page 462
12.8.2 Planning the Project Stages……Page 463
12.8.3 Using Base Lines for Detailed Planning……Page 466
12.8.4 The UP and T&M Project Planning……Page 468
12.9.1 Structure of the UP and T&M Development Processes……Page 476
12.10 REFERENCES……Page 481
13.1 SCENARIOS……Page 484
13.1.1 Using Scenarios in the Development Process……Page 487
13.1.2 Subtypes of Scenarios……Page 489
13.1.3 Scenarios and UML……Page 491
13.2 INTERVIEWS……Page 492
13.2.1 The Interview Process……Page 493
13.3 THE CONCEPT MODEL……Page 497
13.4 GLOSSARIES……Page 500
13.4.1 Using a Glossary in the Development Process……Page 502
13.5 SYSTEM VISIONS……Page 504
13.5.1 Using System Visions in the Development Process……Page 505
13.5.3 System Visions and UML……Page 507
13.6 PROTOTYPES……Page 508
13.6.1 Using Prototypes in the Development Process……Page 510
13.6.2 Prototypes and UP……Page 512
13.7 COOPERATION PICTURES……Page 513
13.7.1 Cooperation Pictures in the Development Process……Page 515
13.8 PURPOSE TABLES……Page 519
13.8.1 Using Purpose Tables in the Development Process……Page 520
13.9 TECHNICAL DOCUMENT TYPES IN UML……Page 521
13.9.2 Object Diagrams……Page 522
13.9.8 Deployment Diagrams……Page 523
13.10 REFERENCES……Page 524
Index……Page 526
Reviews
There are no reviews yet.