Software engineering /
Ian Sommerville.
- 8th ed.
- Harlow, England ; New York : Addison-Wesley, 2007.
- xxiii, 840 p. ill. ; 24 cm.
Includes bibliographical references (p. [806]-823) and indexes.
1 Overview 1 Introduction 1.1 FAQs about software engineering 1.2 Professional and ethical responsibility
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 3.2 System dependability 3.3 Availability and reliability 3.4 Safety 3.5 Security
Chapter 4 Software processes 4.1 Software process models 4.2 Process iteration 4.3 Process activities 4.4 The Rational Unified Process 4.5 Computer-Aided Software Engineering
Chapter 13 Application architectures 13.1 Data processing systems 13.2 Transaction processing systems 13.3 Event processing systems 13.4 Language processing systems
Chapter 14 Object-oriented design 14.1 Objects and object classes 14.2 An object-oriented design process 14.3 Design evolution
Chapter 15 Real-time software design 15.1 System design 15.2 Real-time operating systems 15.3 Monitoring and control systems 15.4 Data acquisition systems
Chapter 16 User interface design 16.1 Design issues 16.2 The Ul design process 16.3 User analysis 16.4 User interface prototyping 16.5 Interface evaluation
Part 4 Development Chapter 17 Rapid software development 17.1 Agile methods 17.2 Extreme programming 17.3 Rapid application development 17.4 Software prototyping
19 Component-based software engineering 19.1 Components and component models 19.2 The CBSE process 19.3 Component composition
Chapter 20 Critical systems development 20.1 Dependable processes 20.2 Dependable programming 20.3 Fault tolerance 20.4 Fault-tolerant architectures
21 Software evolution 21.1 Program evolution dynamics 21.2 Software maintenance 21.3 Evolution processes 21.4 Legacy system evolution 22. 5 Verification and Validation 22 Verification and validation 22.1 Planning verification and validation 22.2 Software inspections 22.3 Automated static analysis 22.4 Verification and formal methods
Chapter 23 Software testing 23.1 System testing 23.2 Component testing 23.3 Test case design 23.4 Test automation
Chapter 24 Critical systems validation 24.1 Reliability validation 24.2 Safety assurance 24.3 Security assessment 24.4 Safety and dependability cases
Part 6 Management Chapter 25 Managing people 25.1 Selecting staff 25.2 Motivating people 25.3 Managing groups 25.4 The People Capability Maturity Model
Chapter 27 Quality management 27.1 Process and product quality 27.2 Quality assurance and standards 27.3 Quality planning 27.4 Quality control 27.5 Software measurement and metrics
28 Process improvement 28.1 Process and product quality 28.2 Process classification 28.3 Process measurement 28.4 Process analysis and modelling 28.5 Process change 28.6 The CMMI process improvement framework
Chapter 29 Configuration management 29.1 Configuration management planning 29.2 Change management 29.3 Version and release management 29.4 System building 29.5 CASE tools for configuration management
Part 7 Emerging Technologies chapter 30 Security engineering 30.1 Security concepts 30.2 Security risk management 30.3 Design for security 30.4 System survivability
Chapter 31 Service-oriented software engineering 31.1 Services as reusable components 31.2 Sen/ice engineering 31.3 Software development with services
Chapter 32 Aspect-oriented software development 32.1 The separation of concerns 32.2 Aspects, join points and point cuts 32.3 Software engineering with aspects