Class diagrams with attributes, types and methods