While looking at the SCEA javaranch.com forum, a dude ,Tomi Tuomainen, in one of the posts say "don't think of persistence, tables and their relationships while designing your class model" but that is what I have been doing to the extent of using MS-Access to create a prototype. Using MS-Access did help me to see things from a different aspect though; that has to be a good thing, no?
The dude goes on to say" Object design is governed by a different set of rules and grammar than designing a relational database schema. Designing your class model based on table structures rather than leveraging on the business domain introduces impedance mismatch"
More wise words from the dude "Avoid prematurely introducing specializations/generalizations. Let them surface naturally during refactoring". I can definitely agree with that. The same logic applies to implementation stage ware the use of prototyping languages like Python and Visual-Basic are preferred opposed to c++ which makes refractoring a harder.