Part Ⅰ Introduction 1
1 System development as an industrial process 1
1.1 Introduction 1
1.2 A useful analogy 2
1.3 System development characteristics 8
1.4 Summary 19
2 The system life cycle 21
2.1 Introduction 21
2.2 System development as a process of change 21
2.3 System development and reuse 26
2.4 System development and methodology 29
2.5 Objectory 38
2.6 Summary 40
3.1 Introduction 42
3 What is object-orientation? 42
3.2 Object 44
3.3 Class and instance 49
3.4 Polymorphism 55
3.5 Inheritance 56
3.6 Summary 68
4 Object-oriented system development 69
4.1 Introduction 69
4.2 Function/data methods 73
4.3 Object-oriented analysis 76
4.4 Object-oriented construction 79
4.5 Object-oriented testing 80
4.6 Summary 83
5 Object-oriented programming 84
5.1 Introduction 84
5.2 Objects 86
5.3 Classes and instances 87
5.4 Inheritance 93
5.5 Polymorphism 99
5.6 An example 102
5.7 Summary 105
Part Ⅱ Concepts 107
6 Architecture 107
6.1 Introduction 109
6.2 System development is model building 113
6.3 Model architecture 125
6.4 Requirements model 126
6.5 Analysis model 130
6.6 The design model 143
6.7 The implementation model 149
6.8 Test model 150
6.9 Summary 151
7 Analysis 153
7.1 Introduction 153
7.2 The requirements model 156
7.3 The analysis model 174
7.4 Summary 199
8 Construction 201
8.1 Introduction 201
8.2 The design model 204
8.3 Blockdesign 229
8.4 Working with construction 251
8.5 Summary 256
9 Real-time specialization 258
9.1 Introduction 258
9.2 Classification of real-time systems 259
9.3 Fundamental issues 260
9.4 Analysis 261
9.5 Construction 263
9.6 Testing and verification 272
9.7 Summary 273
10 Database specialization 274
10.1 Introduction 274
10.2 Relational DBMS 276
10.3 Object DBMS 285
10.4 Discussion 287
10.5 Summary 288
11 Components 289
11.1 Introduction 289
11.2 What is a component? 294
11.3 Use of components 297
11.4 Component management 301
11.5 Summary 311
12.1 Introduction 313
12 Testing 313
12.2 On testing 315
12.3 Unit testing 323
12.4 Integration testing 330
12.5 System testing 333
12.6 The testing process 333
12.7 Summary 338
Part Ⅲ Applications 341
13 Case study:warehouse management system 343
13.1 Introduction to the examples 343
13.2 ACME Warehouse Management Inc. 343
13.3 The requirements model 345
13.4 The analysis model 356
13.5 Construction 376
14.2 Telecommunication switching systems 393
14 Case study:telecom 393
14.1 Introduction 393
14.3 The requirements model 397
14.4 The analysis model 407
14.5 The design model 416
14.6 The implementation model 428
15 Managing object-oriented software engineering 436
15.1 Introduction 436
15.2 Project selection and preparation 436
15.3 Product development organization 445
15.4 Project organization and management 450
15.5 Project staffing 459
15.6 Software quality assurance 463
15.7 Software metrics 468
15.8 Summaryc 472
16.1 Introduction 474
16 Other object-oriented methods 474
16.2 A summary of object-oriented methods 476
16.3 Object-Oriented Analysis(OOA/Coad-Yourdon) 479
16.4 Object-Oriented Design(OOD/Booch) 484
16.5 Hierarchical Object-Oriented Design(HOOD) 487
16.6 Object Modeling Technique(OMT) 493
16.7 Responsibility-Driven Design 496
16.8 Summary 500
Appendix A On the development of Objectory 503
A.1 Introduction 503
A.2 Objectory as an activity 505
A.3 From idea to reality 515
References 518
Index 525