Drawing activity on node diagrams

You can use the diagram below to practise drawing a activity on node diagram. If you want to practise CPM calculations, you can try here.

The diagram uses simplified nodes without the start and finish times, durations and floats. The start node is denoted by the letter S and the finish node by T. This helps keep the diagram uncluttered. If you were drawing the diagram by hand it would also let you draw it quicker. When the diagram is complete, you may want to redraw it with more elaborate nodes as int he example here.

Drag and drop nodes using the mouse. To add an arrow, click near the outside edge of a node, drag the mouse to a second node and release it. An arrow will be drawn from the first node to the second. If you release the mouse when it is not near a node the arrow will disappear. This is useful if you later want to remove the arrow. For, then you can click on either end of the arrow and drag it away from the node. If you drag it to another node, the arrow will attach itself there.

When you have drawn an arrow you can click on it to find if it is a sensible one. The Help button gives general help and hints and the Check network button checks whether your network is complete and correct. It doesn't check for neatness—you have to decide that for yourself!

There are several ways to draw the network. One way is to start by looking for nodes (tasks) with no predecessors. Place these near the start node and draw arrows from the start node to each of them. Then look for nodes whose predecessors you have already drawn. Put each in in turn and draw an arrow from each predecessor to the node. When you have drawn all the nodes, join any node with no successors (arrows going out) to the finish node.

Some people prefer to work back from the finish node. To do this, first find any node that is not the predecessor of any other and draw it near the finish node. Then draw an arrow from it to the finish node. Work through the nodes you have drawn. Draw the predecessor if necessary and join each predecessor to the node.

However you draw the network, it is unlikely that it will look very neat. You can rearrange the nodes when you are finished by dragging them. If you were drawing a network by hand, you would almost certainly redraw it at this stage.

Once you have completed the network, it is a good idea to run through the precedence table again to check that it is complete. It is remarkably easy to miss out an arrow.

You will need a java plugin for this web page to work properly. If you don’t have one, you can get one from Oracle. Some older java plugins won’t work with the java applet on this page.

You may freely download and use the source code for the applet. It is written in Java.

John Lamb
Last modified: Sat Dec 17 16:26:53 GMT 2011