Object-oriented software engineering:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston, Mass. [u.a.]
McGraw-Hill
2008
|
Ausgabe: | 1. ed. |
Schlagworte: | |
Online-Zugang: | Table of contents only Publisher description Inhaltsverzeichnis |
Beschreibung: | XVII, 558 S. graph. Darst |
ISBN: | 007352333X |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV023099519 | ||
003 | DE-604 | ||
005 | 20090220 | ||
007 | t | ||
008 | 080125s2008 xxud||| |||| 00||| eng d | ||
010 | |a 2007021842 | ||
020 | |a 007352333X |c hard copy : alk. paper |9 0-07-352333-X | ||
035 | |a (OCoLC)136783209 | ||
035 | |a (DE-599)BVBBV023099519 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-703 | ||
050 | 0 | |a QA76.758 | |
082 | 0 | |a 005.1/17 | |
084 | |a ST 231 |0 (DE-625)143618: |2 rvk | ||
100 | 1 | |a Schach, Stephen R. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Object-oriented software engineering |c Stephen R. Schach |
250 | |a 1. ed. | ||
264 | 1 | |a Boston, Mass. [u.a.] |b McGraw-Hill |c 2008 | |
300 | |a XVII, 558 S. |b graph. Darst | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a Software engineering | |
650 | 4 | |a Object-oriented programming (Computer science) | |
650 | 0 | 7 | |a Objektorientierung |0 (DE-588)4346172-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Software Engineering |0 (DE-588)4116521-4 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Software Engineering |0 (DE-588)4116521-4 |D s |
689 | 0 | 1 | |a Objektorientierung |0 (DE-588)4346172-4 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | |u http://www.loc.gov/catdir/enhancements/fy0726/2007021842-t.html |3 Table of contents only | |
856 | 4 | |u http://www.loc.gov/catdir/enhancements/fy0726/2007021842-d.html |3 Publisher description | |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016302263&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-016302263 |
Datensatz im Suchindex
_version_ | 1804137356663455744 |
---|---|
adam_text | Contents
PART ONE
INTRODUCTION TO OBJECT-
ORIENTED SOFTWARE
ENGINEERING
1
Chapter
1
The Scope of Object-Oriented Software
Engineering
3
Learning Objectives
3
1.1
Historical Aspects
4
1.2
Economic Aspects
7
1.3
Maintenance Aspects
8
1.3.1
The Modern View of
Maintenance
9
1.3.2
The Importance of Post-
delivery Maintenance
11
1.4
Requirements, Analysis, and
Design Aspects
13
1.5
Team Development Aspects
15
1.6
Why There Is No Planning Phase
16
1.7
Why There Is No Testing Phase
17
1.8
Why There Is No Documentation Phase
18
1.9
The Object-Oriented Paradigm
18
1.10
Terminology
20
1.11
Ethical Issues
24
Chapter Review
25
For Further Reading
25
Key Terms
26
Problems
27
References
28
Chapter
2
Software Life-Cycle Models
32
32
Learning Objectives
32
2.1
Software Development in Theory
2.2
Winburg Mini Case Study
33
2.3
Lessons of the Winburg Mini Case Study
37
2.4
Teal Tractors Mini Case Study
37
2.5
Iteration and Incrementation
38
2.6
Winburg Mini Case Study Revisited
42
2.7
Risks and Other Aspects of Iteration
and Incrementation
43
2.8
Managing Iteration and Incrementation
46
2.9
Other Life-Cycle Models
47
2.9.1
Code-and-Fix Life-Cycle Model
47
2.9.2
Waterfall Life-Cycle Model
48
2.9.3
Rapid-Prototyping Life-Cycle
Model
50
2.9.4
Open-Source Life-Cycle Model
51
2.9.5
Agile Processes
54
2.9.6
Synchronize-and-Stabilize
Life-Cycle Model
57
2.9.7
Spiral Life-Cycle Model
57
2.10
Comparison of Life-Cycle Models
61
Chapter Review
62
For Further Reading
63
Key Terms
64
Problems
64
References
65
Chapter
3
The Software Process
68
Learning Objectives
68
3.1
The Unified Process
70
3.2
Iteration and Incrementation
72
3.3
The Requirements Workflow
73
3.4
The Analysis Workflow
74
3.5
The Design Workflow
76
3.6
The Implementation Workflow
77
3.7
The Test Workflow
78
3.7.1
Requirements Artifacts
78
3.7.2
Analysis Artifacts
79
3.7.3
Design Artifacts
79
3.7.4
Implementation Artifacts
79
3.8
Postdelivery Maintenance
81
3.9
Retirement
82
3.10
The Phases of the Unified Process
82
3.10.1
The Inception Phase
83
3.10.2
The Elaboration Phase
85
3.10.3
The Construction Phase
86
3.10.4
The Transition Phase
86
3.11
One- versus Two-Dimensional Life-Cycle
Models
87
3.12
Improving the Software Process
89
3.13
Capability Maturity Models
89
xii
Contents
3.14
Other
Software
Process Improvement
Initiatives
92
3.15
Costs and Benefits of Software Process
Improvement
93
Chapter Review
95
For Further Reading
95
Key Terms
96
Problems
97
References
97
Chapter
4
Teams
101
Learning Objectives
101
4.1
Team Organization
ΙΟΙ
4.2
Democratic Team Approach
103
4.2.
1 Analysis of the Democratic Team
Approach
104
4.3
Chief Programmer Team Approach
104
4.3.1
The New York Times Project
106
4.3.2
¡mpracticality of the Chief
Programmer Team Approach
107
4.4
Beyond Chief Programmer and Democratic
Teams
107
4.5
Synchronize-and-Stabilize Teams
111
4.6
Teams for Agile Processes
112
4.7
Open-Source Programming Teams
112
4.8
People Capability Maturity Model
113
4.9
Choosing an Appropriate Team
Organization
114
Chapter Review
115
For Further Reading
115
Key Terms
115
Problems
116
References
116
Chapter
5
The Tools of The Trade
118
Learning Objectives
118
5.1
Stepwise Refinement
118
5.1.1
Stepwise Refinement Mini
CaseStudy
119
5.2
Cost-Benefit Analysis
124
5.3
Software Metrics
126
5.4
CASE
127
5.5
Taxonomy of CASE
128
5.6
Scope of CASE
130
5.7
Software Versions
133
5.7.1
Revisions
134
5.7.2
Variations
134
5.8
Configuration Control
135
5.8.1
Configuration Control during
Postdelivery Maintenance
137
5.8.2
Baselines
138
5.8.3
Configuration Control during
Development
138
5.9
Build Tools
138
5.10
Productivity Gains with CASE
Technology
139
Chapter Review
141
For Further Reading
141
Key Terms
141
Problems
142
References
143
Chapter
6
Testing
145
Learning Objectives
145
6.1
Quality Issues
146
6.1.1
Software Quality Assurance
147
6.1.2
Managerial Independence
147
6.2
Non-Execution-Based Testing
148
6.2.1
Walkthroughs
149
6.2.2
Managing Walkthroughs
149
6.2.3
Inspections
150
6.2.4
Comparison of Inspections and
Walkthroughs
152
6.2.5
Strengths and Weaknesses of
Reviews
153
6.2.6
Metrics for Inspections
153
6.3
Execution-Based Testing
153
6.4
What Should Be Tested?
154
6.4.1
Utility
155
6.4.2
Reliability
155
6.4.3
Robustness
156
6.4.4
Performance
156
6.4.5
Correctness
157
6.5
Testing versus Correctness Proofs
158
6.5.1
Example of a Correctness Proof
158
6.5.2
Correctness Proof Mini Case
Study
162
Contents
xiii
6.5.3
Correctness Proofs and Software
Engineering
163
6.6
Who Should Perform Execution-Based
Testing?
166
6.7
When Testing Stops
167
Chapter Review
167
For Further Reading
168
Key Terms
168
Problems
169
References
170
Chapter
7
From Modules to Objects
173
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
177
Learning Objectives
173
What Is a Module?
174
Cohesion 1
76
7.2.1
Coincidental Cohesion
Utgical Cohesion
178
Temporal Cohesion
178
Procedural Cohesion
179
Communicational Cohesion
Functional Cohesion
180
Informational Cohesion
180
Cohesion Example 1
81
Coupling
181
7.3.
1 Content Coupling
Common Coupling
Control Coupling
Stamp Coupling
7.2.2
7.2.3
7.2.4
7.2.5
7.2.6
7.2.7
7.2.8
179
7.3.2
7.3.3
7.3.4
7.3.5
7.3.6
7.3.7
182
183
185
185
Data Coupling
186
Coupling Example
187
The Importance of Coupling 1
88
Data Encapsulation
189
7.4.
1 Data Encapsulation and
Development
191
7.4.2
Data Encapsulation and
Maintenance
192
Abstract Data Types
197
Information Hiding
199
Objects
201
Inheritance, Polymorphism, and Dynamic
Binding
205
The Object-Oriented Paradigm
207
Chapter Review
2
1
0
For Further Reading
21
1
Key Terms
211
Problems
212
References
212
Chapter
8
Reusability and Portability
215
Learning Objectives
215
8.1
Reuse Concepts
216
8.2
Impediments to Reuse
218
8.3
Reuse Case Studies
219
H.3.1 Raytheon Missile Systems
Division
220
ii.3.2 European Space Agency
221
8.4
Objects and Reuse
222
8.5
Reuse during Design and
Implementation
222
8.5.1
Design Reuse
222
#.5.2
Application Frameworks
224
8.5.3
Design Patterns
224
8.5.4
Software Architecture
226
8.5.5
Component-Based Software
Engineering
227
8.6
More on Design Patterns
227
8.6.1
FLIC Mini Case Study
228
8.6.2
Adapter Design Pattern
229
8.6.3
Bridge Design Pattern
230
8.6.4
Iterator Design Pattern
233
8.6.5
Abstract Factory Design Pattern
233
8.7
Categories of Design Patterns
235
8.8
Strengths and Weaknesses of Design
Patterns
237
8.9
Reuse and Postdelivery Maintenance
238
8.10
Portability
239
8.
JO.
J
Hardware Incompatibilities
239
8.10.2
Operating System
Incompatibilities
240
8.10.3
Numerical Software
Ini
ompatibilities
241
8.10.4
Compiler Incompatibilities
241
8.11
Why Portability?
244
8.12
Techniques for Achieving Portability
245
8.12.
1 Portable System Software
246
8.12.2
Portable Application Software
246
8.12.3
Portable Data
247
8.12.4
Web-Based Applications
248
Chapter Review
249
For Further Reading
249
xiv Contents
Key
Terms
250
Problems 250
References
252
Chapter
9
Planning and Estimating
256
Learning Objectives
256
9.1
Planning and the Software Process
2
9.2
Estimating Duration and Cost
258
9.2.1
Metrics for the Size of a Product
9.2.2
Techniques of Cost Estimation
9.2.3
Intermediate COCOMO
265
9.2.4
COCOMO II
269
9.2.5
Tracking Duration and Cost
Estimates
270
9.3
Estimation Issues
270
9.4
Components of a Software Project
Management Plan
271
9.5
Software Project Management Plan
Framework
272
9.6
IEEE Software Project Management
Plan
274
9.7
Planning Testing
277
9.8
Training Requirements
278
9.9
Documentation Standards
279
9.10
CASE Tools for Planning and
Estimating
279
9.11
Testing the Software Project
Management Plan
280
Chapter Review
280
For Further Reading
280
Key Terms
281
Problems
282
References
283
PART TWO
THE WORKFLOWS OF THE
SOFTWARE LIFE CYCLE
286
10.2
Overview of the Requirements
Workflow
289
10.3
Understanding the Domain
289
10.4
The Business Model
290
10.4.1
Interviewing
290
10.4.2
Other Techniques
291
10.4.3
Use Cases
292
10.5
Initial Requirements
293
7
10.6
Initial Understanding of the Domain:
The MSG Foundation Case Study
294
260
10.7
Initial Business Model: The MSG
263
Foundation Case Study
297
10.8
Initial Requirements: The MSG Foundation
Case Study
300
10.9
Continuing the Requirements Workflow:
The MSG Foundation Case Study
302
10.10
Revising the Requirements: The MSG
Foundation Case Study
304
10.11
The Test Workflow: The MSG Foundation
CaseStudy
312
10.12
What Are Object-Oriented
Requirements?
321
10.13
Rapid Prototyping
321
10.14
Human Factors
322
10.15
Reusing the Rapid Prototype
324
10.16
CASE Tools for the Requirements
Workflow
324
10.17
Metrics for the Requirements
Workflow
325
10.18
Challenges of the Requirements
Workflow
325
Chapter Review
327
For Further Reading
327
Key Terms
327
Case Study Key Terms
328
Problems
328
References
329
Chapter
10
The Requirements Workflow
287
Chapter
11
The Analysis Workflow
331
Learning Objectives
287
10.1
Determining What the Client Needs
288
Learning Objectives
331
11.1
The Specification Document
332
11.2
Informal Specifications
333
11.3
Correctness Proof Mini Case Study
Redux
334
Contents
11.4
The Analysis Workflow
335
11.5
Extracting the Entity Classes
337
11.6
The Elevator Problem
338
11.7
Functional Modeling: The Elevator
Problem Case Study
338
11.8
Entity Class Modeling: The Elevator
Problem Case Study
340
11.8.1
Noun Extraction
341
11.8.2 CRC
Cards
343
11.9
Dynamic Modeling: The Elevator Problem
Case Study
344
11.10
The Test Workflow: The Elevator Problem
Case Study
347
11.11
Extracting the Boundary and Control
Classes
351
11.12
The Initial Functional Model: The MSG
Foundation Case Study
352
11.13
The Initial Class Diagram: The MSG
Foundation Case Study
354
11.14
The Initial Dynamic Model: The MSG
Foundation Case Study
357
11.15
Revising the Entity Classes: The MSG
Foundation Case Study
359
11.16
Extracting the Boundary Classes: The
MSG Foundation Case Study
360
11.17
Extracting the Control Classes: The MSG
Foundation Case Study
361
11.18
Use-Case Realization: The MSG
Foundation Case Study
362
11.18.1
Estimate Funds Available for Week
Use Case
362
/ /. 18.2
Manage an Asset Use Case
369
/1.18.3
Update Estimated Annual
Operating Expenses Use
Case
373
11.18.4
Produce a Report Use Case
375
11.19
Incrementing the Class Diagram:
The MSG Foundation Case Study
380
11.20
The Software Project Management Plan:
The MSG Foundation Case Study
382
11.21
The Test Workflow: The MSG Foundation
Case Study
382
11.22
The Specification Document in the Unified
Process
382
11.23
More on Actors and Use Cases
383
11.24
CASE Tools for the Analysis Workflow
385
11.25
Challenges of the Analysis Workflow
Chapter Review
386
For Further Reading
386
Key Terms
387
Case Study Key Terms
387
Problems
387
References
389
385
Chapter
12
The Design Workflow
392
Learning Objectives
392
12.1
Object-Oriented Design
393
12.2
Object-Oriented Design: The Elevator
Problem Case Study
397
12.3
Object-Oriented Design: The MSG
Foundation Case Study
400
12.4
The Design Workflow
402
12.5
The Test Workflow: Design
404
12.6
The Test Workflow: The MSG Foundation
Case Study
405
12.7
Formal Techniques for Detailed Design
405
12.8
Real-Time
Design Techniques
406
12.9
CASE Tools for Design
407
12.10
Metrics for Design
408
12.11
Challenges of the Design Workflow
409
Chapter Review
410
For Further Reading
410
Key Terms
411
Problems
411
References
412
Chapter
13
The Implementation Workflow
414
Learning Objectives
414
13.1
Choice of Programming Language
414
13.2
Good Programming Practice
417
13.2.1
Use of Consistent and Meaningful
Variable Names
417
13.2.2
The Issue of Self-Documenting
Code
418
13.2.3
Use of Parameters
420
13.2.4
Code Layout for Increased
Readability
421
13.2.5
Nested if Statements
421
xvi Contents
13.3
Coding
Standards 422
13.4 Code Reuse 423
13.5 Integration 423
13.5.1
Top-down
Integration 424
13.5.2 Bottom-up Integration 426
13.5.3 Sandwich Integration 426
13.5.4 Integration
Techniques
428
13.5.5 Management
of
Integration 428
13.6 The Implementation Workflow 429
13.7 The Implementation Workflow: The MSG
Foundation
Case Study
429
13.8 The Test Workflow: Implementation 429
13.9 Test
Case Selection
430
13.9.1
Testing to Specifications versus
Testing to Code
430
13.9.2
Feasibility of Testing to
Specifications
430
13.9.3
Feasibility of Testing to Code
431
13.10
Black-Box Unit-Testing Techniques
433
13.10.1
Equivalence Testing and Boundary
Value Analysis
434
13.10.2
Functional Testing
435
13.11
Black-Box Test Cases: The MSG
Foundation Case Study
436
13.12
Glass-Box Unit-Testing Techniques
436
13.12.1
Structural Testing: Statement,
Branch, and Path Coverage
438
13.12.2
Complexity Metrics
440
13.13
Code Walkthroughs and Inspections
441
13.14
Comparison of Unit-Testing
Techniques
441
13.15
Cleanroom
442
13.16
Testing Issues
443
13.17
Management Aspects of Unit Testing
445
13.18
When to Rewrite Rather than Debug a
Code Artifact
446
13.19
Integration Testing
447
13.20
Product Testing
448
13.21
Acceptance Testing
449
13.22
The Test Workflow: The MSG Foundation
Case Study
450
13.23
CASE Tools for Implementation
450
13.23.1
CASE Tools for the Complete
Software Process
450
13.23.2
Integrated Development
Environments
451
13.23.3
Environments for Business
Applications
452
13.23.4
Public Tool Infrastructures
452
13.23.5
Potential Problems with
Environments
452
13.24
CASE Tools for the Test Workflow
453
13.25
Metrics for the Implementation
Workflow
453
13.26
Challenges of the Implementation
Workflow
454
Chapter Review
455
For Further Reading
455
Key Terms
456
Problems
457
References
459
Chapter
14
Postdelivery Maintenance
462
Learning Objectives
462
14.1
Development and Maintenance
462
14.2
Why Postdelivery Maintenance Is
Necessary
464
14.3
What Is Required of Postdelivery
Maintenance Programmers?
465
14.4
Postdelivery Maintenance Mini Case
Study
467
14.5
Management of Postdelivery
Maintenance
468
14.5.1
Defect Reports
468
14.5.2
Authorizing Changes to the
Product
469
14.5.3
Ensuring Maintainability
470
14.5.4
Problem of Repeated
Maintenance
471
14.6
Maintenance Issues
471
14.7
Postdelivery Maintenance Skills versus
Development Skills
474
14.8
Reverse Engineering
474
14.9
Testing during Postdelivery
Maintenance
475
14.10
CASE Tools for Postdelivery
Maintenance
476
14.11
Metrics for Postdelivery Maintenance
477
14.12
Postdelivery Maintenance: The MSG
Foundation Case Study
477
14.13
Challenges of Postdelivery
Maintenance
477
Contents xvii
Chapter Review
478
For Further Reading
478
Key Terms
479
Problems
479
References
480
Chapter
15
More on UML
482
Learning Objectives
482
15.1
UML Is Not a Methodology
483
15.2
Class Diagrams
483
15.2.1
Aggregation
484
15.2.2
Multiplicity
485
15.2.3
Composition
486
15.2.4
Generalization
487
75.2.5
Association
487
15.3
Notes
488
15.4
Use-Case Diagrams
488
15.5
Stereotypes
488
15.6
Interaction Diagrams
489
15.7 Statecharts 491
15.8
Activity Diagrams
494
15.9
Packages
496
15.10
Component Diagrams
497
15.11
Deployment Diagrams
497
15.12
Review of UML Diagrams
498
15.13
UML and Iteration
498
Chapter Review
498
For Further Reading
499
Key Terms
499
Problems
499
References
500
Bibliography
501
Appendix A
Term Project: Osric s Office Appliances
and Decor
524
Appendix
В
Software Engineering Resources
528
Appendix
С
The Requirements Workflow: The MSG
Foundation Case Study
530
Appendix
D
The Analysis Workflow: The MSG
Foundation Case Study
531
Appendix
E
Software Project Management Plan:
The MSG Foundation Case Study
532
Appendix
F
The Design Workflow: The MSG
Foundation Case Study
537
Appendix
G
The Implementation Workflow: The MSG
Foundation Case Study
(C++
Version)
542
Appendix
H
The Implementation Workflow: The MSG
Foundation Case Study (Java Version)
543
Appendix I
The Test Workflow: The MSG Foundation
CaseStudy
544
|
adam_txt |
Contents
PART ONE
INTRODUCTION TO OBJECT-
ORIENTED SOFTWARE
ENGINEERING
1
Chapter
1
The Scope of Object-Oriented Software
Engineering
3
Learning Objectives
3
1.1
Historical Aspects
4
1.2
Economic Aspects
7
1.3
Maintenance Aspects
8
1.3.1
The Modern View of
Maintenance
9
1.3.2
The Importance of Post-
delivery Maintenance
11
1.4
Requirements, Analysis, and
Design Aspects
13
1.5
Team Development Aspects
15
1.6
Why There Is No Planning Phase
16
1.7
Why There Is No Testing Phase
17
1.8
Why There Is No Documentation Phase
18
1.9
The Object-Oriented Paradigm
18
1.10
Terminology
20
1.11
Ethical Issues
24
Chapter Review
25
For Further Reading
25
Key Terms
26
Problems
27
References
28
Chapter
2
Software Life-Cycle Models
32
32
Learning Objectives
32
2.1
Software Development in Theory
2.2
Winburg Mini Case Study
33
2.3
Lessons of the Winburg Mini Case Study
37
2.4
Teal Tractors Mini Case Study
37
2.5
Iteration and Incrementation
38
2.6
Winburg Mini Case Study Revisited
42
2.7
Risks and Other Aspects of Iteration
and Incrementation
43
2.8
Managing Iteration and Incrementation
46
2.9
Other Life-Cycle Models
47
2.9.1
Code-and-Fix Life-Cycle Model
47
2.9.2
Waterfall Life-Cycle Model
48
2.9.3
Rapid-Prototyping Life-Cycle
Model
50
2.9.4
Open-Source Life-Cycle Model
51
2.9.5
Agile Processes
54
2.9.6
Synchronize-and-Stabilize
Life-Cycle Model
57
2.9.7
Spiral Life-Cycle Model
57
2.10
Comparison of Life-Cycle Models
61
Chapter Review
62
For Further Reading
63
Key Terms
64
Problems
64
References
65
Chapter
3
The Software Process
68
Learning Objectives
68
3.1
The Unified Process
70
3.2
Iteration and Incrementation
72
3.3
The Requirements Workflow
73
3.4
The Analysis Workflow
74
3.5
The Design Workflow
76
3.6
The Implementation Workflow
77
3.7
The Test Workflow
78
3.7.1
Requirements Artifacts
78
3.7.2
Analysis Artifacts
79
3.7.3
Design Artifacts
79
3.7.4
Implementation Artifacts
79
3.8
Postdelivery Maintenance
81
3.9
Retirement
82
3.10
The Phases of the Unified Process
82
3.10.1
The Inception Phase
83
3.10.2
The Elaboration Phase
85
3.10.3
The Construction Phase
86
3.10.4
The Transition Phase
86
3.11
One- versus Two-Dimensional Life-Cycle
Models
87
3.12
Improving the Software Process
89
3.13
Capability Maturity Models
89
xii
Contents
3.14
Other
Software
Process Improvement
Initiatives
92
3.15
Costs and Benefits of Software Process
Improvement
93
Chapter Review
95
For Further Reading
95
Key Terms
96
Problems
97
References
97
Chapter
4
Teams
101
Learning Objectives
101
4.1
Team Organization
ΙΟΙ
4.2
Democratic Team Approach
103
4.2.
1 Analysis of the Democratic Team
Approach
104
4.3
Chief Programmer Team Approach
104
4.3.1
The New York Times Project
106
4.3.2
¡mpracticality of the Chief
Programmer Team Approach
107
4.4
Beyond Chief Programmer and Democratic
Teams
107
4.5
Synchronize-and-Stabilize Teams
111
4.6
Teams for Agile Processes
112
4.7
Open-Source Programming Teams
112
4.8
People Capability Maturity Model
113
4.9
Choosing an Appropriate Team
Organization
114
Chapter Review
115
For Further Reading
115
Key Terms
115
Problems
116
References
116
Chapter
5
The Tools of The Trade
118
Learning Objectives
118
5.1
Stepwise Refinement
118
5.1.1
Stepwise Refinement Mini
CaseStudy
119
5.2
Cost-Benefit Analysis
124
5.3
Software Metrics
126
5.4
CASE
127
5.5
Taxonomy of CASE
128
5.6
Scope of CASE
130
5.7
Software Versions
133
5.7.1
Revisions
134
5.7.2
Variations
134
5.8
Configuration Control
135
5.8.1
Configuration Control during
Postdelivery Maintenance
137
5.8.2
Baselines
138
5.8.3
Configuration Control during
Development
138
5.9
Build Tools
138
5.10
Productivity Gains with CASE
Technology
139
Chapter Review
141
For Further Reading
141
Key Terms
141
Problems
142
References
143
Chapter
6
Testing
145
Learning Objectives
145
6.1
Quality Issues
146
6.1.1
Software Quality Assurance
147
6.1.2
Managerial Independence
147
6.2
Non-Execution-Based Testing
148
6.2.1
Walkthroughs
149
6.2.2
Managing Walkthroughs
149
6.2.3
Inspections
150
6.2.4
Comparison of Inspections and
Walkthroughs
152
6.2.5
Strengths and Weaknesses of
Reviews
153
6.2.6
Metrics for Inspections
153
6.3
Execution-Based Testing
153
6.4
What Should Be Tested?
154
6.4.1
Utility
155
6.4.2
Reliability
155
6.4.3
Robustness
156
6.4.4
Performance
156
6.4.5
Correctness
157
6.5
Testing versus Correctness Proofs
158
6.5.1
Example of a Correctness Proof
158
6.5.2
Correctness Proof Mini Case
Study
162
Contents
xiii
6.5.3
Correctness Proofs and Software
Engineering
163
6.6
Who Should Perform Execution-Based
Testing?
166
6.7
When Testing Stops
167
Chapter Review
167
For Further Reading
168
Key Terms
168
Problems
169
References
170
Chapter
7
From Modules to Objects
173
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
177
Learning Objectives
173
What Is a Module?
174
Cohesion 1
76
7.2.1
Coincidental Cohesion
Utgical Cohesion
178
Temporal Cohesion
178
Procedural Cohesion
179
Communicational Cohesion
Functional Cohesion
180
Informational Cohesion
180
Cohesion Example 1
81
Coupling
181
7.3.
1 Content Coupling
Common Coupling
Control Coupling
Stamp Coupling
7.2.2
7.2.3
7.2.4
7.2.5
7.2.6
7.2.7
7.2.8
179
7.3.2
7.3.3
7.3.4
7.3.5
7.3.6
7.3.7
182
183
185
185
Data Coupling
186
Coupling Example
187
The Importance of Coupling 1
88
Data Encapsulation
189
7.4.
1 Data Encapsulation and
Development
191
7.4.2
Data Encapsulation and
Maintenance
192
Abstract Data Types
197
Information Hiding
199
Objects
201
Inheritance, Polymorphism, and Dynamic
Binding
205
The Object-Oriented Paradigm
207
Chapter Review
2
1
0
For Further Reading
21
1
Key Terms
211
Problems
212
References
212
Chapter
8
Reusability and Portability
215
Learning Objectives
215
8.1
Reuse Concepts
216
8.2
Impediments to Reuse
218
8.3
Reuse Case Studies
219
H.3.1 Raytheon Missile Systems
Division
220
ii.3.2 European Space Agency
221
8.4
Objects and Reuse
222
8.5
Reuse during Design and
Implementation
222
8.5.1
Design Reuse
222
#.5.2
Application Frameworks
224
8.5.3
Design Patterns
224
8.5.4
Software Architecture
226
8.5.5
Component-Based Software
Engineering
227
8.6
More on Design Patterns
227
8.6.1
FLIC Mini Case Study
228
8.6.2
Adapter Design Pattern
229
8.6.3
Bridge Design Pattern
230
8.6.4
Iterator Design Pattern
233
8.6.5
Abstract Factory Design Pattern
233
8.7
Categories of Design Patterns
235
8.8
Strengths and Weaknesses of Design
Patterns
237
8.9
Reuse and Postdelivery Maintenance
238
8.10
Portability
239
8.
JO.
J
Hardware Incompatibilities
239
8.10.2
Operating System
Incompatibilities
240
8.10.3
Numerical Software
Ini
ompatibilities
241
8.10.4
Compiler Incompatibilities
241
8.11
Why Portability?
244
8.12
Techniques for Achieving Portability
245
8.12.
1 Portable System Software
246
8.12.2
Portable Application Software
246
8.12.3
Portable Data
247
8.12.4
Web-Based Applications
248
Chapter Review
249
For Further Reading
249
xiv Contents
Key
Terms
250
Problems 250
References
252
Chapter
9
Planning and Estimating
256
Learning Objectives
256
9.1
Planning and the Software Process
2
9.2
Estimating Duration and Cost
258
9.2.1
Metrics for the Size of a Product
9.2.2
Techniques of Cost Estimation
9.2.3
Intermediate COCOMO
265
9.2.4
COCOMO II
269
9.2.5
Tracking Duration and Cost
Estimates
270
9.3
Estimation Issues
270
9.4
Components of a Software Project
Management Plan
271
9.5
Software Project Management Plan
Framework
272
9.6
IEEE Software Project Management
Plan
274
9.7
Planning Testing
277
9.8
Training Requirements
278
9.9
Documentation Standards
279
9.10
CASE Tools for Planning and
Estimating
279
9.11
Testing the Software Project
Management Plan
280
Chapter Review
280
For Further Reading
280
Key Terms
281
Problems
282
References
283
PART TWO
THE WORKFLOWS OF THE
SOFTWARE LIFE CYCLE
286
10.2
Overview of the Requirements
Workflow
289
10.3
Understanding the Domain
289
10.4
The Business Model
290
10.4.1
Interviewing
290
10.4.2
Other Techniques
291
10.4.3
Use Cases
292
10.5
Initial Requirements
293
7
10.6
Initial Understanding of the Domain:
The MSG Foundation Case Study
294
260
10.7
Initial Business Model: The MSG
263
Foundation Case Study
297
10.8
Initial Requirements: The MSG Foundation
Case Study
300
10.9
Continuing the Requirements Workflow:
The MSG Foundation Case Study
302
10.10
Revising the Requirements: The MSG
Foundation Case Study
304
10.11
The Test Workflow: The MSG Foundation
CaseStudy
312
10.12
What Are Object-Oriented
Requirements?
321
10.13
Rapid Prototyping
321
10.14
Human Factors
322
10.15
Reusing the Rapid Prototype
324
10.16
CASE Tools for the Requirements
Workflow
324
10.17
Metrics for the Requirements
Workflow
325
10.18
Challenges of the Requirements
Workflow
325
Chapter Review
327
For Further Reading
327
Key Terms
327
Case Study Key Terms
328
Problems
328
References
329
Chapter
10
The Requirements Workflow
287
Chapter
11
The Analysis Workflow
331
Learning Objectives
287
10.1
Determining What the Client Needs
288
Learning Objectives
331
11.1
The Specification Document
332
11.2
Informal Specifications
333
11.3
Correctness Proof Mini Case Study
Redux
334
Contents
11.4
The Analysis Workflow
335
11.5
Extracting the Entity Classes
337
11.6
The Elevator Problem
338
11.7
Functional Modeling: The Elevator
Problem Case Study
338
11.8
Entity Class Modeling: The Elevator
Problem Case Study
340
11.8.1
Noun Extraction
341
11.8.2 CRC
Cards
343
11.9
Dynamic Modeling: The Elevator Problem
Case Study
344
11.10
The Test Workflow: The Elevator Problem
Case Study
347
11.11
Extracting the Boundary and Control
Classes
351
11.12
The Initial Functional Model: The MSG
Foundation Case Study
352
11.13
The Initial Class Diagram: The MSG
Foundation Case Study
354
11.14
The Initial Dynamic Model: The MSG
Foundation Case Study
357
11.15
Revising the Entity Classes: The MSG
Foundation Case Study
359
11.16
Extracting the Boundary Classes: The
MSG Foundation Case Study
360
11.17
Extracting the Control Classes: The MSG
Foundation Case Study
361
11.18
Use-Case Realization: The MSG
Foundation Case Study
362
11.18.1
Estimate Funds Available for Week
Use Case
362
/ /. 18.2
Manage an Asset Use Case
369
/1.18.3
Update Estimated Annual
Operating Expenses Use
Case
373
11.18.4
Produce a Report Use Case
375
11.19
Incrementing the Class Diagram:
The MSG Foundation Case Study
380
11.20
The Software Project Management Plan:
The MSG Foundation Case Study
382
11.21
The Test Workflow: The MSG Foundation
Case Study
382
11.22
The Specification Document in the Unified
Process
382
11.23
More on Actors and Use Cases
383
11.24
CASE Tools for the Analysis Workflow
385
11.25
Challenges of the Analysis Workflow
Chapter Review
386
For Further Reading
386
Key Terms
387
Case Study Key Terms
387
Problems
387
References
389
385
Chapter
12
The Design Workflow
392
Learning Objectives
392
12.1
Object-Oriented Design
393
12.2
Object-Oriented Design: The Elevator
Problem Case Study
397
12.3
Object-Oriented Design: The MSG
Foundation Case Study
400
12.4
The Design Workflow
402
12.5
The Test Workflow: Design
404
12.6
The Test Workflow: The MSG Foundation
Case Study
405
12.7
Formal Techniques for Detailed Design
405
12.8
Real-Time
Design Techniques
406
12.9
CASE Tools for Design
407
12.10
Metrics for Design
408
12.11
Challenges of the Design Workflow
409
Chapter Review
410
For Further Reading
410
Key Terms
411
Problems
411
References
412
Chapter
13
The Implementation Workflow
414
Learning Objectives
414
13.1
Choice of Programming Language
414
13.2
Good Programming Practice
417
13.2.1
Use of Consistent and Meaningful
Variable Names
417
13.2.2
The Issue of Self-Documenting
Code
418
13.2.3
Use of Parameters
420
13.2.4
Code Layout for Increased
Readability
421
13.2.5
Nested if Statements
421
xvi Contents
13.3
Coding
Standards 422
13.4 Code Reuse 423
13.5 Integration 423
13.5.1
Top-down
Integration 424
13.5.2 Bottom-up Integration 426
13.5.3 Sandwich Integration 426
13.5.4 Integration
Techniques
428
13.5.5 Management
of
Integration 428
13.6 The Implementation Workflow 429
13.7 The Implementation Workflow: The MSG
Foundation
Case Study
429
13.8 The Test Workflow: Implementation 429
13.9 Test
Case Selection
430
13.9.1
Testing to Specifications versus
Testing to Code
430
13.9.2
Feasibility of Testing to
Specifications
430
13.9.3
Feasibility of Testing to Code
431
13.10
Black-Box Unit-Testing Techniques
433
13.10.1
Equivalence Testing and Boundary
Value Analysis
434
13.10.2
Functional Testing
435
13.11
Black-Box Test Cases: The MSG
Foundation Case Study
436
13.12
Glass-Box Unit-Testing Techniques
436
13.12.1
Structural Testing: Statement,
Branch, and Path Coverage
438
13.12.2
Complexity Metrics
440
13.13
Code Walkthroughs and Inspections
441
13.14
Comparison of Unit-Testing
Techniques
441
13.15
Cleanroom
442
13.16
Testing Issues
443
13.17
Management Aspects of Unit Testing
445
13.18
When to Rewrite Rather than Debug a
Code Artifact
446
13.19
Integration Testing
447
13.20
Product Testing
448
13.21
Acceptance Testing
449
13.22
The Test Workflow: The MSG Foundation
Case Study
450
13.23
CASE Tools for Implementation
450
13.23.1
CASE Tools for the Complete
Software Process
450
13.23.2
Integrated Development
Environments
451
13.23.3
Environments for Business
Applications
452
13.23.4
Public Tool Infrastructures
452
13.23.5
Potential Problems with
Environments
452
13.24
CASE Tools for the Test Workflow
453
13.25
Metrics for the Implementation
Workflow
453
13.26
Challenges of the Implementation
Workflow
454
Chapter Review
455
For Further Reading
455
Key Terms
456
Problems
457
References
459
Chapter
14
Postdelivery Maintenance
462
Learning Objectives
462
14.1
Development and Maintenance
462
14.2
Why Postdelivery Maintenance Is
Necessary
464
14.3
What Is Required of Postdelivery
Maintenance Programmers?
465
14.4
Postdelivery Maintenance Mini Case
Study
467
14.5
Management of Postdelivery
Maintenance
468
14.5.1
Defect Reports
468
14.5.2
Authorizing Changes to the
Product
469
14.5.3
Ensuring Maintainability
470
14.5.4
Problem of Repeated
Maintenance
471
14.6
Maintenance Issues
471
14.7
Postdelivery Maintenance Skills versus
Development Skills
474
14.8
Reverse Engineering
474
14.9
Testing during Postdelivery
Maintenance
475
14.10
CASE Tools for Postdelivery
Maintenance
476
14.11
Metrics for Postdelivery Maintenance
477
14.12
Postdelivery Maintenance: The MSG
Foundation Case Study
477
14.13
Challenges of Postdelivery
Maintenance
477
Contents xvii
Chapter Review
478
For Further Reading
478
Key Terms
479
Problems
479
References
480
Chapter
15
More on UML
482
Learning Objectives
482
15.1
UML Is Not a Methodology
483
15.2
Class Diagrams
483
15.2.1
Aggregation
484
15.2.2
Multiplicity
485
15.2.3
Composition
486
15.2.4
Generalization
487
75.2.5
Association
487
15.3
Notes
488
15.4
Use-Case Diagrams
488
15.5
Stereotypes
488
15.6
Interaction Diagrams
489
15.7 Statecharts 491
15.8
Activity Diagrams
494
15.9
Packages
496
15.10
Component Diagrams
497
15.11
Deployment Diagrams
497
15.12
Review of UML Diagrams
498
15.13
UML and Iteration
498
Chapter Review
498
For Further Reading
499
Key Terms
499
Problems
499
References
500
Bibliography
501
Appendix A
Term Project: Osric's Office Appliances
and Decor
524
Appendix
В
Software Engineering Resources
528
Appendix
С
The Requirements Workflow: The MSG
Foundation Case Study
530
Appendix
D
The Analysis Workflow: The MSG
Foundation Case Study
531
Appendix
E
Software Project Management Plan:
The MSG Foundation Case Study
532
Appendix
F
The Design Workflow: The MSG
Foundation Case Study
537
Appendix
G
The Implementation Workflow: The MSG
Foundation Case Study
(C++
Version)
542
Appendix
H
The Implementation Workflow: The MSG
Foundation Case Study (Java Version)
543
Appendix I
The Test Workflow: The MSG Foundation
CaseStudy
544 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Schach, Stephen R. |
author_facet | Schach, Stephen R. |
author_role | aut |
author_sort | Schach, Stephen R. |
author_variant | s r s sr srs |
building | Verbundindex |
bvnumber | BV023099519 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.758 |
callnumber-search | QA76.758 |
callnumber-sort | QA 276.758 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 231 |
ctrlnum | (OCoLC)136783209 (DE-599)BVBBV023099519 |
dewey-full | 005.1/17 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1/17 |
dewey-search | 005.1/17 |
dewey-sort | 15.1 217 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 1. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01755nam a2200445zc 4500</leader><controlfield tag="001">BV023099519</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20090220 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">080125s2008 xxud||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2007021842</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">007352333X</subfield><subfield code="c">hard copy : alk. paper</subfield><subfield code="9">0-07-352333-X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)136783209</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV023099519</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.758</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1/17</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 231</subfield><subfield code="0">(DE-625)143618:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Schach, Stephen R.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Object-oriented software engineering</subfield><subfield code="c">Stephen R. Schach</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston, Mass. [u.a.]</subfield><subfield code="b">McGraw-Hill</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVII, 558 S.</subfield><subfield code="b">graph. Darst</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software engineering</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Object-oriented programming (Computer science)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierung</subfield><subfield code="0">(DE-588)4346172-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Objektorientierung</subfield><subfield code="0">(DE-588)4346172-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/enhancements/fy0726/2007021842-t.html</subfield><subfield code="3">Table of contents only</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/enhancements/fy0726/2007021842-d.html</subfield><subfield code="3">Publisher description</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016302263&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016302263</subfield></datafield></record></collection> |
id | DE-604.BV023099519 |
illustrated | Illustrated |
index_date | 2024-07-02T19:44:06Z |
indexdate | 2024-07-09T21:11:00Z |
institution | BVB |
isbn | 007352333X |
language | English |
lccn | 2007021842 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016302263 |
oclc_num | 136783209 |
open_access_boolean | |
owner | DE-703 |
owner_facet | DE-703 |
physical | XVII, 558 S. graph. Darst |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | McGraw-Hill |
record_format | marc |
spelling | Schach, Stephen R. Verfasser aut Object-oriented software engineering Stephen R. Schach 1. ed. Boston, Mass. [u.a.] McGraw-Hill 2008 XVII, 558 S. graph. Darst txt rdacontent n rdamedia nc rdacarrier Software engineering Object-oriented programming (Computer science) Objektorientierung (DE-588)4346172-4 gnd rswk-swf Software Engineering (DE-588)4116521-4 gnd rswk-swf Software Engineering (DE-588)4116521-4 s Objektorientierung (DE-588)4346172-4 s DE-604 http://www.loc.gov/catdir/enhancements/fy0726/2007021842-t.html Table of contents only http://www.loc.gov/catdir/enhancements/fy0726/2007021842-d.html Publisher description Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016302263&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Schach, Stephen R. Object-oriented software engineering Software engineering Object-oriented programming (Computer science) Objektorientierung (DE-588)4346172-4 gnd Software Engineering (DE-588)4116521-4 gnd |
subject_GND | (DE-588)4346172-4 (DE-588)4116521-4 |
title | Object-oriented software engineering |
title_auth | Object-oriented software engineering |
title_exact_search | Object-oriented software engineering |
title_exact_search_txtP | Object-oriented software engineering |
title_full | Object-oriented software engineering Stephen R. Schach |
title_fullStr | Object-oriented software engineering Stephen R. Schach |
title_full_unstemmed | Object-oriented software engineering Stephen R. Schach |
title_short | Object-oriented software engineering |
title_sort | object oriented software engineering |
topic | Software engineering Object-oriented programming (Computer science) Objektorientierung (DE-588)4346172-4 gnd Software Engineering (DE-588)4116521-4 gnd |
topic_facet | Software engineering Object-oriented programming (Computer science) Objektorientierung Software Engineering |
url | http://www.loc.gov/catdir/enhancements/fy0726/2007021842-t.html http://www.loc.gov/catdir/enhancements/fy0726/2007021842-d.html http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016302263&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT schachstephenr objectorientedsoftwareengineering |