Как сказал Гаргантаун, начните с таблиц БД.
Я бы хотел, чтобы между БД и формами был легко перезаписываемый слой, чтобы управлять отношениями между ними и делать явными отношения данных, которые вы не можете получить из БД.
Кто-то наверняка захочет сгенерировать несколько форм из одной таблицы (возможно, одна форма будет слишком длинной, возможно, существуют разные уровни пользователя).
Отличительной чертой чего-то подобного всегда является то, насколько хорошо он обрабатывает внешние ключи в БД и отношения один-к-одному, один-ко-многим и т. Д. Не очень полезно, если вы даже не можете создать корзину для покупок из нескольких предметов.