For being surrounded by two lakes, Madison doesn't do a great job of having places to drink on the water. Head down to McFarland and check out the beach house. It's like a dive bar slash restaurant right on the lake. Tons of windows. Not a bad place.
Can't comment on the food. Drink specials were solid.