Part 1 Overview Chapter 1 Introduction 1.1 FAQs about software engineering 1.2 Professional and ethical responsibility Chapter 2 Socio-technical systems 2.1 Emergent system properties 2.2 Systems engineering 2.3 Organisations, people and computer systems 2.4 legacy systems Chapter 3 Critical systems 3 .1 A simple safety-critical system 4 6 3 .2 System dependability 4 7 3 .3 Availability and reliability 5 1 3 .4 Safety 5 5 3 .5 Security 5 8 Chapter 4 Software processes 4 .1 Software process models 6 5 4 .2 Process iteration 7 1 4 .3 Process activities 7 4 4 .4 The Rational Unified Process 8 2 4 .5 Computer-Aided Software Engineering 8 5 Chapter 5 Project management 92 5 .1 Management activities 9 4 5 .2 Project planning 9 6 5 .3 Project scheduling 9 9 5 .4 Risk management 1 0 4 Requirements Chapter 6 Software requirements 6.1 Functional and non-functional requirements 6.2 User requirements 6.3 System requirements 6.4 Interface specification 6.5 The software requirements document Chapter 7 Requirements engineering processes 7.1 Feasibility studies 7.2 Requirements elicitation and analysis 7.3 Requirements validation 7.4 Requirements management Chapter 8 System models 8.1 Context models 8.2 Behavioural models 8.3 Data models 8.4 Object models 8.5 Structured methods Chapter 9 Critical systems specification 9.1 Risk-driven specification 9.2 Safety specification 9.3 Security specification 9.4 Software reliability specification Chapter 10 Formal specification 10.1 Formal specification in the software process 10.2 Sub-system interface specification 10.3 Behavioural specification Part 3 Design Chapter 11 Architectural design 11.1 Architectural design decisions 11.2 System organisation 11.3 Modular decomposition styles 11....