In reply to AKASHNBHAGAT:
Code coverage is necessary, but not sufficient. Code coverage tells you your code has been exercised by a test. but says nothing about the correctness of code or the test for that matter.
Functional Coverage is a way of tracing the fact that your test has exercised a set of requirements and that those requirements have been met.