I'd be interested to know from developers in the real world which approach they preferred for database design.

My college tutor says that the bottom up approach using things like FORML is a lot more user friendly. However my database tutor always likes to see an ERD and data dictionaries.