Software development process
Science
Systems science
Knowledge
Reuse
Software engineering
Feature-oriented domain analysis