introduce UML on the background and the use of functions, suitable for beginners learning. Including some designed patterns