Я обычно сначала примерно делаю набросок интерфейса, структуру сайта, отсюда делаю вывод о необходимых данных для хранения, составляю таблички на SQL. Затем вызываю генератор CRUD, и он даёт мне начальные M, V и C. Затем берусь за контроллеры, попутно тестируя их во Views.
Вроде я по уму делаю, да? Меня вот только беспокоит, что я никаких там схем базы данных не строю и прочего, чему учат в вузе. А у вас как с этим делом?
Посмотрите доки MVC фреймворков, как там описан процесс разработки.
Вообще, по уму, надо и базу рисовать со всеми связями, т.к. можно в самом начале какой-нибудь нюанс упустить и это вызовет множество проблем в дальнейшем.
В общем сначала проектирование и стуктура - сайта, БД, файловая, а потом уже реализация.
У нас сейчас в проекте от аналитиков приходят спецификации (в т.ч. с структура БД), а под них уже пишутся модельки и прочее.
Я учусь как раз по докам Yii. Но там только простые приложения. Мне бы хотелось узнать best practices в дизайне MVC, по которым строят приложения любых разумных масштабов.
@sergeyfilkin подход, описанный в доках Yii (если я правильно помню), как раз описывает сначала создание БД, потом генерацию CRUD.
Совсем уж крупные проекты поступают индивидуально, базируясь на общих принципах.
@sergeyfilkin и да, то, чему учат в вузе - процентов на 90 сплошная вода. В реальных проектах другие подходы и более совершенные технологии.
К сожалению, вузы дают только базу, и то, не всегда корректно. При этом, они абсолютно не учитывают развитие технологий. Например, в прошлом семестре рассказывал своему преподу про jQuery UI (препод был весьма удивлен).