Functional Vs. Non Functional Requirements