26.01.2011 15:14
Неидеальность в случае с модульным подходом обычно проявляется не в сложности реализации, а в сложности интеграции модулей между собой на уровне данных и интерфейсов.
Если Вы уже посмотрели какое-то количество систем с модульным подходом, то наверняка заметили, что схожие вещи в разных модулях системы зачастую делаются по-разному, а иногда данные, введенные в одном модуле, нельзя использовать в другом.
Вроде бы, в таких случаях все можно списать на криворукость архитекторов системы, однако я думаю, что дело в другом. Как сторонник теории развития систем, я вижу в этом ошибку выбора уровня интеграции - модуль это слишком "крупная" система, именно поэтому при интеграции модулей автоматически возникает столько проблем.
В ПланФиксе мы пробуем проводить интеграцию на более "низком" уровне - на уровне объектов типа задача, действие и т.п. В перспективе это позволит выстраивать достаточно сложные структуры управления реальными бизнес-процессами, без усложнения самой системы.
Такой подход имеет свои нюансы, как в разработке, так и в использовании. Но нам он кажется правильным.
Чтобы не говорить голой теорией, приведу простой пример - часто в системах управления проектами встречаются модули "Задачи", "Дела", "Встречи". В одной и той же системе в модуле "Задачи", например, можно сделать повторяющуюся задачу, а в модуле "Встречи" - нельзя. Почему? Потому что это два разных модуля, и при разработке встреч архитектор посчитал, что это не нужно. При этом несложно заметить, что на 80% функционал всех перечисленных модулей пересекается.
В ПланФиксе, если Вы обратили внимание, вместо этих трех модулей есть только одна сущность - "Задачи". В зависимости от контекста, задачи можно использовать и как задачи, и как дела, и как встречи. Минус такого подхода – у нас это всегда называется "задачи". Плюс - можно использовать весь разработанный функционал, в зависимости от ситуации. Например, я запланировал себе "дело", а потом решил, что лучше перепоручу его кому-то (а значит, оно плавно становится "задачей"). Я знаю системы, в которых это попросту невозможно - а в ПланФиксе я просто добавляю нового исполнителя, и моя личная задача вдруг становится уже проблемой кого-то другого :)
Аналогичным образом происходит и со Встречами – у нас это тоже задачи; просто поставьте задачу в Ежедневнике на определенное время, добавьте к ней соисполнителей и получите встречу.
Пример может быть не совсем красивый, зато с использованием того фукнционала, который уже реализован. В скором будущем у задач появится новая, более ширкоая область использования, они станут еще гибче – при этом новые модули в системе не появятся.
--
Что касается Отчетов и Аналитики, то задуманы они были одновременно, именно как две части одного целого: с помощью аналитики можно вносить информацию в систему, а с помощью отчетов - собирать и анализировать в удобном настраиваемом виде.