Dock and harbour engineering, the design of docks