With UML Diagram