UML e design pattern. Notazioni grafiche e soluzioni per la progettazione