A situation-centric, knowledge-driven requirements elicitation approach