Functional vs Non Functional Requirements