This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
For component diagram, just follow Mark Cade example. Don't go by use case wise, go by layer wise. It should be application specific. Component is basically the different component of your designed application.
Reading the question a couple times over, I think that Chennakrishna is planning on organization the components in layers/tiers, but the question is whether within each layer, to create use-case specific components or to group them more by common functionality.
There probably is no right or wrong here, as long as you can justify your decision. It depends on the specifics of your assignment (but you can't discuss that here). I think an important question is, what's the simplest solution? Does it have any important disadvantages? And so on.
Also, you can consider having more use-case specific components in the top tier (presentation), with components becoming more generic as you go down to the integration/persistence tier.