Software design from programming to architecture - Braude (John Wiley & Sons, Inc., 2004)