SOFTWARE DESIGN FROM PROGRAMMING TO ARCHITECTURE - BRAUDE, ERIC. (SINGAPORE JOHN WILEY and SONS, 2004)