Q:

What's the difference between "avoir besoin de" and "devoir"

From what I learned, "avoir besoin de" means "is necessary to" while "devoir" means "must".
It seems that they mean the same. What are the subtle differences between them that I am not seeing?
EDIT: To give context, I usually want to say that I have to do something. Some example sentences below.

My friend is calling me, I have to go to her house.
      I have to give this man food or he will die.

A:

Using wordreference :

avoir besoin de quelque chose = need

And "dois" is "devoir" verb :

have to, must

Which is NOT THE SAME. Not same verb, because not same meaning.

Need has 5 meanings :

(transitive) To have an absolute requirement for.
  
  
Living things need water to survive.‎

(transitive) To want strongly; to feel that one must have something.
  
  
After ten days of hiking, I needed a shower and a shave.‎

(modal verb) To be obliged or required (to do something).
  
  
You need not go if you don't want to.‎

(intransitive) To be required; to be necessary.
(obsolete, transitive) To be necessary (to someone). 

While must, only two :

(modal auxiliary, defective) To do with certainty; indicates that the speaker is certain that the subject will have executed the predicate.
  
  
If it has rained all day, it must be very wet outside.

(modal auxiliary, defective) To do as a requirement; indicates that the sentence subject is required as an imperative or directive to execute the sentence predicate, with failure to do so resulting in a negative consequence.
  
  
You must arrive in class on time. — the requirement is an imperative

They are close, but not the same, in English and in French.

