Openoffice draw
www.openoffice.org is the freeware which can draw diagram and others, got line connectors which let you link the line between shapes easily. It work like the professional software Visio.
However, but you still use Visio to make drawings. Why? Because none of the shapes you need are easily available.
Some site I found useful....
Some shapes to download
http://www.lautman.net/mark/coo/index.html
To add the shapes into gallery, click Tools > Gallery in openoffice draw. move the mouse to the custom shapes, click and hold the mouse for 2 seconds, then drap the shapes to the gallery windows
Tutorial of making custom shapes
http://openoffice.blogs.com/openoffice/draw/index.html
Please share with us if you got more link