Evaluating the Complexity of UML Class Diagrams