Подход, который я бы выбрал, - это сначала нарисовать концептуальную модель проблемной области.Мой предпочтительный метод - Моделирование ролей объектов , но есть и другие, например моделирование отношений сущностей.
Затем я бы получил свою объектную модель из этой концептуальной модели.Поведения, определенные проблемной областью, должны быть затем добавлены к объектам в этой модели, например, добавление книги в книжный магазин, снятие денег со счета.
Другие варианты поведения, например сохранение данных в базе данных, чтов конечном счете, пользователю, не заботящемуся об изоляции, следует добавить соответствующие объекты, созданные для этих целей, например, объект единица работы , который будет формировать уровень доступа к данным (DAL).
Модель в вашем проекте MVC в этом случае будет состоять из объектов домена, дополненных DAL, и должна естественным образом подстраиваться для создания ваших необходимых представлений и контроллеров.