The OP cites "a book" in which metaphor is defined as
transfer of qualities between two certain physical objects.
This description definitely works for lots of metaphors (though "certain" is a little confusing).
The usual semantic definition is that a metaphor is
- a partial mapping of a concept from one semantic frame to another
The difference is that not all metaphors refer to physical objects.
For instance, the
MONEY metaphor theme, which licenses such constructions as
- spend three hours, lose a whole week, have time left for, contribute one's time
is clearly not about two physical objects, let alone "certain" ones.
The TIM theme is about using something we have objective experience in --
commercial transactions -- to talk about something we experience only internally --
perceived duration in time. A few minutes is not a physical object.
In fact, one of the biggest and most important uses of metaphors is to provide ways to talk about concepts like "time" that don't really have many words about them in English. Most abstractions are metaphoric words, if you examine them carefully; this is especially true with new phenomena -- everything about computers is metaphoric, because there were no computing terms before they were invented.
As for the other questions, most semanticists use the term metaphor to cover simile, analogy, and metonomy as well. The Greeks cared enough to give them different names because they were tied to Greek words and constructions; but if you're talking about English, the distinctions are just more pedantry. There's really no difference worth mentioning; they all have the same semantic effect.
Irony is, like humor or surprise, a perceived emotional phenomenon rather than an explicit referential phenomenon, and is not grammatical as such. So your definition is as good as any other one, because the belief of the speaker that they are being ironic and the perception of the listener that the speaker is being ironic rarely match up well.
Finally, there is a straightforward definition of alliteration. Two language chunks (normally words, especially words linked together in a phrase or name) are said to alliterate (or to be alliterative) if they start with the same consonant (or especially consonant cluster). For instance,
all the words in this group, and all the words in this group, are alliterative with one another.