Software Design - D Budgen (Pearson Educational Usa, 2005)