Building Object Applications that Work: Your Step-by-Step Handbook for Developing Robust Systems with Object Technology

Copertina anteriore
Cambridge University Press, 13 feb 1998 - 476 pagine
Written by internationally-acclaimed trainer and developer Scott Ambler, this book is a must-have resource for designers, programmers and testers of today's OO applications. The author takes you through the entire process of building object applications, from analyzing the project, to designing a user-friendly interface, to testing your approaches to make sure your applications work properly. Building Object Applications That Work includes sections on: how to use the Unified Modeling Language effectively; analysis, so you know what you need to build; design techniques, so that you know how you are going to build your application; collecting the right metrics to improve your development approach; applying OO patterns to improve the quality of your applications; creating applications for stand-alone, client/server and distributed environments; using both relational and object-oriented databases to make your objects persistent; and architecting your applications so they are maintainable and extensible.
 

Sommario

Where Weve Been Before ObjectOriented Concepts and Techniques
3
11 ObjectOriented Concepts A Really Quick Recap
4
111 Objects and Classes
5
112 Attributes and Methods
6
114 Inheritance
8
115 Persistence
9
116 Instance Relationships
10
117 Aggregation
11
67 What Weve Learned
194
Choosing an Object Oriented Language Comparing the Leading Languages
197
71 What to Look For in an OO Language
198
72 The Leading OO Languages
202
722 Java
203
723 ObjectCOBOL
205
724 Smalltalk
207
731 An Architecture for Supporting Electronic Commerce
209

118 Collaboration
12
1110 Polymorphism
13
12 ObjectOriented Analysis and Design Techniques A Really Quick Recap
14
122 UseCase Scenario Testing
20
123 Class Diagramming
25
13 Iterative ObjectOriented DevelopmentThe Pinball System Development Life Cycle SDLC
27
131 The Pinball Metaphor
28
132 The Steps of the Pinball SDLC
30
14 What We Missed in The Object Primer
33
142 The Difference Between Class and Instance Methods
35
143 The Implications of Class Attributes and Methods
37
144 What We Mean When We Say Attribute or Method
40
146 The Unified Modeling Language ClassDiagram Notation Simplified
41
15 Just in Case Youve Forgotten The Bank Case Study
42
16 Where Were Going in This Book
45
ObjectOriented Analysis Design and Architecture
47
Bubbles and Lines Useful Diagrams for ObjectOriented Analysis and Design
49
21 The Importance of Bubbles and Lines
50
22 Other Peoples Notations Understanding Class Diagrams
54
23 UseCase Diagrams Understanding Use Cases
57
231 Drawing UseCase Diagrams
58
232 Why and When Should We Create UseCase Diagrams?
59
24 Sequence Diagrams Understanding Use Cases Even Better
60
241 How to Draw Sequence Diagrams
62
242 Why and When Should We Draw Sequence Diagrams?
63
251 How to Draw a State Diagram
66
252 Taking State Diagramming a Bit Further
67
253 When and Why Should We Draw State Diagrams?
68
26 Collaboration Diagrams
69
262 Why and When Should We Draw Collaboration Diagrams?
70
271 Drawing Process Models
72
272 Why and When Should We Draw Process Models?
74
281 Drawing InterfaceFlow Diagrams
75
282 Why and When Should We Draw InterfaceFlow Diagrams?
76
29 Data Models Modeling Your Database Design
77
291 Drawing Data Models
78
292 Why and When Should We Draw Data Models?
79
211 What Weve Learned
81
Improving Your Design A ClassType Architecture
85
31 Why Do We Need a ClassType Architecture?
87
321 A TwoLayer ClassType Architecture
88
322 A ThreeLayer ClassType Architecture
90
323 A FourLayer Class Architecture
93
324 A FiveLayer ClassType Architecture
97
33 A Detailed Look at the Various Class Types
98
332 Business Classes
101
333 Persistence Classes
102
334 System Classes
105
34 Issues with the FiveLayer ClassType Architecture
106
342 Can I Buy Some of These Classes?
107
343 What Are the Implications for Project Management?
109
344 What Are the Implications for Development?
110
345 7s This Enough?
113
346 What Are the Advantages and Disadvantages?
114
Reusing Your Development Efforts ObjectOriented Patterns
117
41 Design Patterns
119
412 Proxy
120
413 Roles Played State
122
42 Analysis Patterns
125
421 ItemItem Description
126
422 Business Entity
128
424 ShippingBilling
130
425 Place
131
43 How to Use Patterns Effectively
132
44 How to Discover New Patterns
133
45 The Advantages and Disadvantages of Patterns
134
452 Disadvantages
135
46 What Weve Learned
136
Development in the 90s and Beyond Designing Distributed Object Oriented Applications
139
51 Centralized Mainframes
141
52 ClientServer
142
521 TwoTier ClientServer
144
522 ThreeTier ClientServer
146
53 Distributed Classes
148
531 Traditional ClientServer Using Object Technology
149
533 Applets
160
54 Distributed Objects
161
541 Common Object Request Broker Architecture
163
55 What Weve Learned
167
ObjectOriented Construction
169
Measuring and Improving the Quality of Your Work ObjectOriented Metrics
171
61 What Are Metrics and What Can They Do forto Me?
172
62 Estimating Projects
173
621 Number of Key Classes
174
623 Classes per Developer
175
624 Number of Reused Classes
176
625 Function and Feature Points
177
63 Improving Your Development Efforts
178
631 Analysis Metrics
179
632 Design Metrics
180
633 Construction Metrics
185
634 Testing Metrics
189
64 Choosing the Right Tools
190
65 Improving Your Development Approach
191
732 Payment Processing on the Internet
210
733 Its the WORLD Wide Web International Issues
211
734 You Can Sell Both Physical and Virtual Products Internationally
212
736 Using SmalltalkObjectCOBOL and Java to Develop Electronic Commerce Applications
213
74 Beyond Programming Languages Other Development Tools
216
75 What Weve Learned
218
Building Your Application Effective ObjectOriented Construction Techniques
221
81 Attitude Is Everything
222
812 Theres More to Development Than just Development
223
813 You Need to Get the Design Right First
224
814 You Need to Develop in Small Steps
225
815 You Need to Work Closely with Your Users
226
822 Accessor Methods
229
83 Writing HighQuality Methods
237
833 Paragraphing Your Code
241
834 Methods Should Always Do Something
242
835 Methods Should Do One Thing Only
243
836 Do One Thing per Line
244
837 The 30Second Rule
245
839 Polymorphism the Right Way Avoiding Case Statements
246
84 Creating Maintainable Classes
247
85 Programming Techniques and Approaches
249
852 Error Handling
251
853 Callback Methods and Message Dispatchers
253
86 Organizing Construction Around the ClassType Architecture
255
87 What Weve Learned
256
Making Your Applications Usable ObjectOriented User Interface Design
261
91 What Are ObjectOriented User Interfaces?
262
911 An OO Bank Teller Application
264
912 Why OOUIs Are Different but the Same
268
92 Designing Effective User Interfaces
269
922 Enough User Interface Design Tips to Sink a Ship and Then Some
273
Developing Effective ObjectOriented User Interfaces
278
932 Youre Working with Objects Too Not fust Windows
280
933 Modeling ObjectOriented User Interfaces
281
934 Prototyping ObjectOriented User Interfaces
282
94 What Weve Learned
287
Making Your Objects Persistent ObjectOrientation and Databases
291
101 Getting Started Some Common Terminology
292
102 Saving Your Objects into Flat Files
295
103 The Current Reality Relational Technology and OO Applications
298
1031 Normalization
299
1032 Overcoming the ObjectRelational Impedance Mismatch
311
1033 An Approach for Mapping Objects to Relational Databases
326
1034 The Seven Commandments for Mapping Objects to Relational Databases
332
1035 Looking into My Crystal Ball OO and RDB in the Future
334
1041 What to Look For in an OODBMS
335
1042 Debunking the Myths of Object Databases
338
105 Taking a Hybrid Approach ObjectRelational Databases
339
106 What Weve Learned
341
Integrating Legacy Code Wrapping
343
111 Why Wrap?
344
112 Approaches to Wrapping
346
1121 Leaving Things Well Enough Alone
347
113 Wrapping Technologies
348
1132 Wrapping Legacy Applications
351
1133 Comparing Wrapping Technologies When to Use Each One
355
114 The Advantages and Disadvantages of Wrapping
357
115 What Weve Learned
358
ObjectOriented Testing
361
Making Sure Your Applications Work Full LifeCycle Object Oriented Testing FLOOT
363
121 Why FLOOT?
365
122 Testing Your Previous Efforts Regression Testing
367
123 Testing Your Analysis
369
1231 UseCase Scenario Testing
370
1233 UserRequirement Reviews
371
124 Testing Your Design
372
1242 RequirementVerification Matrices
379
125 Testing Your Program Code
380
1251 Code Reviews
382
1252 Traditional Testing Methods
383
1253 New Testing Techniques for OO Program Code
388
1254 LanguageSpecific Testing Issues
398
1256 A Process for Successfully Testing Your Code
401
1257 The Strengths of Each Program Code Testing Technique
402
126 Testing Your Application As a Whole
403
1262 UserAcceptance Testing
407
1263 Alpha Beta and Pilot Testing
409
127 Software Quality Assurance and ISO 9000
410
128 Testing Tips and Techniques
412
129 Full LifeCycle ObjectOriented Testing Overview
414
1210 What Weve Learned
415
Conclusion
417
Where to Go from Here Personal Success Strategies
419
131 Advice for Overcoming the OO Learning Curve
420
132 What We Learned in This Book
422
133 Parting Words
424
Appendices
425
Notation Summary
427
A2 The Unified Modeling Language Class Diagramming Notation vlO Simplified
428
Visual Glossary
429
Index
457
Copyright

Altre edizioni - Visualizza tutto

Parole e frasi comuni

Informazioni bibliografiche