I wanted to know what the best way is to draw a UML diagram? I have been working on a Windows Socket Application where a client sends requests to the server, and the server responds.

I have a series of .h and .cpp files. But which files do i need to create a UML and how can i draw it out?

For example..

One of the files is DaytimeServer.h:-


#include "TCPServer.h"

#define COMMANDSZ	4
#define MSGSZ		8
#define RUNNING		1
#define ERR			-1
#define STOPPED		0

string toString (unsigned int val, unsigned short len = 0);

class DayTimeServer : public TCPServer {
   DayTimeServer(size_t port, int backlog = 1) : 
				TCPServer(port, backlog)  { }
   bool run(TCPSocket *connSocket, sockaddr_in *client_addr);

What would this look like in terms of UML and notation? As TCPServer.h is included here, how can i show this?

Hope someone can help..