title: How to represent the call to a class through another class using an UML Class Diagram
body: <p>In Android, let's say we have 2 classes which have common methods for starting a service, so we extract them to a helper class:</p>
  
  <p><img src="https://i.stack.imgur.com/17lw0.png" alt="classes of the diagram"></p>
  
  <p>The following diagram shows my strange attempt to represent it. I have used transaction narrows. I think those are for the activity diagrams, but in the <a href="http://www.uml-diagrams.org/class-reference.html" rel="nofollow noreferrer">uml-diagrams.org/class-reference.html</a>, those narrows are called <em>Association Navigability</em>. That's why I have used them to try to represent the diagram. Between HelperClass and ClassService I have used a normal association. Between the classes and the service I have used a restriction (it is just informative, to make it more clear):</p>
  
  <p><img src="https://i.stack.imgur.com/YqhUM.png" alt="my representation attempt"></p>
  
  <p>Am I mixing the class diagram with the activity diagram?</p>
  
  <p><strong>UPDATE 1</strong>: attempt to represent it with a component diagram:</p>
  
  <p><img src="https://i.stack.imgur.com/ZksIx.png" alt="component diagram"></p>
  
  <p>Note: my favourite explanation of how to use a component diagram is this: <a href="https://www.ibm.com/developerworks/rational/library/dec04/bell/" rel="nofollow noreferrer">https://www.ibm.com/developerworks/rational/library/dec04/bell/</a></p>
  
  <p><strong>UPDATE 2</strong>: attempt to draw the class diagram with the suggested changes:</p>
  
  <p><img src="https://i.stack.imgur.com/L3wMT.png" alt="class diagram update"></p>
  
  <p><strong>UPDATE 3</strong>: full class diagram. Transaction arrows have been changed by associations. User and System interactions have been removed (e.g. startsWhenClick by starts; startsWhenDetection by starts):</p>
  
  <p><img src="https://i.stack.imgur.com/QcLPH.png" alt="full class diagram"></p>