Липаев В.В. Проектирование программных средств. – М.: Высшая школа, 2009.