Part 1 Overview 1
Chapter 1 Introduction 3
Chapter 2 Computer-based system engineering 20
Chapter 3 Software processes 42
Chapter 4 Project management 71
Part 2 Requirements 95
Chapter 5 Software requirements 97
Chapter 6 Requirements engineering processes 121
Chapter 7 System models 148
Chapter 8 Software prototyping 171
Chapter 9 Formal specification 192
Part 3 Design 213
Chapter 10 Architectural design 215
Chapter 11 Distributed systems architectures 239
Chapter 12 Object-oriented design 260
Chapter 13 Real-time software design 285
Chapter 14 Design with reuse 306
Chapter 15 User interface design 327
Part 4 Critical Systems 351
Chapter 16 Dependability 353
Chapter 17 Critical systems specification 371
Chapter 18 Critical systems development 392
Part 5 Verification and Validation 417
Chapter 19 Verification and validation 419
Chapter 20 Software testing 440
Chapter 21 Critical systems validation 467
Part 6 Management 487
Chapter 22 Managing people 489
Chapter 23 Software cost estimation 511
Chapter 24 Quality management 535
Chapter 25 Process improvement 557
Part 7 Evolution 579
Chapter 26 Legacy systems 581
Chapter 27 Software change 601
Chapter 28 Software re-engineering 622
Chapter 29 Configuration management 641
References 663
Index 679