Professional Uml Using Visual Studio .net by Andrew Filev & Tony Loton