HELP!How to develop Sth like CAD or GIS?

I have to develop a software that looks like CAD or GIS.It is means I should
create some new Shapes and they can be drawed, adjusted,dragged and moved.
And when the shape is clicked a property dialog should popup.Every shape's
property can be stored in a database.Also which type  should I save the
graphic as.I don't think I shoul save the graphic as BMP.

What should I do?I have no idea of it.

THANKs for any help