Originally published at
Алексей Волков - Точка Зрения. Please leave any
comments there.
Есть такой класс задач разработки ПО, главная цель которых - предоставить пользователю средство управления данными. Это различные корпоративные информационные системы (КИС, ERP) и прочие ИС (CRM, и т.п.). Именно о них я буду говорить далее. Назовем их, для краткости, ИС (информационные системы).
При разработке ИС все обязательно проходят через три этапа: разработка модели данных, разработка бизнес-логики, управляющей этими данными, и разработка интерфейса пользователя. Есть интересный процесс -
Model-Driven Development (MDD), в котором утверждается, что определив модель данных все остальные этапы можно выполнить автоматически. Не все с этим соглашаются, так как это утверждение редко дополняется другим немаловажным моментом: это действительно так, но только в некоторых случаях, которые нужно еще уметь отличать от всех остальных случаев. Кроме того, фраза «выполнены автоматически» еще не означает, что больше не нужны программисты интерфейсов и бизнес логики - просто их задача
немного видоизменяется, и цель этого изменения - скорость и цена разработки. И если к этому подойти с умом - можно это сделать даже не в ущерб качеству, как можно было бы предположить, зная истину «
speed/quality/cost: choose two».
Обычно все примеры, связанные с MDD, содержат достаточно простые схемы, и может показаться, что это применимо только для простых админских страничек, как многие и воспринимают, например, ASP.NET Dynamic Data. Вот что, на мой взгляд, очень важно при разработке реальных приложений: возможность задавать схемы действий пользователя. Именно это позволит перейти от простых админских приложений, которые только и могут, что редактировать таблицы базы данных, к более серьезным проектам.
Read the rest of this entry »