Software engineering
Computing
Software architecture
Software metrics
Cohesion
Coupling
Software design
Modular programming
Modularity
Dependence analysis
Code reuse