Preface
Part I: Introduction
1.
Introduction
1.1.
Engineering
1.2.
Software
1.3.
Software engineering
1.4.
The modern synthesis
Part II: Analysis of knowledge areas
2.
Requirements
2.1.
Digest
2.1.1.
Elicitation
2.1.2.
Analysis
2.1.3.
Specification
2.1.4.
Validation
2.1.5.
Management
2.2.
Concepts
2.3.
Analysis
3.
Design
3.1.
Digest
3.1.1.
Methods
3.1.2.
Views
3.1.3.
Usability
3.2.
Concepts
3.3.
Analysis
4.
Construction
4.1.
Digest
4.2.
Concepts
4.3.
Analysis
5.
Testing
6.
Maintenance
7.
Configuration management
8.
Engineering management
9.
Engineering process
9.1.
Digest
9.2.
Analysis
10.
Engineering models and methods
11.
Quality
12.
Engineering professional practice
13.
Engineering economics
Part III: Synthesis
14.
Putting it all together
15.
Example: supporting GDPR
Part IV: Conclusion
16.
Conclusion
Bibliography
Light
Rust
Coal
Navy
Ayu
Software Engineering: The Modern Synthesis
Putting it all together
Requirements
Ideas
Fitness functions
Design
Ideas
Code smells & refactoring
ASTs
Structure editors
Construction
Ideas
As tests get more specific, code gets more generic
Transformations
Breaking up the monolith
Testing
Ideas
TDD
TDD inside BDD