The book 'Writing, Researching, Communicating - Communication Skills for the Information Age, 2nd Edition, By Windshuttle and Elliot (McGraw - Hill) was our uni text, and covers absolutely every angle mentioned in the question and heaps more. It's easy to read and follow (you'd hope so wouldn't you).