1. Software Products
- 1.1 The product vision
- 1.2 Software product management
- 1.3 Product prototyping
- Key points
- Recommended reading
- Website
- Exercises
2. Agile Software Engineering
- 2.1 Agile methods
- 2.2 Extreme programming
- 2.3 Scrum
- Key points
- Recommended reading
- Website
- Exercises
3. Features, Scenarios and Stories
- 3.1 Personas
- 3.2 Scenarios
- 3.3 User stories
- 3.4 Feature identification
- Key points
- Recommended reading
- Website
- Exercises
4. Software Architecture
- 4.1 Why is architecture important?
- 4.2 Architectural design
- 4.3 System decomposition
- 4.4 Distribution architecture
- 4.5 Technology issues
- Key points
- Recommended reading
- Website
- Exercises
5. Cloud-based Software
- 5.1 Virtualisation and containers
- 5.2 Everything as a service
- 5.3 Software as a service
- 5.4 Multitenant and multi-instance systems
- 5.5 Cloud software architecture
- Key points
- Recommended reading
- Website
- Exercises
6. Microservices Architecture
- 6.1 Microservices
- 6.2 Microservices architecture
- 6.3 RESTful services
- 6.4 Microservice deployment
- Key points
- Recommended reading
- Website
- Exercises
7. Security and Privacy
- 7.1 Attacks and defences
- 7.2 Authentication
- 7.3 Authorization
- 7.4 Encryption
- 7.5 Privacy
- Key points
- Recommended reading
- Website
- Exercises
8. Reliable Programming
- 8.1 Fault avoidance
- 8.2 Input validation
- 8.3 Failure management
- Key points
- Recommended reading
- Website
- Exercises
9. Testing
- 9.1 Functional testing
- 9.2 Test automation
- 9.3 Test-driven development
- 9.4 Security testing
- 9.5 Code reviews
- Key points
- Recommended reading
- Website
- Exercises
10. DevOps and Code Management
- 10.1 Source code management
- 10.2 DevOps automation
- 10.3 DevOps measurement
- Key points
- Recommended reading
- Website
- Exercises
Copyright © 2020 Pearson Education, Inc. 221 River Street, Hoboken, NJ 07030. All rights reserved.